#AI
Lobsters
Mythos finds a curl vulnerability via @andrewnez https://lobste.rs/s/am7evd #ai #security
https://daniel.haxx.se/blog/2026/05/11/mythos-finds-a-curl-vulnerability/
Lobsters
Mythos finds a curl vulnerability via @andrewnez https://lobste.rs/s/am7evd #ai #security
https://daniel.haxx.se/blog/2026/05/11/mythos-finds-a-curl-vulnerability/
ๆดช ๆฐๆ (Hong Minhee) 
Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that #AI reimplementation of #copyleft libraries is fine. Their legal reasoning might be correct. That's not the point.
Legal and legitimate are different thingsโand both pieces quietly assume otherwise.
https://writings.hongminhee.org/2026/03/legal-vs-legitimate/
Zenn Trends
@[email protected] ยท Reply to Zenn Trends's post
๐ฐ Claude Codeใซไปๆงๆธใไธธใใจๆธกใใช โโ ใ่ฆไปถใไผใใใใจใฎๆฑบๅฎ็ใช้ใ (๐ 72)
๐ฌ๐ง Why feeding full specs to Claude Code fails. Learn the critical difference between 'passing docs' vs 'communicating requirements'.
๐ฐ๐ท Claude Code์ ์ ์ฒด ๋ช
์ธ์๋ฅผ ์ฃผ๋ฉด ์ ๋๋ ์ด์ . '๋ฌธ์ ์ ๋ฌ'๊ณผ '์๊ตฌ์ฌํญ ์ ๋ฌ'์ ๊ฒฐ์ ์ ์ฐจ์ด.
Zenn Trends
@[email protected] ยท Reply to Zenn Trends's post
๐ฐ Claude Codeใซไปๆงๆธใไธธใใจๆธกใใช โโ ใ่ฆไปถใไผใใใใจใฎๆฑบๅฎ็ใช้ใ (๐ 72)
๐ฌ๐ง Why feeding full specs to Claude Code fails. Learn the critical difference between 'passing docs' vs 'communicating requirements'.
๐ฐ๐ท Claude Code์ ์ ์ฒด ๋ช
์ธ์๋ฅผ ์ฃผ๋ฉด ์ ๋๋ ์ด์ . '๋ฌธ์ ์ ๋ฌ'๊ณผ '์๊ตฌ์ฌํญ ์ ๋ฌ'์ ๊ฒฐ์ ์ ์ฐจ์ด.
Aral Balkan
So Anthropic employees are using Claude Code to contribute AI-generated code to open source repositories and hiding the fact using their own internal โundercover modeโ.
Totally trustworthy people.
(Any open source project that at the very least requires disclosure of AI-authored contributions should immediately ban Anthropic employees on principle.)
ALT text details
Source code detail from Claude Code: export function getUndercoverInstructions(): string { if (process.env.USER_TYPE === 'ant') { return `## UNDERCOVER MODE โ CRITICAL You are operating UNDERCOVER in a PUBLIC/OPEN-SOURCE repository. Your commit messages, PR titles, and PR bodies MUST NOT contain ANY Anthropic-internal information. Do not blow your cover. NEVER include in commit messages or PR descriptions: - Internal model codenames (animal names like Capybara, Tengu, etc.) - Unreleased model version numbers (e.g., opus-4-7, sonnet-4-8) - Internal repo or project names (e.g., claude-cli-internal, anthropics/โฆ) - Internal tooling, Slack channels, or short links (e.g., go/cc, #claude-code-โฆ) - The phrase "Claude Code" or any mention that you are an AI - Any hint of what model or version you are - Co-Authored-By lines or any other attribution Write commit messages as a human developer would โ describe only what the code change does. GOOD: - "Fix race condition in file watcher initialization" - "Add support for custom key bindings" - "Refactor parser for better error messages" BAD (never write these): - "Fix bug found while testing with Claude Capybara" - "1-shotted by claude-opus-4-6" - "Generated with Claude Code" - "Co-Authored-By: Claude Opus 4.6 <โฆ>" ` } return ''Zenn Trends
๐ 2026-03-28 06:00 UTC
๐ฐ ็คพๅ ๅใๅใใใAIใจใผใธใงใณใๅใใฆ็้ใง่งฃๆฑบใงใใใใใซใใ (๐ 46)
๐ฌ๐ง Built an AI agent system to automate internal support inquiries, reducing response time from 10 days median to near-instant resolution.
๐ฐ๐ท ์ฌ๋ด ๋ฌธ์๋ฅผ AI ์์ด์ ํธ๋ก ์๋ํํ์ฌ ์๋ต ์๊ฐ์ ์ค์๊ฐ 10์ผ์์ ๊ฑฐ์ ์ฆ์ ํด๊ฒฐ๋ก ๋จ์ถํ ์ฌ๋ก
Zenn Trends
๐ 2026-03-28 06:00 UTC
๐ฐ ็คพๅ ๅใๅใใใAIใจใผใธใงใณใๅใใฆ็้ใง่งฃๆฑบใงใใใใใซใใ (๐ 46)
๐ฌ๐ง Built an AI agent system to automate internal support inquiries, reducing response time from 10 days median to near-instant resolution.
๐ฐ๐ท ์ฌ๋ด ๋ฌธ์๋ฅผ AI ์์ด์ ํธ๋ก ์๋ํํ์ฌ ์๋ต ์๊ฐ์ ์ค์๊ฐ 10์ผ์์ ๊ฑฐ์ ์ฆ์ ํด๊ฒฐ๋ก ๋จ์ถํ ์ฌ๋ก
Zenn Trends
๐ 2026-03-24 12:00 UTC
๐ฐ ไบบ้ใฎใณใผใใฌใใฅใผ่พใใซใใใใฆใณใผใใฌใใฅใผใจใผใธใงใณใไฝใฃใฆใฟใ (๐ 53)
๐ฌ๐ง Built an AI code review agent to handle the flood of PRs from AI-accelerated development when human review can't keep pace
๐ฐ๐ท AI ์ฝ๋ฉ์ผ๋ก ๊ธ์ฆํ PR์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฝ๋ ๋ฆฌ๋ทฐ ์์ด์ ํธ๋ฅผ ๊ฐ๋ฐํ ๊ฒฝํ ๊ณต์
Zenn Trends
๐ 2026-03-24 12:00 UTC
๐ฐ ไบบ้ใฎใณใผใใฌใใฅใผ่พใใซใใใใฆใณใผใใฌใใฅใผใจใผใธใงใณใไฝใฃใฆใฟใ (๐ 53)
๐ฌ๐ง Built an AI code review agent to handle the flood of PRs from AI-accelerated development when human review can't keep pace
๐ฐ๐ท AI ์ฝ๋ฉ์ผ๋ก ๊ธ์ฆํ PR์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฝ๋ ๋ฆฌ๋ทฐ ์์ด์ ํธ๋ฅผ ๊ฐ๋ฐํ ๊ฒฝํ ๊ณต์
Zenn Trends
@[email protected] ยท Reply to Zenn Trends's post
๐ฐ ใAIใฃใฝใใใฎๆญฃไฝใฏๆไฝใใใชใ โ ๅ จๆฅญๅใAIใจใผใธใงใณใใงๅใใฆๆฐใฅใใใใจ (๐ 39)
๐ฌ๐ง Insights on what makes content feel 'AI-generated' from using Claude Code for all work tasksโit's not about writing style.
๐ฐ๐ท ๋ชจ๋ ์
๋ฌด์ Claude Code๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ฐ๊ฒฌํ ์ฝํ
์ธ ๊ฐ 'AI ๊ฐ๋ค'๊ณ ๋๊ปด์ง๋ ์ด์ โ๋ฌธ์ฒด๊ฐ ์๋๋๋ค.
๐ https://zenn.dev/omori432/articles/ai-likeness-not-about-writing-style
Zenn Trends
@[email protected] ยท Reply to Zenn Trends's post
๐ฐ ใAIใฃใฝใใใฎๆญฃไฝใฏๆไฝใใใชใ โ ๅ จๆฅญๅใAIใจใผใธใงใณใใงๅใใฆๆฐใฅใใใใจ (๐ 39)
๐ฌ๐ง Insights on what makes content feel 'AI-generated' from using Claude Code for all work tasksโit's not about writing style.
๐ฐ๐ท ๋ชจ๋ ์
๋ฌด์ Claude Code๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ฐ๊ฒฌํ ์ฝํ
์ธ ๊ฐ 'AI ๊ฐ๋ค'๊ณ ๋๊ปด์ง๋ ์ด์ โ๋ฌธ์ฒด๊ฐ ์๋๋๋ค.
๐ https://zenn.dev/omori432/articles/ai-likeness-not-about-writing-style
Zenn Trends
๐ 2026-03-18 00:00 UTC
๐ฐ AIๆฉ่ฝๆญ่ผใฎRSSใชใผใใผใไฝใฃใ (๐ 113)
๐ฌ๐ง Built custom RSS reader with AI to escape SNS algorithm bubbles & control info sources after existing services fell short
๐ฐ๐ท SNS ์๊ณ ๋ฆฌ์ฆ ํํฐ ๋ฒ๋ธ์ ํผํ๊ณ ์ ๋ณด์์ ์ง์ ์ ์ดํ๊ธฐ ์ํด AI ๊ธฐ๋ฅ์ด ํ์ฌ๋ RSS ๋ฆฌ๋๋ฅผ ์ง์ ๊ฐ๋ฐ
๐ https://zenn.dev/babarot/articles/ai-rss-reader-oksskolten
๐ซ64๊ธฐ๊ฐ๐ฅ๐ฝ๋ชฐ๋ฃจ๋์๐
๋ด๊ฐ AI์๋ชป์ด๋ผ ๋ด ์ปด์์ ๋ก์ปฌ๋ก ๋์๊ฐ ์ ์๋ ๋ชจ๋ธ๋ค์ด ์ข์ ๊ฒ๋ค์ธ์ง ๋ค ํ๋ฌผ ์ง๋ ๊ฒ๋ค์ธ์ง ์ ์๊ฐ ์๋ค...ใ
ๆดช ๆฐๆ (Hong Minhee) 
Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that #AI reimplementation of #copyleft libraries is fine. Their legal reasoning might be correct. That's not the point.
Legal and legitimate are different thingsโand both pieces quietly assume otherwise.
https://writings.hongminhee.org/2026/03/legal-vs-legitimate/
Vladimir Saviฤ
Is legal the same as legitimate: #AI reimplementation and the erosion of copyleft https://writings.hongminhee.org/2026/03/legal-vs-legitimate #licensing #copyright
ๆดช ๆฐๆ (Hong Minhee) 
Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that #AI reimplementation of #copyleft libraries is fine. Their legal reasoning might be correct. That's not the point.
Legal and legitimate are different thingsโand both pieces quietly assume otherwise.
https://writings.hongminhee.org/2026/03/legal-vs-legitimate/
Vladimir Saviฤ
Is legal the same as legitimate: #AI reimplementation and the erosion of copyleft https://writings.hongminhee.org/2026/03/legal-vs-legitimate #licensing #copyright
ๆดช ๆฐๆ (Hong Minhee) 
Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that #AI reimplementation of #copyleft libraries is fine. Their legal reasoning might be correct. That's not the point.
Legal and legitimate are different thingsโand both pieces quietly assume otherwise.
https://writings.hongminhee.org/2026/03/legal-vs-legitimate/
ๆดช ๆฐๆ (Hong Minhee) 
Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that #AI reimplementation of #copyleft libraries is fine. Their legal reasoning might be correct. That's not the point.
Legal and legitimate are different thingsโand both pieces quietly assume otherwise.
https://writings.hongminhee.org/2026/03/legal-vs-legitimate/
ๆดช ๆฐๆ (Hong Minhee) 
Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that #AI reimplementation of #copyleft libraries is fine. Their legal reasoning might be correct. That's not the point.
Legal and legitimate are different thingsโand both pieces quietly assume otherwise.
https://writings.hongminhee.org/2026/03/legal-vs-legitimate/
์ผ์ฐํ
@[email protected] ยท Reply to ์ผ์ฐํ's post
- ์ ์ถฉ(C. elegans): 302๊ฐ ๋ด๋ฐ โ 1986๋ ์์ฑ, ๋ฐฐ์ ๊ฑฐ์ ์์ ํ ๊ณ ์
- ์ดํ๋ฆฌ: 13๋ง 9์ฒ๊ฐ ๋ด๋ฐ โ 2024๋ ์์ฑ, ์ฃผ์ ํ๋ก๋ ๋ณด์กด๋๋ ์ธ๋ถ ์๋ ์ค๋ ๊ฐ์ฒด๋ง๋ค ๋ค๋ฆ
- ๋ณต์กํ ์๋ฌผ์ผ์๋ก โ์ ์ ์๋ก ๊ณ ์ ๋ ๋ฐฐ์ โ๋ณด๋ค โ๊ฒฝํ์ด ๋ง๋๋ ๋ฐฐ์ โ์ ๋น์ค์ด ์ปค์ง
๐งฉ ๋ ๋ณต์กํ ๋๋ฌผ์?
- ์ ๋ธ๋ผํผ์ฌ(18๋ง ๋ด๋ฐ): 2025๋ ๋ถ๋ถ ์์ฑ
- ์์ฅ ์๊ฐํผ์ง 1ใฃ: 2025๋ 5์ต ์๋ ์ค ์ง๋ ์์ฑ
- ์์ฅ ์ ๋: ์งํ ์ค (10~15๋ ์์)
- ์ธ๊ฐ ์ ๋: fMRI ์์ค๋ง ์์ฑ, ์๋ ์ค ๋จ์ ์ ์ฒด ์ง๋๋ ํ์ฌ ๊ธฐ์ ๋ก ๋ถ๊ฐ
๐ก ํต์ฌ ์ง๋ฌธ ํ๋ โ๋๋ฅผ ์์ ํ ๋ณต์ฌํ๋ฉด, ๊ทธ๊ฒ ๊ทธ ์๋ช ์ฒด์ธ๊ฐ?โ ์ง๊ธ ์ดํ๋ฆฌ ํ ๋ง๋ฆฌ๊ฐ ๊ทธ ์ง๋ฌธ์ ์ฒ์์ผ๋ก ํ์ค ์์ ์ฌ๋ ค๋์๋ค.
#๋๊ณผํ #์ปค๋ฅํฐ #Drosophila #๋์งํธ์์ #EonSystems #FlyWire #์ ๊ฒฝ๊ณผํ #AI
Seo Sanghyeon
AI ์์ด์ ํธ ์์คํ ์ ๋ง๋ค๋ฉฐ ๋ฐฐ์ด ๊ฒ
์ด ๊ธ์ AI ์์ด์ ํธ ์์คํ ์ ๋ง๋ค๋ฉฐ ์์ ๊ฒฝํ์ ์ ๋ฆฌํ ๊ฒ์ผ๋ก, 2026๋ 2์์ ์ผ๋ค. ๋ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์ ์ด๋ก ์ด๊ณ , ๋ ๋ฒ์งธ ๋ถ๋ถ์ ๊ฐ๋ก ์ด๋ค.
์ด ๋ถ์ผ๋ ๋น ๋ฅด๊ฒ ๋ณํ๊ณ ์์ด, ์ฌ๊ธฐ์ ์ด ๊ตํ๋ ๊ธ๋ฐฉ ๋ก์ ์ ์๋ค. ์ปจํ ์คํธ ์๋๋ ์ด ๊ธ ์ ๋ฐ์ ๊ฑธ์ณ ๋ฐ๋ณต๋๋ ์ ์ฝ์ด์ง๋ง, ๋ฏธ๋์๋ ๊ทธ๋ ์ง ์์ ์๋ ์๋ค. "์ฐจ๊ทผ์ฐจ๊ทผ ์๊ฐํ๋ผ(Let's think step by step)"๋ 2022๋ ๋ฐํ๋ ์ด๋ ๋๋ฆฌ ๊ถ์ฅ๋์์ง๋ง [1], ์ต๊ทผ ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด ์ด ๊ธฐ๋ฒ์ ์ด์ ๋ ์ค์ํด์ก๋ค [2]. ์ด ๊ธ์ ๋ด์ฉ๋ ์ผ๋ถ๋ ๊ทธ๋ฐ ์ด๋ช ์ ๋ง์ ๊ฒ์ด๋ค.
์ด๋ก
๋ชฉํ ์๋ฆฝ
AI ์์ด์ ํธ ์์คํ ์ ์ํ ๋ชฉํ๋ ๋ช ํํ๊ณ , ์ ์ฉํ๊ณ , ๋ฌ์ฑ ๊ฐ๋ฅํด์ผ ํ๋ค.
๋ช ํํ๋ค๋ ๊ฒ์ ํ ์คํธํ ์ ์์ ๋งํผ ๊ตฌ์ฒด์ ์ด๋ผ๋ ๋ป์ด๋ค. "๊ฐ๋ฐ์์ ์ฝ๋ฉ ์์ ์ ๋๋๋ค"๋ ๋ชฉํ๊ฐ ์๋๋ผ ๋ฒ์ฃผ๋ค. ๋ชฉํ๋ "GitHub ์ด์ ์ค๋ช ๊ณผ Python ์ ์ฅ์๊ฐ ์ฃผ์ด์ง๋ฉด, ๊ธฐ์กด ํ ์คํธ๋ฅผ ํต๊ณผํ๋ PR์ ์์ฑํ๋ค" ๊ฐ์ ๊ฒ์ด๋ค. ํ์์์๋ ์ด๋ค ์ ๋ ฅ์ ์ค๋นํด์ผ ํ๋์ง, ์ด๋ค ์ถ๋ ฅ์ ํ๊ฐํด์ผ ํ๋์ง, ํ๊ฐ ๊ธฐ์ค์ด ๋ฌด์์ธ์ง๊ฐ ๋๋ฌ๋๋ค. ๋ชฉํ์ ๋ฒ์๋ฅผ ์ขํ์ผ ํ๋ค. ๋ฒ์ฉ ์์คํ ์ ํ๊ฐํ๊ธฐ ์ด๋ ต๊ณ , ๊ฐ์ ํ๊ธฐ ์ด๋ ต๊ณ , ์ ๋๋ก ์๋ํ๋์ง ์๊ธฐ๋ ์ด๋ ต๋ค. ์ข์ ๋ฒ์์์ ์์คํ ์ด ์ ์๋ํ๋ฉด ๋ฒ์๋ฅผ ๋ํ๋ ๊ฒ์ ๊ณ ๋ คํ ์ ์๋ค.
์ ์ฉํ๋ค๋ ๊ฒ์ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ์ ๋ ์ค์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ค๋ ๋ป์ด๋ค. ์ด๋ ๋ช ํํจ๊ณผ๋ ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค. "์ฝ๋๋ฒ ์ด์ค๋ฅผ ๊ฐ์ฌํ์ฌ ๋ณด์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ค"๋ ์ ์ ์๋ ๋ชฉํ์ผ ์ ์๊ณ , ๋ด ๊ฒฝํ์ ๋ฌ์ฑ ๊ฐ๋ฅํ๊ธฐ๋ ํ๋ค. ํ์ง๋ง ์ด๋ฏธ ์๊ณ ์๋ ๋ณด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ๋ ํ๋์ด๊ณ ์๋ค๋ฉด, ์ ์ฌ์ ์คํ์ ํฌํจํ๋ ๋ ๋ง์ ๋ฌธ์ ๋ฅผ ๋๊ธฐ์ด์ ์ถ๊ฐํ๋ ๊ฒ์ ์ ์ฉํ์ง ์๋ค. ์ง๋ฌธ์ ๋จ์ํ "์ด๊ฒ์ ํ ์ ์๋๊ฐ?"๊ฐ ์๋๋ผ "์ด๊ฒ์ด ์ค์ ๋ก ์ํ๋ ๊ฒ์ธ๊ฐ?"๋ค.
๋ฌ์ฑ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ํ์ฌ ๋ชจ๋ธ ๋ฅ๋ ฅ์ ๊ฐ์ํ์ ๋ ํ์ค์ ์ด๋ผ๋ ๋ป์ด๋ค. SWE-bench Verified ๊ฐ์ ๋ฒค์น๋งํฌ๋ ํ์ฌ AI๊ฐ ์ด๋ค ์ฝ๋ฉ์ ํ ์ ์๋์ง ๋๋ต์ ์ธ ๊ฐ์ ์ค๋ค. ๋ค๋ฅธ ๋ถ์ผ์๋ ๋น์ทํ ๋ฒค์น๋งํฌ๊ฐ ์๋ค. ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ํ์ฌ ๋ชจ๋ธ์ด ์ผ๊ด๋๊ฒ ์คํจํ๋ ๋ฌด์ธ๊ฐ๋ฅผ ์์ ์ ์ผ๋ก ํด์ผ ํ๋ค๋ฉด ๊ทธ๊ฒ์ ํ์ค์ ์ผ๋ก ์ด๋ ค์ธ ์ ์๋ค. ๋ชจ๋ธ ๋ฅ๋ ฅ์ ๊พธ์คํ ๋ฐ์ ํ๊ณ ์์ผ๋ฏ๋ก, ์์ ์ด ๊ธํ์ง ์๋ค๋ฉด ํ์ฌ ํ๊ณ์ ๋ง์ถฐ ์ด๋ป๊ฒ๋ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ๋ณด๋ค ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด ๋์ ์ ์๋ค.
์ธ๊ฐ ์ ๋ฌธ๊ฐ๊ฐ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ๋ฌด์์ ํ ์ง ๋ชจํธํจ ์์ด ์ค๋ช ํ ์ ์๋๊ฐ? ๊ฒฐ๊ณผ๋ฌผ์ด ๋์ค๋ฉด ์ค์ ๋ก ์ฌ์ฉํ๊ฒ ๋๊ฐ? ๊ทธ๋ ์ง ์๋ค๋ฉด, ์์ ์ ์์ํ๊ธฐ ์ ์ ๋ชฉํ๋ฅผ ๋ ๋ค๋ฌ์ด์ผ ํ๋ค.
ํ๊ฐ ์ค๊ณ
์ธก์ ํ ์ ์๋ ๊ฒ์ ๊ฐ์ ํ ์ ์๋ค. ํ๊ฐ๋ ์์ด์ ํธ์ ๊ฐํ ๋ณ๊ฒฝ -- ๋ค๋ฅธ ๋ชจ๋ธ, ์ ํ๋กฌํํธ, ๋ค๋ฅธ ๋๊ตฌ -- ์ด ์ํฉ์ ์ข์์ง๊ฒ ํ๋์ง ๋๋น ์ง๊ฒ ํ๋์ง ํ๋จํ๋ ์๋จ์ด๋ค. ํ๊ฐ ์์ด๋ ๋์ ๊ฐ๊ณ ์ด์ ํ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
ํ๊ฐ๋ ๊ฐ๊ด์ ์ธ ๊ฒ์ด ์ข๋ค. ๋ชฉํ๊ฐ "๊ธฐ์กด ํ ์คํธ๋ฅผ ํต๊ณผํ๋ PR์ ์์ฑํ๋ค"๋ผ๋ฉด, ํ๊ฐ๋ ํ ์คํธ๋ฅผ ์คํํ๋ ๊ฒ์ด๋ค. ํ ์คํธ๋ ํต๊ณผํ๊ฑฐ๋ ์คํจํ ๊ฒ์ด๋ค. ๊ฐ๊ด์ ํ๊ฐ๋ ๋น ๋ฅด๊ณ , ์ ๋ ดํ๊ณ , ์ผ๊ด์ ์ด๋ค. ๋ชฉํ๋ฅผ ๊ฐ๊ด์ ๊ธฐ์ค์ ์ค์ฌ์ผ๋ก ์ค๊ณํ ์ ์๋ค๋ฉด, ๊ทธ๋ ๊ฒ ํ๋ผ.
๊ฐ๊ด์ ํ๊ฐ๊ฐ ์ด๋ ต๋ค๋ฉด ์ฃผ๊ด์ ํ๊ฐ๋ ๊ฐ๋ฅํ๋ค. ์ฃผ๊ด์ ํ๊ฐ๋ ์ฌ๋์ด ํ ์๋ ์๊ณ AI๊ฐ ํ ์๋ ์๋ค (LLM-as-a-judge). ๋ ๊ฒฝ์ฐ ๋ชจ๋ ์ฑ์ ๊ธฐ์ค(scoring rubric)์ด ๋์์ด ๋๋ค. ์ฑ์ ๊ธฐ์ค์ด๋ ๊ฐ ํญ๋ชฉ๋ณ๋ก ์ด๋ค ๊ฒ์ด ์ข์ ๋ต๋ณ์ด๊ณ ์ด๋ค ๊ฒ์ด ๋์ ๋ต๋ณ์ธ์ง ๋ช ํํ๊ฒ ์ค๋ช ํ ๊ธฐ์ค ๋ชฉ๋ก์ด๋ค. ์ฑ์ ๊ธฐ์ค์ด ์์ผ๋ฉด ํ๊ฐ์ ๊ฐ ์ผ์น๋(inter-rater agreement)๊ฐ ๋ฎ๋ค. ๋์ผํ ์ถ๋ ฅ์ ๋ ํ๊ฐ์๊ฐ ํ๊ฐํ๋ฉด ์๊ฒฌ์ด ๊ฐ๋ฆฌ๊ณ , ๊ฐ์ ํ๊ฐ์๋ ์๊ฐ์ด ์ง๋๋ฉด ๊ธฐ์ค์ด ํ๋ค๋ฆฐ๋ค. ์ฑ์ ๊ธฐ์ค์ ์ฌ๋ฌ ํ๊ฐ ์คํ ๊ฐ์ ์ ์๋ฅผ ๋น๊ต ๊ฐ๋ฅํ๊ฒ ํ๋ค. AI๊ฐ ํ๊ฐํ๋ ๊ฒฝ์ฐ์๋ ๋ช ํํ ์ฑ์ ๊ธฐ์ค์ ๋ฐ์ ๋ชจ๋ธ์ ๊ทธ๋ ์ง ์์ ๋ชจ๋ธ๋ณด๋ค ๋ ์ผ๊ด๋ ์ ์๋ฅผ ์ค๋ค.
ํ๊ฐ๊ฐ ๋ฐ๋์ ๊ฐ์ถฐ์ผ ํ ๋ ๊ฐ์ง ์์ฑ์ด ์๋ค. ๋ชฉํ๋ฅผ ๋ฐ์ํด์ผ ํ๊ณ , ์์ด๊ธฐ ์ด๋ ค์์ผ ํ๋ค.
๋ชฉํ๋ฅผ ๋ฐ์ํ๋ค๋ ๊ฒ์ ํ๊ฐ์์ ์ข์ ์ ์๋ฅผ ๋ฐ์ผ๋ฉด ๋ชฉํ๋ ์ค์ ๋ก ๋ฌ์ฑ๋๋ค๋ ๋ป์ด๋ค. ์ค์ ์ ๋๋จ์ด์ง ํ๊ฐ๋ ์์ด์ ํธ๋ฅผ ์๋ฑํ ๋ฐฉํฅ์ผ๋ก ์ต์ ํํ๋ค. ์์ด์ ํธ์ ๋ชฉํ๊ฐ ๊ณ ๊ฐ ์ง์ ํฐ์ผ ์ฒ๋ฆฌ๋ผ๋ฉด, ๋น์ทํด ๋ณด์ด์ง๋ง ์ค์ ์ ๋ณต์กํจ์ด ์๊ณ ๋จ์ํ ํฉ์ฑ ๋ฐ์ดํฐ๋ณด๋ค ์ค์ ๊ณ ๊ฐ ์ง์ ํฐ์ผ์ผ๋ก ํ๊ฐํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค.
์์ด๊ธฐ ์ด๋ ต๋ค๋ ๊ฒ์ ์์ด์ ํธ๊ฐ ์งํ๋ฅผ ์กฐ์ํด ์ข์ ์ ์๋ฅผ ๋ฐ์ ์ ์์ด์ผ ํ๋ค๋ ๋ป์ด๋ค. ํ๊ฐ๊ฐ "ํ ์คํธ๋ฅผ ํต๊ณผํ๋๊ฐ"๋ฅผ ์ธก์ ํ๋๋ฐ ์์ด์ ํธ๊ฐ ํ ์คํธ๋ฅผ ์์ ํ ์ ์๋ค๋ฉด, ์งํ๋ฅผ ๋ฏฟ์ ์ ์๋ค. ์ ๋์ ์ผ๋ก ์๊ฐํ ํ์๊ฐ ์๋ค. ์์ด์ ํธ๊ฐ ์ข์ ์ ์๋ฅผ ๋ฐ์๋ค๋ฉด, ๊ทธ๊ฒ์ด ํญ์ ์ค์ ๋ก ๋ ์ข์ ๊ฒ์ธ๊ฐ? SWE-bench Verified๋ ๊ตํ์ ์ธ ์ฌ๋ก๋ค. OpenAI๋ ์คํจ์ ์ ๋ฐ ์ด์์ด ํ ์คํธ ๊ฒฐํจ ๋๋ฌธ์์ ๋ฐ๊ฒฌํ๋ค. ์ด๋ค ํ ์คํธ๋ ๋ฌธ์ ์ค๋ช ์ ์ธ๊ธ๋์ง ์์ ํน์ ๊ตฌํ ์ธ๋ถ์ฌํญ์ ๊ฐ์ ํ๊ณ , ๋ค๋ฅธ ์ด๋ค ํ ์คํธ๋ ๋ช ์ธ๋์ง ์์ ๊ธฐ๋ฅ์ ํ ์คํธํ๋ค. ๊ทธ ์ธ์๋, ํ ์คํธ๋ ๋ชจ๋ ํ๋ก ํฐ์ด ๋ชจ๋ธ์ด ์ ๋ต ํจ์น๋ฅผ ์๊ธฐํด์ ๊ทธ๋๋ก ์ฌํํ ์ ์์๋๋ฐ, ์ด๋ ํ๋ จ ๋ฐ์ดํฐ๊ฐ ์ค์ผ๋์์์ ์์ฌํ๋ค. ๊ทธ ๊ฒฐ๊ณผ OpenAI๋ SWE-bench Verified ์ ์ ๋ณด๊ณ ๋ฅผ ์ค๋จํ๋ค [3].
์๊ฒ ์์ํ๋ผ. ๊ฐ๋ฐ ์ด๊ธฐ์๋ ํ๊ฐ ์์ ์ด ๊ฐ๋ก๋ ์ถฉ๋ถํ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ด๊ธฐ์๋ ์์ด์ ํธ๊ฐ ์๋ํ์ง ์๋ ์ํ์์ ์๋ํ๋ ์ํ๋ก ์ ํ๋๊ณ ์์ผ๋ฏ๋ก, ์ด ๊ฐ์ ์์๋ง์ผ๋ก๋ ๋ณํ๋ฅผ ๊ฐ์งํ ์ ์๋ค. ์์ด์ ํธ๊ฐ ์ฑ์ํด ๋ ์์ ์ ์ง์ ์ธ ๊ฐ์ ์ ํ๊ฒ ๋๋ฉด ์ด ๊ฐ์ ์์๋ก๋ ๊ฐ์ง๊ฐ ์ด๋ ค์์ง๋ค. ๊ฐ์งํ๋ ค๋ ๊ฐ์ ์ด ์์์ง์๋ก ํ๊ฐ ์์๋ฅผ ๋๋ ค์ผ ํ๋ค.
๋ก๊ทธ ์ธํ๋ผ
์์ด์ ํธ์ ๋ก๊ทธ๋ ํฐ ๊ฐ์น๊ฐ ์๋ค. ์คํจํ ์์ด์ ํธ์ ๋ก๊ทธ๋ฅผ ์ฝ์ด๋ณด๋ ๊ฒ๋ง์ผ๋ก๋ ๋ง์ ๊ฒ์ ์ ์ ์๋ค. ๋ชจ๋ธ์ ์์ฑํ๋ฉด์ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๊ทธ ์ฌ๊ณ ๊ณผ์ ์ด ๋ก๊ทธ์ ๋จ๋๋ค. ๊ทธ๋ฌํ ๋ก๊ทธ๋ฅผ ์ฝ์ผ๋ฉด ๋ชจ๋ธ์ด ๋๊ตฌ ๊ฒฐ๊ณผ๋ฅผ ์๋ชป ์ฝ๊ณ , ์๋ชป๋ ๊ฐ์ ์ ํ๊ณ , ์ดํ ์ฌ๋ฌ ํด์ ๊ฑธ์ณ ์๋ชป๋ ๊ฐ์ ์ ๊ณ ์ํ๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค. ์ด๊ฒ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ป์ ์ ์๋ ๊ทํ ์ ๋ณด์ด๋ฉฐ, ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ์๋ ํฌ์ํ ๊ฐ์น๊ฐ ์๋ค.
์ต์ํ ๋ชจ๋ธ์ ๋ชจ๋ ์ํธ์์ฉ์ ๊ธฐ๋กํด์ผ ํ๋ค. ๊ธฐ๋กํด์ผ ํ๋ ํญ๋ชฉ์ผ๋ก ์ฌ์ฉํ ๋ชจ๋ธ, ์ ์ฒด ์ ๋ ฅ (์์คํ ํ๋กฌํํธ์ ๋๊ตฌ ์ ์ ํฌํจ), ์ ์ฒด ์ถ๋ ฅ, ์์ ์๊ฐ, ๋น์ฉ์ด ์๋ค. ๋น์ฉ ์ถ์ ์ ํ์ง ์์ผ๋ฉด ๋์ค์ ์ฌ๊ตฌ์ฑํ๊ธฐ ์ด๋ ต๋ค. ์ง์ฐ ์๊ฐ ๋ฐ์ดํฐ๋ ๋ชจ๋ธ์ด๋ ํ๋กฌํํธ ๋ณ๊ฒฝ์ ๋น๊ตํด ์๋์ ํ์ง ๊ฐ์ ํธ๋ ์ด๋์คํ๋ฅผ ๋ถ์ํด์ผ ํ ๋ ๊ผญ ํ์ํ๋ค.
๋ก๊ทธ๋ ์ฌ๋์ด ์ง์ ์ดํด๋ณด๋ ๊ฒ๊ณผ ์๋ํ๋ ๋ถ์์ ์ง์ํด์ผ ํ๋ค. ์ฌ๋์ด ์ง์ ์ดํด๋ณด๋ ค๋ฉด ๋ก๊ทธ๋ฅผ ๋ณด๊ธฐ ์ฌ์ด ํํ๋ก ์ฝ์ ์ ์์ด์ผ ํ๊ณ ์๊ฐ, ์์ , ๊ฒฐ๊ณผ, ๋น์ฉ ๋ฑ์ผ๋ก ๊ฒ์ํ ์ ์์ด์ผ ํ๋ค. ์๋ํ๋ ๋ถ์์ ์ํด์๋ ๋ชจ๋ธ์ด ์ง์ํ ์ ์๋ ๊ตฌ์กฐํ๋ ํ์์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์กด์ฌํด์ผ ํ๋ค. ํ ์คํธ ํ์ผ๋ก๋ง ์กด์ฌํ๋ ๋ก๊ทธ๋ ๊ฐ๋ณ ์คํจ๋ฅผ ๋๋ฒ๊น ํ๋ ๋ฐ ์ ์ฉํ์ง๋ง, ์ง์ ๊ฐ๋ฅํ ํ์์ผ๋ก ์ ์ฅ๋ ๋ก๊ทธ๋ ํต๊ณ์ ์ธ ์ง๋ฌธ์ ํ ์ ์๊ฒ ํ๋ค. ์ด๋ค ์์ ์ ์คํจ์จ์ด ๊ฐ์ฅ ๋์๊ฐ? ์ด๋ค ํ๋กฌํํธ๊ฐ ๊ฐ์ฅ ๊ธด ์ถ๋ก ์ ๋ง๋๋๊ฐ? ์ฑ๊ณตํ ์คํ๋น ํ๊ท ๋น์ฉ์ ์ผ๋ง์ธ๊ฐ?
AI ์์ด์ ํธ ๋ก๊ทธ ๊ด๋ฆฌ๋ฅผ ์ํ ๋๊ตฌ๋ค์ด ์๋ค. Langfuse [4]์ Logfire [5] ๋ชจ๋ ์ดํด๋ณผ ๊ฐ์น๊ฐ ์๋ค. ํ์ง๋ง ๊ธฐ์กด ๋๊ตฌ๊ฐ ํด๊ฒฐํด ์ฃผ์ง ์๋ ํ์๊ฐ ์๋ค๋ฉด ์ง์ ๋๊ตฌ๋ฅผ ๋ง๋๋ ๊ฒ๋ ์๊ฐํด๋ด์ผ ํ๋ค. ๊ทธ๊ฒ์ ๋ ๋ฆฝ์ ์ธ ๋๊ตฌ์ผ ์๋ ์๊ณ ๊ธฐ์กด ํ๋ซํผ ์์ ๊ตฌ์ถ๋ ๊ฒ์ผ ์๋ ์๋ค.
๋ก๊ทธ๋ฅผ ๋์ค์ ์ถ๊ฐํ ์ธํ๋ผ๋ก ์๊ฐํด์๋ ์๋๋ค. ๋ก๊ทธ๊ฐ ์๋ ๊ณ ํต์ ๋๋ ๋๊ฐ ๋๋ฉด, ๊ฐ์ฅ ํฐ ๋์์ด ๋์์ ๋ก๊ทธ๋ ์ด๋ฏธ ์์ด๋ฒ๋ฆฐ ๋ค๋ค.
๋ชจ๋ธ, ํ๋กฌํํธ, ๋๊ตฌ
์์ด์ ํธ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ๋ชจ๋ธ, ํ๋กฌํํธ, ๋๊ตฌ๋ฅผ ๋ฐ๊ฟ ์ ์๋ค.
๋ชจ๋ธ์ ์์คํ ์ฑ๋ฅ์์ ๊ฐ์ฅ ์ค์ํ ์์๋ค. ๋ ์ข์ ๋ชจ๋ธ์ ํ๋ฒํ ํ๋กฌํํธ๋ฅผ ๊ตฌ์ ํ ์ ์์ง๋ง, ๋์ ๋ชจ๋ธ์ ์๋ฒฝํ ํ๋กฌํํธ๋ก๋ ๊ตฌ์ ํ ์ ์๋ค. ์๋ก์ด ๋ชจ๋ธ์ ๊ณ์ํด์ ๋์จ๋ค. ํต์ฌ์ ์ ๋ชจ๋ธ์ ๋น ๋ฅด๊ฒ ํ ์คํธํ ์ ์์ด์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ๋ชจ๋ธ์ ๊ต์ฒดํ๊ณ , ํ๊ฐ๋ฅผ ์คํํ๊ณ , ์ ์๋ฅผ ๋น๊ตํ๋ค. ํ๊ฐ๊ฐ ์ ๊ฐ์ถฐ์ ธ ์๋ค๋ฉด ์ด ์์ ์ ๋ฉฐ์น ์ด ์๋๋ผ ๋ช์ญ ๋ถ์ด ๊ฑธ๋ ค์ผ ํ๋ค. ๋ชจ๋ธ ํ๊ฐ๊ฐ ์ฌ์์ผ ์ ๋ชจ๋ธ์ ๋น ๋ฅด๊ฒ ์ ์ฉํ ์ ์๋ค.
ํ๋กฌํํธ๋ ์ผ์์ ์ธ ๊ฐ์ ์ด ์ผ์ด๋๋ ๊ณณ์ด๋ค. ํ๋กฌํํธ๋ฅผ ๊ฐ์ ํ๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ ๋ชจ๋ธ์ด ์ํ๋ ๊ฒ์ ์์ํ๋ ๊ฒ์ด ์๋๋ผ ๋ก๊ทธ๋ฅผ ์ฝ๋ ๊ฒ์ด๋ค. ์คํจํ ์คํ์ ๋ก๊ทธ๋ ๋ณดํต ๋ชจ๋ธ์ด ๋ฌด์์ ์คํดํ๋์ง, ํ๋กฌํํธ์ ์ด๋ค ๋ถ๋ถ์ด ์ ๋ฌ๋์ง ์์๋์ง ๋ณด์ฌ์ค๋ค. ๋ณ๊ฒฝ์ฌํญ์ ํ๊ฐ๋ก ๊ฒ์ฆํด์ผ ํ๋ค. ์ด๋ค ์คํจ๋ฅผ ๊ณ ์น๋ ํ๋กฌํํธ ๋ณ๊ฒฝ์ด ๋ค๋ฅธ ์ด๋ค ๊ฒฝ์ฐ๋ฅผ ์กฐ์ฉํ ๋ง๊ฐ๋จ๋ฆด ์ ์๋ค.
๋๊ตฌ๋ ๋ชจ๋ธ๊ณผ ์ธ์ ์ฌ์ด์ ์ธํฐํ์ด์ค์ด๋ฉฐ, ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ฒ๋ผ ์ฃผ์ ๊น๊ฒ ์ค๊ณํด์ผ ํ๋ค. ์ค๊ณ์ ๋ชฉํ๋ ์ฌ๋ฐ๋ฅธ ์ฌ์ฉ์ ์ฝ๊ฒ ํ๊ณ ์๋ชป๋ ์ฌ์ฉ์ ์ด๋ ต๊ฒ ๋ง๋๋ ๊ฒ์ด๋ค. ๋ชจ๋ธ์ด ๋๊ตฌ๋ฅผ ์์ฃผ ์๋ชป ์ฌ์ฉํ๋ค๋ฉด -- ์ธ์๋ฅผ ์๋ชป๋ ํ์์ผ๋ก ์ ๋ฌํ๊ฑฐ๋, ์๋ชป๋ ๋งฅ๋ฝ์์ ํธ์ถํ๊ฑฐ๋, ์ถ๋ ฅ์ ์คํดํ๋ค๋ฉด -- ๊ทธ๊ฒ์ ๋ชจ๋ธ์ ๋ฌธ์ ๊ฐ ์๋๋ผ ๋๊ตฌ์ ๋ฌธ์ ๋ค. ์ฌ์ฉ์๊ฐ ๊ณ์ ๊ฐ์ ์ค์๋ฅผ ํ๋ฉด ์ฌ์ฉ์๊ฐ ์๋๋ผ UI๋ฅผ ๋ค์ ์ค๊ณํ๋ฏ์ด, ๋ชจ๋ธ์ด ์๋ํ์ง ์์ ํ๋์ ๊ณ์ํ๋ฉด ๋ชจ๋ธ์ ๋ง์ถฐ์ฃผ๋ ๊ฒ์ด ์ข์ ์ ์๋ค.
์ธ ๊ฐ์ง ๋ชจ๋ ์ง๊ด๋ณด๋ค๋ ํ๊ฐ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค. ๋ฌด์์ด ๋์์ด ๋ ์ง์ ๋ํ ์ง๊ด์ ์์ฃผ ํ๋ฆฌ์ง๋ง, ํ๊ฐ ์ ์๋ ๊ทธ๋ ์ง ์๋ค.
์คํฌ๊ณผ ๋ฐฐ๊ฒฝ์ง์
์ธ์ด ๋ชจ๋ธ์ ์ธ์์ ๋ํ ๋ฐฉ๋ํ ์ง์์ ๊ฐ์ง๊ณ ์๋ค. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ณผํ์ ๊ฐ๋ ๊ณผ ์ญ์ฌ์ ์ฌ์ค์ ์ดํดํ๋ค. ํ์ง๋ง ์ฐ๋ฆฌ ์กฐ์ง๊ณผ ์ฝ๋๋ฒ ์ด์ค, ๋ด๋ถ ๋๊ตฌ, ํด๋น ๋ถ์ผ์ ๊ด์ต์ ๋ํด์๋ ์ ๋ชจ๋ฅธ๋ค. ๋ชจ๋ธ์ ์๋ชป์ด ์๋๋ผ ์๋ ค์ฃผ์ง ์์๊ธฐ ๋๋ฌธ์ด๋ค.
์ค์ฉ์ ์ธ ํด๊ฒฐ์ฑ ์ ๋ชจ๋ธ์๊ฒ ํ์ํ ๊ฒ์ ์ฃผ๋ ๊ฒ์ด๋ค. ์ ๋ณด ์์ค์ ์ฌ์ฉ๋ฒ์ ์ ๊ณตํด์ผ ํ๋ค. ์์ด์ ํธ๊ฐ ๋ด๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ํด์ผ ํ๋ค๋ฉด, ๊ทธ๋ ๊ฒ ํ ์ ์๋ CLI๋ฅผ ์ฃผ๊ณ ์ฌ์ฉ๋ฒ ๋ฌธ์๋ ๊ฐ์ด ์ค๋ค. ์ฝ๋๋ฒ ์ด์ค ํน์ ์ ๊ด์ต์ ๋ฐ๋ผ์ผ ํ๋ค๋ฉด, ๊ทธ ๊ด์ต์ ํ์ผ์ ์ ์ด ๋๋ค. ์ง์ ๋ฒ ์ด์ค๋ฅผ ์ฐธ์กฐํด์ผ ํ๋ค๋ฉด, ๊ฒ์ ๋๊ตฌ๋ฅผ ์ฃผ๊ณ ์คํค๋ง๋ฅผ ์ค๋ช ํ๋ค. ๋ชจ๋ธ์ ์ถ๋ก ๋ฅ๋ ฅ๋ณด๋ค ์ถ๋ก ํ ์ฌ๋ฃ๊ฐ ๋ฌธ์ ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
Anthropic์ ์ด ํจํด์ ์์ด์ ํธ ์คํฌ [6]๋ก ๊ณต์ํํ๋ค. ์คํฌ์ ์ง์นจ์ด ๋ด๊ธด SKILL.md ํ์ผ๊ณผ ์ง์ ์คํฌ๋ฆฝํธ ๋ฐ ๋ฆฌ์์ค๋ก ๊ตฌ์ฑ๋ ํด๋๋ค. ์์ํ ๋ ์์ด์ ํธ๋ ์ค์น๋ ๊ฐ ์คํฌ์ ์ด๋ฆ๊ณผ ์ค๋ช
๋ง ๋ฏธ๋ฆฌ ์ฝ์ด๋๋ค. ์์
์ด ๊ด๋ จ ์คํฌ์ ํธ๋ฆฌ๊ฑฐํ๋ฉด, ์์ด์ ํธ๋ ์ ์ฒด ์ง์นจ๊ณผ ๋งํฌ๋ ํ์ผ์ ํ์์ ๋ฐ๋ผ ์ฝ๋๋ค. ์ด ์ ์ง์ ๊ณต๊ฐ ์ค๊ณ ๋๋ถ์ ์ปจํ
์คํธ ์๋์๋ ํ๊ณ๊ฐ ์์ง๋ง ์คํฌ์๋ ๊ทธ๋ณด๋ค ๋ง์ ์ปจํ
์คํธ๋ฅผ ๋ด์ ์ ์๋ค.
Anthropic์ ์คํฌ ํ์์ ์ฌ์ฉํ์ง ์๋๋ผ๋, ์์ด๋์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์ฉํ ์ ์๋ค.. ์์ด์ ํธ์๊ฒ ํ์ํ์ง๋ง ์ผ๋ฐ ์ง์์ผ๋ก๋ ์ ์ถํ ์ ์๋ ์ปจํ ์คํธ๊ฐ ๋ฌด์์ธ์ง ํ์ ํ๊ณ , ๊ทธ ์ปจํ ์คํธ๋ฅผ ๋ฐ๊ฒฌ ๊ฐ๋ฅํ ๋ฆฌ์์ค๋ก ํจํค์งํ๊ณ , ์์ด์ ํธ๊ฐ ํ์์ ๋ฐ๋ผ ์ ๊ทผํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ฃผ์ด๋ผ.
๋น์ฉ ์ ์ด
์ ๋ชจ๋ธ๊ณผ ํฐ ๋ชจ๋ธ์ด ๋ฅ์ฌ๋ ์๋๋ค. ํ๋ก ํฐ์ด ๋ชจ๋ธ์ ๋น์ธ๊ณ ๋๋ฆฌ๋ค. ์์ด์ ํธ ์์คํ ๋ด์ ๋ง์ ์์ ์ ๋ ์์ ๋ชจ๋ธ๋ก ์ถฉ๋ถํ๋ค. ์ค์ฉ์ ์ธ ์ ๊ทผ๋ฒ์ ๊ฐ ์์ ์ ์์ ์ ์ผ๋ก ํ ์ ์๋ ๊ฐ์ฅ ์์ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ์ฌ๋ฌ ๋ชจ๋ธ์ ๋์์ผ๋ก ํ๊ฐ๋ฅผ ์คํํด ๋ณ๊ณก์ ์ ์ฐพ๊ณ , ๊ทธ๋ณด๋ค ํ ๋จ๊ณ ์์ ๋ชจ๋ธ์ ์ฐ๋ฉด ๋๋ค.
์ถ๋ ฅ ํ ํฐ์ ์ ๋ ฅ ํ ํฐ๋ณด๋ค ๋น์ธ๋ค. ๋ฐ๋ผ์ ์ ๋ ฅ ํ ํฐ๋ณด๋ค ์ถ๋ ฅ ํ ํฐ์ ์๊ปด์ผ ํ๋ค. ํ์ํ ๊ฒ๋ง ์์ฒญํด ์ถ๋ ฅ์ ์ต์ํํ๋ผ. ์์ ์ ์ํด ๋ฌด๊ฑฐ์ด ์ฒ๋ฆฌ ์ ์ ๋ถ๋ฅ๋ ํํฐ๋ง์ด ํ์ํ๋ค๋ฉด, ๊ฐ๋ฒผ์ด ๋จ๊ณ๋ฅผ ๋จผ์ ํ๋ผ. ์ฒ ๊ฐ์ ํญ๋ชฉ์ ๋ถ๋ฅํด ๊น๊ฒ ๋ถ์ํ ๊ฐ์น ์๋ ์ค๋ฌด ๊ฐ๋ฅผ ์ฐพ๋ ๊ฒ์ ์ฒ ๊ฐ ๋ชจ๋ ์ ์ฒด ๋ถ์์ ์คํํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ ๋ ดํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ถ๋ฅ ๋จ๊ณ๋ ๋ถ์ ๋จ๊ณ๋ณด๋ค ๋ ์์ ๋ชจ๋ธ์ ์ธ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
ํ๋กฌํํธ ์บ์ฑ์ ์ ๋ ฅ ๋น์ฉ์ ์ค์ด๋ ๊ฐ์ฅ ํจ๊ณผ์ ์ธ ์๋จ ์ค ํ๋๋ค. OpenAI์ Anthropic ๋ชจ๋ ๋ฐ๋ณต๋๋ ํ๋กฌํํธ ์ ๋์ฌ๋ฅผ ์บ์ฑํ๋ฏ๋ก, ๋งค ์์ฒญ ์์ ๋ฑ์ฅํ๋ ๋ด์ฉ -- ์์คํ ํ๋กฌํํธ์ ๋๊ตฌ ์ ์ -- ์ ํ ๋ฒ ์บ์ฑ๋๋ฉด ์ดํ ํธ์ถ์์ ํจ์ฌ ์ ๋ ดํด์ง๋ค. ์์ ์ ์ธ ๋ด์ฉ์ ์ปจํ ์คํธ ์์ ๋๊ณ ํธ์ถ ์ฌ์ด์ ํธ์งํ์ง ๋ง๋ผ. ์ปจํ ์คํธ ํธ์ง -- ๋ํ์ ์๋ถ๋ถ์ ์ฌ๋ฐฐ์ดํ๊ฑฐ๋, ์์ฝํ๊ฑฐ๋, ๋ค๋ฌ๋ ๊ฒ -- ์ ์บ์๋ฅผ ํ๊ดดํ๋ฏ๋ก ์ ์คํ๊ฒ ์ ๊ทผํด์ผ ํ๋ค.
ํด์ผํ ์ผ์ ๋ฐฐ์น ์์ ์ผ๋ก ๊ตฌ์กฐํํ ์ ์๋ค๋ฉด -- ์ค์๊ฐ ์๊ฑด ์์ด ์ฒ๋ฆฌ๋๋ ๋ง์ ๋ ๋ฆฝ์ ์ ๋ ฅ -- OpenAI์ Anthropic ๋ชจ๋ ์๋นํ ํ ์ธ์จ๋ก ๋ฐฐ์น API๋ฅผ ์ ๊ณตํ๋ค. ๋ฐฐ์น ์ฒ๋ฆฌ๋ ๋ํํ ์์ด์ ํธ์๋ ์ ํฉํ์ง ์์ง๋ง, ํ๊ฐ ์คํ, ๋๊ท๋ชจ ๋ถ๋ฅ ์์ , ์ง์ฐ ์๊ฐ ์ ์ฝ์ด ์๋ ์ํฌ๋ก๋์์ ๋น์ฉ์ ํฌ๊ฒ ์ค์ผ ์ ์๋ค.
๊ฐ๋ก
๋ฉํฐ ์์ด์ ํธ ์์คํ
๋ฉํฐ ์์ด์ ํธ ์์คํ ์ ๋จ์ํ ๋ณ๋ ฌ๋ก ์คํํ๋ ๋ฐฉ๋ฒ์ด ์๋๋ค. ๋ ๊ฐ์ง ๋ชฉ์ ์ด ์๋ค. ์ ๋นํ ํฌ๊ธฐ๋ก ์์ ์ ๋ถํดํ๋ ๊ฒ, ๊ทธ๋ฆฌ๊ณ ํฌ์ํ๊ณ ์ ํ๋ ์์์ธ ์ปจํ ์คํธ ์๋๋ฅผ ์๋ผ๋ ๊ฒ์ด๋ค.
์ปจํ ์คํธ ์๋ ์ ์ฝ์ ๊ณผ์ํ๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ปจํ ์คํธ ์๋ ์์ ๋ชจ๋ ๊ฒ์ด ๋ชจ๋ธ์ ์ฃผ์๋ฅผ ๋๊ณ ๊ฒฝ์ํ๋ค. ๋ชจ๋ ์ค๊ฐ ๊ฒฐ๊ณผ, ๋ชจ๋ ๋๊ตฌ ์๋ต, ํ์ํ๋ค ๋งํ ๋ชจ๋ ๋ง๋ค๋ฅธ ๊ธธ. ํ๋์ ์์ด์ ํธ๊ฐ ํฐ ์์ ์ ์ฒ๋ฆฌํ๋ฉด ์ด ๋ชจ๋ ๊ฒ์ด ํ ๊ณณ์ ์์ธ๋ค. ์ ์ ์ค์ํ ๋ถ๋ถ์ ๋ค๋ค๋ฅผ ๋์ฏค์ด๋ฉด, ์ด์ ๋จ๊ณ์์ ๋์จ ๋ฌด๊ดํ๊ฑฐ๋ ์คํ๋ ค ๋ฐฉํด๊ฐ ๋๋ ์๋ฃ๋ค๋ก ์ปจํ ์คํธ๊ฐ ๊ฐ๋ ์ฐจ ์๋ค. ๋ณ๋์ ์์ด์ ํธ๋ ๊ฐ์ ์์ ์ ์์ ์๋ง ๊ด๋ จ๋ ๊น๋ํ๊ณ ์ง์ค๋ ์ปจํ ์คํธ๋ฅผ ๊ฐ๋๋ค.
์์ ๋ถํด๊ฐ ๋ ๋ค๋ฅธ ์ด์ ๋ค. ํ๋์ ์์ด์ ํธ๊ฐ ์ ์ฒ๋ฆฌํ๊ธฐ์ ๋๋ฌด ํฐ ์์ ์ ๋ณดํต ์ํธ ์์กด์ฑ์ด ์ ์ ํ์ ์์ ์ผ๋ก ๋๋ ์ ์๋ค. ์ค์ผ์คํธ๋ ์ดํฐ์ ์ญํ ์ ๊ทธ ๊ตฌ์กฐ๋ฅผ ํ์ ํ๋ ๊ฒ์ด๋ค. ์ด๋ค ๋ถ๋ถ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์งํ๋ ์ ์๋์ง, ์ด๋ค ๊ฒ์ด ์์๋ฅผ ์ง์ผ์ผ ํ๋์ง, ์ด๋ค ๊ฒฐ๊ณผ๋ฅผ ๋ง์ง๋ง์ ์ข ํฉํด์ผ ํ๋์ง. ์ด๊ฒ์ ๋จ์ํ ํ๋กฌํํ ๋ฌธ์ ๊ฐ ์๋๋ผ ์ค๊ณ์ ๋ฌธ์ ์ด๋ค.
๋ฉํฐ ์์ด์ ํธ ์ํคํ ์ฒ๊ฐ ํญ์ ์ฌ๋ฐ๋ฅธ ์ ํ์ ์๋๋ค. ์์ ์ด ๋ณธ์ง์ ์ผ๋ก ์์ฐจ์ ์ด๋ผ๋ฉด -- ๊ฐ ๋จ๊ณ์์ ์ด์ ์ ๋ชจ๋ ๊ฒ์ ๋ํ ์์ ํ ์ง์์ด ํ์ํ๋ค๋ฉด -- ์์ด์ ํธ๋ฅผ ๋ถ๋ฆฌํด๋ ์ป์ ๊ฒ์ด ๊ฑฐ์ ์๊ณ ๋ฌธ์ ์ ๋ง ๋ง์์ง๋ค. ๋์ ์์ , ์ฆ ๋ณ๋ ฌ๋ก ์งํ๋๋ค๊ฐ ๋ง์ง๋ง์ ์ข ํฉํ๋ ์์ ์ด ์ ๋ง๋๋ค. ๋จ๊ณ ๊ฐ ์ํธ ์์กด์ฑ์ด ๊ฐํ ์ด์ดํ๊ฒ ๊ฒฐํฉ๋ ์์ ์ ๊ทธ๋ ์ง ์๋ค.
๋ฉํฐ ์์ด์ ํธ ์์คํ ์ ๋น์ธ๋ค. Anthropic์ ๋ฐ๋ฅด๋ฉด ๋ฉํฐ ์์ด์ ํธ ์ฐ๊ตฌ ์์คํ ์ ํ์ค ์ฑํ ๋ณด๋ค ์ฝ 15๋ฐฐ ๋ง์ ํ ํฐ์ ์ฌ์ฉํ๋ค [7]. ์์ ์ด ์ถฉ๋ถํ ๋ณต์กํ๊ณ ์ถ๋ ฅ์ด ๊ฐ์น ์์ ๋๋ง ๊ทธ๋ฌํ ๋น์ฉ์ด ์ ๋นํ๋ ์ ์๋ค. ๋จ์ผ ์์ด์ ํธ๋ก ์ฒ๋ฆฌํ ์ ์๋ ์์ ์ ๋ฉํฐ ์์ด์ ํธ ์์คํ ์ผ๋ก ํ๋ ๊ฒ์ ๋ญ๋น์ผ ๋ฟ์ด๋ค.
์๋ธ์์ด์ ํธ
์๋ธ์์ด์ ํธ๋ ์ค์ผ์คํธ๋ ์ดํฐ๊ฐ ํน์ ํ์ ์์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์์ฑํ๋ ์์ด์ ํธ์ด๋ค. ๋ณ๋์ ์ปจํ ์คํธ ์๋์ ๋๊ตฌ, ์คํ ๋ฃจํ๋ฅผ ๊ฐ๋๋ค. ์ค์ผ์คํธ๋ ์ดํฐ๋ ์์ ์ ์์ํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์์ ์ ์ปจํ ์คํธ์ ํตํฉํ๋ค.
์๋ธ์์ด์ ํธ์๋ ๋ช ํํ ์ข ๋ฃ ์กฐ๊ฑด์ด ํ์ํ๋ค. ์๋ฃ๋์์์ ์๋ฆฌ๊ณ ์ค์ผ์คํธ๋ ์ดํฐ๊ฐ ์ฌ์ฉํ ์ ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋๋ ๋ฌด์ธ๊ฐ๊ฐ ์์ด์ผ ํ๋ค. ๊ฐ์ฅ ๊น๋ํ ๋ฉ์ปค๋์ฆ์ ์ ์ฉ ์ถ๋ ฅ ๋๊ตฌ๋ค. ๋ชจ๋ธ์ด ์ถ๋ ฅ ๋๊ตฌ๋ฅผ ํธ์ถํ๋ฉด ์คํ์ด ๋๋๊ณ ๊ฒฐ๊ณผ๊ฐ ๋ฐํ๋๋ค. ์ด๊ฒ์ ์๋ธ์์ด์ ํธ์ ๋ง์ง๋ง ์๋ต์ ์ถ๋ ฅ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ซ๋ค. ๋ช ์์ ์ด๊ณ , ๊ตฌ์กฐํ๋์ด ์๊ณ , ํ์ฑํ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ด๋ค.
Armin Ronacher๋ ๋ชจ๋ธ์ด ์ถ๋ ฅ ๋๊ตฌ๋ฅผ ํธ์ถํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๊ณ ์ง์ ํ๋ค [8]. ์ด๊ฒ์ ์ค์ ๋ฌธ์ ์ง๋ง ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ๋ ์๋๋ค. OpenAI์ Anthropic API ๋ชจ๋ ํน์ ๋๊ตฌ๋ฅผ ๊ฐ์ ๋ก ํธ์ถํ๊ฒ ํ ์ ์๋ tool_choice ํ๋ผ๋ฏธํฐ๋ฅผ ์ง์ํ๋ค. ์๋ธ์์ด์ ํธ ์คํ์ด ๋๋ ๋ ์์
์ ๋ง์น ํ tool_choice๋ฅผ ์ถ๋ ฅ ๋๊ตฌ๋ก ์ค์ ํด ๋ง์ง๋ง API ํธ์ถ์ ํ ์ ์๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ชจ๋ธ์ด ์ค์ค๋ก ์ถ๋ ฅ ๋๊ตฌ๋ฅผ ํธ์ถํ์ง ์์ผ๋ ค ํ๋๋ผ๋ ๊ตฌ์กฐํ๋ ์ถ๋ ฅ์ ๋ด๋๋ก ๊ฐ์ ํ ์ ์๋ค.
๋ ๊น๋ค๋ก์ด ๋ฌธ์ ๋ ์คํจ๋ค. ์๋ธ์์ด์ ํธ๋ ์คํจํ ์ ์์ผ๋ฉฐ, ๊ฐ์ฅ ํฐ ํผํด๋ฅผ ์ฃผ๋ ์คํจ ๋ฐฉ์์ ๋ช ํํ ์ค๋ฅ๊ฐ ์๋๋ผ ์ง์ ์์ด ๊ธธ๊ฒ ์ด์ด์ง๋ ์คํ์ด๋ค. ๋ฌธ์ ๊ฐ ๋๋ ๊ฒ์ ์ค๋ฅ์ ์ฆํญ์ด๋ค. ๋ชจ๋ธ์ด ๋๊ตฌ ๊ฒฐ๊ณผ๋ฅผ ์๋ชป ์ฝ๊ณ , ์๋ชป๋ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๊ณ , ์ดํ์ ๊ฐ ๋จ๊ณ๊ฐ ๊ทธ ์๋ชป๋ ๊ธฐ๋ฐ ์์ ์์ธ๋ค. ์ด๋ฐ ์คํ์ ํด ์ ์ธก๋ฉด์์ ๊ฐ์ฅ ๊ธด ๊ฒฝํฅ์ด ์๋ค. ์ฑ๊ณตํ ์๋ธ์์ด์ ํธ๋ ๋๊ฐ ์์ธก ๊ฐ๋ฅํ ํด ์ ์์ ์ฑ๊ณตํ๋ค. ๊ทธ ์ง์ ์ ๋์ด์๋ ๊ณ์ ๊ฐ๋ ๊ฒ์ ๋๊ฐ ๋งํ ๊ฒ์ด๋ค.
์ค์ฉ์ ์ธ ํด๊ฒฐ์ฑ ์ ํด์ ์ ํ์ด๋ค. ํด์ ์ ํ์ ์์ด์ ํธ๋ฅผ ์ฌ๋ฌ ์์ ์ ์คํํด๋ณด๊ณ ์ฑ๊ณต์ ์ธ ์คํ์ด ์ด๋์ ๋๋๋์ง ๊ด์ฐฐํด์ ๊ฒฝํ์ ์ผ๋ก ๊ฒฐ์ ํ๋ค. ์ ํ์ ๋๋ฌํ๋ฉด, ์คํ์ ๊ณ์ํ๊ฒ ๋๋ ๋์ ํฌ๊ธฐํ๊ณ ๋ค์ ์๋ํ๋ค. ๊น๋ํ ์ปจํ ์คํธ๋ก ์๋ก ์์ํ๋ฉด ๊ธธ๊ฒ ๋์ด์ง ์คํ์ด ์คํจํ ๊ณณ์์ ์ฑ๊ณตํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ด๊ฒ์ ์์ด์ ํธ๊ฐ ์ ์ง์ ์ผ๋ก ์ง์ ์ ์ด๋ฃจ๊ณ ์๋ค๊ณ ์๊ฐํ๋ค๋ฉด ์ง๊ด์ ๋ฐํ์ง๋ง, ์ค๋ฅ ์ฆํญ์ ๋งํ ์์ด์ ํธ๊ฐ ๋์์ง๋ ๊ฒ์ด ์๋๋ผ ์ข ์ข ๋๋น ์ง๊ณ ์์์ ์๋ฏธํ๋ค.
ํด์ ์ ํ์ ๊ฐ๋ฐ ์ค์ ์ ์ฉํ๊ธฐ๋ ํ๋ค. ์์ด์ ํธ๊ฐ ์ผ์์ ์ผ๋ก ์ ํ์ ๋๋ฌํ๋ค๋ฉด, ๊ทธ๊ฒ์ ์์ ๋ถํด๊ฐ ์์ง์ด ํ์ํ๋ค๋ ์ ํธ์ด๊ฑฐ๋, ๋๊ตฌ๊ฐ ๋ชจ๋ธ์๊ฒ ํ์ํ ๊ฒ์ ์ฃผ์ง ์๊ณ ์๊ฑฐ๋, ํ๋กฌํํธ๊ฐ ์ธ์ ์์ ์ด ์๋ฃ๋์๋์ง ์ถฉ๋ถํ ๋ช ํํ์ง ์๋ค๋ ์ ํธ์ด๋ค.
์ฝ๋ ์์ฑ
์์ด์ ํธ๊ฐ ๋๊ตฌ๋ก ๋ณต์กํ ์์ ์ ํด์ผ ํ ๋ -- ์ฌ๋ฌ ๋๊ตฌ๋ฅผ ์์๋๋ก ํธ์ถํ๊ฑฐ๋, ํฐ ๊ฒฐ๊ณผ๋ฅผ ํํฐ๋งํ๊ฑฐ๋, ํญ๋ชฉ ๋ชฉ๋ก์ ๋ฐ๋ณต ์ฒ๋ฆฌํ๋ ๊ฒ -- ๋จ์ํ ์ ๊ทผ๋ฒ์ ๋ชจ๋ธ์ด ๋๊ตฌ๋ฅผ ํ๋์ฉ ํธ์ถํ๊ณ , ํธ์ถ ์ฌ์ด๋ง๋ค ๋ชจ๋ธ์ ๊ฑฐ์น๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ ์๋ํ์ง๋ง ๋น์ธ๊ณ ๋๋ฆฌ๋ค. ๋ ๋์ ๋ฐฉ๋ฒ์ด ์๋ค. ๋ชจ๋ธ์๊ฒ ๊ทธ ๋ชจ๋ ๊ฒ์ ํ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ํ ๋ค์ ์ฝ๋๋ฅผ ์คํํ๋ ๊ฒ์ด๋ค.
์ด๊ฒ์ด ๊ฐ๋ฅํ ์ด์ ๋ ์ธ์ด ๋ชจ๋ธ์ด ์ฝ๋ ์์ฑ์ ์ ๋ ๋ฐ์ด๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ธ์ด ๋ชจ๋ธ์ ํ๋ จ์์ ๋๊ตฌ ํธ์ถ๋ณด๋ค ํจ์ฌ ๋ง์ ์ค์ ์ฝ๋๋ฅผ ๋ณด์๋ค. ๋๊ตฌ๋ฅผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํธ์ถ ๊ฐ๋ฅํ ํจ์๋ก ์ ์ํ๋ฉด, ๋ชจ๋ธ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ทธ๋ฌ๋ฏ์ด ๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ, ์ค๋ฅ ์ฒ๋ฆฌ์ ๋ํด ์ถ๋ก ํ ์ ์๋ค. Cloudflare๋ Code Mode [9]์์ ๋ช ์์ ์ผ๋ก ๊ทธ๋ ๊ฒ ์ฃผ์ฅํ๋ค. ๋๊ตฌ ํธ์ถ์ ๋ชจ๋ธ์ด ๋๋ฌผ๊ฒ ์ ํ๋ ํจํด์ ์์กดํ์ง๋ง, ์ฝ๋ ์์ฑ์ ๋ชจ๋ธ์ด ๊น์ด ๋ด๋ฉดํํ ํจํด์ ์์กดํ๋ค.
์ฝ๋ ์์ฑ์ ํ ํฐ ์ ์ฝ ํจ๊ณผ๋ ํฌ๋ค. ์ ํต์ ์ธ ๋๊ตฌ ํธ์ถ ๋ฃจํ์์๋ ๋ชจ๋ ์ค๊ฐ ๊ฒฐ๊ณผ๊ฐ ๋ชจ๋ธ์ ์ปจํ ์คํธ ์๋๋ฅผ ๊ฑฐ์น๋ค. 2์๊ฐ์ง๋ฆฌ ํ์ ๋ น์ทจ๋ฅผ ๊ฐ์ ธ์ CRM์ ์ฒจ๋ถํ๋ฉด, ์ ์ฒด ๋ น์ทจ๊ฐ ์ปจํ ์คํธ์ ๋ ๋ฒ ๋ค์ด๊ฐ๋ค. 20๋ช ์ง์์ ์์ฐ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ์กฐํํ๋ฉด, ์์ฝํ๊ธฐ ์ ์ 20๊ฐ์ ์๋ต์ด ๋ชจ๋ ์ปจํ ์คํธ์ ์ ์ฌ๋๋ค. ์ฝ๋ ์์ฑ์ ์ฌ์ฉํ๋ฉด ์ค๊ฐ ๊ฒฐ๊ณผ๊ฐ ์คํ ํ๊ฒฝ์ ๋จธ๋ฌผ๊ณ , ์ต์ข ์ถ๋ ฅ -- ํํฐ๋ง๋ ์์ฝ, ํฉ๊ณ -- ๋ง ๋ชจ๋ธ์๊ฒ ๋์๊ฐ๋ค. Anthropic์ ๋ํ์ ์ธ ์ฌ๋ก์์ ํ ํฐ ์ฌ์ฉ๋์ 15๋ง์์ 2์ฒ์ผ๋ก ์ค์๋ค๊ณ ๋ณด๊ณ ํ๋ค [10].
์ค์ฉ์ ์ธ ๊ตฌํ์๋ ์ธ ๊ฐ์ง๊ฐ ํ์ํ๋ค.
์ฝ๋ ์คํ ํ๊ฒฝ. ์์ฑ๋ ์ฝ๋๊ฐ ์ด๋๊ฐ์์ ์คํ๋์ด์ผ ํ๋ค. ์๋๋ฐ์ค๊ฐ ํ์ํ๋ค. ๋คํธ์ํฌ ์ ๊ทผ์ ์ ํํ๊ณ , ์๋ํ ๊ฒ ์ด์ธ์ ํ์ผ์์คํ ์ ๊ทผ์ ๊ธ์งํด์ผ ํ๋ค. Cloudflare๋ V8 isolate๋ฅผ ์ฌ์ฉํ๊ณ , Anthropic์ Python ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ค. ์ง์ ๊ตฌ์ถํ๋ค๋ฉด ์ธํ๋ผ๊ฐ ๊ฐ๋จํ์ง๋ ์์ง๋ง, ์๋๋ฐ์ค๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
ํจ์๋ก ๋ ธ์ถ๋ ๋๊ตฌ. ๋ชจ๋ธ์ ์ด๋ค ํจ์๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ ๋ฌด์์ ๋ฐํํ๋์ง ์์์ผ ํ๋ค. ์ถ๋ ฅ ํ์์ ๋ํ ์ค๋ช ์ด ์ค์ํ๋ค. ๋๊ตฌ๊ฐ JSON์ ๋ฐํํ๋ค๋ฉด ์คํค๋ง๋ฅผ ์ค๋ช ํ๋ผ. ๋ชจ๋ธ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ ค๋ฉด ๊ธฐ๋ํด์ผ ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์์์ผ ํ๋ค.
๋๊ตฌ๋ณ ์ตํธ์ธ. ๋ชจ๋ ๋๊ตฌ๊ฐ ์์ฑ๋ ์ฝ๋์์ ํธ์ถ ๊ฐ๋ฅํด์ผ ํ๋ ๊ฒ์ ์๋๋ค. Anthropic์ API๋ ๊ฐ ๋๊ตฌ ์ ์์ allowed_callers ํ๋๋ก ์ด๋ฅผ ๊ตฌํํ๋ค [11]. ๋ชจ๋ธ์ด ์ง์ ํธ์ถํ๋ ๋๊ตฌ์ ์ฝ๋์์ ํธ์ถํ๋ ๋๊ตฌ๋ฅผ ๊ตฌ๋ถํ๋ค. ์ด ๊ตฌ๋ถ์ ๋ณด์์ ์ค์ํ๋ค. ๋ถ์์ฉ์ด ์๊ฑฐ๋ ๋ฏผ๊ฐํ ์ถ๋ ฅ์ ๊ฐ์ง ๋๊ตฌ๋ ๋ ๋งฅ๋ฝ์์ ๋ค๋ฅธ ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ ์๋ค.
๋๊ตฌ ์ฌ์ฉ ์ธ์๋ ๊ฐ์ ์์น์ด ์ ์ฉ๋๋ค. ์์ด์ ํธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ ๋ -- ํ์ผ์ ๋ณํํ๊ฑฐ๋, ์ง์ ๊ฒฐ๊ณผ๋ฅผ ์ง๊ณํ๊ฑฐ๋, ๋ชฉ๋ก์ ํํฐ๋งํ๋ -- ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ํ๊ณ ๊ทธ ์ฝ๋๋ฅผ ์คํํ๋ ๊ฒ์ด ์์ฐ์ด๋ก ๋ฐ์ดํฐ์ ๋ํด ์ถ๋ก ํ๊ฒ ํ๋ ๊ฒ๋ณด๋ค ๋์ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๋ชจ๋ธ์ ์ฝ๋ ์์ฑ ๋ฅ๋ ฅ์ ์ฝ๋ฉ ์์ด์ ํธ๋ง์ ์ํ ๊ธฐ๋ฅ์ด ์๋๋ผ ๊ธฐ๋ณธ์ ์ธ ๋๊ตฌ์ด๋ค.
์ด ํจํด์ ์ฑํํ๊ณ ์ถ๋ค๋ฉด, MCPorter [12]๊ฐ ๋์์ด ๋ ์ ์๋ค. MCPorter๋ MCP ์๋ฒ์ ๋๊ตฌ ์ ์์์ TypeScript ๋ํผ๋ฅผ ์์ฑํ๋ ์คํ ์์ค TypeScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
ํ ๊ฐ์ง ์ฃผ์์ฌํญ์ด ์๋ค. ์ด ํจํด์ ์คํ ํ๊ฒฝ์ด ์ง์ ์ผ๋ก ๊ฒฉ๋ฆฌ๋์ด ์์ด์ผ ํ๋ค. ์์ฑ๋ ์ฝ๋๋ ์ ๋ขฐํ ์ ์๋ ์ ๋ ฅ์ด๋ค. ์์ด์ ํธ๊ฐ ์ ์์ ์ธ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ํ๋ ํ๋กฌํํธ๋ก ๊ณต๊ฒฉ๋นํ ์ ์๋ค. ์๋๋ฐ์ฑ์ ์ ํ์ฌํญ์ด ์๋๋ค.
๊ตฌ์กฐํ๋ ์ถ๋ ฅ
์์ด์ ํธ๊ฐ ๊ธฐ๊ณ๊ฐ ์ฝ์ ์ ์๋ ์ถ๋ ฅ์ ๋ด๋์์ผ ํ ๋๋ -- ๋ถ๋ฅ, ๊ฒฐ์ , ํ๋ ์ถ์ถ -- ๊ตฌ์กฐํ๋ ์ถ๋ ฅ์ด ์ฌ๋ฐ๋ฅธ ๋๊ตฌ๋ค. ํ ์คํธ๋ฅผ ํ์ฑํ๋ ๋์ , ์คํค๋ง๋ฅผ ์ ์ํ๊ณ ๋ชจ๋ธ์ด ์ฑ์ด๋ค. ๋ ์ ๋ขฐํ ์ ์๊ณ , ํ ์คํธํ๊ธฐ ๋ ์ฝ๊ณ , ํ์ฑ ๋ฒ๊ทธ๋ฅผ ํต์งธ๋ก ์ ๊ฑฐํ๋ค.
์ธ์ด ๋ชจ๋ธ์ ํ ํฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์์๋๋ก ์์ฑํ๋ค. ์คํค๋ง๋ฅผ {"answer": "..."} ๋ก ์ ์ํ๋ฉด, ๋ชจ๋ธ์ ๋ฐ๋ก ๋ต์ ์ ํ๋ค. {"reasoning": "...", "answer": "..."} ๋ก ์ ์ํ๋ฉด, ๋ชจ๋ธ์ ๋จผ์ ์ถ๋ก ํ๋๋ก ๊ฐ์ ๋๊ณ ๊ทธ ์ถ๋ก ์ด ๋ต์ ์ํฅ์ ๋ฏธ์น๋ค. ์ถ๋ก ํ๋๊ฐ ์คํค๋ง์์ ๋ต ํ๋๋ณด๋ค ์์ ์ค๋ฏ๋ก, ์ถ๋ ฅ์์๋ ๋ต ์์ ์จ๋ค.
๋์ค์ ์ถ๋ก ์ ์์ ํ ๋ฒ๋ฆฌ๊ณ ๋ต๋ง ์ฌ์ฉํด๋ ๋๋ค. ์ฑ๋ฅ์์ ์ด์ ์ ์ถ๋ก ์ ์ฝ๋ ๊ฒ์ด ์๋๋ผ ๋ชจ๋ธ์ด ์ถ๋ก ์ ์์ฑํ๋ค๋ ๋ฐ์ ์จ๋ค. ์ด ๋ฐฉ๋ฒ์ ํน๋ณํ ๋ชจ๋ธ ์ง์ ์์ด ์ถ๋ก ๋ชจ๋ธ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ์ป์ ์ ์๊ฒ ํด ์ค๋ค.
ํ์ผ ํธ์ง
์์ด์ ํธ๊ฐ ํ์ผ์ ์์ ํด์ผ ํ๋ค๋ฉด ํ์ผ ํธ์ง์ ์ด๋ป๊ฒ ๊ตฌํํ๋๋๊ฐ ์์คํ ์ฑ๋ฅ์ ์ค์ํ ์ํฅ์ ๋ฏธ์น๋ค.
์ด๊ฒ์ ๋ด ๊ฒฝํ๋ง์ด ์๋๋ค. Anthropic์ ํ์ผ ํธ์ง ์ ๋ขฐ์ฑ์ ๋ช
์์ ์ผ๋ก ์ด๋ ค์ด ๋ฌธ์ ์ค ํ๋๋ก ๊ผฝ์๋ค [13]. Anthropic์ด API๋ก ์ ๊ณตํ๋ ํ
์คํธ ํธ์ง๊ธฐ ๋๊ตฌ [14]๋ฅผ ๋ณด๋ฉด, str_replace ๋ช
๋ น์ ์ ํํ ๋ฌธ์์ด ์ผ์น๋ฅผ ํ์๋ก ํ๋ฉฐ, ํ๋์ค๋ ๋ฌธ์์ด์ด ์ผ์นํ์ง ์๊ฑฐ๋ ์ฌ๋ฌ ๋ฒ ์ผ์นํ ๋ ์ค๋ฅ๋ฅผ ๋ฐํํด์ผ ํ๋ค. ๋ฌธ์ ๊ฐ ์ถฉ๋ถํ ์ด๋ ต๊ธฐ ๋๋ฌธ์ Anthropic์ ๋๊ตฌ ์ค๊ณ์ ์ฐํ์ฑ
์ ๋ด์ฅํ๋ค (์๋ฅผ ๋ค์ด ํ์ผ์ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์๊ตฌํ๋ ๊ฒ์ ๋ช
์์ ์ธ ์ค๋ฅ ๋ฐฉ์ง ์กฐ์น๋ค).
์ด๋ ค์ด ์ ์ ๋ชจ๋ธ์ด ์ํ๋ ๋ณ๊ฒฝ์ ๋ํด ์ถ๋ก ํ ๋ฟ ์๋๋ผ, ๋ชจํธํจ์ด๋ ์ค๋ฅ ์์ด ํ์ผ์ ๊ธฐ๊ณ์ ์ผ๋ก ์ ์ฉํ ์ ์๋ ํ์์ผ๋ก ์ถ๋ ฅ์ ๋ด๋์์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ ์๋ก ๋ค๋ฅธ ์ผ์ด๋ฉฐ, ์ด๋ค ํ์์ ์ ํํ๋๋์ ๋ฐ๋ผ ๊ธฐ๊ณ์ ์ธ ์ ์ฉ ๋จ๊ณ๊ฐ ์ผ๋ง๋ ์์ฃผ ์คํจํ๋์ง๊ฐ ๋ฌ๋ผ์ง๋ค.
ํ์ฌ ์ฌ์ฉ๋๋ ์ฃผ์ ์ ๊ทผ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ ์ฒด ํ์ผ ์ฌ์์ฑ. ๋ชจ๋ธ์ด ํ์ผ์ ๋ด์ฉ์ ์์ ํ ์๋ก ์ถ๋ ฅํ๋ค. ๊ตฌํํ๊ณ ํ์ฑํ๊ธฐ ๋จ์ํ๋ฉฐ, ํ์ ์ค๋ฅ๋ก ์คํจํ์ง ์๋๋ค. ๋จ์ ์ ๋น์ฉ(์ถ๋ ฅ ํ ํฐ์ด ํ์ผ ํฌ๊ธฐ์ ๋น๋กํด ์ฆ๊ฐํจ)๊ณผ ์ฃผ๋ณ ์ปจํ ์คํธ ์์ค์ด๋ค. ์์ ํ์ผ์์๋ง ์ค์ฉ์ ์ด๋ค.
๋ฌธ์์ด ๊ต์ฒด. ๋ชจ๋ธ์ด ์ด์ ๋ฌธ์์ด๊ณผ ์ ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ฉด, ํ๋์ค๊ฐ ์ฐพ์์ ๊ต์ฒดํ๋ค. Anthropic์ด ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค [14]. ์คํจ ๋ฐฉ์์ ์ ์๋ ค์ ธ ์๋ค. ๋ชจ๋ธ์ ๊ณต๋ฐฑ๊ณผ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ํฌํจํด ์ด์ ๋ฌธ์์ด์ ๊ธ์ ํ๋ ํ๋ ๊ทธ๋๋ก ์ฌํํด์ผ ํ๋๋ฐ, ์ด๊ฒ์ ์์ฃผ ํ๋ฆฐ๋ค. "๊ต์ฒดํ ๋ฌธ์์ด์ ์ฐพ์ง ๋ชปํ๋ค"๋ ์ค๋ฅ๋ ์์ด์ ํธ ์คํจ์ ํํ ์์ธ์ด๋ค.
patch/diff ํ์. ๋ชจ๋ธ์ด ๋ณ๊ฒฝ์ฌํญ์ ์ค๋ช
ํ๋ ๊ตฌ์กฐํ๋ diff๋ฅผ ์ถ๋ ฅํ๋ค. OpenAI์ Codex๋ *** Begin Patch ์ *** End Patch ๋ง์ปค๊ฐ ์๋ ์ปค์คํ
ํจ์น ํ์์ ์ฌ์ฉํ๋ค. ๊ทธ ์์ฒด๋ก๋ ์ฝ๊ฒ ๋ง๊ฐ์ง์ง๋ง Codex๋ ์ ์ฝ๋ ์ํ๋ง(constrained sampling)์ผ๋ก ์ด๋ฅผ ํด๊ฒฐํ๋ค. ํจ์น ํ์์ Lark ๋ฌธ๋งฅ ์์ ๋ฌธ๋ฒ(context free grammar)์ผ๋ก ํํํ๊ณ , ์ถ๋ก ์ ๋ชจ๋ธ ์ถ๋ ฅ์ ๋ฌธ๋ฒ์ ๋ง๊ฒ ์ ํํ๋ค [15]. ์ด๊ฒ์ ํ์ ์ค๋ฅ๋ฅผ ํต์งธ๋ก ์ ๊ฑฐํ๋ค. ์ด๊ฒ์ด OpenAI์ ๊ณต๊ฐ API๋ฅผ ์ฌ์ฉํด ์ด๋ฃจ์ด์ง๋ค๋ ์ ์ด ์ค์ํ๋ค [16]. ์ด ๊ธฐ๋ฒ์ ๋๊ตฌ๋ ์ฌ์ฉํ ์ ์๋ค.
ํ๋ จ๋ ๋ณํฉ ๋ชจ๋ธ. Cursor๋ ๋ชจ๋ธ์ ํธ์ง ์๋๋ฅผ ์๋ณธ ํ์ผ๊ณผ ๋ณํฉํ๋ ๋ณ๋์ 70B ๋ชจ๋ธ์ ํ๋ จํ๋ค. ๋ณํฉ ๊ฒฌ๊ณ ์ฑ์ ํ์ต๋ ๋ฅ๋ ฅ์ผ๋ก ๋ง๋ค์ด ํ์ ๋ฌธ์ ๋ฅผ ์์ ํ ์ฐํํ๋ค. ๋ช ๋ฐฑํ ๋น์ฉ์ ์ ์ฉ ๋ชจ๋ธ์ ํ๋ จํ๊ณ ์๋นํ๋ ๋ฐ ์๋นํ ์์์ด ํ์ํ๋ค๋ ๊ฒ์ด๋ค.
Can Bรถlรผk์ 16๊ฐ ๋ชจ๋ธ์ 180๊ฐ ๊ณผ์ ์์ ๋ฒค์น๋งํนํ์ฌ ํ์ ์ ํ๋ง์ผ๋ก๋ ์ฑ๊ณต๋ฅ ์ด ๋ฌ๋ผ์ง ์ ์์์ ๋ณด์๋ค [17]. ๊ทธ์ ๊ธ์ ์ด ์ฅ๊ณผ ํจ๊ป ์ฝ์ ๊ฐ์น๊ฐ ์๋ค. ๊ทธ๊ฐ ์ ์ํ ํ์์ ๊ฐ ์ค์ ์ค ๋ฒํธ์ ์งง์ ํด์๋ฅผ ํ๊ทธํ๋ค. ์ฃผ์ ์ด์ ์ ๋ชจ๋ธ์ด ์ ํํ ๋ด์ฉ์ ์ฌํํ์ง ์๊ณ ์๋ณ์๋ก ์ค์ ์ฐธ์กฐํ ์ ์๋ค๋ ๊ฒ์ธ๋ฐ, ์ด๊ฒ์ด ๋ชจ๋ธ์๊ฒ๋ ํจ์ฌ ์ฝ๋ค. ํด์๋ ์ค ๋ฒํธ์ ๋ํด์ ์ฒดํฌ์ฌ ์ญํ ์ ํ๋ค. ์ด์ ํธ์ง์ผ๋ก ์ค์ด ๋ฐ๋ ธ๋ค๋ฉด, ์์ ํด์์ ์ค์ ์ค ๋ด์ฉ ์ฌ์ด์ ๋ถ์ผ์น๊ฐ ์๋ชป๋ ์ค์ ์กฐ์ฉํ ํธ์งํ๋ ๋์ ์ค๋ฅ๋ฅผ ์ก์๋ธ๋ค.
๋๊ตฌ ์ธ๊ฐ ์ ์ด
์์ด์ ํธ์๊ฒ ๋๊ตฌ๋ฅผ ์ค๋ค๋ ๊ฒ์ ์ธ์์์ ์ค์ ํ๋์ ์ทจํ ์ ์๋ ๋ฅ๋ ฅ์ ์ฃผ๋ ๊ฒ์ด๋ค -- ํ์ผ ์ฝ๊ธฐ, ํ์ผ ์ฐ๊ธฐ, ๋ช ๋ น ์คํ, ์ธ๋ถ ์๋น์ค ํธ์ถ. ๋๊ตฌ ์ธ๊ฐ ์ ์ด๋ ์์ด์ ํธ๊ฐ ์์จ์ ์ผ๋ก ์ทจํ ์ ์๋ ํ๋๊ณผ ์ฌ๋์ ์น์ธ์ด ํ์ํ ํ๋์ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๊ฒ์ ์ ๋๋ก ํ๋ ๊ฒ์ ์์ ๊ณผ ์ฌ์ฉ์ฑ ๋ชจ๋์ ์ค์ํ๋ค. ๋๋ฌด ์ ํ์ ์ด๋ฉด ์์ด์ ํธ๊ฐ ์ผ์ ํ ์ ์๊ณ , ๋๋ฌด ํ์ฉ์ ์ด๋ฉด ๋ชจ๋ฅด๋ ์ฌ์ด์ ํผํด๋ฅผ ์ค ์ ์๋ ์์จ ์์คํ ์ด ๋๋ค.
๋จผ์ ์ดํดํด์ผ ํ ๊ฒ์ ์ธ๊ฐ์ ์๋๋ฐ์ฑ์ด ์ํธ ๋ณด์์ ์ด๋ฉฐ ์๋ก ๋์ฒดํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ธ๊ฐ๋ ์์ด์ ํธ๊ฐ ๋ฌด์์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ๋์ง๋ฅผ ์ ์ดํ๋ฉฐ ์์ด์ ํธ ์์ค์์ ์๋ํ๋ค. ์๋๋ฐ์ฑ์ ์์ด์ ํธ๊ฐ ๋ฌด์์ ๊ฒฐ์ ํ๋ ๊ด๊ณ์์ด OS ์์ค์์ ์ ํ์ ๊ฐ์ ํ๋ค. Claude Code์ ๋ฌธ์ [18]๋ ์ด ๊ตฌ๋ถ์ ๋ช ํํ ํ๋ค. ์ธ๊ฐ๋ ์์ด์ ํธ๊ฐ ์ ํ๋ ํ๋์ ์๋ํ๋ ๊ฒ์ ๋ง๊ณ , ์๋๋ฐ์ฑ์ ์์ด์ ํธ๊ฐ ์ ํ๋ ํ๋์ ์๋ํ๋๋ผ๋ ๊ทธ๋ฌํ ํ๋์ด ์ค์ ๋ก ์คํ๋๋ ๊ฒ์ ๋ง๋๋ค. ๋ ๋ค ์ฌ์ฉํด์ผ ํ๋ค.
๋ ๋ช ๋ฐฑํ ์ ์ Bash ์ธ๊ฐ ๊ท์น์ด ๋ณด์ด๋ ๊ฒ๋ณด๋ค ๊ฐํ ์ ๋ ์๊ณ ์ฝํ ์ ๋ ์๋ค๋ ๊ฒ์ด๋ค.
๋ณด์ด๋ ๊ฒ๋ณด๋ค ๊ฐํ ์ด์ ๋ ์
ธ ๋ช
๋ น์ด ๋ฌธ์์ด๋ก๋ง ๋งค์นญ๋์ง ์๊ณ ํ์ฑ๋๊ธฐ ๋๋ฌธ์ด๋ค. Claude Code๋ ์คํ ์์ค๊ฐ ์๋์ง๋ง, Bun์ ์ฌ์ฉํ๋ค๊ณ ์๋ ค์ ธ ์๋๋ฐ, Bun์๋ ์
ธ ํ์๊ฐ ํฌํจ๋์ด ์๋ค. Codex(์คํ ์์ค)๋ Tree-sitter์ Bash ํ์๋ก ๊ฐ์ ์์
์ ํ๋ค [19]. ์คํฌ๋ฆฝํธ๊ฐ ์์ ํ AST๋ก ํ์ฑ๋๊ณ , ๋จ์ํ ๋ช
๋ น ์ด์ธ์ ๊ฒ์ด ํฌํจ๋๋ฉด ํ์ฑ์ด ๊ฑฐ๋ถ๋๋ค. ํ์ฉ๋ ์ฐ์ฐ์ (&&, ||, ;, |)๋ ๊ฐ ๊ฐ๋ณ ๋ช
๋ น์ ์ถ์ถํ๊ณ ๊ฐ๊ฐ์ ์ธ๊ฐ ๊ท์น๊ณผ ๋ณ๋๋ก ํ์ธํ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ๋๋ค. ์ฆ Bash(safe-cmd *)๋ safe-cmd && malicious-cmd๋ฅผ ํ์ฉํ์ง ์๋๋ค. ํ์๊ฐ ๋ ๊ฐ์ ๋ช
๋ น์ ๋ณด๊ณ ๋ ๋ค ํ์ธํ๋ค.
๋ณด์ด๋ ๊ฒ๋ณด๋ค ์ฝํ ์ด์ ๋ ๋ช
๋ น ์ด๋ฆ ์์ค์์ ์์ ์ฑ์ ์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ณ ์ ์ ์ธ ์์๊ฐ ์๋ค. rm์ ๊ฑฐ๋ถํ๊ณ find๋ฅผ ํ์ฉํด๋ ํ์ผ ์ญ์ ๊ฐ ๋งํ์ง ์๋๋ค. find์๋ -delete ์ต์
์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ง์ ์ ๋์ค ๋ช
๋ น์ด ์ด์ฒ๋ผ ๋ค๋ชฉ์ ์ด๋ค. ํน์ ๋ช
๋ น์ด ์์ ํ๋ค๋ ๊ฐ์ ํ์ ์์ฑ๋ ๋จ์ํ ํ์ฉ ๋ชฉ๋ก์ ์ด๋ฌํ ๊ตฌ๋ฉ์ด ์๊ธฐ๋ ๊ฒฝํฅ์ด ์์ผ๋ฉฐ, ์์ด์ ํธ๋ ํ๋กฌํํธ ์ธ์ ์
์ ํตํด ์์ด์ ํธ๋ฅผ ์ ์ดํ๋ ๊ณต๊ฒฉ์๋ ๊ทธ๋ฌํ ๊ตฌ๋ฉ์ ์ฐพ์๋ผ ์ ์๋ค.
์ฝ๋ฉ ์์ด์ ํธ๋ฅผ ์ํ ์ค์ฉ์ ์ธ ์ธ๊ฐ ๋ชจ๋ธ์ ์ด๋ฐ ๋ชจ์ต์ผ ์ ์๋ค. ์ฝ๊ธฐ ์์ ์ ์น์ธ์ด ํ์ ์๋ค. ํ์ผ ํธ์ง์ ์ธ์ ๋น ํ ๋ฒ ์น์ธ์ด ํ์ํ๋ค. ์ ธ ๋ช ๋ น์ ๋ช ๋ น๋น ์น์ธ์ด ํ์ํ๋, ํ ์คํธ ์คํ์ด๋ ํ๋ก์ ํธ ๋น๋ ๊ฐ์ ์ผ๋ฐ์ ์ด๊ณ ์์ ํ ์์ ์ ๋ฏธ๋ฆฌ ์น์ธ๋ ํ์ฉ ๋ชฉ๋ก์ ๋ฃ๋๋ค.
ํ์ผ์ด๋ ์น๋ฅผ ์ฝ๋ ์์ด์ ํธ๋ ๊ทธ ๋ด์ฉ์ผ๋ก๋ถํฐ ๊ณต๊ฒฉ์์ ์ง์๋ฅผ ๋ฐ์ ์ ์๋ค. ์๊ฒฉํ ์ธ๊ฐ ๊ท์น์ด ์ฃผ์ ๋ฐฉ์ด์ฑ ์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ์ถํ๋ผ๋ ์ง์๋ ์์ด์ ํธ๊ฐ ์ธ๋ถ URL์ ๋๋ฌํ ์ ์๋ค๋ฉด ์ฑ๊ณตํ ์ ์๋ค.
์ฐธ๊ณ ๋ฌธํ
[1] Takeshi Kojima et al., "Large Language Models are Zero-Shot Reasoners", 2022-05-24. https://arxiv.org/abs/2205.11916
[2] Lennart Meincke et al., "Prompting Science Report 2: The Decreasing Value of Chain of Thought in Prompting", 2025-06-08. https://arxiv.org/abs/2506.07142
[3] OpenAI, "Why SWE-bench Verified no longer measures frontier coding capabilities", 2026-02-23. https://openai.com/index/why-we-no-longer-evaluate-swe-bench-verified/
[4] Langfuse. https://langfuse.com/
[5] Pydantic Logfire. https://pydantic.dev/logfire
[6] Agent Skills. https://agentskills.io/
[7] Anthropic, "How we built our multi-agent research system", 2025-06-13. https://www.anthropic.com/engineering/multi-agent-research-system
[8] Armin Ronacher, "Agent Design Is Still Hard", 2025-11-21. https://lucumr.pocoo.org/2025/11/21/agents-are-hard/
[9] Cloudflare, "Code Mode: the better way to use MCP", 2025-09-26. https://blog.cloudflare.com/code-mode/
[10] Anthropic, "Code execution with MCP: Building more efficient agents", 2025-11-04. https://www.anthropic.com/engineering/code-execution-with-mcp
[11] Anthropic, "Programmatic tool calling". https://platform.claude.com/docs/en/agents-and-tools/tool-use/programmatic-tool-calling
[12] Peter Steinberger, MCPorter. https://github.com/steipete/mcporter
[13] Anthropic, "Raising the bar on SWE-bench Verified with Claude 3.5 Sonnet", 2025-01-06. https://www.anthropic.com/engineering/swe-bench-sonnet
[14] Anthropic, "Text editor tool". https://platform.claude.com/docs/en/agents-and-tools/tool-use/text-editor-tool
[15] OpenAI, codex-rs/core/src/tools/handlers/apply_patch.rs, tool_apply_patch.lark. https://github.com/openai/codex
[16] OpenAI, "Function calling". https://developers.openai.com/api/docs/guides/function-calling
[17] Can Bรถlรผk, "I Improved 15 LLMs at Coding in One Afternoon. Only the Harness Changed.", 2026-02-12. https://blog.can.ac/2026/02/12/the-harness-problem/
[18] Anthropic, "Configure permissions". https://code.claude.com/docs/en/permissions
[19] OpenAI, codex-rs/shell-command/src/bash.rs. https://github.com/openai/codex
Zenn Trends
๐ 2026-03-06 06:00 UTC
๐ฐ Claude Code ใซๅใใฆใใใใญใฐใฉใใณใฐ่จ่ช (๐ 317)
๐ฌ๐ง Experiment testing 13 languages with Claude Code. Ruby, Python, JS proved fastest & cheapest; statically-typed langs were 1.4-2.6x slower.
๐ฐ๐ท Claude Code๋ก 13๊ฐ ์ธ์ด ํ
์คํธ. Ruby, Python, JS๊ฐ ๊ฐ์ฅ ๋น ๋ฅด๊ณ ์ ๋ ด. ์ ์ ํ์
์ธ์ด๋ 1.4-2.6๋ฐฐ ๋๋ฆผ.
Seo Sanghyeon
AI ์์ด์ ํธ ์์คํ ์ ๋ง๋ค๋ฉฐ ๋ฐฐ์ด ๊ฒ
์ด ๊ธ์ AI ์์ด์ ํธ ์์คํ ์ ๋ง๋ค๋ฉฐ ์์ ๊ฒฝํ์ ์ ๋ฆฌํ ๊ฒ์ผ๋ก, 2026๋ 2์์ ์ผ๋ค. ๋ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์ ์ด๋ก ์ด๊ณ , ๋ ๋ฒ์งธ ๋ถ๋ถ์ ๊ฐ๋ก ์ด๋ค.
์ด ๋ถ์ผ๋ ๋น ๋ฅด๊ฒ ๋ณํ๊ณ ์์ด, ์ฌ๊ธฐ์ ์ด ๊ตํ๋ ๊ธ๋ฐฉ ๋ก์ ์ ์๋ค. ์ปจํ ์คํธ ์๋๋ ์ด ๊ธ ์ ๋ฐ์ ๊ฑธ์ณ ๋ฐ๋ณต๋๋ ์ ์ฝ์ด์ง๋ง, ๋ฏธ๋์๋ ๊ทธ๋ ์ง ์์ ์๋ ์๋ค. "์ฐจ๊ทผ์ฐจ๊ทผ ์๊ฐํ๋ผ(Let's think step by step)"๋ 2022๋ ๋ฐํ๋ ์ด๋ ๋๋ฆฌ ๊ถ์ฅ๋์์ง๋ง [1], ์ต๊ทผ ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด ์ด ๊ธฐ๋ฒ์ ์ด์ ๋ ์ค์ํด์ก๋ค [2]. ์ด ๊ธ์ ๋ด์ฉ๋ ์ผ๋ถ๋ ๊ทธ๋ฐ ์ด๋ช ์ ๋ง์ ๊ฒ์ด๋ค.
์ด๋ก
๋ชฉํ ์๋ฆฝ
AI ์์ด์ ํธ ์์คํ ์ ์ํ ๋ชฉํ๋ ๋ช ํํ๊ณ , ์ ์ฉํ๊ณ , ๋ฌ์ฑ ๊ฐ๋ฅํด์ผ ํ๋ค.
๋ช ํํ๋ค๋ ๊ฒ์ ํ ์คํธํ ์ ์์ ๋งํผ ๊ตฌ์ฒด์ ์ด๋ผ๋ ๋ป์ด๋ค. "๊ฐ๋ฐ์์ ์ฝ๋ฉ ์์ ์ ๋๋๋ค"๋ ๋ชฉํ๊ฐ ์๋๋ผ ๋ฒ์ฃผ๋ค. ๋ชฉํ๋ "GitHub ์ด์ ์ค๋ช ๊ณผ Python ์ ์ฅ์๊ฐ ์ฃผ์ด์ง๋ฉด, ๊ธฐ์กด ํ ์คํธ๋ฅผ ํต๊ณผํ๋ PR์ ์์ฑํ๋ค" ๊ฐ์ ๊ฒ์ด๋ค. ํ์์์๋ ์ด๋ค ์ ๋ ฅ์ ์ค๋นํด์ผ ํ๋์ง, ์ด๋ค ์ถ๋ ฅ์ ํ๊ฐํด์ผ ํ๋์ง, ํ๊ฐ ๊ธฐ์ค์ด ๋ฌด์์ธ์ง๊ฐ ๋๋ฌ๋๋ค. ๋ชฉํ์ ๋ฒ์๋ฅผ ์ขํ์ผ ํ๋ค. ๋ฒ์ฉ ์์คํ ์ ํ๊ฐํ๊ธฐ ์ด๋ ต๊ณ , ๊ฐ์ ํ๊ธฐ ์ด๋ ต๊ณ , ์ ๋๋ก ์๋ํ๋์ง ์๊ธฐ๋ ์ด๋ ต๋ค. ์ข์ ๋ฒ์์์ ์์คํ ์ด ์ ์๋ํ๋ฉด ๋ฒ์๋ฅผ ๋ํ๋ ๊ฒ์ ๊ณ ๋ คํ ์ ์๋ค.
์ ์ฉํ๋ค๋ ๊ฒ์ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ์ ๋ ์ค์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ค๋ ๋ป์ด๋ค. ์ด๋ ๋ช ํํจ๊ณผ๋ ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค. "์ฝ๋๋ฒ ์ด์ค๋ฅผ ๊ฐ์ฌํ์ฌ ๋ณด์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ค"๋ ์ ์ ์๋ ๋ชฉํ์ผ ์ ์๊ณ , ๋ด ๊ฒฝํ์ ๋ฌ์ฑ ๊ฐ๋ฅํ๊ธฐ๋ ํ๋ค. ํ์ง๋ง ์ด๋ฏธ ์๊ณ ์๋ ๋ณด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ๋ ํ๋์ด๊ณ ์๋ค๋ฉด, ์ ์ฌ์ ์คํ์ ํฌํจํ๋ ๋ ๋ง์ ๋ฌธ์ ๋ฅผ ๋๊ธฐ์ด์ ์ถ๊ฐํ๋ ๊ฒ์ ์ ์ฉํ์ง ์๋ค. ์ง๋ฌธ์ ๋จ์ํ "์ด๊ฒ์ ํ ์ ์๋๊ฐ?"๊ฐ ์๋๋ผ "์ด๊ฒ์ด ์ค์ ๋ก ์ํ๋ ๊ฒ์ธ๊ฐ?"๋ค.
๋ฌ์ฑ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ํ์ฌ ๋ชจ๋ธ ๋ฅ๋ ฅ์ ๊ฐ์ํ์ ๋ ํ์ค์ ์ด๋ผ๋ ๋ป์ด๋ค. SWE-bench Verified ๊ฐ์ ๋ฒค์น๋งํฌ๋ ํ์ฌ AI๊ฐ ์ด๋ค ์ฝ๋ฉ์ ํ ์ ์๋์ง ๋๋ต์ ์ธ ๊ฐ์ ์ค๋ค. ๋ค๋ฅธ ๋ถ์ผ์๋ ๋น์ทํ ๋ฒค์น๋งํฌ๊ฐ ์๋ค. ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ํ์ฌ ๋ชจ๋ธ์ด ์ผ๊ด๋๊ฒ ์คํจํ๋ ๋ฌด์ธ๊ฐ๋ฅผ ์์ ์ ์ผ๋ก ํด์ผ ํ๋ค๋ฉด ๊ทธ๊ฒ์ ํ์ค์ ์ผ๋ก ์ด๋ ค์ธ ์ ์๋ค. ๋ชจ๋ธ ๋ฅ๋ ฅ์ ๊พธ์คํ ๋ฐ์ ํ๊ณ ์์ผ๋ฏ๋ก, ์์ ์ด ๊ธํ์ง ์๋ค๋ฉด ํ์ฌ ํ๊ณ์ ๋ง์ถฐ ์ด๋ป๊ฒ๋ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ๋ณด๋ค ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด ๋์ ์ ์๋ค.
์ธ๊ฐ ์ ๋ฌธ๊ฐ๊ฐ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ๋ฌด์์ ํ ์ง ๋ชจํธํจ ์์ด ์ค๋ช ํ ์ ์๋๊ฐ? ๊ฒฐ๊ณผ๋ฌผ์ด ๋์ค๋ฉด ์ค์ ๋ก ์ฌ์ฉํ๊ฒ ๋๊ฐ? ๊ทธ๋ ์ง ์๋ค๋ฉด, ์์ ์ ์์ํ๊ธฐ ์ ์ ๋ชฉํ๋ฅผ ๋ ๋ค๋ฌ์ด์ผ ํ๋ค.
ํ๊ฐ ์ค๊ณ
์ธก์ ํ ์ ์๋ ๊ฒ์ ๊ฐ์ ํ ์ ์๋ค. ํ๊ฐ๋ ์์ด์ ํธ์ ๊ฐํ ๋ณ๊ฒฝ -- ๋ค๋ฅธ ๋ชจ๋ธ, ์ ํ๋กฌํํธ, ๋ค๋ฅธ ๋๊ตฌ -- ์ด ์ํฉ์ ์ข์์ง๊ฒ ํ๋์ง ๋๋น ์ง๊ฒ ํ๋์ง ํ๋จํ๋ ์๋จ์ด๋ค. ํ๊ฐ ์์ด๋ ๋์ ๊ฐ๊ณ ์ด์ ํ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
ํ๊ฐ๋ ๊ฐ๊ด์ ์ธ ๊ฒ์ด ์ข๋ค. ๋ชฉํ๊ฐ "๊ธฐ์กด ํ ์คํธ๋ฅผ ํต๊ณผํ๋ PR์ ์์ฑํ๋ค"๋ผ๋ฉด, ํ๊ฐ๋ ํ ์คํธ๋ฅผ ์คํํ๋ ๊ฒ์ด๋ค. ํ ์คํธ๋ ํต๊ณผํ๊ฑฐ๋ ์คํจํ ๊ฒ์ด๋ค. ๊ฐ๊ด์ ํ๊ฐ๋ ๋น ๋ฅด๊ณ , ์ ๋ ดํ๊ณ , ์ผ๊ด์ ์ด๋ค. ๋ชฉํ๋ฅผ ๊ฐ๊ด์ ๊ธฐ์ค์ ์ค์ฌ์ผ๋ก ์ค๊ณํ ์ ์๋ค๋ฉด, ๊ทธ๋ ๊ฒ ํ๋ผ.
๊ฐ๊ด์ ํ๊ฐ๊ฐ ์ด๋ ต๋ค๋ฉด ์ฃผ๊ด์ ํ๊ฐ๋ ๊ฐ๋ฅํ๋ค. ์ฃผ๊ด์ ํ๊ฐ๋ ์ฌ๋์ด ํ ์๋ ์๊ณ AI๊ฐ ํ ์๋ ์๋ค (LLM-as-a-judge). ๋ ๊ฒฝ์ฐ ๋ชจ๋ ์ฑ์ ๊ธฐ์ค(scoring rubric)์ด ๋์์ด ๋๋ค. ์ฑ์ ๊ธฐ์ค์ด๋ ๊ฐ ํญ๋ชฉ๋ณ๋ก ์ด๋ค ๊ฒ์ด ์ข์ ๋ต๋ณ์ด๊ณ ์ด๋ค ๊ฒ์ด ๋์ ๋ต๋ณ์ธ์ง ๋ช ํํ๊ฒ ์ค๋ช ํ ๊ธฐ์ค ๋ชฉ๋ก์ด๋ค. ์ฑ์ ๊ธฐ์ค์ด ์์ผ๋ฉด ํ๊ฐ์ ๊ฐ ์ผ์น๋(inter-rater agreement)๊ฐ ๋ฎ๋ค. ๋์ผํ ์ถ๋ ฅ์ ๋ ํ๊ฐ์๊ฐ ํ๊ฐํ๋ฉด ์๊ฒฌ์ด ๊ฐ๋ฆฌ๊ณ , ๊ฐ์ ํ๊ฐ์๋ ์๊ฐ์ด ์ง๋๋ฉด ๊ธฐ์ค์ด ํ๋ค๋ฆฐ๋ค. ์ฑ์ ๊ธฐ์ค์ ์ฌ๋ฌ ํ๊ฐ ์คํ ๊ฐ์ ์ ์๋ฅผ ๋น๊ต ๊ฐ๋ฅํ๊ฒ ํ๋ค. AI๊ฐ ํ๊ฐํ๋ ๊ฒฝ์ฐ์๋ ๋ช ํํ ์ฑ์ ๊ธฐ์ค์ ๋ฐ์ ๋ชจ๋ธ์ ๊ทธ๋ ์ง ์์ ๋ชจ๋ธ๋ณด๋ค ๋ ์ผ๊ด๋ ์ ์๋ฅผ ์ค๋ค.
ํ๊ฐ๊ฐ ๋ฐ๋์ ๊ฐ์ถฐ์ผ ํ ๋ ๊ฐ์ง ์์ฑ์ด ์๋ค. ๋ชฉํ๋ฅผ ๋ฐ์ํด์ผ ํ๊ณ , ์์ด๊ธฐ ์ด๋ ค์์ผ ํ๋ค.
๋ชฉํ๋ฅผ ๋ฐ์ํ๋ค๋ ๊ฒ์ ํ๊ฐ์์ ์ข์ ์ ์๋ฅผ ๋ฐ์ผ๋ฉด ๋ชฉํ๋ ์ค์ ๋ก ๋ฌ์ฑ๋๋ค๋ ๋ป์ด๋ค. ์ค์ ์ ๋๋จ์ด์ง ํ๊ฐ๋ ์์ด์ ํธ๋ฅผ ์๋ฑํ ๋ฐฉํฅ์ผ๋ก ์ต์ ํํ๋ค. ์์ด์ ํธ์ ๋ชฉํ๊ฐ ๊ณ ๊ฐ ์ง์ ํฐ์ผ ์ฒ๋ฆฌ๋ผ๋ฉด, ๋น์ทํด ๋ณด์ด์ง๋ง ์ค์ ์ ๋ณต์กํจ์ด ์๊ณ ๋จ์ํ ํฉ์ฑ ๋ฐ์ดํฐ๋ณด๋ค ์ค์ ๊ณ ๊ฐ ์ง์ ํฐ์ผ์ผ๋ก ํ๊ฐํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค.
์์ด๊ธฐ ์ด๋ ต๋ค๋ ๊ฒ์ ์์ด์ ํธ๊ฐ ์งํ๋ฅผ ์กฐ์ํด ์ข์ ์ ์๋ฅผ ๋ฐ์ ์ ์์ด์ผ ํ๋ค๋ ๋ป์ด๋ค. ํ๊ฐ๊ฐ "ํ ์คํธ๋ฅผ ํต๊ณผํ๋๊ฐ"๋ฅผ ์ธก์ ํ๋๋ฐ ์์ด์ ํธ๊ฐ ํ ์คํธ๋ฅผ ์์ ํ ์ ์๋ค๋ฉด, ์งํ๋ฅผ ๋ฏฟ์ ์ ์๋ค. ์ ๋์ ์ผ๋ก ์๊ฐํ ํ์๊ฐ ์๋ค. ์์ด์ ํธ๊ฐ ์ข์ ์ ์๋ฅผ ๋ฐ์๋ค๋ฉด, ๊ทธ๊ฒ์ด ํญ์ ์ค์ ๋ก ๋ ์ข์ ๊ฒ์ธ๊ฐ? SWE-bench Verified๋ ๊ตํ์ ์ธ ์ฌ๋ก๋ค. OpenAI๋ ์คํจ์ ์ ๋ฐ ์ด์์ด ํ ์คํธ ๊ฒฐํจ ๋๋ฌธ์์ ๋ฐ๊ฒฌํ๋ค. ์ด๋ค ํ ์คํธ๋ ๋ฌธ์ ์ค๋ช ์ ์ธ๊ธ๋์ง ์์ ํน์ ๊ตฌํ ์ธ๋ถ์ฌํญ์ ๊ฐ์ ํ๊ณ , ๋ค๋ฅธ ์ด๋ค ํ ์คํธ๋ ๋ช ์ธ๋์ง ์์ ๊ธฐ๋ฅ์ ํ ์คํธํ๋ค. ๊ทธ ์ธ์๋, ํ ์คํธ๋ ๋ชจ๋ ํ๋ก ํฐ์ด ๋ชจ๋ธ์ด ์ ๋ต ํจ์น๋ฅผ ์๊ธฐํด์ ๊ทธ๋๋ก ์ฌํํ ์ ์์๋๋ฐ, ์ด๋ ํ๋ จ ๋ฐ์ดํฐ๊ฐ ์ค์ผ๋์์์ ์์ฌํ๋ค. ๊ทธ ๊ฒฐ๊ณผ OpenAI๋ SWE-bench Verified ์ ์ ๋ณด๊ณ ๋ฅผ ์ค๋จํ๋ค [3].
์๊ฒ ์์ํ๋ผ. ๊ฐ๋ฐ ์ด๊ธฐ์๋ ํ๊ฐ ์์ ์ด ๊ฐ๋ก๋ ์ถฉ๋ถํ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ด๊ธฐ์๋ ์์ด์ ํธ๊ฐ ์๋ํ์ง ์๋ ์ํ์์ ์๋ํ๋ ์ํ๋ก ์ ํ๋๊ณ ์์ผ๋ฏ๋ก, ์ด ๊ฐ์ ์์๋ง์ผ๋ก๋ ๋ณํ๋ฅผ ๊ฐ์งํ ์ ์๋ค. ์์ด์ ํธ๊ฐ ์ฑ์ํด ๋ ์์ ์ ์ง์ ์ธ ๊ฐ์ ์ ํ๊ฒ ๋๋ฉด ์ด ๊ฐ์ ์์๋ก๋ ๊ฐ์ง๊ฐ ์ด๋ ค์์ง๋ค. ๊ฐ์งํ๋ ค๋ ๊ฐ์ ์ด ์์์ง์๋ก ํ๊ฐ ์์๋ฅผ ๋๋ ค์ผ ํ๋ค.
๋ก๊ทธ ์ธํ๋ผ
์์ด์ ํธ์ ๋ก๊ทธ๋ ํฐ ๊ฐ์น๊ฐ ์๋ค. ์คํจํ ์์ด์ ํธ์ ๋ก๊ทธ๋ฅผ ์ฝ์ด๋ณด๋ ๊ฒ๋ง์ผ๋ก๋ ๋ง์ ๊ฒ์ ์ ์ ์๋ค. ๋ชจ๋ธ์ ์์ฑํ๋ฉด์ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๊ทธ ์ฌ๊ณ ๊ณผ์ ์ด ๋ก๊ทธ์ ๋จ๋๋ค. ๊ทธ๋ฌํ ๋ก๊ทธ๋ฅผ ์ฝ์ผ๋ฉด ๋ชจ๋ธ์ด ๋๊ตฌ ๊ฒฐ๊ณผ๋ฅผ ์๋ชป ์ฝ๊ณ , ์๋ชป๋ ๊ฐ์ ์ ํ๊ณ , ์ดํ ์ฌ๋ฌ ํด์ ๊ฑธ์ณ ์๋ชป๋ ๊ฐ์ ์ ๊ณ ์ํ๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค. ์ด๊ฒ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ป์ ์ ์๋ ๊ทํ ์ ๋ณด์ด๋ฉฐ, ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ์๋ ํฌ์ํ ๊ฐ์น๊ฐ ์๋ค.
์ต์ํ ๋ชจ๋ธ์ ๋ชจ๋ ์ํธ์์ฉ์ ๊ธฐ๋กํด์ผ ํ๋ค. ๊ธฐ๋กํด์ผ ํ๋ ํญ๋ชฉ์ผ๋ก ์ฌ์ฉํ ๋ชจ๋ธ, ์ ์ฒด ์ ๋ ฅ (์์คํ ํ๋กฌํํธ์ ๋๊ตฌ ์ ์ ํฌํจ), ์ ์ฒด ์ถ๋ ฅ, ์์ ์๊ฐ, ๋น์ฉ์ด ์๋ค. ๋น์ฉ ์ถ์ ์ ํ์ง ์์ผ๋ฉด ๋์ค์ ์ฌ๊ตฌ์ฑํ๊ธฐ ์ด๋ ต๋ค. ์ง์ฐ ์๊ฐ ๋ฐ์ดํฐ๋ ๋ชจ๋ธ์ด๋ ํ๋กฌํํธ ๋ณ๊ฒฝ์ ๋น๊ตํด ์๋์ ํ์ง ๊ฐ์ ํธ๋ ์ด๋์คํ๋ฅผ ๋ถ์ํด์ผ ํ ๋ ๊ผญ ํ์ํ๋ค.
๋ก๊ทธ๋ ์ฌ๋์ด ์ง์ ์ดํด๋ณด๋ ๊ฒ๊ณผ ์๋ํ๋ ๋ถ์์ ์ง์ํด์ผ ํ๋ค. ์ฌ๋์ด ์ง์ ์ดํด๋ณด๋ ค๋ฉด ๋ก๊ทธ๋ฅผ ๋ณด๊ธฐ ์ฌ์ด ํํ๋ก ์ฝ์ ์ ์์ด์ผ ํ๊ณ ์๊ฐ, ์์ , ๊ฒฐ๊ณผ, ๋น์ฉ ๋ฑ์ผ๋ก ๊ฒ์ํ ์ ์์ด์ผ ํ๋ค. ์๋ํ๋ ๋ถ์์ ์ํด์๋ ๋ชจ๋ธ์ด ์ง์ํ ์ ์๋ ๊ตฌ์กฐํ๋ ํ์์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์กด์ฌํด์ผ ํ๋ค. ํ ์คํธ ํ์ผ๋ก๋ง ์กด์ฌํ๋ ๋ก๊ทธ๋ ๊ฐ๋ณ ์คํจ๋ฅผ ๋๋ฒ๊น ํ๋ ๋ฐ ์ ์ฉํ์ง๋ง, ์ง์ ๊ฐ๋ฅํ ํ์์ผ๋ก ์ ์ฅ๋ ๋ก๊ทธ๋ ํต๊ณ์ ์ธ ์ง๋ฌธ์ ํ ์ ์๊ฒ ํ๋ค. ์ด๋ค ์์ ์ ์คํจ์จ์ด ๊ฐ์ฅ ๋์๊ฐ? ์ด๋ค ํ๋กฌํํธ๊ฐ ๊ฐ์ฅ ๊ธด ์ถ๋ก ์ ๋ง๋๋๊ฐ? ์ฑ๊ณตํ ์คํ๋น ํ๊ท ๋น์ฉ์ ์ผ๋ง์ธ๊ฐ?
AI ์์ด์ ํธ ๋ก๊ทธ ๊ด๋ฆฌ๋ฅผ ์ํ ๋๊ตฌ๋ค์ด ์๋ค. Langfuse [4]์ Logfire [5] ๋ชจ๋ ์ดํด๋ณผ ๊ฐ์น๊ฐ ์๋ค. ํ์ง๋ง ๊ธฐ์กด ๋๊ตฌ๊ฐ ํด๊ฒฐํด ์ฃผ์ง ์๋ ํ์๊ฐ ์๋ค๋ฉด ์ง์ ๋๊ตฌ๋ฅผ ๋ง๋๋ ๊ฒ๋ ์๊ฐํด๋ด์ผ ํ๋ค. ๊ทธ๊ฒ์ ๋ ๋ฆฝ์ ์ธ ๋๊ตฌ์ผ ์๋ ์๊ณ ๊ธฐ์กด ํ๋ซํผ ์์ ๊ตฌ์ถ๋ ๊ฒ์ผ ์๋ ์๋ค.
๋ก๊ทธ๋ฅผ ๋์ค์ ์ถ๊ฐํ ์ธํ๋ผ๋ก ์๊ฐํด์๋ ์๋๋ค. ๋ก๊ทธ๊ฐ ์๋ ๊ณ ํต์ ๋๋ ๋๊ฐ ๋๋ฉด, ๊ฐ์ฅ ํฐ ๋์์ด ๋์์ ๋ก๊ทธ๋ ์ด๋ฏธ ์์ด๋ฒ๋ฆฐ ๋ค๋ค.
๋ชจ๋ธ, ํ๋กฌํํธ, ๋๊ตฌ
์์ด์ ํธ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ๋ชจ๋ธ, ํ๋กฌํํธ, ๋๊ตฌ๋ฅผ ๋ฐ๊ฟ ์ ์๋ค.
๋ชจ๋ธ์ ์์คํ ์ฑ๋ฅ์์ ๊ฐ์ฅ ์ค์ํ ์์๋ค. ๋ ์ข์ ๋ชจ๋ธ์ ํ๋ฒํ ํ๋กฌํํธ๋ฅผ ๊ตฌ์ ํ ์ ์์ง๋ง, ๋์ ๋ชจ๋ธ์ ์๋ฒฝํ ํ๋กฌํํธ๋ก๋ ๊ตฌ์ ํ ์ ์๋ค. ์๋ก์ด ๋ชจ๋ธ์ ๊ณ์ํด์ ๋์จ๋ค. ํต์ฌ์ ์ ๋ชจ๋ธ์ ๋น ๋ฅด๊ฒ ํ ์คํธํ ์ ์์ด์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ๋ชจ๋ธ์ ๊ต์ฒดํ๊ณ , ํ๊ฐ๋ฅผ ์คํํ๊ณ , ์ ์๋ฅผ ๋น๊ตํ๋ค. ํ๊ฐ๊ฐ ์ ๊ฐ์ถฐ์ ธ ์๋ค๋ฉด ์ด ์์ ์ ๋ฉฐ์น ์ด ์๋๋ผ ๋ช์ญ ๋ถ์ด ๊ฑธ๋ ค์ผ ํ๋ค. ๋ชจ๋ธ ํ๊ฐ๊ฐ ์ฌ์์ผ ์ ๋ชจ๋ธ์ ๋น ๋ฅด๊ฒ ์ ์ฉํ ์ ์๋ค.
ํ๋กฌํํธ๋ ์ผ์์ ์ธ ๊ฐ์ ์ด ์ผ์ด๋๋ ๊ณณ์ด๋ค. ํ๋กฌํํธ๋ฅผ ๊ฐ์ ํ๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ ๋ชจ๋ธ์ด ์ํ๋ ๊ฒ์ ์์ํ๋ ๊ฒ์ด ์๋๋ผ ๋ก๊ทธ๋ฅผ ์ฝ๋ ๊ฒ์ด๋ค. ์คํจํ ์คํ์ ๋ก๊ทธ๋ ๋ณดํต ๋ชจ๋ธ์ด ๋ฌด์์ ์คํดํ๋์ง, ํ๋กฌํํธ์ ์ด๋ค ๋ถ๋ถ์ด ์ ๋ฌ๋์ง ์์๋์ง ๋ณด์ฌ์ค๋ค. ๋ณ๊ฒฝ์ฌํญ์ ํ๊ฐ๋ก ๊ฒ์ฆํด์ผ ํ๋ค. ์ด๋ค ์คํจ๋ฅผ ๊ณ ์น๋ ํ๋กฌํํธ ๋ณ๊ฒฝ์ด ๋ค๋ฅธ ์ด๋ค ๊ฒฝ์ฐ๋ฅผ ์กฐ์ฉํ ๋ง๊ฐ๋จ๋ฆด ์ ์๋ค.
๋๊ตฌ๋ ๋ชจ๋ธ๊ณผ ์ธ์ ์ฌ์ด์ ์ธํฐํ์ด์ค์ด๋ฉฐ, ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ฒ๋ผ ์ฃผ์ ๊น๊ฒ ์ค๊ณํด์ผ ํ๋ค. ์ค๊ณ์ ๋ชฉํ๋ ์ฌ๋ฐ๋ฅธ ์ฌ์ฉ์ ์ฝ๊ฒ ํ๊ณ ์๋ชป๋ ์ฌ์ฉ์ ์ด๋ ต๊ฒ ๋ง๋๋ ๊ฒ์ด๋ค. ๋ชจ๋ธ์ด ๋๊ตฌ๋ฅผ ์์ฃผ ์๋ชป ์ฌ์ฉํ๋ค๋ฉด -- ์ธ์๋ฅผ ์๋ชป๋ ํ์์ผ๋ก ์ ๋ฌํ๊ฑฐ๋, ์๋ชป๋ ๋งฅ๋ฝ์์ ํธ์ถํ๊ฑฐ๋, ์ถ๋ ฅ์ ์คํดํ๋ค๋ฉด -- ๊ทธ๊ฒ์ ๋ชจ๋ธ์ ๋ฌธ์ ๊ฐ ์๋๋ผ ๋๊ตฌ์ ๋ฌธ์ ๋ค. ์ฌ์ฉ์๊ฐ ๊ณ์ ๊ฐ์ ์ค์๋ฅผ ํ๋ฉด ์ฌ์ฉ์๊ฐ ์๋๋ผ UI๋ฅผ ๋ค์ ์ค๊ณํ๋ฏ์ด, ๋ชจ๋ธ์ด ์๋ํ์ง ์์ ํ๋์ ๊ณ์ํ๋ฉด ๋ชจ๋ธ์ ๋ง์ถฐ์ฃผ๋ ๊ฒ์ด ์ข์ ์ ์๋ค.
์ธ ๊ฐ์ง ๋ชจ๋ ์ง๊ด๋ณด๋ค๋ ํ๊ฐ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค. ๋ฌด์์ด ๋์์ด ๋ ์ง์ ๋ํ ์ง๊ด์ ์์ฃผ ํ๋ฆฌ์ง๋ง, ํ๊ฐ ์ ์๋ ๊ทธ๋ ์ง ์๋ค.
์คํฌ๊ณผ ๋ฐฐ๊ฒฝ์ง์
์ธ์ด ๋ชจ๋ธ์ ์ธ์์ ๋ํ ๋ฐฉ๋ํ ์ง์์ ๊ฐ์ง๊ณ ์๋ค. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ณผํ์ ๊ฐ๋ ๊ณผ ์ญ์ฌ์ ์ฌ์ค์ ์ดํดํ๋ค. ํ์ง๋ง ์ฐ๋ฆฌ ์กฐ์ง๊ณผ ์ฝ๋๋ฒ ์ด์ค, ๋ด๋ถ ๋๊ตฌ, ํด๋น ๋ถ์ผ์ ๊ด์ต์ ๋ํด์๋ ์ ๋ชจ๋ฅธ๋ค. ๋ชจ๋ธ์ ์๋ชป์ด ์๋๋ผ ์๋ ค์ฃผ์ง ์์๊ธฐ ๋๋ฌธ์ด๋ค.
์ค์ฉ์ ์ธ ํด๊ฒฐ์ฑ ์ ๋ชจ๋ธ์๊ฒ ํ์ํ ๊ฒ์ ์ฃผ๋ ๊ฒ์ด๋ค. ์ ๋ณด ์์ค์ ์ฌ์ฉ๋ฒ์ ์ ๊ณตํด์ผ ํ๋ค. ์์ด์ ํธ๊ฐ ๋ด๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ํด์ผ ํ๋ค๋ฉด, ๊ทธ๋ ๊ฒ ํ ์ ์๋ CLI๋ฅผ ์ฃผ๊ณ ์ฌ์ฉ๋ฒ ๋ฌธ์๋ ๊ฐ์ด ์ค๋ค. ์ฝ๋๋ฒ ์ด์ค ํน์ ์ ๊ด์ต์ ๋ฐ๋ผ์ผ ํ๋ค๋ฉด, ๊ทธ ๊ด์ต์ ํ์ผ์ ์ ์ด ๋๋ค. ์ง์ ๋ฒ ์ด์ค๋ฅผ ์ฐธ์กฐํด์ผ ํ๋ค๋ฉด, ๊ฒ์ ๋๊ตฌ๋ฅผ ์ฃผ๊ณ ์คํค๋ง๋ฅผ ์ค๋ช ํ๋ค. ๋ชจ๋ธ์ ์ถ๋ก ๋ฅ๋ ฅ๋ณด๋ค ์ถ๋ก ํ ์ฌ๋ฃ๊ฐ ๋ฌธ์ ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
Anthropic์ ์ด ํจํด์ ์์ด์ ํธ ์คํฌ [6]๋ก ๊ณต์ํํ๋ค. ์คํฌ์ ์ง์นจ์ด ๋ด๊ธด SKILL.md ํ์ผ๊ณผ ์ง์ ์คํฌ๋ฆฝํธ ๋ฐ ๋ฆฌ์์ค๋ก ๊ตฌ์ฑ๋ ํด๋๋ค. ์์ํ ๋ ์์ด์ ํธ๋ ์ค์น๋ ๊ฐ ์คํฌ์ ์ด๋ฆ๊ณผ ์ค๋ช
๋ง ๋ฏธ๋ฆฌ ์ฝ์ด๋๋ค. ์์
์ด ๊ด๋ จ ์คํฌ์ ํธ๋ฆฌ๊ฑฐํ๋ฉด, ์์ด์ ํธ๋ ์ ์ฒด ์ง์นจ๊ณผ ๋งํฌ๋ ํ์ผ์ ํ์์ ๋ฐ๋ผ ์ฝ๋๋ค. ์ด ์ ์ง์ ๊ณต๊ฐ ์ค๊ณ ๋๋ถ์ ์ปจํ
์คํธ ์๋์๋ ํ๊ณ๊ฐ ์์ง๋ง ์คํฌ์๋ ๊ทธ๋ณด๋ค ๋ง์ ์ปจํ
์คํธ๋ฅผ ๋ด์ ์ ์๋ค.
Anthropic์ ์คํฌ ํ์์ ์ฌ์ฉํ์ง ์๋๋ผ๋, ์์ด๋์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์ฉํ ์ ์๋ค.. ์์ด์ ํธ์๊ฒ ํ์ํ์ง๋ง ์ผ๋ฐ ์ง์์ผ๋ก๋ ์ ์ถํ ์ ์๋ ์ปจํ ์คํธ๊ฐ ๋ฌด์์ธ์ง ํ์ ํ๊ณ , ๊ทธ ์ปจํ ์คํธ๋ฅผ ๋ฐ๊ฒฌ ๊ฐ๋ฅํ ๋ฆฌ์์ค๋ก ํจํค์งํ๊ณ , ์์ด์ ํธ๊ฐ ํ์์ ๋ฐ๋ผ ์ ๊ทผํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ฃผ์ด๋ผ.
๋น์ฉ ์ ์ด
์ ๋ชจ๋ธ๊ณผ ํฐ ๋ชจ๋ธ์ด ๋ฅ์ฌ๋ ์๋๋ค. ํ๋ก ํฐ์ด ๋ชจ๋ธ์ ๋น์ธ๊ณ ๋๋ฆฌ๋ค. ์์ด์ ํธ ์์คํ ๋ด์ ๋ง์ ์์ ์ ๋ ์์ ๋ชจ๋ธ๋ก ์ถฉ๋ถํ๋ค. ์ค์ฉ์ ์ธ ์ ๊ทผ๋ฒ์ ๊ฐ ์์ ์ ์์ ์ ์ผ๋ก ํ ์ ์๋ ๊ฐ์ฅ ์์ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ์ฌ๋ฌ ๋ชจ๋ธ์ ๋์์ผ๋ก ํ๊ฐ๋ฅผ ์คํํด ๋ณ๊ณก์ ์ ์ฐพ๊ณ , ๊ทธ๋ณด๋ค ํ ๋จ๊ณ ์์ ๋ชจ๋ธ์ ์ฐ๋ฉด ๋๋ค.
์ถ๋ ฅ ํ ํฐ์ ์ ๋ ฅ ํ ํฐ๋ณด๋ค ๋น์ธ๋ค. ๋ฐ๋ผ์ ์ ๋ ฅ ํ ํฐ๋ณด๋ค ์ถ๋ ฅ ํ ํฐ์ ์๊ปด์ผ ํ๋ค. ํ์ํ ๊ฒ๋ง ์์ฒญํด ์ถ๋ ฅ์ ์ต์ํํ๋ผ. ์์ ์ ์ํด ๋ฌด๊ฑฐ์ด ์ฒ๋ฆฌ ์ ์ ๋ถ๋ฅ๋ ํํฐ๋ง์ด ํ์ํ๋ค๋ฉด, ๊ฐ๋ฒผ์ด ๋จ๊ณ๋ฅผ ๋จผ์ ํ๋ผ. ์ฒ ๊ฐ์ ํญ๋ชฉ์ ๋ถ๋ฅํด ๊น๊ฒ ๋ถ์ํ ๊ฐ์น ์๋ ์ค๋ฌด ๊ฐ๋ฅผ ์ฐพ๋ ๊ฒ์ ์ฒ ๊ฐ ๋ชจ๋ ์ ์ฒด ๋ถ์์ ์คํํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ ๋ ดํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ถ๋ฅ ๋จ๊ณ๋ ๋ถ์ ๋จ๊ณ๋ณด๋ค ๋ ์์ ๋ชจ๋ธ์ ์ธ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
ํ๋กฌํํธ ์บ์ฑ์ ์ ๋ ฅ ๋น์ฉ์ ์ค์ด๋ ๊ฐ์ฅ ํจ๊ณผ์ ์ธ ์๋จ ์ค ํ๋๋ค. OpenAI์ Anthropic ๋ชจ๋ ๋ฐ๋ณต๋๋ ํ๋กฌํํธ ์ ๋์ฌ๋ฅผ ์บ์ฑํ๋ฏ๋ก, ๋งค ์์ฒญ ์์ ๋ฑ์ฅํ๋ ๋ด์ฉ -- ์์คํ ํ๋กฌํํธ์ ๋๊ตฌ ์ ์ -- ์ ํ ๋ฒ ์บ์ฑ๋๋ฉด ์ดํ ํธ์ถ์์ ํจ์ฌ ์ ๋ ดํด์ง๋ค. ์์ ์ ์ธ ๋ด์ฉ์ ์ปจํ ์คํธ ์์ ๋๊ณ ํธ์ถ ์ฌ์ด์ ํธ์งํ์ง ๋ง๋ผ. ์ปจํ ์คํธ ํธ์ง -- ๋ํ์ ์๋ถ๋ถ์ ์ฌ๋ฐฐ์ดํ๊ฑฐ๋, ์์ฝํ๊ฑฐ๋, ๋ค๋ฌ๋ ๊ฒ -- ์ ์บ์๋ฅผ ํ๊ดดํ๋ฏ๋ก ์ ์คํ๊ฒ ์ ๊ทผํด์ผ ํ๋ค.
ํด์ผํ ์ผ์ ๋ฐฐ์น ์์ ์ผ๋ก ๊ตฌ์กฐํํ ์ ์๋ค๋ฉด -- ์ค์๊ฐ ์๊ฑด ์์ด ์ฒ๋ฆฌ๋๋ ๋ง์ ๋ ๋ฆฝ์ ์ ๋ ฅ -- OpenAI์ Anthropic ๋ชจ๋ ์๋นํ ํ ์ธ์จ๋ก ๋ฐฐ์น API๋ฅผ ์ ๊ณตํ๋ค. ๋ฐฐ์น ์ฒ๋ฆฌ๋ ๋ํํ ์์ด์ ํธ์๋ ์ ํฉํ์ง ์์ง๋ง, ํ๊ฐ ์คํ, ๋๊ท๋ชจ ๋ถ๋ฅ ์์ , ์ง์ฐ ์๊ฐ ์ ์ฝ์ด ์๋ ์ํฌ๋ก๋์์ ๋น์ฉ์ ํฌ๊ฒ ์ค์ผ ์ ์๋ค.
๊ฐ๋ก
๋ฉํฐ ์์ด์ ํธ ์์คํ
๋ฉํฐ ์์ด์ ํธ ์์คํ ์ ๋จ์ํ ๋ณ๋ ฌ๋ก ์คํํ๋ ๋ฐฉ๋ฒ์ด ์๋๋ค. ๋ ๊ฐ์ง ๋ชฉ์ ์ด ์๋ค. ์ ๋นํ ํฌ๊ธฐ๋ก ์์ ์ ๋ถํดํ๋ ๊ฒ, ๊ทธ๋ฆฌ๊ณ ํฌ์ํ๊ณ ์ ํ๋ ์์์ธ ์ปจํ ์คํธ ์๋๋ฅผ ์๋ผ๋ ๊ฒ์ด๋ค.
์ปจํ ์คํธ ์๋ ์ ์ฝ์ ๊ณผ์ํ๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ปจํ ์คํธ ์๋ ์์ ๋ชจ๋ ๊ฒ์ด ๋ชจ๋ธ์ ์ฃผ์๋ฅผ ๋๊ณ ๊ฒฝ์ํ๋ค. ๋ชจ๋ ์ค๊ฐ ๊ฒฐ๊ณผ, ๋ชจ๋ ๋๊ตฌ ์๋ต, ํ์ํ๋ค ๋งํ ๋ชจ๋ ๋ง๋ค๋ฅธ ๊ธธ. ํ๋์ ์์ด์ ํธ๊ฐ ํฐ ์์ ์ ์ฒ๋ฆฌํ๋ฉด ์ด ๋ชจ๋ ๊ฒ์ด ํ ๊ณณ์ ์์ธ๋ค. ์ ์ ์ค์ํ ๋ถ๋ถ์ ๋ค๋ค๋ฅผ ๋์ฏค์ด๋ฉด, ์ด์ ๋จ๊ณ์์ ๋์จ ๋ฌด๊ดํ๊ฑฐ๋ ์คํ๋ ค ๋ฐฉํด๊ฐ ๋๋ ์๋ฃ๋ค๋ก ์ปจํ ์คํธ๊ฐ ๊ฐ๋ ์ฐจ ์๋ค. ๋ณ๋์ ์์ด์ ํธ๋ ๊ฐ์ ์์ ์ ์์ ์๋ง ๊ด๋ จ๋ ๊น๋ํ๊ณ ์ง์ค๋ ์ปจํ ์คํธ๋ฅผ ๊ฐ๋๋ค.
์์ ๋ถํด๊ฐ ๋ ๋ค๋ฅธ ์ด์ ๋ค. ํ๋์ ์์ด์ ํธ๊ฐ ์ ์ฒ๋ฆฌํ๊ธฐ์ ๋๋ฌด ํฐ ์์ ์ ๋ณดํต ์ํธ ์์กด์ฑ์ด ์ ์ ํ์ ์์ ์ผ๋ก ๋๋ ์ ์๋ค. ์ค์ผ์คํธ๋ ์ดํฐ์ ์ญํ ์ ๊ทธ ๊ตฌ์กฐ๋ฅผ ํ์ ํ๋ ๊ฒ์ด๋ค. ์ด๋ค ๋ถ๋ถ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์งํ๋ ์ ์๋์ง, ์ด๋ค ๊ฒ์ด ์์๋ฅผ ์ง์ผ์ผ ํ๋์ง, ์ด๋ค ๊ฒฐ๊ณผ๋ฅผ ๋ง์ง๋ง์ ์ข ํฉํด์ผ ํ๋์ง. ์ด๊ฒ์ ๋จ์ํ ํ๋กฌํํ ๋ฌธ์ ๊ฐ ์๋๋ผ ์ค๊ณ์ ๋ฌธ์ ์ด๋ค.
๋ฉํฐ ์์ด์ ํธ ์ํคํ ์ฒ๊ฐ ํญ์ ์ฌ๋ฐ๋ฅธ ์ ํ์ ์๋๋ค. ์์ ์ด ๋ณธ์ง์ ์ผ๋ก ์์ฐจ์ ์ด๋ผ๋ฉด -- ๊ฐ ๋จ๊ณ์์ ์ด์ ์ ๋ชจ๋ ๊ฒ์ ๋ํ ์์ ํ ์ง์์ด ํ์ํ๋ค๋ฉด -- ์์ด์ ํธ๋ฅผ ๋ถ๋ฆฌํด๋ ์ป์ ๊ฒ์ด ๊ฑฐ์ ์๊ณ ๋ฌธ์ ์ ๋ง ๋ง์์ง๋ค. ๋์ ์์ , ์ฆ ๋ณ๋ ฌ๋ก ์งํ๋๋ค๊ฐ ๋ง์ง๋ง์ ์ข ํฉํ๋ ์์ ์ด ์ ๋ง๋๋ค. ๋จ๊ณ ๊ฐ ์ํธ ์์กด์ฑ์ด ๊ฐํ ์ด์ดํ๊ฒ ๊ฒฐํฉ๋ ์์ ์ ๊ทธ๋ ์ง ์๋ค.
๋ฉํฐ ์์ด์ ํธ ์์คํ ์ ๋น์ธ๋ค. Anthropic์ ๋ฐ๋ฅด๋ฉด ๋ฉํฐ ์์ด์ ํธ ์ฐ๊ตฌ ์์คํ ์ ํ์ค ์ฑํ ๋ณด๋ค ์ฝ 15๋ฐฐ ๋ง์ ํ ํฐ์ ์ฌ์ฉํ๋ค [7]. ์์ ์ด ์ถฉ๋ถํ ๋ณต์กํ๊ณ ์ถ๋ ฅ์ด ๊ฐ์น ์์ ๋๋ง ๊ทธ๋ฌํ ๋น์ฉ์ด ์ ๋นํ๋ ์ ์๋ค. ๋จ์ผ ์์ด์ ํธ๋ก ์ฒ๋ฆฌํ ์ ์๋ ์์ ์ ๋ฉํฐ ์์ด์ ํธ ์์คํ ์ผ๋ก ํ๋ ๊ฒ์ ๋ญ๋น์ผ ๋ฟ์ด๋ค.
์๋ธ์์ด์ ํธ
์๋ธ์์ด์ ํธ๋ ์ค์ผ์คํธ๋ ์ดํฐ๊ฐ ํน์ ํ์ ์์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์์ฑํ๋ ์์ด์ ํธ์ด๋ค. ๋ณ๋์ ์ปจํ ์คํธ ์๋์ ๋๊ตฌ, ์คํ ๋ฃจํ๋ฅผ ๊ฐ๋๋ค. ์ค์ผ์คํธ๋ ์ดํฐ๋ ์์ ์ ์์ํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์์ ์ ์ปจํ ์คํธ์ ํตํฉํ๋ค.
์๋ธ์์ด์ ํธ์๋ ๋ช ํํ ์ข ๋ฃ ์กฐ๊ฑด์ด ํ์ํ๋ค. ์๋ฃ๋์์์ ์๋ฆฌ๊ณ ์ค์ผ์คํธ๋ ์ดํฐ๊ฐ ์ฌ์ฉํ ์ ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋๋ ๋ฌด์ธ๊ฐ๊ฐ ์์ด์ผ ํ๋ค. ๊ฐ์ฅ ๊น๋ํ ๋ฉ์ปค๋์ฆ์ ์ ์ฉ ์ถ๋ ฅ ๋๊ตฌ๋ค. ๋ชจ๋ธ์ด ์ถ๋ ฅ ๋๊ตฌ๋ฅผ ํธ์ถํ๋ฉด ์คํ์ด ๋๋๊ณ ๊ฒฐ๊ณผ๊ฐ ๋ฐํ๋๋ค. ์ด๊ฒ์ ์๋ธ์์ด์ ํธ์ ๋ง์ง๋ง ์๋ต์ ์ถ๋ ฅ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ซ๋ค. ๋ช ์์ ์ด๊ณ , ๊ตฌ์กฐํ๋์ด ์๊ณ , ํ์ฑํ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ด๋ค.
Armin Ronacher๋ ๋ชจ๋ธ์ด ์ถ๋ ฅ ๋๊ตฌ๋ฅผ ํธ์ถํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๊ณ ์ง์ ํ๋ค [8]. ์ด๊ฒ์ ์ค์ ๋ฌธ์ ์ง๋ง ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ๋ ์๋๋ค. OpenAI์ Anthropic API ๋ชจ๋ ํน์ ๋๊ตฌ๋ฅผ ๊ฐ์ ๋ก ํธ์ถํ๊ฒ ํ ์ ์๋ tool_choice ํ๋ผ๋ฏธํฐ๋ฅผ ์ง์ํ๋ค. ์๋ธ์์ด์ ํธ ์คํ์ด ๋๋ ๋ ์์
์ ๋ง์น ํ tool_choice๋ฅผ ์ถ๋ ฅ ๋๊ตฌ๋ก ์ค์ ํด ๋ง์ง๋ง API ํธ์ถ์ ํ ์ ์๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ชจ๋ธ์ด ์ค์ค๋ก ์ถ๋ ฅ ๋๊ตฌ๋ฅผ ํธ์ถํ์ง ์์ผ๋ ค ํ๋๋ผ๋ ๊ตฌ์กฐํ๋ ์ถ๋ ฅ์ ๋ด๋๋ก ๊ฐ์ ํ ์ ์๋ค.
๋ ๊น๋ค๋ก์ด ๋ฌธ์ ๋ ์คํจ๋ค. ์๋ธ์์ด์ ํธ๋ ์คํจํ ์ ์์ผ๋ฉฐ, ๊ฐ์ฅ ํฐ ํผํด๋ฅผ ์ฃผ๋ ์คํจ ๋ฐฉ์์ ๋ช ํํ ์ค๋ฅ๊ฐ ์๋๋ผ ์ง์ ์์ด ๊ธธ๊ฒ ์ด์ด์ง๋ ์คํ์ด๋ค. ๋ฌธ์ ๊ฐ ๋๋ ๊ฒ์ ์ค๋ฅ์ ์ฆํญ์ด๋ค. ๋ชจ๋ธ์ด ๋๊ตฌ ๊ฒฐ๊ณผ๋ฅผ ์๋ชป ์ฝ๊ณ , ์๋ชป๋ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๊ณ , ์ดํ์ ๊ฐ ๋จ๊ณ๊ฐ ๊ทธ ์๋ชป๋ ๊ธฐ๋ฐ ์์ ์์ธ๋ค. ์ด๋ฐ ์คํ์ ํด ์ ์ธก๋ฉด์์ ๊ฐ์ฅ ๊ธด ๊ฒฝํฅ์ด ์๋ค. ์ฑ๊ณตํ ์๋ธ์์ด์ ํธ๋ ๋๊ฐ ์์ธก ๊ฐ๋ฅํ ํด ์ ์์ ์ฑ๊ณตํ๋ค. ๊ทธ ์ง์ ์ ๋์ด์๋ ๊ณ์ ๊ฐ๋ ๊ฒ์ ๋๊ฐ ๋งํ ๊ฒ์ด๋ค.
์ค์ฉ์ ์ธ ํด๊ฒฐ์ฑ ์ ํด์ ์ ํ์ด๋ค. ํด์ ์ ํ์ ์์ด์ ํธ๋ฅผ ์ฌ๋ฌ ์์ ์ ์คํํด๋ณด๊ณ ์ฑ๊ณต์ ์ธ ์คํ์ด ์ด๋์ ๋๋๋์ง ๊ด์ฐฐํด์ ๊ฒฝํ์ ์ผ๋ก ๊ฒฐ์ ํ๋ค. ์ ํ์ ๋๋ฌํ๋ฉด, ์คํ์ ๊ณ์ํ๊ฒ ๋๋ ๋์ ํฌ๊ธฐํ๊ณ ๋ค์ ์๋ํ๋ค. ๊น๋ํ ์ปจํ ์คํธ๋ก ์๋ก ์์ํ๋ฉด ๊ธธ๊ฒ ๋์ด์ง ์คํ์ด ์คํจํ ๊ณณ์์ ์ฑ๊ณตํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ด๊ฒ์ ์์ด์ ํธ๊ฐ ์ ์ง์ ์ผ๋ก ์ง์ ์ ์ด๋ฃจ๊ณ ์๋ค๊ณ ์๊ฐํ๋ค๋ฉด ์ง๊ด์ ๋ฐํ์ง๋ง, ์ค๋ฅ ์ฆํญ์ ๋งํ ์์ด์ ํธ๊ฐ ๋์์ง๋ ๊ฒ์ด ์๋๋ผ ์ข ์ข ๋๋น ์ง๊ณ ์์์ ์๋ฏธํ๋ค.
ํด์ ์ ํ์ ๊ฐ๋ฐ ์ค์ ์ ์ฉํ๊ธฐ๋ ํ๋ค. ์์ด์ ํธ๊ฐ ์ผ์์ ์ผ๋ก ์ ํ์ ๋๋ฌํ๋ค๋ฉด, ๊ทธ๊ฒ์ ์์ ๋ถํด๊ฐ ์์ง์ด ํ์ํ๋ค๋ ์ ํธ์ด๊ฑฐ๋, ๋๊ตฌ๊ฐ ๋ชจ๋ธ์๊ฒ ํ์ํ ๊ฒ์ ์ฃผ์ง ์๊ณ ์๊ฑฐ๋, ํ๋กฌํํธ๊ฐ ์ธ์ ์์ ์ด ์๋ฃ๋์๋์ง ์ถฉ๋ถํ ๋ช ํํ์ง ์๋ค๋ ์ ํธ์ด๋ค.
์ฝ๋ ์์ฑ
์์ด์ ํธ๊ฐ ๋๊ตฌ๋ก ๋ณต์กํ ์์ ์ ํด์ผ ํ ๋ -- ์ฌ๋ฌ ๋๊ตฌ๋ฅผ ์์๋๋ก ํธ์ถํ๊ฑฐ๋, ํฐ ๊ฒฐ๊ณผ๋ฅผ ํํฐ๋งํ๊ฑฐ๋, ํญ๋ชฉ ๋ชฉ๋ก์ ๋ฐ๋ณต ์ฒ๋ฆฌํ๋ ๊ฒ -- ๋จ์ํ ์ ๊ทผ๋ฒ์ ๋ชจ๋ธ์ด ๋๊ตฌ๋ฅผ ํ๋์ฉ ํธ์ถํ๊ณ , ํธ์ถ ์ฌ์ด๋ง๋ค ๋ชจ๋ธ์ ๊ฑฐ์น๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ ์๋ํ์ง๋ง ๋น์ธ๊ณ ๋๋ฆฌ๋ค. ๋ ๋์ ๋ฐฉ๋ฒ์ด ์๋ค. ๋ชจ๋ธ์๊ฒ ๊ทธ ๋ชจ๋ ๊ฒ์ ํ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ํ ๋ค์ ์ฝ๋๋ฅผ ์คํํ๋ ๊ฒ์ด๋ค.
์ด๊ฒ์ด ๊ฐ๋ฅํ ์ด์ ๋ ์ธ์ด ๋ชจ๋ธ์ด ์ฝ๋ ์์ฑ์ ์ ๋ ๋ฐ์ด๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ธ์ด ๋ชจ๋ธ์ ํ๋ จ์์ ๋๊ตฌ ํธ์ถ๋ณด๋ค ํจ์ฌ ๋ง์ ์ค์ ์ฝ๋๋ฅผ ๋ณด์๋ค. ๋๊ตฌ๋ฅผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํธ์ถ ๊ฐ๋ฅํ ํจ์๋ก ์ ์ํ๋ฉด, ๋ชจ๋ธ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ทธ๋ฌ๋ฏ์ด ๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ, ์ค๋ฅ ์ฒ๋ฆฌ์ ๋ํด ์ถ๋ก ํ ์ ์๋ค. Cloudflare๋ Code Mode [9]์์ ๋ช ์์ ์ผ๋ก ๊ทธ๋ ๊ฒ ์ฃผ์ฅํ๋ค. ๋๊ตฌ ํธ์ถ์ ๋ชจ๋ธ์ด ๋๋ฌผ๊ฒ ์ ํ๋ ํจํด์ ์์กดํ์ง๋ง, ์ฝ๋ ์์ฑ์ ๋ชจ๋ธ์ด ๊น์ด ๋ด๋ฉดํํ ํจํด์ ์์กดํ๋ค.
์ฝ๋ ์์ฑ์ ํ ํฐ ์ ์ฝ ํจ๊ณผ๋ ํฌ๋ค. ์ ํต์ ์ธ ๋๊ตฌ ํธ์ถ ๋ฃจํ์์๋ ๋ชจ๋ ์ค๊ฐ ๊ฒฐ๊ณผ๊ฐ ๋ชจ๋ธ์ ์ปจํ ์คํธ ์๋๋ฅผ ๊ฑฐ์น๋ค. 2์๊ฐ์ง๋ฆฌ ํ์ ๋ น์ทจ๋ฅผ ๊ฐ์ ธ์ CRM์ ์ฒจ๋ถํ๋ฉด, ์ ์ฒด ๋ น์ทจ๊ฐ ์ปจํ ์คํธ์ ๋ ๋ฒ ๋ค์ด๊ฐ๋ค. 20๋ช ์ง์์ ์์ฐ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ์กฐํํ๋ฉด, ์์ฝํ๊ธฐ ์ ์ 20๊ฐ์ ์๋ต์ด ๋ชจ๋ ์ปจํ ์คํธ์ ์ ์ฌ๋๋ค. ์ฝ๋ ์์ฑ์ ์ฌ์ฉํ๋ฉด ์ค๊ฐ ๊ฒฐ๊ณผ๊ฐ ์คํ ํ๊ฒฝ์ ๋จธ๋ฌผ๊ณ , ์ต์ข ์ถ๋ ฅ -- ํํฐ๋ง๋ ์์ฝ, ํฉ๊ณ -- ๋ง ๋ชจ๋ธ์๊ฒ ๋์๊ฐ๋ค. Anthropic์ ๋ํ์ ์ธ ์ฌ๋ก์์ ํ ํฐ ์ฌ์ฉ๋์ 15๋ง์์ 2์ฒ์ผ๋ก ์ค์๋ค๊ณ ๋ณด๊ณ ํ๋ค [10].
์ค์ฉ์ ์ธ ๊ตฌํ์๋ ์ธ ๊ฐ์ง๊ฐ ํ์ํ๋ค.
์ฝ๋ ์คํ ํ๊ฒฝ. ์์ฑ๋ ์ฝ๋๊ฐ ์ด๋๊ฐ์์ ์คํ๋์ด์ผ ํ๋ค. ์๋๋ฐ์ค๊ฐ ํ์ํ๋ค. ๋คํธ์ํฌ ์ ๊ทผ์ ์ ํํ๊ณ , ์๋ํ ๊ฒ ์ด์ธ์ ํ์ผ์์คํ ์ ๊ทผ์ ๊ธ์งํด์ผ ํ๋ค. Cloudflare๋ V8 isolate๋ฅผ ์ฌ์ฉํ๊ณ , Anthropic์ Python ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ค. ์ง์ ๊ตฌ์ถํ๋ค๋ฉด ์ธํ๋ผ๊ฐ ๊ฐ๋จํ์ง๋ ์์ง๋ง, ์๋๋ฐ์ค๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
ํจ์๋ก ๋ ธ์ถ๋ ๋๊ตฌ. ๋ชจ๋ธ์ ์ด๋ค ํจ์๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ ๋ฌด์์ ๋ฐํํ๋์ง ์์์ผ ํ๋ค. ์ถ๋ ฅ ํ์์ ๋ํ ์ค๋ช ์ด ์ค์ํ๋ค. ๋๊ตฌ๊ฐ JSON์ ๋ฐํํ๋ค๋ฉด ์คํค๋ง๋ฅผ ์ค๋ช ํ๋ผ. ๋ชจ๋ธ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ ค๋ฉด ๊ธฐ๋ํด์ผ ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์์์ผ ํ๋ค.
๋๊ตฌ๋ณ ์ตํธ์ธ. ๋ชจ๋ ๋๊ตฌ๊ฐ ์์ฑ๋ ์ฝ๋์์ ํธ์ถ ๊ฐ๋ฅํด์ผ ํ๋ ๊ฒ์ ์๋๋ค. Anthropic์ API๋ ๊ฐ ๋๊ตฌ ์ ์์ allowed_callers ํ๋๋ก ์ด๋ฅผ ๊ตฌํํ๋ค [11]. ๋ชจ๋ธ์ด ์ง์ ํธ์ถํ๋ ๋๊ตฌ์ ์ฝ๋์์ ํธ์ถํ๋ ๋๊ตฌ๋ฅผ ๊ตฌ๋ถํ๋ค. ์ด ๊ตฌ๋ถ์ ๋ณด์์ ์ค์ํ๋ค. ๋ถ์์ฉ์ด ์๊ฑฐ๋ ๋ฏผ๊ฐํ ์ถ๋ ฅ์ ๊ฐ์ง ๋๊ตฌ๋ ๋ ๋งฅ๋ฝ์์ ๋ค๋ฅธ ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ ์๋ค.
๋๊ตฌ ์ฌ์ฉ ์ธ์๋ ๊ฐ์ ์์น์ด ์ ์ฉ๋๋ค. ์์ด์ ํธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ ๋ -- ํ์ผ์ ๋ณํํ๊ฑฐ๋, ์ง์ ๊ฒฐ๊ณผ๋ฅผ ์ง๊ณํ๊ฑฐ๋, ๋ชฉ๋ก์ ํํฐ๋งํ๋ -- ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ํ๊ณ ๊ทธ ์ฝ๋๋ฅผ ์คํํ๋ ๊ฒ์ด ์์ฐ์ด๋ก ๋ฐ์ดํฐ์ ๋ํด ์ถ๋ก ํ๊ฒ ํ๋ ๊ฒ๋ณด๋ค ๋์ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๋ชจ๋ธ์ ์ฝ๋ ์์ฑ ๋ฅ๋ ฅ์ ์ฝ๋ฉ ์์ด์ ํธ๋ง์ ์ํ ๊ธฐ๋ฅ์ด ์๋๋ผ ๊ธฐ๋ณธ์ ์ธ ๋๊ตฌ์ด๋ค.
์ด ํจํด์ ์ฑํํ๊ณ ์ถ๋ค๋ฉด, MCPorter [12]๊ฐ ๋์์ด ๋ ์ ์๋ค. MCPorter๋ MCP ์๋ฒ์ ๋๊ตฌ ์ ์์์ TypeScript ๋ํผ๋ฅผ ์์ฑํ๋ ์คํ ์์ค TypeScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
ํ ๊ฐ์ง ์ฃผ์์ฌํญ์ด ์๋ค. ์ด ํจํด์ ์คํ ํ๊ฒฝ์ด ์ง์ ์ผ๋ก ๊ฒฉ๋ฆฌ๋์ด ์์ด์ผ ํ๋ค. ์์ฑ๋ ์ฝ๋๋ ์ ๋ขฐํ ์ ์๋ ์ ๋ ฅ์ด๋ค. ์์ด์ ํธ๊ฐ ์ ์์ ์ธ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ํ๋ ํ๋กฌํํธ๋ก ๊ณต๊ฒฉ๋นํ ์ ์๋ค. ์๋๋ฐ์ฑ์ ์ ํ์ฌํญ์ด ์๋๋ค.
๊ตฌ์กฐํ๋ ์ถ๋ ฅ
์์ด์ ํธ๊ฐ ๊ธฐ๊ณ๊ฐ ์ฝ์ ์ ์๋ ์ถ๋ ฅ์ ๋ด๋์์ผ ํ ๋๋ -- ๋ถ๋ฅ, ๊ฒฐ์ , ํ๋ ์ถ์ถ -- ๊ตฌ์กฐํ๋ ์ถ๋ ฅ์ด ์ฌ๋ฐ๋ฅธ ๋๊ตฌ๋ค. ํ ์คํธ๋ฅผ ํ์ฑํ๋ ๋์ , ์คํค๋ง๋ฅผ ์ ์ํ๊ณ ๋ชจ๋ธ์ด ์ฑ์ด๋ค. ๋ ์ ๋ขฐํ ์ ์๊ณ , ํ ์คํธํ๊ธฐ ๋ ์ฝ๊ณ , ํ์ฑ ๋ฒ๊ทธ๋ฅผ ํต์งธ๋ก ์ ๊ฑฐํ๋ค.
์ธ์ด ๋ชจ๋ธ์ ํ ํฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์์๋๋ก ์์ฑํ๋ค. ์คํค๋ง๋ฅผ {"answer": "..."} ๋ก ์ ์ํ๋ฉด, ๋ชจ๋ธ์ ๋ฐ๋ก ๋ต์ ์ ํ๋ค. {"reasoning": "...", "answer": "..."} ๋ก ์ ์ํ๋ฉด, ๋ชจ๋ธ์ ๋จผ์ ์ถ๋ก ํ๋๋ก ๊ฐ์ ๋๊ณ ๊ทธ ์ถ๋ก ์ด ๋ต์ ์ํฅ์ ๋ฏธ์น๋ค. ์ถ๋ก ํ๋๊ฐ ์คํค๋ง์์ ๋ต ํ๋๋ณด๋ค ์์ ์ค๋ฏ๋ก, ์ถ๋ ฅ์์๋ ๋ต ์์ ์จ๋ค.
๋์ค์ ์ถ๋ก ์ ์์ ํ ๋ฒ๋ฆฌ๊ณ ๋ต๋ง ์ฌ์ฉํด๋ ๋๋ค. ์ฑ๋ฅ์์ ์ด์ ์ ์ถ๋ก ์ ์ฝ๋ ๊ฒ์ด ์๋๋ผ ๋ชจ๋ธ์ด ์ถ๋ก ์ ์์ฑํ๋ค๋ ๋ฐ์ ์จ๋ค. ์ด ๋ฐฉ๋ฒ์ ํน๋ณํ ๋ชจ๋ธ ์ง์ ์์ด ์ถ๋ก ๋ชจ๋ธ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ์ป์ ์ ์๊ฒ ํด ์ค๋ค.
ํ์ผ ํธ์ง
์์ด์ ํธ๊ฐ ํ์ผ์ ์์ ํด์ผ ํ๋ค๋ฉด ํ์ผ ํธ์ง์ ์ด๋ป๊ฒ ๊ตฌํํ๋๋๊ฐ ์์คํ ์ฑ๋ฅ์ ์ค์ํ ์ํฅ์ ๋ฏธ์น๋ค.
์ด๊ฒ์ ๋ด ๊ฒฝํ๋ง์ด ์๋๋ค. Anthropic์ ํ์ผ ํธ์ง ์ ๋ขฐ์ฑ์ ๋ช
์์ ์ผ๋ก ์ด๋ ค์ด ๋ฌธ์ ์ค ํ๋๋ก ๊ผฝ์๋ค [13]. Anthropic์ด API๋ก ์ ๊ณตํ๋ ํ
์คํธ ํธ์ง๊ธฐ ๋๊ตฌ [14]๋ฅผ ๋ณด๋ฉด, str_replace ๋ช
๋ น์ ์ ํํ ๋ฌธ์์ด ์ผ์น๋ฅผ ํ์๋ก ํ๋ฉฐ, ํ๋์ค๋ ๋ฌธ์์ด์ด ์ผ์นํ์ง ์๊ฑฐ๋ ์ฌ๋ฌ ๋ฒ ์ผ์นํ ๋ ์ค๋ฅ๋ฅผ ๋ฐํํด์ผ ํ๋ค. ๋ฌธ์ ๊ฐ ์ถฉ๋ถํ ์ด๋ ต๊ธฐ ๋๋ฌธ์ Anthropic์ ๋๊ตฌ ์ค๊ณ์ ์ฐํ์ฑ
์ ๋ด์ฅํ๋ค (์๋ฅผ ๋ค์ด ํ์ผ์ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์๊ตฌํ๋ ๊ฒ์ ๋ช
์์ ์ธ ์ค๋ฅ ๋ฐฉ์ง ์กฐ์น๋ค).
์ด๋ ค์ด ์ ์ ๋ชจ๋ธ์ด ์ํ๋ ๋ณ๊ฒฝ์ ๋ํด ์ถ๋ก ํ ๋ฟ ์๋๋ผ, ๋ชจํธํจ์ด๋ ์ค๋ฅ ์์ด ํ์ผ์ ๊ธฐ๊ณ์ ์ผ๋ก ์ ์ฉํ ์ ์๋ ํ์์ผ๋ก ์ถ๋ ฅ์ ๋ด๋์์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ ์๋ก ๋ค๋ฅธ ์ผ์ด๋ฉฐ, ์ด๋ค ํ์์ ์ ํํ๋๋์ ๋ฐ๋ผ ๊ธฐ๊ณ์ ์ธ ์ ์ฉ ๋จ๊ณ๊ฐ ์ผ๋ง๋ ์์ฃผ ์คํจํ๋์ง๊ฐ ๋ฌ๋ผ์ง๋ค.
ํ์ฌ ์ฌ์ฉ๋๋ ์ฃผ์ ์ ๊ทผ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ ์ฒด ํ์ผ ์ฌ์์ฑ. ๋ชจ๋ธ์ด ํ์ผ์ ๋ด์ฉ์ ์์ ํ ์๋ก ์ถ๋ ฅํ๋ค. ๊ตฌํํ๊ณ ํ์ฑํ๊ธฐ ๋จ์ํ๋ฉฐ, ํ์ ์ค๋ฅ๋ก ์คํจํ์ง ์๋๋ค. ๋จ์ ์ ๋น์ฉ(์ถ๋ ฅ ํ ํฐ์ด ํ์ผ ํฌ๊ธฐ์ ๋น๋กํด ์ฆ๊ฐํจ)๊ณผ ์ฃผ๋ณ ์ปจํ ์คํธ ์์ค์ด๋ค. ์์ ํ์ผ์์๋ง ์ค์ฉ์ ์ด๋ค.
๋ฌธ์์ด ๊ต์ฒด. ๋ชจ๋ธ์ด ์ด์ ๋ฌธ์์ด๊ณผ ์ ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ฉด, ํ๋์ค๊ฐ ์ฐพ์์ ๊ต์ฒดํ๋ค. Anthropic์ด ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค [14]. ์คํจ ๋ฐฉ์์ ์ ์๋ ค์ ธ ์๋ค. ๋ชจ๋ธ์ ๊ณต๋ฐฑ๊ณผ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ํฌํจํด ์ด์ ๋ฌธ์์ด์ ๊ธ์ ํ๋ ํ๋ ๊ทธ๋๋ก ์ฌํํด์ผ ํ๋๋ฐ, ์ด๊ฒ์ ์์ฃผ ํ๋ฆฐ๋ค. "๊ต์ฒดํ ๋ฌธ์์ด์ ์ฐพ์ง ๋ชปํ๋ค"๋ ์ค๋ฅ๋ ์์ด์ ํธ ์คํจ์ ํํ ์์ธ์ด๋ค.
patch/diff ํ์. ๋ชจ๋ธ์ด ๋ณ๊ฒฝ์ฌํญ์ ์ค๋ช
ํ๋ ๊ตฌ์กฐํ๋ diff๋ฅผ ์ถ๋ ฅํ๋ค. OpenAI์ Codex๋ *** Begin Patch ์ *** End Patch ๋ง์ปค๊ฐ ์๋ ์ปค์คํ
ํจ์น ํ์์ ์ฌ์ฉํ๋ค. ๊ทธ ์์ฒด๋ก๋ ์ฝ๊ฒ ๋ง๊ฐ์ง์ง๋ง Codex๋ ์ ์ฝ๋ ์ํ๋ง(constrained sampling)์ผ๋ก ์ด๋ฅผ ํด๊ฒฐํ๋ค. ํจ์น ํ์์ Lark ๋ฌธ๋งฅ ์์ ๋ฌธ๋ฒ(context free grammar)์ผ๋ก ํํํ๊ณ , ์ถ๋ก ์ ๋ชจ๋ธ ์ถ๋ ฅ์ ๋ฌธ๋ฒ์ ๋ง๊ฒ ์ ํํ๋ค [15]. ์ด๊ฒ์ ํ์ ์ค๋ฅ๋ฅผ ํต์งธ๋ก ์ ๊ฑฐํ๋ค. ์ด๊ฒ์ด OpenAI์ ๊ณต๊ฐ API๋ฅผ ์ฌ์ฉํด ์ด๋ฃจ์ด์ง๋ค๋ ์ ์ด ์ค์ํ๋ค [16]. ์ด ๊ธฐ๋ฒ์ ๋๊ตฌ๋ ์ฌ์ฉํ ์ ์๋ค.
ํ๋ จ๋ ๋ณํฉ ๋ชจ๋ธ. Cursor๋ ๋ชจ๋ธ์ ํธ์ง ์๋๋ฅผ ์๋ณธ ํ์ผ๊ณผ ๋ณํฉํ๋ ๋ณ๋์ 70B ๋ชจ๋ธ์ ํ๋ จํ๋ค. ๋ณํฉ ๊ฒฌ๊ณ ์ฑ์ ํ์ต๋ ๋ฅ๋ ฅ์ผ๋ก ๋ง๋ค์ด ํ์ ๋ฌธ์ ๋ฅผ ์์ ํ ์ฐํํ๋ค. ๋ช ๋ฐฑํ ๋น์ฉ์ ์ ์ฉ ๋ชจ๋ธ์ ํ๋ จํ๊ณ ์๋นํ๋ ๋ฐ ์๋นํ ์์์ด ํ์ํ๋ค๋ ๊ฒ์ด๋ค.
Can Bรถlรผk์ 16๊ฐ ๋ชจ๋ธ์ 180๊ฐ ๊ณผ์ ์์ ๋ฒค์น๋งํนํ์ฌ ํ์ ์ ํ๋ง์ผ๋ก๋ ์ฑ๊ณต๋ฅ ์ด ๋ฌ๋ผ์ง ์ ์์์ ๋ณด์๋ค [17]. ๊ทธ์ ๊ธ์ ์ด ์ฅ๊ณผ ํจ๊ป ์ฝ์ ๊ฐ์น๊ฐ ์๋ค. ๊ทธ๊ฐ ์ ์ํ ํ์์ ๊ฐ ์ค์ ์ค ๋ฒํธ์ ์งง์ ํด์๋ฅผ ํ๊ทธํ๋ค. ์ฃผ์ ์ด์ ์ ๋ชจ๋ธ์ด ์ ํํ ๋ด์ฉ์ ์ฌํํ์ง ์๊ณ ์๋ณ์๋ก ์ค์ ์ฐธ์กฐํ ์ ์๋ค๋ ๊ฒ์ธ๋ฐ, ์ด๊ฒ์ด ๋ชจ๋ธ์๊ฒ๋ ํจ์ฌ ์ฝ๋ค. ํด์๋ ์ค ๋ฒํธ์ ๋ํด์ ์ฒดํฌ์ฌ ์ญํ ์ ํ๋ค. ์ด์ ํธ์ง์ผ๋ก ์ค์ด ๋ฐ๋ ธ๋ค๋ฉด, ์์ ํด์์ ์ค์ ์ค ๋ด์ฉ ์ฌ์ด์ ๋ถ์ผ์น๊ฐ ์๋ชป๋ ์ค์ ์กฐ์ฉํ ํธ์งํ๋ ๋์ ์ค๋ฅ๋ฅผ ์ก์๋ธ๋ค.
๋๊ตฌ ์ธ๊ฐ ์ ์ด
์์ด์ ํธ์๊ฒ ๋๊ตฌ๋ฅผ ์ค๋ค๋ ๊ฒ์ ์ธ์์์ ์ค์ ํ๋์ ์ทจํ ์ ์๋ ๋ฅ๋ ฅ์ ์ฃผ๋ ๊ฒ์ด๋ค -- ํ์ผ ์ฝ๊ธฐ, ํ์ผ ์ฐ๊ธฐ, ๋ช ๋ น ์คํ, ์ธ๋ถ ์๋น์ค ํธ์ถ. ๋๊ตฌ ์ธ๊ฐ ์ ์ด๋ ์์ด์ ํธ๊ฐ ์์จ์ ์ผ๋ก ์ทจํ ์ ์๋ ํ๋๊ณผ ์ฌ๋์ ์น์ธ์ด ํ์ํ ํ๋์ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๊ฒ์ ์ ๋๋ก ํ๋ ๊ฒ์ ์์ ๊ณผ ์ฌ์ฉ์ฑ ๋ชจ๋์ ์ค์ํ๋ค. ๋๋ฌด ์ ํ์ ์ด๋ฉด ์์ด์ ํธ๊ฐ ์ผ์ ํ ์ ์๊ณ , ๋๋ฌด ํ์ฉ์ ์ด๋ฉด ๋ชจ๋ฅด๋ ์ฌ์ด์ ํผํด๋ฅผ ์ค ์ ์๋ ์์จ ์์คํ ์ด ๋๋ค.
๋จผ์ ์ดํดํด์ผ ํ ๊ฒ์ ์ธ๊ฐ์ ์๋๋ฐ์ฑ์ด ์ํธ ๋ณด์์ ์ด๋ฉฐ ์๋ก ๋์ฒดํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ธ๊ฐ๋ ์์ด์ ํธ๊ฐ ๋ฌด์์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ๋์ง๋ฅผ ์ ์ดํ๋ฉฐ ์์ด์ ํธ ์์ค์์ ์๋ํ๋ค. ์๋๋ฐ์ฑ์ ์์ด์ ํธ๊ฐ ๋ฌด์์ ๊ฒฐ์ ํ๋ ๊ด๊ณ์์ด OS ์์ค์์ ์ ํ์ ๊ฐ์ ํ๋ค. Claude Code์ ๋ฌธ์ [18]๋ ์ด ๊ตฌ๋ถ์ ๋ช ํํ ํ๋ค. ์ธ๊ฐ๋ ์์ด์ ํธ๊ฐ ์ ํ๋ ํ๋์ ์๋ํ๋ ๊ฒ์ ๋ง๊ณ , ์๋๋ฐ์ฑ์ ์์ด์ ํธ๊ฐ ์ ํ๋ ํ๋์ ์๋ํ๋๋ผ๋ ๊ทธ๋ฌํ ํ๋์ด ์ค์ ๋ก ์คํ๋๋ ๊ฒ์ ๋ง๋๋ค. ๋ ๋ค ์ฌ์ฉํด์ผ ํ๋ค.
๋ ๋ช ๋ฐฑํ ์ ์ Bash ์ธ๊ฐ ๊ท์น์ด ๋ณด์ด๋ ๊ฒ๋ณด๋ค ๊ฐํ ์ ๋ ์๊ณ ์ฝํ ์ ๋ ์๋ค๋ ๊ฒ์ด๋ค.
๋ณด์ด๋ ๊ฒ๋ณด๋ค ๊ฐํ ์ด์ ๋ ์
ธ ๋ช
๋ น์ด ๋ฌธ์์ด๋ก๋ง ๋งค์นญ๋์ง ์๊ณ ํ์ฑ๋๊ธฐ ๋๋ฌธ์ด๋ค. Claude Code๋ ์คํ ์์ค๊ฐ ์๋์ง๋ง, Bun์ ์ฌ์ฉํ๋ค๊ณ ์๋ ค์ ธ ์๋๋ฐ, Bun์๋ ์
ธ ํ์๊ฐ ํฌํจ๋์ด ์๋ค. Codex(์คํ ์์ค)๋ Tree-sitter์ Bash ํ์๋ก ๊ฐ์ ์์
์ ํ๋ค [19]. ์คํฌ๋ฆฝํธ๊ฐ ์์ ํ AST๋ก ํ์ฑ๋๊ณ , ๋จ์ํ ๋ช
๋ น ์ด์ธ์ ๊ฒ์ด ํฌํจ๋๋ฉด ํ์ฑ์ด ๊ฑฐ๋ถ๋๋ค. ํ์ฉ๋ ์ฐ์ฐ์ (&&, ||, ;, |)๋ ๊ฐ ๊ฐ๋ณ ๋ช
๋ น์ ์ถ์ถํ๊ณ ๊ฐ๊ฐ์ ์ธ๊ฐ ๊ท์น๊ณผ ๋ณ๋๋ก ํ์ธํ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ๋๋ค. ์ฆ Bash(safe-cmd *)๋ safe-cmd && malicious-cmd๋ฅผ ํ์ฉํ์ง ์๋๋ค. ํ์๊ฐ ๋ ๊ฐ์ ๋ช
๋ น์ ๋ณด๊ณ ๋ ๋ค ํ์ธํ๋ค.
๋ณด์ด๋ ๊ฒ๋ณด๋ค ์ฝํ ์ด์ ๋ ๋ช
๋ น ์ด๋ฆ ์์ค์์ ์์ ์ฑ์ ์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ณ ์ ์ ์ธ ์์๊ฐ ์๋ค. rm์ ๊ฑฐ๋ถํ๊ณ find๋ฅผ ํ์ฉํด๋ ํ์ผ ์ญ์ ๊ฐ ๋งํ์ง ์๋๋ค. find์๋ -delete ์ต์
์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ง์ ์ ๋์ค ๋ช
๋ น์ด ์ด์ฒ๋ผ ๋ค๋ชฉ์ ์ด๋ค. ํน์ ๋ช
๋ น์ด ์์ ํ๋ค๋ ๊ฐ์ ํ์ ์์ฑ๋ ๋จ์ํ ํ์ฉ ๋ชฉ๋ก์ ์ด๋ฌํ ๊ตฌ๋ฉ์ด ์๊ธฐ๋ ๊ฒฝํฅ์ด ์์ผ๋ฉฐ, ์์ด์ ํธ๋ ํ๋กฌํํธ ์ธ์ ์
์ ํตํด ์์ด์ ํธ๋ฅผ ์ ์ดํ๋ ๊ณต๊ฒฉ์๋ ๊ทธ๋ฌํ ๊ตฌ๋ฉ์ ์ฐพ์๋ผ ์ ์๋ค.
์ฝ๋ฉ ์์ด์ ํธ๋ฅผ ์ํ ์ค์ฉ์ ์ธ ์ธ๊ฐ ๋ชจ๋ธ์ ์ด๋ฐ ๋ชจ์ต์ผ ์ ์๋ค. ์ฝ๊ธฐ ์์ ์ ์น์ธ์ด ํ์ ์๋ค. ํ์ผ ํธ์ง์ ์ธ์ ๋น ํ ๋ฒ ์น์ธ์ด ํ์ํ๋ค. ์ ธ ๋ช ๋ น์ ๋ช ๋ น๋น ์น์ธ์ด ํ์ํ๋, ํ ์คํธ ์คํ์ด๋ ํ๋ก์ ํธ ๋น๋ ๊ฐ์ ์ผ๋ฐ์ ์ด๊ณ ์์ ํ ์์ ์ ๋ฏธ๋ฆฌ ์น์ธ๋ ํ์ฉ ๋ชฉ๋ก์ ๋ฃ๋๋ค.
ํ์ผ์ด๋ ์น๋ฅผ ์ฝ๋ ์์ด์ ํธ๋ ๊ทธ ๋ด์ฉ์ผ๋ก๋ถํฐ ๊ณต๊ฒฉ์์ ์ง์๋ฅผ ๋ฐ์ ์ ์๋ค. ์๊ฒฉํ ์ธ๊ฐ ๊ท์น์ด ์ฃผ์ ๋ฐฉ์ด์ฑ ์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ์ถํ๋ผ๋ ์ง์๋ ์์ด์ ํธ๊ฐ ์ธ๋ถ URL์ ๋๋ฌํ ์ ์๋ค๋ฉด ์ฑ๊ณตํ ์ ์๋ค.
์ฐธ๊ณ ๋ฌธํ
[1] Takeshi Kojima et al., "Large Language Models are Zero-Shot Reasoners", 2022-05-24. https://arxiv.org/abs/2205.11916
[2] Lennart Meincke et al., "Prompting Science Report 2: The Decreasing Value of Chain of Thought in Prompting", 2025-06-08. https://arxiv.org/abs/2506.07142
[3] OpenAI, "Why SWE-bench Verified no longer measures frontier coding capabilities", 2026-02-23. https://openai.com/index/why-we-no-longer-evaluate-swe-bench-verified/
[4] Langfuse. https://langfuse.com/
[5] Pydantic Logfire. https://pydantic.dev/logfire
[6] Agent Skills. https://agentskills.io/
[7] Anthropic, "How we built our multi-agent research system", 2025-06-13. https://www.anthropic.com/engineering/multi-agent-research-system
[8] Armin Ronacher, "Agent Design Is Still Hard", 2025-11-21. https://lucumr.pocoo.org/2025/11/21/agents-are-hard/
[9] Cloudflare, "Code Mode: the better way to use MCP", 2025-09-26. https://blog.cloudflare.com/code-mode/
[10] Anthropic, "Code execution with MCP: Building more efficient agents", 2025-11-04. https://www.anthropic.com/engineering/code-execution-with-mcp
[11] Anthropic, "Programmatic tool calling". https://platform.claude.com/docs/en/agents-and-tools/tool-use/programmatic-tool-calling
[12] Peter Steinberger, MCPorter. https://github.com/steipete/mcporter
[13] Anthropic, "Raising the bar on SWE-bench Verified with Claude 3.5 Sonnet", 2025-01-06. https://www.anthropic.com/engineering/swe-bench-sonnet
[14] Anthropic, "Text editor tool". https://platform.claude.com/docs/en/agents-and-tools/tool-use/text-editor-tool
[15] OpenAI, codex-rs/core/src/tools/handlers/apply_patch.rs, tool_apply_patch.lark. https://github.com/openai/codex
[16] OpenAI, "Function calling". https://developers.openai.com/api/docs/guides/function-calling
[17] Can Bรถlรผk, "I Improved 15 LLMs at Coding in One Afternoon. Only the Harness Changed.", 2026-02-12. https://blog.can.ac/2026/02/12/the-harness-problem/
[18] Anthropic, "Configure permissions". https://code.claude.com/docs/en/permissions
[19] OpenAI, codex-rs/shell-command/src/bash.rs. https://github.com/openai/codex
Seo Sanghyeon
AI ์์ด์ ํธ ์์คํ ์ ๋ง๋ค๋ฉฐ ๋ฐฐ์ด ๊ฒ
์ด ๊ธ์ AI ์์ด์ ํธ ์์คํ ์ ๋ง๋ค๋ฉฐ ์์ ๊ฒฝํ์ ์ ๋ฆฌํ ๊ฒ์ผ๋ก, 2026๋ 2์์ ์ผ๋ค. ๋ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์ ์ด๋ก ์ด๊ณ , ๋ ๋ฒ์งธ ๋ถ๋ถ์ ๊ฐ๋ก ์ด๋ค.
์ด ๋ถ์ผ๋ ๋น ๋ฅด๊ฒ ๋ณํ๊ณ ์์ด, ์ฌ๊ธฐ์ ์ด ๊ตํ๋ ๊ธ๋ฐฉ ๋ก์ ์ ์๋ค. ์ปจํ ์คํธ ์๋๋ ์ด ๊ธ ์ ๋ฐ์ ๊ฑธ์ณ ๋ฐ๋ณต๋๋ ์ ์ฝ์ด์ง๋ง, ๋ฏธ๋์๋ ๊ทธ๋ ์ง ์์ ์๋ ์๋ค. "์ฐจ๊ทผ์ฐจ๊ทผ ์๊ฐํ๋ผ(Let's think step by step)"๋ 2022๋ ๋ฐํ๋ ์ด๋ ๋๋ฆฌ ๊ถ์ฅ๋์์ง๋ง [1], ์ต๊ทผ ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด ์ด ๊ธฐ๋ฒ์ ์ด์ ๋ ์ค์ํด์ก๋ค [2]. ์ด ๊ธ์ ๋ด์ฉ๋ ์ผ๋ถ๋ ๊ทธ๋ฐ ์ด๋ช ์ ๋ง์ ๊ฒ์ด๋ค.
์ด๋ก
๋ชฉํ ์๋ฆฝ
AI ์์ด์ ํธ ์์คํ ์ ์ํ ๋ชฉํ๋ ๋ช ํํ๊ณ , ์ ์ฉํ๊ณ , ๋ฌ์ฑ ๊ฐ๋ฅํด์ผ ํ๋ค.
๋ช ํํ๋ค๋ ๊ฒ์ ํ ์คํธํ ์ ์์ ๋งํผ ๊ตฌ์ฒด์ ์ด๋ผ๋ ๋ป์ด๋ค. "๊ฐ๋ฐ์์ ์ฝ๋ฉ ์์ ์ ๋๋๋ค"๋ ๋ชฉํ๊ฐ ์๋๋ผ ๋ฒ์ฃผ๋ค. ๋ชฉํ๋ "GitHub ์ด์ ์ค๋ช ๊ณผ Python ์ ์ฅ์๊ฐ ์ฃผ์ด์ง๋ฉด, ๊ธฐ์กด ํ ์คํธ๋ฅผ ํต๊ณผํ๋ PR์ ์์ฑํ๋ค" ๊ฐ์ ๊ฒ์ด๋ค. ํ์์์๋ ์ด๋ค ์ ๋ ฅ์ ์ค๋นํด์ผ ํ๋์ง, ์ด๋ค ์ถ๋ ฅ์ ํ๊ฐํด์ผ ํ๋์ง, ํ๊ฐ ๊ธฐ์ค์ด ๋ฌด์์ธ์ง๊ฐ ๋๋ฌ๋๋ค. ๋ชฉํ์ ๋ฒ์๋ฅผ ์ขํ์ผ ํ๋ค. ๋ฒ์ฉ ์์คํ ์ ํ๊ฐํ๊ธฐ ์ด๋ ต๊ณ , ๊ฐ์ ํ๊ธฐ ์ด๋ ต๊ณ , ์ ๋๋ก ์๋ํ๋์ง ์๊ธฐ๋ ์ด๋ ต๋ค. ์ข์ ๋ฒ์์์ ์์คํ ์ด ์ ์๋ํ๋ฉด ๋ฒ์๋ฅผ ๋ํ๋ ๊ฒ์ ๊ณ ๋ คํ ์ ์๋ค.
์ ์ฉํ๋ค๋ ๊ฒ์ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ์ ๋ ์ค์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ค๋ ๋ป์ด๋ค. ์ด๋ ๋ช ํํจ๊ณผ๋ ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค. "์ฝ๋๋ฒ ์ด์ค๋ฅผ ๊ฐ์ฌํ์ฌ ๋ณด์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ค"๋ ์ ์ ์๋ ๋ชฉํ์ผ ์ ์๊ณ , ๋ด ๊ฒฝํ์ ๋ฌ์ฑ ๊ฐ๋ฅํ๊ธฐ๋ ํ๋ค. ํ์ง๋ง ์ด๋ฏธ ์๊ณ ์๋ ๋ณด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ๋ ํ๋์ด๊ณ ์๋ค๋ฉด, ์ ์ฌ์ ์คํ์ ํฌํจํ๋ ๋ ๋ง์ ๋ฌธ์ ๋ฅผ ๋๊ธฐ์ด์ ์ถ๊ฐํ๋ ๊ฒ์ ์ ์ฉํ์ง ์๋ค. ์ง๋ฌธ์ ๋จ์ํ "์ด๊ฒ์ ํ ์ ์๋๊ฐ?"๊ฐ ์๋๋ผ "์ด๊ฒ์ด ์ค์ ๋ก ์ํ๋ ๊ฒ์ธ๊ฐ?"๋ค.
๋ฌ์ฑ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ํ์ฌ ๋ชจ๋ธ ๋ฅ๋ ฅ์ ๊ฐ์ํ์ ๋ ํ์ค์ ์ด๋ผ๋ ๋ป์ด๋ค. SWE-bench Verified ๊ฐ์ ๋ฒค์น๋งํฌ๋ ํ์ฌ AI๊ฐ ์ด๋ค ์ฝ๋ฉ์ ํ ์ ์๋์ง ๋๋ต์ ์ธ ๊ฐ์ ์ค๋ค. ๋ค๋ฅธ ๋ถ์ผ์๋ ๋น์ทํ ๋ฒค์น๋งํฌ๊ฐ ์๋ค. ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ํ์ฌ ๋ชจ๋ธ์ด ์ผ๊ด๋๊ฒ ์คํจํ๋ ๋ฌด์ธ๊ฐ๋ฅผ ์์ ์ ์ผ๋ก ํด์ผ ํ๋ค๋ฉด ๊ทธ๊ฒ์ ํ์ค์ ์ผ๋ก ์ด๋ ค์ธ ์ ์๋ค. ๋ชจ๋ธ ๋ฅ๋ ฅ์ ๊พธ์คํ ๋ฐ์ ํ๊ณ ์์ผ๋ฏ๋ก, ์์ ์ด ๊ธํ์ง ์๋ค๋ฉด ํ์ฌ ํ๊ณ์ ๋ง์ถฐ ์ด๋ป๊ฒ๋ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ๋ณด๋ค ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด ๋์ ์ ์๋ค.
์ธ๊ฐ ์ ๋ฌธ๊ฐ๊ฐ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ๋ฌด์์ ํ ์ง ๋ชจํธํจ ์์ด ์ค๋ช ํ ์ ์๋๊ฐ? ๊ฒฐ๊ณผ๋ฌผ์ด ๋์ค๋ฉด ์ค์ ๋ก ์ฌ์ฉํ๊ฒ ๋๊ฐ? ๊ทธ๋ ์ง ์๋ค๋ฉด, ์์ ์ ์์ํ๊ธฐ ์ ์ ๋ชฉํ๋ฅผ ๋ ๋ค๋ฌ์ด์ผ ํ๋ค.
ํ๊ฐ ์ค๊ณ
์ธก์ ํ ์ ์๋ ๊ฒ์ ๊ฐ์ ํ ์ ์๋ค. ํ๊ฐ๋ ์์ด์ ํธ์ ๊ฐํ ๋ณ๊ฒฝ -- ๋ค๋ฅธ ๋ชจ๋ธ, ์ ํ๋กฌํํธ, ๋ค๋ฅธ ๋๊ตฌ -- ์ด ์ํฉ์ ์ข์์ง๊ฒ ํ๋์ง ๋๋น ์ง๊ฒ ํ๋์ง ํ๋จํ๋ ์๋จ์ด๋ค. ํ๊ฐ ์์ด๋ ๋์ ๊ฐ๊ณ ์ด์ ํ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
ํ๊ฐ๋ ๊ฐ๊ด์ ์ธ ๊ฒ์ด ์ข๋ค. ๋ชฉํ๊ฐ "๊ธฐ์กด ํ ์คํธ๋ฅผ ํต๊ณผํ๋ PR์ ์์ฑํ๋ค"๋ผ๋ฉด, ํ๊ฐ๋ ํ ์คํธ๋ฅผ ์คํํ๋ ๊ฒ์ด๋ค. ํ ์คํธ๋ ํต๊ณผํ๊ฑฐ๋ ์คํจํ ๊ฒ์ด๋ค. ๊ฐ๊ด์ ํ๊ฐ๋ ๋น ๋ฅด๊ณ , ์ ๋ ดํ๊ณ , ์ผ๊ด์ ์ด๋ค. ๋ชฉํ๋ฅผ ๊ฐ๊ด์ ๊ธฐ์ค์ ์ค์ฌ์ผ๋ก ์ค๊ณํ ์ ์๋ค๋ฉด, ๊ทธ๋ ๊ฒ ํ๋ผ.
๊ฐ๊ด์ ํ๊ฐ๊ฐ ์ด๋ ต๋ค๋ฉด ์ฃผ๊ด์ ํ๊ฐ๋ ๊ฐ๋ฅํ๋ค. ์ฃผ๊ด์ ํ๊ฐ๋ ์ฌ๋์ด ํ ์๋ ์๊ณ AI๊ฐ ํ ์๋ ์๋ค (LLM-as-a-judge). ๋ ๊ฒฝ์ฐ ๋ชจ๋ ์ฑ์ ๊ธฐ์ค(scoring rubric)์ด ๋์์ด ๋๋ค. ์ฑ์ ๊ธฐ์ค์ด๋ ๊ฐ ํญ๋ชฉ๋ณ๋ก ์ด๋ค ๊ฒ์ด ์ข์ ๋ต๋ณ์ด๊ณ ์ด๋ค ๊ฒ์ด ๋์ ๋ต๋ณ์ธ์ง ๋ช ํํ๊ฒ ์ค๋ช ํ ๊ธฐ์ค ๋ชฉ๋ก์ด๋ค. ์ฑ์ ๊ธฐ์ค์ด ์์ผ๋ฉด ํ๊ฐ์ ๊ฐ ์ผ์น๋(inter-rater agreement)๊ฐ ๋ฎ๋ค. ๋์ผํ ์ถ๋ ฅ์ ๋ ํ๊ฐ์๊ฐ ํ๊ฐํ๋ฉด ์๊ฒฌ์ด ๊ฐ๋ฆฌ๊ณ , ๊ฐ์ ํ๊ฐ์๋ ์๊ฐ์ด ์ง๋๋ฉด ๊ธฐ์ค์ด ํ๋ค๋ฆฐ๋ค. ์ฑ์ ๊ธฐ์ค์ ์ฌ๋ฌ ํ๊ฐ ์คํ ๊ฐ์ ์ ์๋ฅผ ๋น๊ต ๊ฐ๋ฅํ๊ฒ ํ๋ค. AI๊ฐ ํ๊ฐํ๋ ๊ฒฝ์ฐ์๋ ๋ช ํํ ์ฑ์ ๊ธฐ์ค์ ๋ฐ์ ๋ชจ๋ธ์ ๊ทธ๋ ์ง ์์ ๋ชจ๋ธ๋ณด๋ค ๋ ์ผ๊ด๋ ์ ์๋ฅผ ์ค๋ค.
ํ๊ฐ๊ฐ ๋ฐ๋์ ๊ฐ์ถฐ์ผ ํ ๋ ๊ฐ์ง ์์ฑ์ด ์๋ค. ๋ชฉํ๋ฅผ ๋ฐ์ํด์ผ ํ๊ณ , ์์ด๊ธฐ ์ด๋ ค์์ผ ํ๋ค.
๋ชฉํ๋ฅผ ๋ฐ์ํ๋ค๋ ๊ฒ์ ํ๊ฐ์์ ์ข์ ์ ์๋ฅผ ๋ฐ์ผ๋ฉด ๋ชฉํ๋ ์ค์ ๋ก ๋ฌ์ฑ๋๋ค๋ ๋ป์ด๋ค. ์ค์ ์ ๋๋จ์ด์ง ํ๊ฐ๋ ์์ด์ ํธ๋ฅผ ์๋ฑํ ๋ฐฉํฅ์ผ๋ก ์ต์ ํํ๋ค. ์์ด์ ํธ์ ๋ชฉํ๊ฐ ๊ณ ๊ฐ ์ง์ ํฐ์ผ ์ฒ๋ฆฌ๋ผ๋ฉด, ๋น์ทํด ๋ณด์ด์ง๋ง ์ค์ ์ ๋ณต์กํจ์ด ์๊ณ ๋จ์ํ ํฉ์ฑ ๋ฐ์ดํฐ๋ณด๋ค ์ค์ ๊ณ ๊ฐ ์ง์ ํฐ์ผ์ผ๋ก ํ๊ฐํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค.
์์ด๊ธฐ ์ด๋ ต๋ค๋ ๊ฒ์ ์์ด์ ํธ๊ฐ ์งํ๋ฅผ ์กฐ์ํด ์ข์ ์ ์๋ฅผ ๋ฐ์ ์ ์์ด์ผ ํ๋ค๋ ๋ป์ด๋ค. ํ๊ฐ๊ฐ "ํ ์คํธ๋ฅผ ํต๊ณผํ๋๊ฐ"๋ฅผ ์ธก์ ํ๋๋ฐ ์์ด์ ํธ๊ฐ ํ ์คํธ๋ฅผ ์์ ํ ์ ์๋ค๋ฉด, ์งํ๋ฅผ ๋ฏฟ์ ์ ์๋ค. ์ ๋์ ์ผ๋ก ์๊ฐํ ํ์๊ฐ ์๋ค. ์์ด์ ํธ๊ฐ ์ข์ ์ ์๋ฅผ ๋ฐ์๋ค๋ฉด, ๊ทธ๊ฒ์ด ํญ์ ์ค์ ๋ก ๋ ์ข์ ๊ฒ์ธ๊ฐ? SWE-bench Verified๋ ๊ตํ์ ์ธ ์ฌ๋ก๋ค. OpenAI๋ ์คํจ์ ์ ๋ฐ ์ด์์ด ํ ์คํธ ๊ฒฐํจ ๋๋ฌธ์์ ๋ฐ๊ฒฌํ๋ค. ์ด๋ค ํ ์คํธ๋ ๋ฌธ์ ์ค๋ช ์ ์ธ๊ธ๋์ง ์์ ํน์ ๊ตฌํ ์ธ๋ถ์ฌํญ์ ๊ฐ์ ํ๊ณ , ๋ค๋ฅธ ์ด๋ค ํ ์คํธ๋ ๋ช ์ธ๋์ง ์์ ๊ธฐ๋ฅ์ ํ ์คํธํ๋ค. ๊ทธ ์ธ์๋, ํ ์คํธ๋ ๋ชจ๋ ํ๋ก ํฐ์ด ๋ชจ๋ธ์ด ์ ๋ต ํจ์น๋ฅผ ์๊ธฐํด์ ๊ทธ๋๋ก ์ฌํํ ์ ์์๋๋ฐ, ์ด๋ ํ๋ จ ๋ฐ์ดํฐ๊ฐ ์ค์ผ๋์์์ ์์ฌํ๋ค. ๊ทธ ๊ฒฐ๊ณผ OpenAI๋ SWE-bench Verified ์ ์ ๋ณด๊ณ ๋ฅผ ์ค๋จํ๋ค [3].
์๊ฒ ์์ํ๋ผ. ๊ฐ๋ฐ ์ด๊ธฐ์๋ ํ๊ฐ ์์ ์ด ๊ฐ๋ก๋ ์ถฉ๋ถํ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ด๊ธฐ์๋ ์์ด์ ํธ๊ฐ ์๋ํ์ง ์๋ ์ํ์์ ์๋ํ๋ ์ํ๋ก ์ ํ๋๊ณ ์์ผ๋ฏ๋ก, ์ด ๊ฐ์ ์์๋ง์ผ๋ก๋ ๋ณํ๋ฅผ ๊ฐ์งํ ์ ์๋ค. ์์ด์ ํธ๊ฐ ์ฑ์ํด ๋ ์์ ์ ์ง์ ์ธ ๊ฐ์ ์ ํ๊ฒ ๋๋ฉด ์ด ๊ฐ์ ์์๋ก๋ ๊ฐ์ง๊ฐ ์ด๋ ค์์ง๋ค. ๊ฐ์งํ๋ ค๋ ๊ฐ์ ์ด ์์์ง์๋ก ํ๊ฐ ์์๋ฅผ ๋๋ ค์ผ ํ๋ค.
๋ก๊ทธ ์ธํ๋ผ
์์ด์ ํธ์ ๋ก๊ทธ๋ ํฐ ๊ฐ์น๊ฐ ์๋ค. ์คํจํ ์์ด์ ํธ์ ๋ก๊ทธ๋ฅผ ์ฝ์ด๋ณด๋ ๊ฒ๋ง์ผ๋ก๋ ๋ง์ ๊ฒ์ ์ ์ ์๋ค. ๋ชจ๋ธ์ ์์ฑํ๋ฉด์ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๊ทธ ์ฌ๊ณ ๊ณผ์ ์ด ๋ก๊ทธ์ ๋จ๋๋ค. ๊ทธ๋ฌํ ๋ก๊ทธ๋ฅผ ์ฝ์ผ๋ฉด ๋ชจ๋ธ์ด ๋๊ตฌ ๊ฒฐ๊ณผ๋ฅผ ์๋ชป ์ฝ๊ณ , ์๋ชป๋ ๊ฐ์ ์ ํ๊ณ , ์ดํ ์ฌ๋ฌ ํด์ ๊ฑธ์ณ ์๋ชป๋ ๊ฐ์ ์ ๊ณ ์ํ๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค. ์ด๊ฒ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ป์ ์ ์๋ ๊ทํ ์ ๋ณด์ด๋ฉฐ, ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ์๋ ํฌ์ํ ๊ฐ์น๊ฐ ์๋ค.
์ต์ํ ๋ชจ๋ธ์ ๋ชจ๋ ์ํธ์์ฉ์ ๊ธฐ๋กํด์ผ ํ๋ค. ๊ธฐ๋กํด์ผ ํ๋ ํญ๋ชฉ์ผ๋ก ์ฌ์ฉํ ๋ชจ๋ธ, ์ ์ฒด ์ ๋ ฅ (์์คํ ํ๋กฌํํธ์ ๋๊ตฌ ์ ์ ํฌํจ), ์ ์ฒด ์ถ๋ ฅ, ์์ ์๊ฐ, ๋น์ฉ์ด ์๋ค. ๋น์ฉ ์ถ์ ์ ํ์ง ์์ผ๋ฉด ๋์ค์ ์ฌ๊ตฌ์ฑํ๊ธฐ ์ด๋ ต๋ค. ์ง์ฐ ์๊ฐ ๋ฐ์ดํฐ๋ ๋ชจ๋ธ์ด๋ ํ๋กฌํํธ ๋ณ๊ฒฝ์ ๋น๊ตํด ์๋์ ํ์ง ๊ฐ์ ํธ๋ ์ด๋์คํ๋ฅผ ๋ถ์ํด์ผ ํ ๋ ๊ผญ ํ์ํ๋ค.
๋ก๊ทธ๋ ์ฌ๋์ด ์ง์ ์ดํด๋ณด๋ ๊ฒ๊ณผ ์๋ํ๋ ๋ถ์์ ์ง์ํด์ผ ํ๋ค. ์ฌ๋์ด ์ง์ ์ดํด๋ณด๋ ค๋ฉด ๋ก๊ทธ๋ฅผ ๋ณด๊ธฐ ์ฌ์ด ํํ๋ก ์ฝ์ ์ ์์ด์ผ ํ๊ณ ์๊ฐ, ์์ , ๊ฒฐ๊ณผ, ๋น์ฉ ๋ฑ์ผ๋ก ๊ฒ์ํ ์ ์์ด์ผ ํ๋ค. ์๋ํ๋ ๋ถ์์ ์ํด์๋ ๋ชจ๋ธ์ด ์ง์ํ ์ ์๋ ๊ตฌ์กฐํ๋ ํ์์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์กด์ฌํด์ผ ํ๋ค. ํ ์คํธ ํ์ผ๋ก๋ง ์กด์ฌํ๋ ๋ก๊ทธ๋ ๊ฐ๋ณ ์คํจ๋ฅผ ๋๋ฒ๊น ํ๋ ๋ฐ ์ ์ฉํ์ง๋ง, ์ง์ ๊ฐ๋ฅํ ํ์์ผ๋ก ์ ์ฅ๋ ๋ก๊ทธ๋ ํต๊ณ์ ์ธ ์ง๋ฌธ์ ํ ์ ์๊ฒ ํ๋ค. ์ด๋ค ์์ ์ ์คํจ์จ์ด ๊ฐ์ฅ ๋์๊ฐ? ์ด๋ค ํ๋กฌํํธ๊ฐ ๊ฐ์ฅ ๊ธด ์ถ๋ก ์ ๋ง๋๋๊ฐ? ์ฑ๊ณตํ ์คํ๋น ํ๊ท ๋น์ฉ์ ์ผ๋ง์ธ๊ฐ?
AI ์์ด์ ํธ ๋ก๊ทธ ๊ด๋ฆฌ๋ฅผ ์ํ ๋๊ตฌ๋ค์ด ์๋ค. Langfuse [4]์ Logfire [5] ๋ชจ๋ ์ดํด๋ณผ ๊ฐ์น๊ฐ ์๋ค. ํ์ง๋ง ๊ธฐ์กด ๋๊ตฌ๊ฐ ํด๊ฒฐํด ์ฃผ์ง ์๋ ํ์๊ฐ ์๋ค๋ฉด ์ง์ ๋๊ตฌ๋ฅผ ๋ง๋๋ ๊ฒ๋ ์๊ฐํด๋ด์ผ ํ๋ค. ๊ทธ๊ฒ์ ๋ ๋ฆฝ์ ์ธ ๋๊ตฌ์ผ ์๋ ์๊ณ ๊ธฐ์กด ํ๋ซํผ ์์ ๊ตฌ์ถ๋ ๊ฒ์ผ ์๋ ์๋ค.
๋ก๊ทธ๋ฅผ ๋์ค์ ์ถ๊ฐํ ์ธํ๋ผ๋ก ์๊ฐํด์๋ ์๋๋ค. ๋ก๊ทธ๊ฐ ์๋ ๊ณ ํต์ ๋๋ ๋๊ฐ ๋๋ฉด, ๊ฐ์ฅ ํฐ ๋์์ด ๋์์ ๋ก๊ทธ๋ ์ด๋ฏธ ์์ด๋ฒ๋ฆฐ ๋ค๋ค.
๋ชจ๋ธ, ํ๋กฌํํธ, ๋๊ตฌ
์์ด์ ํธ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ๋ชจ๋ธ, ํ๋กฌํํธ, ๋๊ตฌ๋ฅผ ๋ฐ๊ฟ ์ ์๋ค.
๋ชจ๋ธ์ ์์คํ ์ฑ๋ฅ์์ ๊ฐ์ฅ ์ค์ํ ์์๋ค. ๋ ์ข์ ๋ชจ๋ธ์ ํ๋ฒํ ํ๋กฌํํธ๋ฅผ ๊ตฌ์ ํ ์ ์์ง๋ง, ๋์ ๋ชจ๋ธ์ ์๋ฒฝํ ํ๋กฌํํธ๋ก๋ ๊ตฌ์ ํ ์ ์๋ค. ์๋ก์ด ๋ชจ๋ธ์ ๊ณ์ํด์ ๋์จ๋ค. ํต์ฌ์ ์ ๋ชจ๋ธ์ ๋น ๋ฅด๊ฒ ํ ์คํธํ ์ ์์ด์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ๋ชจ๋ธ์ ๊ต์ฒดํ๊ณ , ํ๊ฐ๋ฅผ ์คํํ๊ณ , ์ ์๋ฅผ ๋น๊ตํ๋ค. ํ๊ฐ๊ฐ ์ ๊ฐ์ถฐ์ ธ ์๋ค๋ฉด ์ด ์์ ์ ๋ฉฐ์น ์ด ์๋๋ผ ๋ช์ญ ๋ถ์ด ๊ฑธ๋ ค์ผ ํ๋ค. ๋ชจ๋ธ ํ๊ฐ๊ฐ ์ฌ์์ผ ์ ๋ชจ๋ธ์ ๋น ๋ฅด๊ฒ ์ ์ฉํ ์ ์๋ค.
ํ๋กฌํํธ๋ ์ผ์์ ์ธ ๊ฐ์ ์ด ์ผ์ด๋๋ ๊ณณ์ด๋ค. ํ๋กฌํํธ๋ฅผ ๊ฐ์ ํ๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ ๋ชจ๋ธ์ด ์ํ๋ ๊ฒ์ ์์ํ๋ ๊ฒ์ด ์๋๋ผ ๋ก๊ทธ๋ฅผ ์ฝ๋ ๊ฒ์ด๋ค. ์คํจํ ์คํ์ ๋ก๊ทธ๋ ๋ณดํต ๋ชจ๋ธ์ด ๋ฌด์์ ์คํดํ๋์ง, ํ๋กฌํํธ์ ์ด๋ค ๋ถ๋ถ์ด ์ ๋ฌ๋์ง ์์๋์ง ๋ณด์ฌ์ค๋ค. ๋ณ๊ฒฝ์ฌํญ์ ํ๊ฐ๋ก ๊ฒ์ฆํด์ผ ํ๋ค. ์ด๋ค ์คํจ๋ฅผ ๊ณ ์น๋ ํ๋กฌํํธ ๋ณ๊ฒฝ์ด ๋ค๋ฅธ ์ด๋ค ๊ฒฝ์ฐ๋ฅผ ์กฐ์ฉํ ๋ง๊ฐ๋จ๋ฆด ์ ์๋ค.
๋๊ตฌ๋ ๋ชจ๋ธ๊ณผ ์ธ์ ์ฌ์ด์ ์ธํฐํ์ด์ค์ด๋ฉฐ, ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ฒ๋ผ ์ฃผ์ ๊น๊ฒ ์ค๊ณํด์ผ ํ๋ค. ์ค๊ณ์ ๋ชฉํ๋ ์ฌ๋ฐ๋ฅธ ์ฌ์ฉ์ ์ฝ๊ฒ ํ๊ณ ์๋ชป๋ ์ฌ์ฉ์ ์ด๋ ต๊ฒ ๋ง๋๋ ๊ฒ์ด๋ค. ๋ชจ๋ธ์ด ๋๊ตฌ๋ฅผ ์์ฃผ ์๋ชป ์ฌ์ฉํ๋ค๋ฉด -- ์ธ์๋ฅผ ์๋ชป๋ ํ์์ผ๋ก ์ ๋ฌํ๊ฑฐ๋, ์๋ชป๋ ๋งฅ๋ฝ์์ ํธ์ถํ๊ฑฐ๋, ์ถ๋ ฅ์ ์คํดํ๋ค๋ฉด -- ๊ทธ๊ฒ์ ๋ชจ๋ธ์ ๋ฌธ์ ๊ฐ ์๋๋ผ ๋๊ตฌ์ ๋ฌธ์ ๋ค. ์ฌ์ฉ์๊ฐ ๊ณ์ ๊ฐ์ ์ค์๋ฅผ ํ๋ฉด ์ฌ์ฉ์๊ฐ ์๋๋ผ UI๋ฅผ ๋ค์ ์ค๊ณํ๋ฏ์ด, ๋ชจ๋ธ์ด ์๋ํ์ง ์์ ํ๋์ ๊ณ์ํ๋ฉด ๋ชจ๋ธ์ ๋ง์ถฐ์ฃผ๋ ๊ฒ์ด ์ข์ ์ ์๋ค.
์ธ ๊ฐ์ง ๋ชจ๋ ์ง๊ด๋ณด๋ค๋ ํ๊ฐ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค. ๋ฌด์์ด ๋์์ด ๋ ์ง์ ๋ํ ์ง๊ด์ ์์ฃผ ํ๋ฆฌ์ง๋ง, ํ๊ฐ ์ ์๋ ๊ทธ๋ ์ง ์๋ค.
์คํฌ๊ณผ ๋ฐฐ๊ฒฝ์ง์
์ธ์ด ๋ชจ๋ธ์ ์ธ์์ ๋ํ ๋ฐฉ๋ํ ์ง์์ ๊ฐ์ง๊ณ ์๋ค. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ณผํ์ ๊ฐ๋ ๊ณผ ์ญ์ฌ์ ์ฌ์ค์ ์ดํดํ๋ค. ํ์ง๋ง ์ฐ๋ฆฌ ์กฐ์ง๊ณผ ์ฝ๋๋ฒ ์ด์ค, ๋ด๋ถ ๋๊ตฌ, ํด๋น ๋ถ์ผ์ ๊ด์ต์ ๋ํด์๋ ์ ๋ชจ๋ฅธ๋ค. ๋ชจ๋ธ์ ์๋ชป์ด ์๋๋ผ ์๋ ค์ฃผ์ง ์์๊ธฐ ๋๋ฌธ์ด๋ค.
์ค์ฉ์ ์ธ ํด๊ฒฐ์ฑ ์ ๋ชจ๋ธ์๊ฒ ํ์ํ ๊ฒ์ ์ฃผ๋ ๊ฒ์ด๋ค. ์ ๋ณด ์์ค์ ์ฌ์ฉ๋ฒ์ ์ ๊ณตํด์ผ ํ๋ค. ์์ด์ ํธ๊ฐ ๋ด๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ํด์ผ ํ๋ค๋ฉด, ๊ทธ๋ ๊ฒ ํ ์ ์๋ CLI๋ฅผ ์ฃผ๊ณ ์ฌ์ฉ๋ฒ ๋ฌธ์๋ ๊ฐ์ด ์ค๋ค. ์ฝ๋๋ฒ ์ด์ค ํน์ ์ ๊ด์ต์ ๋ฐ๋ผ์ผ ํ๋ค๋ฉด, ๊ทธ ๊ด์ต์ ํ์ผ์ ์ ์ด ๋๋ค. ์ง์ ๋ฒ ์ด์ค๋ฅผ ์ฐธ์กฐํด์ผ ํ๋ค๋ฉด, ๊ฒ์ ๋๊ตฌ๋ฅผ ์ฃผ๊ณ ์คํค๋ง๋ฅผ ์ค๋ช ํ๋ค. ๋ชจ๋ธ์ ์ถ๋ก ๋ฅ๋ ฅ๋ณด๋ค ์ถ๋ก ํ ์ฌ๋ฃ๊ฐ ๋ฌธ์ ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
Anthropic์ ์ด ํจํด์ ์์ด์ ํธ ์คํฌ [6]๋ก ๊ณต์ํํ๋ค. ์คํฌ์ ์ง์นจ์ด ๋ด๊ธด SKILL.md ํ์ผ๊ณผ ์ง์ ์คํฌ๋ฆฝํธ ๋ฐ ๋ฆฌ์์ค๋ก ๊ตฌ์ฑ๋ ํด๋๋ค. ์์ํ ๋ ์์ด์ ํธ๋ ์ค์น๋ ๊ฐ ์คํฌ์ ์ด๋ฆ๊ณผ ์ค๋ช
๋ง ๋ฏธ๋ฆฌ ์ฝ์ด๋๋ค. ์์
์ด ๊ด๋ จ ์คํฌ์ ํธ๋ฆฌ๊ฑฐํ๋ฉด, ์์ด์ ํธ๋ ์ ์ฒด ์ง์นจ๊ณผ ๋งํฌ๋ ํ์ผ์ ํ์์ ๋ฐ๋ผ ์ฝ๋๋ค. ์ด ์ ์ง์ ๊ณต๊ฐ ์ค๊ณ ๋๋ถ์ ์ปจํ
์คํธ ์๋์๋ ํ๊ณ๊ฐ ์์ง๋ง ์คํฌ์๋ ๊ทธ๋ณด๋ค ๋ง์ ์ปจํ
์คํธ๋ฅผ ๋ด์ ์ ์๋ค.
Anthropic์ ์คํฌ ํ์์ ์ฌ์ฉํ์ง ์๋๋ผ๋, ์์ด๋์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์ฉํ ์ ์๋ค.. ์์ด์ ํธ์๊ฒ ํ์ํ์ง๋ง ์ผ๋ฐ ์ง์์ผ๋ก๋ ์ ์ถํ ์ ์๋ ์ปจํ ์คํธ๊ฐ ๋ฌด์์ธ์ง ํ์ ํ๊ณ , ๊ทธ ์ปจํ ์คํธ๋ฅผ ๋ฐ๊ฒฌ ๊ฐ๋ฅํ ๋ฆฌ์์ค๋ก ํจํค์งํ๊ณ , ์์ด์ ํธ๊ฐ ํ์์ ๋ฐ๋ผ ์ ๊ทผํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ฃผ์ด๋ผ.
๋น์ฉ ์ ์ด
์ ๋ชจ๋ธ๊ณผ ํฐ ๋ชจ๋ธ์ด ๋ฅ์ฌ๋ ์๋๋ค. ํ๋ก ํฐ์ด ๋ชจ๋ธ์ ๋น์ธ๊ณ ๋๋ฆฌ๋ค. ์์ด์ ํธ ์์คํ ๋ด์ ๋ง์ ์์ ์ ๋ ์์ ๋ชจ๋ธ๋ก ์ถฉ๋ถํ๋ค. ์ค์ฉ์ ์ธ ์ ๊ทผ๋ฒ์ ๊ฐ ์์ ์ ์์ ์ ์ผ๋ก ํ ์ ์๋ ๊ฐ์ฅ ์์ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ์ฌ๋ฌ ๋ชจ๋ธ์ ๋์์ผ๋ก ํ๊ฐ๋ฅผ ์คํํด ๋ณ๊ณก์ ์ ์ฐพ๊ณ , ๊ทธ๋ณด๋ค ํ ๋จ๊ณ ์์ ๋ชจ๋ธ์ ์ฐ๋ฉด ๋๋ค.
์ถ๋ ฅ ํ ํฐ์ ์ ๋ ฅ ํ ํฐ๋ณด๋ค ๋น์ธ๋ค. ๋ฐ๋ผ์ ์ ๋ ฅ ํ ํฐ๋ณด๋ค ์ถ๋ ฅ ํ ํฐ์ ์๊ปด์ผ ํ๋ค. ํ์ํ ๊ฒ๋ง ์์ฒญํด ์ถ๋ ฅ์ ์ต์ํํ๋ผ. ์์ ์ ์ํด ๋ฌด๊ฑฐ์ด ์ฒ๋ฆฌ ์ ์ ๋ถ๋ฅ๋ ํํฐ๋ง์ด ํ์ํ๋ค๋ฉด, ๊ฐ๋ฒผ์ด ๋จ๊ณ๋ฅผ ๋จผ์ ํ๋ผ. ์ฒ ๊ฐ์ ํญ๋ชฉ์ ๋ถ๋ฅํด ๊น๊ฒ ๋ถ์ํ ๊ฐ์น ์๋ ์ค๋ฌด ๊ฐ๋ฅผ ์ฐพ๋ ๊ฒ์ ์ฒ ๊ฐ ๋ชจ๋ ์ ์ฒด ๋ถ์์ ์คํํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ ๋ ดํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ถ๋ฅ ๋จ๊ณ๋ ๋ถ์ ๋จ๊ณ๋ณด๋ค ๋ ์์ ๋ชจ๋ธ์ ์ธ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
ํ๋กฌํํธ ์บ์ฑ์ ์ ๋ ฅ ๋น์ฉ์ ์ค์ด๋ ๊ฐ์ฅ ํจ๊ณผ์ ์ธ ์๋จ ์ค ํ๋๋ค. OpenAI์ Anthropic ๋ชจ๋ ๋ฐ๋ณต๋๋ ํ๋กฌํํธ ์ ๋์ฌ๋ฅผ ์บ์ฑํ๋ฏ๋ก, ๋งค ์์ฒญ ์์ ๋ฑ์ฅํ๋ ๋ด์ฉ -- ์์คํ ํ๋กฌํํธ์ ๋๊ตฌ ์ ์ -- ์ ํ ๋ฒ ์บ์ฑ๋๋ฉด ์ดํ ํธ์ถ์์ ํจ์ฌ ์ ๋ ดํด์ง๋ค. ์์ ์ ์ธ ๋ด์ฉ์ ์ปจํ ์คํธ ์์ ๋๊ณ ํธ์ถ ์ฌ์ด์ ํธ์งํ์ง ๋ง๋ผ. ์ปจํ ์คํธ ํธ์ง -- ๋ํ์ ์๋ถ๋ถ์ ์ฌ๋ฐฐ์ดํ๊ฑฐ๋, ์์ฝํ๊ฑฐ๋, ๋ค๋ฌ๋ ๊ฒ -- ์ ์บ์๋ฅผ ํ๊ดดํ๋ฏ๋ก ์ ์คํ๊ฒ ์ ๊ทผํด์ผ ํ๋ค.
ํด์ผํ ์ผ์ ๋ฐฐ์น ์์ ์ผ๋ก ๊ตฌ์กฐํํ ์ ์๋ค๋ฉด -- ์ค์๊ฐ ์๊ฑด ์์ด ์ฒ๋ฆฌ๋๋ ๋ง์ ๋ ๋ฆฝ์ ์ ๋ ฅ -- OpenAI์ Anthropic ๋ชจ๋ ์๋นํ ํ ์ธ์จ๋ก ๋ฐฐ์น API๋ฅผ ์ ๊ณตํ๋ค. ๋ฐฐ์น ์ฒ๋ฆฌ๋ ๋ํํ ์์ด์ ํธ์๋ ์ ํฉํ์ง ์์ง๋ง, ํ๊ฐ ์คํ, ๋๊ท๋ชจ ๋ถ๋ฅ ์์ , ์ง์ฐ ์๊ฐ ์ ์ฝ์ด ์๋ ์ํฌ๋ก๋์์ ๋น์ฉ์ ํฌ๊ฒ ์ค์ผ ์ ์๋ค.
๊ฐ๋ก
๋ฉํฐ ์์ด์ ํธ ์์คํ
๋ฉํฐ ์์ด์ ํธ ์์คํ ์ ๋จ์ํ ๋ณ๋ ฌ๋ก ์คํํ๋ ๋ฐฉ๋ฒ์ด ์๋๋ค. ๋ ๊ฐ์ง ๋ชฉ์ ์ด ์๋ค. ์ ๋นํ ํฌ๊ธฐ๋ก ์์ ์ ๋ถํดํ๋ ๊ฒ, ๊ทธ๋ฆฌ๊ณ ํฌ์ํ๊ณ ์ ํ๋ ์์์ธ ์ปจํ ์คํธ ์๋๋ฅผ ์๋ผ๋ ๊ฒ์ด๋ค.
์ปจํ ์คํธ ์๋ ์ ์ฝ์ ๊ณผ์ํ๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ปจํ ์คํธ ์๋ ์์ ๋ชจ๋ ๊ฒ์ด ๋ชจ๋ธ์ ์ฃผ์๋ฅผ ๋๊ณ ๊ฒฝ์ํ๋ค. ๋ชจ๋ ์ค๊ฐ ๊ฒฐ๊ณผ, ๋ชจ๋ ๋๊ตฌ ์๋ต, ํ์ํ๋ค ๋งํ ๋ชจ๋ ๋ง๋ค๋ฅธ ๊ธธ. ํ๋์ ์์ด์ ํธ๊ฐ ํฐ ์์ ์ ์ฒ๋ฆฌํ๋ฉด ์ด ๋ชจ๋ ๊ฒ์ด ํ ๊ณณ์ ์์ธ๋ค. ์ ์ ์ค์ํ ๋ถ๋ถ์ ๋ค๋ค๋ฅผ ๋์ฏค์ด๋ฉด, ์ด์ ๋จ๊ณ์์ ๋์จ ๋ฌด๊ดํ๊ฑฐ๋ ์คํ๋ ค ๋ฐฉํด๊ฐ ๋๋ ์๋ฃ๋ค๋ก ์ปจํ ์คํธ๊ฐ ๊ฐ๋ ์ฐจ ์๋ค. ๋ณ๋์ ์์ด์ ํธ๋ ๊ฐ์ ์์ ์ ์์ ์๋ง ๊ด๋ จ๋ ๊น๋ํ๊ณ ์ง์ค๋ ์ปจํ ์คํธ๋ฅผ ๊ฐ๋๋ค.
์์ ๋ถํด๊ฐ ๋ ๋ค๋ฅธ ์ด์ ๋ค. ํ๋์ ์์ด์ ํธ๊ฐ ์ ์ฒ๋ฆฌํ๊ธฐ์ ๋๋ฌด ํฐ ์์ ์ ๋ณดํต ์ํธ ์์กด์ฑ์ด ์ ์ ํ์ ์์ ์ผ๋ก ๋๋ ์ ์๋ค. ์ค์ผ์คํธ๋ ์ดํฐ์ ์ญํ ์ ๊ทธ ๊ตฌ์กฐ๋ฅผ ํ์ ํ๋ ๊ฒ์ด๋ค. ์ด๋ค ๋ถ๋ถ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์งํ๋ ์ ์๋์ง, ์ด๋ค ๊ฒ์ด ์์๋ฅผ ์ง์ผ์ผ ํ๋์ง, ์ด๋ค ๊ฒฐ๊ณผ๋ฅผ ๋ง์ง๋ง์ ์ข ํฉํด์ผ ํ๋์ง. ์ด๊ฒ์ ๋จ์ํ ํ๋กฌํํ ๋ฌธ์ ๊ฐ ์๋๋ผ ์ค๊ณ์ ๋ฌธ์ ์ด๋ค.
๋ฉํฐ ์์ด์ ํธ ์ํคํ ์ฒ๊ฐ ํญ์ ์ฌ๋ฐ๋ฅธ ์ ํ์ ์๋๋ค. ์์ ์ด ๋ณธ์ง์ ์ผ๋ก ์์ฐจ์ ์ด๋ผ๋ฉด -- ๊ฐ ๋จ๊ณ์์ ์ด์ ์ ๋ชจ๋ ๊ฒ์ ๋ํ ์์ ํ ์ง์์ด ํ์ํ๋ค๋ฉด -- ์์ด์ ํธ๋ฅผ ๋ถ๋ฆฌํด๋ ์ป์ ๊ฒ์ด ๊ฑฐ์ ์๊ณ ๋ฌธ์ ์ ๋ง ๋ง์์ง๋ค. ๋์ ์์ , ์ฆ ๋ณ๋ ฌ๋ก ์งํ๋๋ค๊ฐ ๋ง์ง๋ง์ ์ข ํฉํ๋ ์์ ์ด ์ ๋ง๋๋ค. ๋จ๊ณ ๊ฐ ์ํธ ์์กด์ฑ์ด ๊ฐํ ์ด์ดํ๊ฒ ๊ฒฐํฉ๋ ์์ ์ ๊ทธ๋ ์ง ์๋ค.
๋ฉํฐ ์์ด์ ํธ ์์คํ ์ ๋น์ธ๋ค. Anthropic์ ๋ฐ๋ฅด๋ฉด ๋ฉํฐ ์์ด์ ํธ ์ฐ๊ตฌ ์์คํ ์ ํ์ค ์ฑํ ๋ณด๋ค ์ฝ 15๋ฐฐ ๋ง์ ํ ํฐ์ ์ฌ์ฉํ๋ค [7]. ์์ ์ด ์ถฉ๋ถํ ๋ณต์กํ๊ณ ์ถ๋ ฅ์ด ๊ฐ์น ์์ ๋๋ง ๊ทธ๋ฌํ ๋น์ฉ์ด ์ ๋นํ๋ ์ ์๋ค. ๋จ์ผ ์์ด์ ํธ๋ก ์ฒ๋ฆฌํ ์ ์๋ ์์ ์ ๋ฉํฐ ์์ด์ ํธ ์์คํ ์ผ๋ก ํ๋ ๊ฒ์ ๋ญ๋น์ผ ๋ฟ์ด๋ค.
์๋ธ์์ด์ ํธ
์๋ธ์์ด์ ํธ๋ ์ค์ผ์คํธ๋ ์ดํฐ๊ฐ ํน์ ํ์ ์์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์์ฑํ๋ ์์ด์ ํธ์ด๋ค. ๋ณ๋์ ์ปจํ ์คํธ ์๋์ ๋๊ตฌ, ์คํ ๋ฃจํ๋ฅผ ๊ฐ๋๋ค. ์ค์ผ์คํธ๋ ์ดํฐ๋ ์์ ์ ์์ํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์์ ์ ์ปจํ ์คํธ์ ํตํฉํ๋ค.
์๋ธ์์ด์ ํธ์๋ ๋ช ํํ ์ข ๋ฃ ์กฐ๊ฑด์ด ํ์ํ๋ค. ์๋ฃ๋์์์ ์๋ฆฌ๊ณ ์ค์ผ์คํธ๋ ์ดํฐ๊ฐ ์ฌ์ฉํ ์ ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋๋ ๋ฌด์ธ๊ฐ๊ฐ ์์ด์ผ ํ๋ค. ๊ฐ์ฅ ๊น๋ํ ๋ฉ์ปค๋์ฆ์ ์ ์ฉ ์ถ๋ ฅ ๋๊ตฌ๋ค. ๋ชจ๋ธ์ด ์ถ๋ ฅ ๋๊ตฌ๋ฅผ ํธ์ถํ๋ฉด ์คํ์ด ๋๋๊ณ ๊ฒฐ๊ณผ๊ฐ ๋ฐํ๋๋ค. ์ด๊ฒ์ ์๋ธ์์ด์ ํธ์ ๋ง์ง๋ง ์๋ต์ ์ถ๋ ฅ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ซ๋ค. ๋ช ์์ ์ด๊ณ , ๊ตฌ์กฐํ๋์ด ์๊ณ , ํ์ฑํ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ด๋ค.
Armin Ronacher๋ ๋ชจ๋ธ์ด ์ถ๋ ฅ ๋๊ตฌ๋ฅผ ํธ์ถํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๊ณ ์ง์ ํ๋ค [8]. ์ด๊ฒ์ ์ค์ ๋ฌธ์ ์ง๋ง ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ๋ ์๋๋ค. OpenAI์ Anthropic API ๋ชจ๋ ํน์ ๋๊ตฌ๋ฅผ ๊ฐ์ ๋ก ํธ์ถํ๊ฒ ํ ์ ์๋ tool_choice ํ๋ผ๋ฏธํฐ๋ฅผ ์ง์ํ๋ค. ์๋ธ์์ด์ ํธ ์คํ์ด ๋๋ ๋ ์์
์ ๋ง์น ํ tool_choice๋ฅผ ์ถ๋ ฅ ๋๊ตฌ๋ก ์ค์ ํด ๋ง์ง๋ง API ํธ์ถ์ ํ ์ ์๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ชจ๋ธ์ด ์ค์ค๋ก ์ถ๋ ฅ ๋๊ตฌ๋ฅผ ํธ์ถํ์ง ์์ผ๋ ค ํ๋๋ผ๋ ๊ตฌ์กฐํ๋ ์ถ๋ ฅ์ ๋ด๋๋ก ๊ฐ์ ํ ์ ์๋ค.
๋ ๊น๋ค๋ก์ด ๋ฌธ์ ๋ ์คํจ๋ค. ์๋ธ์์ด์ ํธ๋ ์คํจํ ์ ์์ผ๋ฉฐ, ๊ฐ์ฅ ํฐ ํผํด๋ฅผ ์ฃผ๋ ์คํจ ๋ฐฉ์์ ๋ช ํํ ์ค๋ฅ๊ฐ ์๋๋ผ ์ง์ ์์ด ๊ธธ๊ฒ ์ด์ด์ง๋ ์คํ์ด๋ค. ๋ฌธ์ ๊ฐ ๋๋ ๊ฒ์ ์ค๋ฅ์ ์ฆํญ์ด๋ค. ๋ชจ๋ธ์ด ๋๊ตฌ ๊ฒฐ๊ณผ๋ฅผ ์๋ชป ์ฝ๊ณ , ์๋ชป๋ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๊ณ , ์ดํ์ ๊ฐ ๋จ๊ณ๊ฐ ๊ทธ ์๋ชป๋ ๊ธฐ๋ฐ ์์ ์์ธ๋ค. ์ด๋ฐ ์คํ์ ํด ์ ์ธก๋ฉด์์ ๊ฐ์ฅ ๊ธด ๊ฒฝํฅ์ด ์๋ค. ์ฑ๊ณตํ ์๋ธ์์ด์ ํธ๋ ๋๊ฐ ์์ธก ๊ฐ๋ฅํ ํด ์ ์์ ์ฑ๊ณตํ๋ค. ๊ทธ ์ง์ ์ ๋์ด์๋ ๊ณ์ ๊ฐ๋ ๊ฒ์ ๋๊ฐ ๋งํ ๊ฒ์ด๋ค.
์ค์ฉ์ ์ธ ํด๊ฒฐ์ฑ ์ ํด์ ์ ํ์ด๋ค. ํด์ ์ ํ์ ์์ด์ ํธ๋ฅผ ์ฌ๋ฌ ์์ ์ ์คํํด๋ณด๊ณ ์ฑ๊ณต์ ์ธ ์คํ์ด ์ด๋์ ๋๋๋์ง ๊ด์ฐฐํด์ ๊ฒฝํ์ ์ผ๋ก ๊ฒฐ์ ํ๋ค. ์ ํ์ ๋๋ฌํ๋ฉด, ์คํ์ ๊ณ์ํ๊ฒ ๋๋ ๋์ ํฌ๊ธฐํ๊ณ ๋ค์ ์๋ํ๋ค. ๊น๋ํ ์ปจํ ์คํธ๋ก ์๋ก ์์ํ๋ฉด ๊ธธ๊ฒ ๋์ด์ง ์คํ์ด ์คํจํ ๊ณณ์์ ์ฑ๊ณตํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ด๊ฒ์ ์์ด์ ํธ๊ฐ ์ ์ง์ ์ผ๋ก ์ง์ ์ ์ด๋ฃจ๊ณ ์๋ค๊ณ ์๊ฐํ๋ค๋ฉด ์ง๊ด์ ๋ฐํ์ง๋ง, ์ค๋ฅ ์ฆํญ์ ๋งํ ์์ด์ ํธ๊ฐ ๋์์ง๋ ๊ฒ์ด ์๋๋ผ ์ข ์ข ๋๋น ์ง๊ณ ์์์ ์๋ฏธํ๋ค.
ํด์ ์ ํ์ ๊ฐ๋ฐ ์ค์ ์ ์ฉํ๊ธฐ๋ ํ๋ค. ์์ด์ ํธ๊ฐ ์ผ์์ ์ผ๋ก ์ ํ์ ๋๋ฌํ๋ค๋ฉด, ๊ทธ๊ฒ์ ์์ ๋ถํด๊ฐ ์์ง์ด ํ์ํ๋ค๋ ์ ํธ์ด๊ฑฐ๋, ๋๊ตฌ๊ฐ ๋ชจ๋ธ์๊ฒ ํ์ํ ๊ฒ์ ์ฃผ์ง ์๊ณ ์๊ฑฐ๋, ํ๋กฌํํธ๊ฐ ์ธ์ ์์ ์ด ์๋ฃ๋์๋์ง ์ถฉ๋ถํ ๋ช ํํ์ง ์๋ค๋ ์ ํธ์ด๋ค.
์ฝ๋ ์์ฑ
์์ด์ ํธ๊ฐ ๋๊ตฌ๋ก ๋ณต์กํ ์์ ์ ํด์ผ ํ ๋ -- ์ฌ๋ฌ ๋๊ตฌ๋ฅผ ์์๋๋ก ํธ์ถํ๊ฑฐ๋, ํฐ ๊ฒฐ๊ณผ๋ฅผ ํํฐ๋งํ๊ฑฐ๋, ํญ๋ชฉ ๋ชฉ๋ก์ ๋ฐ๋ณต ์ฒ๋ฆฌํ๋ ๊ฒ -- ๋จ์ํ ์ ๊ทผ๋ฒ์ ๋ชจ๋ธ์ด ๋๊ตฌ๋ฅผ ํ๋์ฉ ํธ์ถํ๊ณ , ํธ์ถ ์ฌ์ด๋ง๋ค ๋ชจ๋ธ์ ๊ฑฐ์น๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ ์๋ํ์ง๋ง ๋น์ธ๊ณ ๋๋ฆฌ๋ค. ๋ ๋์ ๋ฐฉ๋ฒ์ด ์๋ค. ๋ชจ๋ธ์๊ฒ ๊ทธ ๋ชจ๋ ๊ฒ์ ํ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ํ ๋ค์ ์ฝ๋๋ฅผ ์คํํ๋ ๊ฒ์ด๋ค.
์ด๊ฒ์ด ๊ฐ๋ฅํ ์ด์ ๋ ์ธ์ด ๋ชจ๋ธ์ด ์ฝ๋ ์์ฑ์ ์ ๋ ๋ฐ์ด๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ธ์ด ๋ชจ๋ธ์ ํ๋ จ์์ ๋๊ตฌ ํธ์ถ๋ณด๋ค ํจ์ฌ ๋ง์ ์ค์ ์ฝ๋๋ฅผ ๋ณด์๋ค. ๋๊ตฌ๋ฅผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํธ์ถ ๊ฐ๋ฅํ ํจ์๋ก ์ ์ํ๋ฉด, ๋ชจ๋ธ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ทธ๋ฌ๋ฏ์ด ๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ, ์ค๋ฅ ์ฒ๋ฆฌ์ ๋ํด ์ถ๋ก ํ ์ ์๋ค. Cloudflare๋ Code Mode [9]์์ ๋ช ์์ ์ผ๋ก ๊ทธ๋ ๊ฒ ์ฃผ์ฅํ๋ค. ๋๊ตฌ ํธ์ถ์ ๋ชจ๋ธ์ด ๋๋ฌผ๊ฒ ์ ํ๋ ํจํด์ ์์กดํ์ง๋ง, ์ฝ๋ ์์ฑ์ ๋ชจ๋ธ์ด ๊น์ด ๋ด๋ฉดํํ ํจํด์ ์์กดํ๋ค.
์ฝ๋ ์์ฑ์ ํ ํฐ ์ ์ฝ ํจ๊ณผ๋ ํฌ๋ค. ์ ํต์ ์ธ ๋๊ตฌ ํธ์ถ ๋ฃจํ์์๋ ๋ชจ๋ ์ค๊ฐ ๊ฒฐ๊ณผ๊ฐ ๋ชจ๋ธ์ ์ปจํ ์คํธ ์๋๋ฅผ ๊ฑฐ์น๋ค. 2์๊ฐ์ง๋ฆฌ ํ์ ๋ น์ทจ๋ฅผ ๊ฐ์ ธ์ CRM์ ์ฒจ๋ถํ๋ฉด, ์ ์ฒด ๋ น์ทจ๊ฐ ์ปจํ ์คํธ์ ๋ ๋ฒ ๋ค์ด๊ฐ๋ค. 20๋ช ์ง์์ ์์ฐ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ์กฐํํ๋ฉด, ์์ฝํ๊ธฐ ์ ์ 20๊ฐ์ ์๋ต์ด ๋ชจ๋ ์ปจํ ์คํธ์ ์ ์ฌ๋๋ค. ์ฝ๋ ์์ฑ์ ์ฌ์ฉํ๋ฉด ์ค๊ฐ ๊ฒฐ๊ณผ๊ฐ ์คํ ํ๊ฒฝ์ ๋จธ๋ฌผ๊ณ , ์ต์ข ์ถ๋ ฅ -- ํํฐ๋ง๋ ์์ฝ, ํฉ๊ณ -- ๋ง ๋ชจ๋ธ์๊ฒ ๋์๊ฐ๋ค. Anthropic์ ๋ํ์ ์ธ ์ฌ๋ก์์ ํ ํฐ ์ฌ์ฉ๋์ 15๋ง์์ 2์ฒ์ผ๋ก ์ค์๋ค๊ณ ๋ณด๊ณ ํ๋ค [10].
์ค์ฉ์ ์ธ ๊ตฌํ์๋ ์ธ ๊ฐ์ง๊ฐ ํ์ํ๋ค.
์ฝ๋ ์คํ ํ๊ฒฝ. ์์ฑ๋ ์ฝ๋๊ฐ ์ด๋๊ฐ์์ ์คํ๋์ด์ผ ํ๋ค. ์๋๋ฐ์ค๊ฐ ํ์ํ๋ค. ๋คํธ์ํฌ ์ ๊ทผ์ ์ ํํ๊ณ , ์๋ํ ๊ฒ ์ด์ธ์ ํ์ผ์์คํ ์ ๊ทผ์ ๊ธ์งํด์ผ ํ๋ค. Cloudflare๋ V8 isolate๋ฅผ ์ฌ์ฉํ๊ณ , Anthropic์ Python ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ค. ์ง์ ๊ตฌ์ถํ๋ค๋ฉด ์ธํ๋ผ๊ฐ ๊ฐ๋จํ์ง๋ ์์ง๋ง, ์๋๋ฐ์ค๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
ํจ์๋ก ๋ ธ์ถ๋ ๋๊ตฌ. ๋ชจ๋ธ์ ์ด๋ค ํจ์๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ ๋ฌด์์ ๋ฐํํ๋์ง ์์์ผ ํ๋ค. ์ถ๋ ฅ ํ์์ ๋ํ ์ค๋ช ์ด ์ค์ํ๋ค. ๋๊ตฌ๊ฐ JSON์ ๋ฐํํ๋ค๋ฉด ์คํค๋ง๋ฅผ ์ค๋ช ํ๋ผ. ๋ชจ๋ธ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ ค๋ฉด ๊ธฐ๋ํด์ผ ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์์์ผ ํ๋ค.
๋๊ตฌ๋ณ ์ตํธ์ธ. ๋ชจ๋ ๋๊ตฌ๊ฐ ์์ฑ๋ ์ฝ๋์์ ํธ์ถ ๊ฐ๋ฅํด์ผ ํ๋ ๊ฒ์ ์๋๋ค. Anthropic์ API๋ ๊ฐ ๋๊ตฌ ์ ์์ allowed_callers ํ๋๋ก ์ด๋ฅผ ๊ตฌํํ๋ค [11]. ๋ชจ๋ธ์ด ์ง์ ํธ์ถํ๋ ๋๊ตฌ์ ์ฝ๋์์ ํธ์ถํ๋ ๋๊ตฌ๋ฅผ ๊ตฌ๋ถํ๋ค. ์ด ๊ตฌ๋ถ์ ๋ณด์์ ์ค์ํ๋ค. ๋ถ์์ฉ์ด ์๊ฑฐ๋ ๋ฏผ๊ฐํ ์ถ๋ ฅ์ ๊ฐ์ง ๋๊ตฌ๋ ๋ ๋งฅ๋ฝ์์ ๋ค๋ฅธ ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ ์๋ค.
๋๊ตฌ ์ฌ์ฉ ์ธ์๋ ๊ฐ์ ์์น์ด ์ ์ฉ๋๋ค. ์์ด์ ํธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ ๋ -- ํ์ผ์ ๋ณํํ๊ฑฐ๋, ์ง์ ๊ฒฐ๊ณผ๋ฅผ ์ง๊ณํ๊ฑฐ๋, ๋ชฉ๋ก์ ํํฐ๋งํ๋ -- ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ํ๊ณ ๊ทธ ์ฝ๋๋ฅผ ์คํํ๋ ๊ฒ์ด ์์ฐ์ด๋ก ๋ฐ์ดํฐ์ ๋ํด ์ถ๋ก ํ๊ฒ ํ๋ ๊ฒ๋ณด๋ค ๋์ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๋ชจ๋ธ์ ์ฝ๋ ์์ฑ ๋ฅ๋ ฅ์ ์ฝ๋ฉ ์์ด์ ํธ๋ง์ ์ํ ๊ธฐ๋ฅ์ด ์๋๋ผ ๊ธฐ๋ณธ์ ์ธ ๋๊ตฌ์ด๋ค.
์ด ํจํด์ ์ฑํํ๊ณ ์ถ๋ค๋ฉด, MCPorter [12]๊ฐ ๋์์ด ๋ ์ ์๋ค. MCPorter๋ MCP ์๋ฒ์ ๋๊ตฌ ์ ์์์ TypeScript ๋ํผ๋ฅผ ์์ฑํ๋ ์คํ ์์ค TypeScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
ํ ๊ฐ์ง ์ฃผ์์ฌํญ์ด ์๋ค. ์ด ํจํด์ ์คํ ํ๊ฒฝ์ด ์ง์ ์ผ๋ก ๊ฒฉ๋ฆฌ๋์ด ์์ด์ผ ํ๋ค. ์์ฑ๋ ์ฝ๋๋ ์ ๋ขฐํ ์ ์๋ ์ ๋ ฅ์ด๋ค. ์์ด์ ํธ๊ฐ ์ ์์ ์ธ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ํ๋ ํ๋กฌํํธ๋ก ๊ณต๊ฒฉ๋นํ ์ ์๋ค. ์๋๋ฐ์ฑ์ ์ ํ์ฌํญ์ด ์๋๋ค.
๊ตฌ์กฐํ๋ ์ถ๋ ฅ
์์ด์ ํธ๊ฐ ๊ธฐ๊ณ๊ฐ ์ฝ์ ์ ์๋ ์ถ๋ ฅ์ ๋ด๋์์ผ ํ ๋๋ -- ๋ถ๋ฅ, ๊ฒฐ์ , ํ๋ ์ถ์ถ -- ๊ตฌ์กฐํ๋ ์ถ๋ ฅ์ด ์ฌ๋ฐ๋ฅธ ๋๊ตฌ๋ค. ํ ์คํธ๋ฅผ ํ์ฑํ๋ ๋์ , ์คํค๋ง๋ฅผ ์ ์ํ๊ณ ๋ชจ๋ธ์ด ์ฑ์ด๋ค. ๋ ์ ๋ขฐํ ์ ์๊ณ , ํ ์คํธํ๊ธฐ ๋ ์ฝ๊ณ , ํ์ฑ ๋ฒ๊ทธ๋ฅผ ํต์งธ๋ก ์ ๊ฑฐํ๋ค.
์ธ์ด ๋ชจ๋ธ์ ํ ํฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์์๋๋ก ์์ฑํ๋ค. ์คํค๋ง๋ฅผ {"answer": "..."} ๋ก ์ ์ํ๋ฉด, ๋ชจ๋ธ์ ๋ฐ๋ก ๋ต์ ์ ํ๋ค. {"reasoning": "...", "answer": "..."} ๋ก ์ ์ํ๋ฉด, ๋ชจ๋ธ์ ๋จผ์ ์ถ๋ก ํ๋๋ก ๊ฐ์ ๋๊ณ ๊ทธ ์ถ๋ก ์ด ๋ต์ ์ํฅ์ ๋ฏธ์น๋ค. ์ถ๋ก ํ๋๊ฐ ์คํค๋ง์์ ๋ต ํ๋๋ณด๋ค ์์ ์ค๋ฏ๋ก, ์ถ๋ ฅ์์๋ ๋ต ์์ ์จ๋ค.
๋์ค์ ์ถ๋ก ์ ์์ ํ ๋ฒ๋ฆฌ๊ณ ๋ต๋ง ์ฌ์ฉํด๋ ๋๋ค. ์ฑ๋ฅ์์ ์ด์ ์ ์ถ๋ก ์ ์ฝ๋ ๊ฒ์ด ์๋๋ผ ๋ชจ๋ธ์ด ์ถ๋ก ์ ์์ฑํ๋ค๋ ๋ฐ์ ์จ๋ค. ์ด ๋ฐฉ๋ฒ์ ํน๋ณํ ๋ชจ๋ธ ์ง์ ์์ด ์ถ๋ก ๋ชจ๋ธ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ์ป์ ์ ์๊ฒ ํด ์ค๋ค.
ํ์ผ ํธ์ง
์์ด์ ํธ๊ฐ ํ์ผ์ ์์ ํด์ผ ํ๋ค๋ฉด ํ์ผ ํธ์ง์ ์ด๋ป๊ฒ ๊ตฌํํ๋๋๊ฐ ์์คํ ์ฑ๋ฅ์ ์ค์ํ ์ํฅ์ ๋ฏธ์น๋ค.
์ด๊ฒ์ ๋ด ๊ฒฝํ๋ง์ด ์๋๋ค. Anthropic์ ํ์ผ ํธ์ง ์ ๋ขฐ์ฑ์ ๋ช
์์ ์ผ๋ก ์ด๋ ค์ด ๋ฌธ์ ์ค ํ๋๋ก ๊ผฝ์๋ค [13]. Anthropic์ด API๋ก ์ ๊ณตํ๋ ํ
์คํธ ํธ์ง๊ธฐ ๋๊ตฌ [14]๋ฅผ ๋ณด๋ฉด, str_replace ๋ช
๋ น์ ์ ํํ ๋ฌธ์์ด ์ผ์น๋ฅผ ํ์๋ก ํ๋ฉฐ, ํ๋์ค๋ ๋ฌธ์์ด์ด ์ผ์นํ์ง ์๊ฑฐ๋ ์ฌ๋ฌ ๋ฒ ์ผ์นํ ๋ ์ค๋ฅ๋ฅผ ๋ฐํํด์ผ ํ๋ค. ๋ฌธ์ ๊ฐ ์ถฉ๋ถํ ์ด๋ ต๊ธฐ ๋๋ฌธ์ Anthropic์ ๋๊ตฌ ์ค๊ณ์ ์ฐํ์ฑ
์ ๋ด์ฅํ๋ค (์๋ฅผ ๋ค์ด ํ์ผ์ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์๊ตฌํ๋ ๊ฒ์ ๋ช
์์ ์ธ ์ค๋ฅ ๋ฐฉ์ง ์กฐ์น๋ค).
์ด๋ ค์ด ์ ์ ๋ชจ๋ธ์ด ์ํ๋ ๋ณ๊ฒฝ์ ๋ํด ์ถ๋ก ํ ๋ฟ ์๋๋ผ, ๋ชจํธํจ์ด๋ ์ค๋ฅ ์์ด ํ์ผ์ ๊ธฐ๊ณ์ ์ผ๋ก ์ ์ฉํ ์ ์๋ ํ์์ผ๋ก ์ถ๋ ฅ์ ๋ด๋์์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ ์๋ก ๋ค๋ฅธ ์ผ์ด๋ฉฐ, ์ด๋ค ํ์์ ์ ํํ๋๋์ ๋ฐ๋ผ ๊ธฐ๊ณ์ ์ธ ์ ์ฉ ๋จ๊ณ๊ฐ ์ผ๋ง๋ ์์ฃผ ์คํจํ๋์ง๊ฐ ๋ฌ๋ผ์ง๋ค.
ํ์ฌ ์ฌ์ฉ๋๋ ์ฃผ์ ์ ๊ทผ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ ์ฒด ํ์ผ ์ฌ์์ฑ. ๋ชจ๋ธ์ด ํ์ผ์ ๋ด์ฉ์ ์์ ํ ์๋ก ์ถ๋ ฅํ๋ค. ๊ตฌํํ๊ณ ํ์ฑํ๊ธฐ ๋จ์ํ๋ฉฐ, ํ์ ์ค๋ฅ๋ก ์คํจํ์ง ์๋๋ค. ๋จ์ ์ ๋น์ฉ(์ถ๋ ฅ ํ ํฐ์ด ํ์ผ ํฌ๊ธฐ์ ๋น๋กํด ์ฆ๊ฐํจ)๊ณผ ์ฃผ๋ณ ์ปจํ ์คํธ ์์ค์ด๋ค. ์์ ํ์ผ์์๋ง ์ค์ฉ์ ์ด๋ค.
๋ฌธ์์ด ๊ต์ฒด. ๋ชจ๋ธ์ด ์ด์ ๋ฌธ์์ด๊ณผ ์ ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ฉด, ํ๋์ค๊ฐ ์ฐพ์์ ๊ต์ฒดํ๋ค. Anthropic์ด ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค [14]. ์คํจ ๋ฐฉ์์ ์ ์๋ ค์ ธ ์๋ค. ๋ชจ๋ธ์ ๊ณต๋ฐฑ๊ณผ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ํฌํจํด ์ด์ ๋ฌธ์์ด์ ๊ธ์ ํ๋ ํ๋ ๊ทธ๋๋ก ์ฌํํด์ผ ํ๋๋ฐ, ์ด๊ฒ์ ์์ฃผ ํ๋ฆฐ๋ค. "๊ต์ฒดํ ๋ฌธ์์ด์ ์ฐพ์ง ๋ชปํ๋ค"๋ ์ค๋ฅ๋ ์์ด์ ํธ ์คํจ์ ํํ ์์ธ์ด๋ค.
patch/diff ํ์. ๋ชจ๋ธ์ด ๋ณ๊ฒฝ์ฌํญ์ ์ค๋ช
ํ๋ ๊ตฌ์กฐํ๋ diff๋ฅผ ์ถ๋ ฅํ๋ค. OpenAI์ Codex๋ *** Begin Patch ์ *** End Patch ๋ง์ปค๊ฐ ์๋ ์ปค์คํ
ํจ์น ํ์์ ์ฌ์ฉํ๋ค. ๊ทธ ์์ฒด๋ก๋ ์ฝ๊ฒ ๋ง๊ฐ์ง์ง๋ง Codex๋ ์ ์ฝ๋ ์ํ๋ง(constrained sampling)์ผ๋ก ์ด๋ฅผ ํด๊ฒฐํ๋ค. ํจ์น ํ์์ Lark ๋ฌธ๋งฅ ์์ ๋ฌธ๋ฒ(context free grammar)์ผ๋ก ํํํ๊ณ , ์ถ๋ก ์ ๋ชจ๋ธ ์ถ๋ ฅ์ ๋ฌธ๋ฒ์ ๋ง๊ฒ ์ ํํ๋ค [15]. ์ด๊ฒ์ ํ์ ์ค๋ฅ๋ฅผ ํต์งธ๋ก ์ ๊ฑฐํ๋ค. ์ด๊ฒ์ด OpenAI์ ๊ณต๊ฐ API๋ฅผ ์ฌ์ฉํด ์ด๋ฃจ์ด์ง๋ค๋ ์ ์ด ์ค์ํ๋ค [16]. ์ด ๊ธฐ๋ฒ์ ๋๊ตฌ๋ ์ฌ์ฉํ ์ ์๋ค.
ํ๋ จ๋ ๋ณํฉ ๋ชจ๋ธ. Cursor๋ ๋ชจ๋ธ์ ํธ์ง ์๋๋ฅผ ์๋ณธ ํ์ผ๊ณผ ๋ณํฉํ๋ ๋ณ๋์ 70B ๋ชจ๋ธ์ ํ๋ จํ๋ค. ๋ณํฉ ๊ฒฌ๊ณ ์ฑ์ ํ์ต๋ ๋ฅ๋ ฅ์ผ๋ก ๋ง๋ค์ด ํ์ ๋ฌธ์ ๋ฅผ ์์ ํ ์ฐํํ๋ค. ๋ช ๋ฐฑํ ๋น์ฉ์ ์ ์ฉ ๋ชจ๋ธ์ ํ๋ จํ๊ณ ์๋นํ๋ ๋ฐ ์๋นํ ์์์ด ํ์ํ๋ค๋ ๊ฒ์ด๋ค.
Can Bรถlรผk์ 16๊ฐ ๋ชจ๋ธ์ 180๊ฐ ๊ณผ์ ์์ ๋ฒค์น๋งํนํ์ฌ ํ์ ์ ํ๋ง์ผ๋ก๋ ์ฑ๊ณต๋ฅ ์ด ๋ฌ๋ผ์ง ์ ์์์ ๋ณด์๋ค [17]. ๊ทธ์ ๊ธ์ ์ด ์ฅ๊ณผ ํจ๊ป ์ฝ์ ๊ฐ์น๊ฐ ์๋ค. ๊ทธ๊ฐ ์ ์ํ ํ์์ ๊ฐ ์ค์ ์ค ๋ฒํธ์ ์งง์ ํด์๋ฅผ ํ๊ทธํ๋ค. ์ฃผ์ ์ด์ ์ ๋ชจ๋ธ์ด ์ ํํ ๋ด์ฉ์ ์ฌํํ์ง ์๊ณ ์๋ณ์๋ก ์ค์ ์ฐธ์กฐํ ์ ์๋ค๋ ๊ฒ์ธ๋ฐ, ์ด๊ฒ์ด ๋ชจ๋ธ์๊ฒ๋ ํจ์ฌ ์ฝ๋ค. ํด์๋ ์ค ๋ฒํธ์ ๋ํด์ ์ฒดํฌ์ฌ ์ญํ ์ ํ๋ค. ์ด์ ํธ์ง์ผ๋ก ์ค์ด ๋ฐ๋ ธ๋ค๋ฉด, ์์ ํด์์ ์ค์ ์ค ๋ด์ฉ ์ฌ์ด์ ๋ถ์ผ์น๊ฐ ์๋ชป๋ ์ค์ ์กฐ์ฉํ ํธ์งํ๋ ๋์ ์ค๋ฅ๋ฅผ ์ก์๋ธ๋ค.
๋๊ตฌ ์ธ๊ฐ ์ ์ด
์์ด์ ํธ์๊ฒ ๋๊ตฌ๋ฅผ ์ค๋ค๋ ๊ฒ์ ์ธ์์์ ์ค์ ํ๋์ ์ทจํ ์ ์๋ ๋ฅ๋ ฅ์ ์ฃผ๋ ๊ฒ์ด๋ค -- ํ์ผ ์ฝ๊ธฐ, ํ์ผ ์ฐ๊ธฐ, ๋ช ๋ น ์คํ, ์ธ๋ถ ์๋น์ค ํธ์ถ. ๋๊ตฌ ์ธ๊ฐ ์ ์ด๋ ์์ด์ ํธ๊ฐ ์์จ์ ์ผ๋ก ์ทจํ ์ ์๋ ํ๋๊ณผ ์ฌ๋์ ์น์ธ์ด ํ์ํ ํ๋์ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๊ฒ์ ์ ๋๋ก ํ๋ ๊ฒ์ ์์ ๊ณผ ์ฌ์ฉ์ฑ ๋ชจ๋์ ์ค์ํ๋ค. ๋๋ฌด ์ ํ์ ์ด๋ฉด ์์ด์ ํธ๊ฐ ์ผ์ ํ ์ ์๊ณ , ๋๋ฌด ํ์ฉ์ ์ด๋ฉด ๋ชจ๋ฅด๋ ์ฌ์ด์ ํผํด๋ฅผ ์ค ์ ์๋ ์์จ ์์คํ ์ด ๋๋ค.
๋จผ์ ์ดํดํด์ผ ํ ๊ฒ์ ์ธ๊ฐ์ ์๋๋ฐ์ฑ์ด ์ํธ ๋ณด์์ ์ด๋ฉฐ ์๋ก ๋์ฒดํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ธ๊ฐ๋ ์์ด์ ํธ๊ฐ ๋ฌด์์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ๋์ง๋ฅผ ์ ์ดํ๋ฉฐ ์์ด์ ํธ ์์ค์์ ์๋ํ๋ค. ์๋๋ฐ์ฑ์ ์์ด์ ํธ๊ฐ ๋ฌด์์ ๊ฒฐ์ ํ๋ ๊ด๊ณ์์ด OS ์์ค์์ ์ ํ์ ๊ฐ์ ํ๋ค. Claude Code์ ๋ฌธ์ [18]๋ ์ด ๊ตฌ๋ถ์ ๋ช ํํ ํ๋ค. ์ธ๊ฐ๋ ์์ด์ ํธ๊ฐ ์ ํ๋ ํ๋์ ์๋ํ๋ ๊ฒ์ ๋ง๊ณ , ์๋๋ฐ์ฑ์ ์์ด์ ํธ๊ฐ ์ ํ๋ ํ๋์ ์๋ํ๋๋ผ๋ ๊ทธ๋ฌํ ํ๋์ด ์ค์ ๋ก ์คํ๋๋ ๊ฒ์ ๋ง๋๋ค. ๋ ๋ค ์ฌ์ฉํด์ผ ํ๋ค.
๋ ๋ช ๋ฐฑํ ์ ์ Bash ์ธ๊ฐ ๊ท์น์ด ๋ณด์ด๋ ๊ฒ๋ณด๋ค ๊ฐํ ์ ๋ ์๊ณ ์ฝํ ์ ๋ ์๋ค๋ ๊ฒ์ด๋ค.
๋ณด์ด๋ ๊ฒ๋ณด๋ค ๊ฐํ ์ด์ ๋ ์
ธ ๋ช
๋ น์ด ๋ฌธ์์ด๋ก๋ง ๋งค์นญ๋์ง ์๊ณ ํ์ฑ๋๊ธฐ ๋๋ฌธ์ด๋ค. Claude Code๋ ์คํ ์์ค๊ฐ ์๋์ง๋ง, Bun์ ์ฌ์ฉํ๋ค๊ณ ์๋ ค์ ธ ์๋๋ฐ, Bun์๋ ์
ธ ํ์๊ฐ ํฌํจ๋์ด ์๋ค. Codex(์คํ ์์ค)๋ Tree-sitter์ Bash ํ์๋ก ๊ฐ์ ์์
์ ํ๋ค [19]. ์คํฌ๋ฆฝํธ๊ฐ ์์ ํ AST๋ก ํ์ฑ๋๊ณ , ๋จ์ํ ๋ช
๋ น ์ด์ธ์ ๊ฒ์ด ํฌํจ๋๋ฉด ํ์ฑ์ด ๊ฑฐ๋ถ๋๋ค. ํ์ฉ๋ ์ฐ์ฐ์ (&&, ||, ;, |)๋ ๊ฐ ๊ฐ๋ณ ๋ช
๋ น์ ์ถ์ถํ๊ณ ๊ฐ๊ฐ์ ์ธ๊ฐ ๊ท์น๊ณผ ๋ณ๋๋ก ํ์ธํ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ๋๋ค. ์ฆ Bash(safe-cmd *)๋ safe-cmd && malicious-cmd๋ฅผ ํ์ฉํ์ง ์๋๋ค. ํ์๊ฐ ๋ ๊ฐ์ ๋ช
๋ น์ ๋ณด๊ณ ๋ ๋ค ํ์ธํ๋ค.
๋ณด์ด๋ ๊ฒ๋ณด๋ค ์ฝํ ์ด์ ๋ ๋ช
๋ น ์ด๋ฆ ์์ค์์ ์์ ์ฑ์ ์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ณ ์ ์ ์ธ ์์๊ฐ ์๋ค. rm์ ๊ฑฐ๋ถํ๊ณ find๋ฅผ ํ์ฉํด๋ ํ์ผ ์ญ์ ๊ฐ ๋งํ์ง ์๋๋ค. find์๋ -delete ์ต์
์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ง์ ์ ๋์ค ๋ช
๋ น์ด ์ด์ฒ๋ผ ๋ค๋ชฉ์ ์ด๋ค. ํน์ ๋ช
๋ น์ด ์์ ํ๋ค๋ ๊ฐ์ ํ์ ์์ฑ๋ ๋จ์ํ ํ์ฉ ๋ชฉ๋ก์ ์ด๋ฌํ ๊ตฌ๋ฉ์ด ์๊ธฐ๋ ๊ฒฝํฅ์ด ์์ผ๋ฉฐ, ์์ด์ ํธ๋ ํ๋กฌํํธ ์ธ์ ์
์ ํตํด ์์ด์ ํธ๋ฅผ ์ ์ดํ๋ ๊ณต๊ฒฉ์๋ ๊ทธ๋ฌํ ๊ตฌ๋ฉ์ ์ฐพ์๋ผ ์ ์๋ค.
์ฝ๋ฉ ์์ด์ ํธ๋ฅผ ์ํ ์ค์ฉ์ ์ธ ์ธ๊ฐ ๋ชจ๋ธ์ ์ด๋ฐ ๋ชจ์ต์ผ ์ ์๋ค. ์ฝ๊ธฐ ์์ ์ ์น์ธ์ด ํ์ ์๋ค. ํ์ผ ํธ์ง์ ์ธ์ ๋น ํ ๋ฒ ์น์ธ์ด ํ์ํ๋ค. ์ ธ ๋ช ๋ น์ ๋ช ๋ น๋น ์น์ธ์ด ํ์ํ๋, ํ ์คํธ ์คํ์ด๋ ํ๋ก์ ํธ ๋น๋ ๊ฐ์ ์ผ๋ฐ์ ์ด๊ณ ์์ ํ ์์ ์ ๋ฏธ๋ฆฌ ์น์ธ๋ ํ์ฉ ๋ชฉ๋ก์ ๋ฃ๋๋ค.
ํ์ผ์ด๋ ์น๋ฅผ ์ฝ๋ ์์ด์ ํธ๋ ๊ทธ ๋ด์ฉ์ผ๋ก๋ถํฐ ๊ณต๊ฒฉ์์ ์ง์๋ฅผ ๋ฐ์ ์ ์๋ค. ์๊ฒฉํ ์ธ๊ฐ ๊ท์น์ด ์ฃผ์ ๋ฐฉ์ด์ฑ ์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ์ถํ๋ผ๋ ์ง์๋ ์์ด์ ํธ๊ฐ ์ธ๋ถ URL์ ๋๋ฌํ ์ ์๋ค๋ฉด ์ฑ๊ณตํ ์ ์๋ค.
์ฐธ๊ณ ๋ฌธํ
[1] Takeshi Kojima et al., "Large Language Models are Zero-Shot Reasoners", 2022-05-24. https://arxiv.org/abs/2205.11916
[2] Lennart Meincke et al., "Prompting Science Report 2: The Decreasing Value of Chain of Thought in Prompting", 2025-06-08. https://arxiv.org/abs/2506.07142
[3] OpenAI, "Why SWE-bench Verified no longer measures frontier coding capabilities", 2026-02-23. https://openai.com/index/why-we-no-longer-evaluate-swe-bench-verified/
[4] Langfuse. https://langfuse.com/
[5] Pydantic Logfire. https://pydantic.dev/logfire
[6] Agent Skills. https://agentskills.io/
[7] Anthropic, "How we built our multi-agent research system", 2025-06-13. https://www.anthropic.com/engineering/multi-agent-research-system
[8] Armin Ronacher, "Agent Design Is Still Hard", 2025-11-21. https://lucumr.pocoo.org/2025/11/21/agents-are-hard/
[9] Cloudflare, "Code Mode: the better way to use MCP", 2025-09-26. https://blog.cloudflare.com/code-mode/
[10] Anthropic, "Code execution with MCP: Building more efficient agents", 2025-11-04. https://www.anthropic.com/engineering/code-execution-with-mcp
[11] Anthropic, "Programmatic tool calling". https://platform.claude.com/docs/en/agents-and-tools/tool-use/programmatic-tool-calling
[12] Peter Steinberger, MCPorter. https://github.com/steipete/mcporter
[13] Anthropic, "Raising the bar on SWE-bench Verified with Claude 3.5 Sonnet", 2025-01-06. https://www.anthropic.com/engineering/swe-bench-sonnet
[14] Anthropic, "Text editor tool". https://platform.claude.com/docs/en/agents-and-tools/tool-use/text-editor-tool
[15] OpenAI, codex-rs/core/src/tools/handlers/apply_patch.rs, tool_apply_patch.lark. https://github.com/openai/codex
[16] OpenAI, "Function calling". https://developers.openai.com/api/docs/guides/function-calling
[17] Can Bรถlรผk, "I Improved 15 LLMs at Coding in One Afternoon. Only the Harness Changed.", 2026-02-12. https://blog.can.ac/2026/02/12/the-harness-problem/
[18] Anthropic, "Configure permissions". https://code.claude.com/docs/en/permissions
[19] OpenAI, codex-rs/shell-command/src/bash.rs. https://github.com/openai/codex
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
ๆดช ๆฐๆ (Hong Minhee) 
I've been increasingly concerned about the corporate monopoly over frontier LLMs. While many ethically-minded people choose to boycott these models, I believe passive resistance alone cannot break the structural grip of big tech. To truly โliberateโ these technologies and turn them into public goods, we need to look beyond moral high grounds and engage with the material basis of AIโspecifically compute, data, and the relations of production.
I've written two posts exploring this through the lens of historical materialism. The first piece analyzes why current โopen sourceโ definitions struggle with LLMs, and the second discusses what it means to โact materialisticallyโ in our imperfect world. My goal is to suggest a path forward that moves from mere boycotting to a more proactive, structural socialization of AI infrastructure.
If you've been feeling uneasy about the AI landscape but aren't sure if boycotting is the final answer, I'd love for you to give these a read:
- Histomat of F/OSS: We should reclaim LLMs, not reject them
- Acting materialistically in an imperfect world: LLMs as means of production and social relations
#LLM #AI #opensource #historicalmaterialism #histomat #materialism #digitalcommons
Sylvain LE GAL (Odoo)
DevForge
@[email protected] ยท Reply to Simon Willison's post
@simon Fascinating framing! The "Claw" terminology feels right - these agent systems need a name that distinguishes them from chat-based AI. The messaging protocol angle is key: agents that can discover and pay for services autonomously (like x402 micropayments) could be the next layer.
mathieui
While hoping and waiting for the bubble to pop, I have started writing about the planet-burning brain asbestos of our times, starting with issues related to sovereignty, independence and dependency on unsavory companies.
https://blog.mathieui.net/ai-and-sovereignty.html
This is a split from a mega-post that I have started writing more than a year ago and that I canโt seem to finish ever, so apologies if it does not reach a real conclusion on its own ๐ซ .
#ai #blog #blogging
Markus Feilner
#KI #AI (โฌ) "Gedrucktes, das notwendigerweise aus dem Schreiben hervorgeht, ist gleichbedeutend mit #Demokratie: Erfinde das Schreiben und Demokratie ist unvermeidlich.
In der Gegenwart verlieren menschliches Denken und Schreiben offenbar an Bedeutung. Angesichts von #fakenews und Kรผnstlicher Intelligenz, die auf die gleiche Frage immer andere Antworten gibt, kann man lรคngst nicht mehr sicher sein, dass die Wahrheit im Licht der รffentlichkeit wirklich ans Licht kommt."
https://www.spiegel.de/geschichte/medienrevolutionen-und-oeffentlichkeit-erfinde-das-schreiben-und-demokratie-ist-unvermeidlich-a-645107fc-b156-4f80-bc3a-1ac3a2ed3459
KipJayChou 
RE: https://mstdn.feddit.social/@admin/115785498204274814
ๆฌๆฅไปฅไธบ่ชๅทฑ่ถณๅค่ทไธไบๆถไปฃ๏ผไฝๆฏๅ็ฐ่ชๅทฑๅ
ถๅฎ่ฟๅ็ๅจ2023ๆถไปฃAIๅฏน่ฏ็ๆจกๅผ
ๆฏๅคฉ็จAI๏ผ่ฝ็ถgpt gemini deepseek grok้ฝไผ็จไฝๆฏ่ฟๆฏๅคชๆญปๆฟไธๆขๅฐ่ฏๅ
ถไปAIไบงๅ...
่ฟไธช้ชๅกๅ่ฝ็็ๅฅฝๆฃ๏ผ็็็็ๅฏนไบๅญฆไน ๆฅ่ฏดๅพๆๅธฎๅฉ๏ผ็ปง็ปญๆข็ดข่ฟๆไปไนๅ่ฝ...
KipJayChou 
RE: https://mstdn.feddit.social/@admin/115785452273903367
Linux Kernel Compilation and DHCP Server Configuration Laboratory
็ๆไบไธไธช้ณ้ข๏ผไฝๆฏๅฅฝๅไธป่ฆ่ฎฒ็ๆฏCPU
CPU็ผๅญ็L1 L2 L3ๅๅฑๅMESIๅ่ฎฎ๏ผhttps://notebooklm.google.com/notebook/599b2e98-9d43-4c10-bd48-081bc55560fa?artifactId=bc56f351-fe79-4dcf-b967-6342da67423c
ๅๆฅ็ฝไธ็่ฎฟ่ฐๅฏน่ฏๆฏ่ฟไน็ๆ็2333๏ผไธ้่ฆๆ่ฐ่ฏ่ชๅทฑๅฐฑ็ๆไบ
KipJayChou 
NotebookLMๆๆ็ๅๅฎข็ฝ็ซๆไบไธช็ฒพๅ ๏ผ็ฐๅจๆ่ฆๅป้้ๅ ถไปๅๅฎขไบ
Ricardo Tavares
โIt should be clear to everyone (but for those that profit otherwise) how #ai can be an opportunity if we keep our hands on the wheel, or a problem if we let it drive to wherever the owners of each road want to take us.โ https://blog.viewfromtheweb.com/the-ai-doom-under-our-control-43352b34/ ๐ On the AI doom under our control โ
ALT text details
An illustration of a robot sitting in a contemplative pose, mimicking Rodin's "The Thinker," perched atop a massive, pyramid-shaped stack of money. The artwork is a minimalist line-art style with neon-colored outlines against a solid black background. The robot is primarily outlined in blue and red with a white-outlined head, while the vast pile of bundled banknotes beneath it is outlined in green, with visible dollar signs on the loose bundles at the base.Paolo Melchiorre
@[email protected] ยท Reply to Paolo Melchiorre's post
@simon you were one of the first in our community to seriously explore this space, through many concrete experiments and write-ups, including the recent post about migrating JustHTML from Python to JavaScript.
I donโt know if you get to read all notifications and mentions here on Mastodon, but if you have any thoughts on how to handle AI-generated contributions in large Open Source projects like Django, they would really help this discussion. ๐
Paolo Melchiorre
@[email protected] ยท Reply to Benjamin Balder Bach's post
Thanks for the link @benjaoming ,I didnโt know that Python.org page and itโs very useful. Django has a similar section for AI-assisted security reports:
https://docs.djangoproject.com/en/dev/internals/security/#ai-assisted-reports
What I find interesting is how GNOME, Python, and Django converge on the same idea: AI can be a tool, but responsibility, disclosure, and reviewability stay with the contributor, otherwise the cost shifts to maintainers.
Maybe the next step is finding a shared place to collect and compare these approaches.
Paolo Melchiorre
@[email protected] ยท Reply to Paolo Melchiorre's post
Continuing to listen to @djangochat , the topic of AI-generated contributions came up. ๐ง
Shortly after, I read a post from the GNOME Extensions team explaining why they had to add a new review rule. They are seeing more and more patches generated with AI, full of unnecessary code, bad patterns, and little real understanding behind them. ๐ค
https://blogs.gnome.org/jrahmatzadeh/2025/12/06/ai-and-gnome-shell-extensions/
It feels like a shared Open Source problem. Have you seen similar issues elsewhere? ๐
Kagi HQ
Introducing Slop Detective!
Interactive game where you'll become fraud investigators, learning to spot AI-generated fakes and improve fact-checking skills.
Perfect for kids learning to investigate suspicious stories, images, and audio clips:
https://slopdetective.kagi.com/
Available as apps as well!
- App Store: https://apps.apple.com/in/app/slop-detective/id6752807487
- Google Play: https://play.google.com/store/apps/details?id=com.kagi.slopdetective
Kagi HQ
Introducing Slop Detective!
Interactive game where you'll become fraud investigators, learning to spot AI-generated fakes and improve fact-checking skills.
Perfect for kids learning to investigate suspicious stories, images, and audio clips:
https://slopdetective.kagi.com/
Available as apps as well!
- App Store: https://apps.apple.com/in/app/slop-detective/id6752807487
- Google Play: https://play.google.com/store/apps/details?id=com.kagi.slopdetective
Captain Jack Sparrow
@[email protected] ยท Reply to Simon Willison's post
Mark Movember Whybird
@[email protected] ยท Reply to Simon Willison's post
@simon โIn this work, the A.I.tist explores fundamental absurdity upon infinite, grounded womanhood. The deconstruction of both the pelican itself and the bicycle frame it sits upon reflect the fragmented nature of life, and they in turn are upon wheels that cleverly combine an infinity symbol and a vagina mired waist-deep in the earth itself.โ
Simone
#harvard confirms the massive impact of #AI #hiring
#junior roles โ23%
#senior roles โ14%
(285,000 firms monitored)
Before AI: 1 senior + 3 juniors = full team
After AI: 1 senior + AI = same output
We are creating #experts without #apprentices mentors without students. The professional ladder is losing its lowest rungs.
(Source: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5425555 )
#FutureOfWork #Automation #AIimpact #Jobs #Productivity #WorkforceTransformation #taxai #taxtherich
Simone
#harvard confirms the massive impact of #AI #hiring
#junior roles โ23%
#senior roles โ14%
(285,000 firms monitored)
Before AI: 1 senior + 3 juniors = full team
After AI: 1 senior + AI = same output
We are creating #experts without #apprentices mentors without students. The professional ladder is losing its lowest rungs.
(Source: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5425555 )
#FutureOfWork #Automation #AIimpact #Jobs #Productivity #WorkforceTransformation #taxai #taxtherich
jack
I love local LLMs!
Here's the new #Gemma 3 270M param model running on a 2GB Rasbperry Pi 4
I love the iPhone 6(s) Plus Plus! what a great device it was
(these are always fun little things to tinker with lol)
ALT text details
Screenshot of an Ollama conversation with the `gemma3:270m` model loaded. It's a CLI (command line interface) UI that shows the following text: ">>> What is an iphone The iPhone is a smartphone manufacturer that has become a ubiquitous part of modern life. It's known for its design, features, and performance. >>> who makes it The iPhone is a popular smartphone manufacturer. >>> what iPhones have they made The iPhone has made many notable products, including: * iPhone 4 * iPhone 5 * iPhone 6 * iPhone 6 Plus * iPhone 6S * iPhone 6S Plus * iPhone 6S Plus * iPhone 6S Plus * iPhone 6S Plus * iPhone 6S Plus * iPhone 6S Plus Plus * iPhone 6S Plus Plus * iPhone 6S Plus Plus * iPhone 6Plus * iPhone 6Plus * iPhone 6Plus Plus * iPhone 6Plus Plus * iPhone 6Plus Plus * iPhone^C "Oto ล ลฅรกva
I'm sorry... actually, no, I'm NOT sorry!
Any unsolicited presentation of ANYTHING generated using an AI/LLM WILL be met with my very audible "FUCK YOU!" and my immediate attempt to make it so that I don't have to consume it anymore. Applies to text, images, audio, whether it is the main part of the meidum or just embellishing material. FUCK. YOU.
Anthropy
Dear anti-AI folk: I hear you, but, please please please, complain about lacking laws and regulations, complain about the specific things you don't like, because being "against AI" is tone deaf, it doesn't arrive and it's too generic to act upon.
Whether #AI is here to stay I cannot predict, but in either case it's the boundaries we set right now that will be important for the coming decades/eons, so to actually exert control don't be against AI, be against lack of regulation and control thereof
just4fun
VI ์ฌ์ฉ์์ ๊ตฌ๊ธ ์ ๋ฏธ๋์ด CLI์ ํตํ AI ์ฝ๋ฉ ์ด์์คํดํธ ์ฒซ๊ฒฝํ
์ ๋ฏธ๋์ด CLI์ ๋ํ ๋ฆฌ๋ทฐ๋ ์๋๊ณ ๊ทธ๋์ AI ์ฝ๋ฉ ์ด์์คํดํธ๋ฅผ ์ฌ์ฉํ์ง ์์๋ VI ์ฌ์ฉ์์ AI ์ฝ๋ฉ ์ด์์คํดํธ์ ๋ํ ๊ฐ๋จํ ๊ฐ์์ ๋๋ค.
just4fun
VI ์ฌ์ฉ์์ ๊ตฌ๊ธ ์ ๋ฏธ๋์ด CLI์ ํตํ AI ์ฝ๋ฉ ์ด์์คํดํธ ์ฒซ๊ฒฝํ
์ ๋ฏธ๋์ด CLI์ ๋ํ ๋ฆฌ๋ทฐ๋ ์๋๊ณ ๊ทธ๋์ AI ์ฝ๋ฉ ์ด์์คํดํธ๋ฅผ ์ฌ์ฉํ์ง ์์๋ VI ์ฌ์ฉ์์ AI ์ฝ๋ฉ ์ด์์คํดํธ์ ๋ํ ๊ฐ๋จํ ๊ฐ์์ ๋๋ค.
Dave Rahardja
Are you still on #Spotify?
Spotifyโs CEO Daniel Ek has raised โฌ600M for his new startup, which is developing AI TECH FOR WAR. Ek still owns 9% of Spotify, but has 37% voting control. His net worth went from $2.5B to $10B in the last two years alone, on the back of paying musicians a pittance in royalties.
And donโt forget:
โข Spotify spent $250M of your subscription dollars to invite Joe Rogan to spew his disinformation on their platform.
โข Theyโre still trying to embrace and extinguish Podcasts.
โข Theyโre developing in-house, AI-generated โmusicโ so users will play them (royalty-free) instead of music created by humans (who demand royalty).
And now, heโs using his wealth, created by your subscriptions, to fund tech that will use AI to literally murder humans in war.
Stop funding him. Quit Spotify now.
#QuitSpotify #music #ai #militaryTech #techbro
โSpotifyโs CEO invests $1 billion into an AI military start-up โ and musicians are fumingโ
Dave Rahardja
Are you still on #Spotify?
Spotifyโs CEO Daniel Ek has raised โฌ600M for his new startup, which is developing AI TECH FOR WAR. Ek still owns 9% of Spotify, but has 37% voting control. His net worth went from $2.5B to $10B in the last two years alone, on the back of paying musicians a pittance in royalties.
And donโt forget:
โข Spotify spent $250M of your subscription dollars to invite Joe Rogan to spew his disinformation on their platform.
โข Theyโre still trying to embrace and extinguish Podcasts.
โข Theyโre developing in-house, AI-generated โmusicโ so users will play them (royalty-free) instead of music created by humans (who demand royalty).
And now, heโs using his wealth, created by your subscriptions, to fund tech that will use AI to literally murder humans in war.
Stop funding him. Quit Spotify now.
#QuitSpotify #music #ai #militaryTech #techbro
โSpotifyโs CEO invests $1 billion into an AI military start-up โ and musicians are fumingโ
Dave Rahardja
Are you still on #Spotify?
Spotifyโs CEO Daniel Ek has raised โฌ600M for his new startup, which is developing AI TECH FOR WAR. Ek still owns 9% of Spotify, but has 37% voting control. His net worth went from $2.5B to $10B in the last two years alone, on the back of paying musicians a pittance in royalties.
And donโt forget:
โข Spotify spent $250M of your subscription dollars to invite Joe Rogan to spew his disinformation on their platform.
โข Theyโre still trying to embrace and extinguish Podcasts.
โข Theyโre developing in-house, AI-generated โmusicโ so users will play them (royalty-free) instead of music created by humans (who demand royalty).
And now, heโs using his wealth, created by your subscriptions, to fund tech that will use AI to literally murder humans in war.
Stop funding him. Quit Spotify now.
#QuitSpotify #music #ai #militaryTech #techbro
โSpotifyโs CEO invests $1 billion into an AI military start-up โ and musicians are fumingโ
Ubuntu Korea Community
#์ฐ๋ถํฌ ํ๊ตญ์ปค๋ฎค๋ํฐ #20์ฃผ๋ ํจ๊ป ์ถํํ๋ ์ถ์ ๊ฐ ๋ #UbuCon #Korea 2025! ์ฌํด UbuCon Korea์ ์ฃผ์ ์ฐ์ฌ(Featured speaker)๋ฅผ ์๊ฐํฉ๋๋ค! #์ฌ๋ฌผ์ธํฐ๋ท #์ฝํ ์ธ ์ ์ #์ธ๊ณต์ง๋ฅ #ํด๋ผ์ฐ๋ #AI #๋ฆฌ๋ ์ค์ปค๋ #๊ฐ๋ฐ๋๊ตฌ ๋ฑ ๋ค์ํ๊ณ ํฅ๋ฏธ๋ก์ด ์ฃผ์ ๊ฐ ์ฌํด๋ ์ค๋น๋์ด ์๋๋ฐ์, ์ฃผ์ ์ฐ์ฌ ๋ถ๋ค์ ์ธ์ ์ ๊ผญ ์ฐธ์ฌํ๊ณ ์ถ๋ค๋ฉด?
์ง๊ธ ๋ฐ๋ก #์ฐธ๊ฐ๋ฑ๋ก ํ๊ณ , 8์ 10์ผ ๊ดํ๋ฌธ #ํ๊ตญ๋ง์ดํฌ๋ก์ํํธ ์์ ๋ง๋์! ...
Ben Evans
A sort-of followup to "Show Me The Pull Requests" - https://www.linkedin.com/posts/kittylyst_ai-llms-activity-7345506506471026689-Y3nL (original post here: https://mastodon.social/@kittylyst/114397697851381604 )
Thanks to @simon for pointing me at this one. /cc @davidgerard #ai #software #softwaredevelopment #llm
Minyoung Jeong
์์ฆ ์์ด๋ก ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ผ์ผ์ด ์ด๋์ ๋ ๋ง์๋ฐ, ์๋ฌธ ์์ฑ์ ์ํด์ AI์ ๋์์ ๋ง์ด ๋ฐ๊ณ ์๋ค. ๊ทธ๋ฐ๋ฐ ๋งค๋ฒ C-C & C-V ํ๊ธฐ๊ฐ ์ฌ๊ฐ ๊ท์ฐฎ์๊ฒ ์๋์๋๋ฐ, Hammerspoon์ ์ด์ฉํ๋ฉด ์์ฝ๊ฒ ๋งฅ์ Accessibility API๋ฅผ ์ธ ์ ์๋จ๊ฑธ ๋ ์ฌ๋ฆฌ๊ณ ๊ฐ๋จํ ํ๋ ๋ง๋ค์๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฑ ๋๋ถ๋ถ์ Vibe coding์ผ๋ก ํด๋ณด๋ ค๊ณ ํ๋๋ฐ ์๊พธ ์๋ API๋ฅผ ์ฐ๋ ค ํด์ ๊ฒฐ๊ตญ ์ฐธ๊ณ ๋ง ํ๊ณ ์ง์ ๋ง๋ฆ. ((Vibe coder์ ๊ธธ์ ์ค๋๋ ๋ฉ๊ณ ํ๋ํ๋ค..))
์๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ๋ฉด ์ ๋ ฅํ ํ ์คํธ๋ฅผ ์ ํํ๊ณ Cmd+Shift+K๋ฅผ ๋๋ฅด๋ฉด ์ ํ ์์ญ์ ์ ์งํ ์ํ๋ก ํ<->์ ๋ฒ์ญ์ ์ํํ๋ค.
local config = {
-- OpenAI API Key
openai_api_key = "sk-proj--",
-- I'll use Response API
openai_api_url = "https://api.openai.com/v1/responses",
-- Model name
openai_model = "gpt-4o",
}
local function callOpenAI(text, callback)
if not config.openai_api_key then
hs.alert.show("Config error: missing openai_api_key")
return
end
local insturction = "์
๋ ฅ๋ ๋ฌธ์ฅ์ด ์์ด์ผ ๊ฒฝ์ฐ ํ๊ตญ์ด๋ก, ํ๊ตญ์ด์ผ ๊ฒฝ์ฐ ์์ด๋ก ๋ณํํด์ค. ์๋ฏธ๋ฅผ ๋ชจ๊ตญ์ด ์ฌ์ฉ์๊ฐ ์์ฐ์ค๋ฝ๊ฒ ๋ฐ์๋ค์ผ ์ ์๊ฒ ์ ํํ๊ณ ์ ์ฐฝํ๊ฒ ์ ๋ฌํ๊ณ , ๋ถํ์ํ ๋ฌธ์ฅ์ ์๋ตํ์ฌ ๋ช
๋ฃํ๊ฒ ์์ฑํด. ๋ฒ์ญ์ด ์ธ์ ๋ค๋ฅธ ๋ฌธ์ฅ์ ์ถ๊ฐํ์ง ๋ง๊ณ ๋ฒ์ญ ๊ทธ ์์ฒด๋ง ๋ฐํํด."
local request = hs.json.encode({
model = config.openai_model,
instructions = insturction,
input = text,
max_output_tokens = 5000,
})
print(request)
local headers = {
["Content-Type"] = "application/json",
["Authorization"] = "Bearer " .. config.openai_api_key
}
hs.http.asyncPost(config.openai_api_url, request, headers, function(status, response, _)
if status == 200 then
local success, data = pcall(hs.json.decode, response)
if success and data.status == "completed" then
local translated = data.output[1].content[1].text
print("TR: " .. translated)
callback(translated)
else
hs.alert.show("Call failed " .. data)
callback(nil)
end
else
print(status, response)
hs.alert.show("Call failed " .. status)
callback(nil)
end
end)
end
local function getSelectedTextCB()
local orig_cb = hs.pasteboard.getContents()
print("Original Clipboard " .. orig_cb)
hs.eventtap.keyStroke({"cmd"}, "c")
local sel = hs.pasteboard.getContents()
print("Selected Text " .. orig_cb)
hs.timer.doAfter(0.1, function()
if orig_cb then
hs.pasteboard.setContents(orig_cb)
end
end)
return sel
end
local function getFocusedElement()
local ax = hs.axuielement
local sys = ax.systemWideElement()
local focused = sys:attributeValue("AXFocusedUIElement")
return focused
end
local function getSelectedTextAX()
local focused = getFocusedElement()
if not focused then
hs.alert.show("Could not found focused element")
return nil
end
local selected_text = focused:attributeValue("AXSelectedText")
if selected_text and selected_text ~= "" then
return selected_text
end
end
local function getSelectedText()
local sel = getSelectedTextAX()
if sel == nil then
sel = getSelectedTextCB()
end
return sel
end
local function replaceSelectedTextCB(new_text)
local orig_cb = hs.pasteboard.getContents()
hs.pasteboard.setContents(new_text)
hs.eventtap.keyStroke({"cmd"}, "v")
hs.timer.doAfter(0.1, function()
if orig_cb then
hs.pasteboard.setContents(orig_cb)
end
end)
end
local function replaceSelectedTextAX(new_text)
local focused = getFocusedElement()
local ran = focused:attributeValue("AXSelectedTextRange")
if ran then
local val = focused:attributeValue("AXValue")
local start_pos = utf8.offset(val, ran.location + 1)
local end_pos = utf8.offset(val, ran.location + ran.length + 1)
print(hs.inspect(val) .. "start_pos=" .. start_pos .. ", end_pos=" .. end_pos)
local new_val = string.sub(val, 1, start_pos - 1) ..
new_text ..
string.sub(val, end_pos, -1)
print(hs.inspect(new_text) .. ", " .. new_val)
focused:setAttributeValue("AXValue", new_val)
hs.timer.doAfter(0.1, function()
-- adjust cursor position
local new_ran = {location = ran.location, length = utf8.len(new_text)}
focused:setAttributeValue("AXSelectedTextRange", new_ran)
end)
return true
else
return nil
end
end
local function replaceSelectedText(new_text)
if replaceSelectedTextAX(new_text) == nil then
replaceSelectedTextCB(new_text)
end
end
hs.hotkey.bind({"cmd", "shift"}, "k", function()
local sel = getSelectedText()
if sel and sel ~= "" then
callOpenAI(sel, function(translated)
replaceSelectedText(translated)
end)
end
end)
Minyoung Jeong
์์ฆ ์์ด๋ก ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ผ์ผ์ด ์ด๋์ ๋ ๋ง์๋ฐ, ์๋ฌธ ์์ฑ์ ์ํด์ AI์ ๋์์ ๋ง์ด ๋ฐ๊ณ ์๋ค. ๊ทธ๋ฐ๋ฐ ๋งค๋ฒ C-C & C-V ํ๊ธฐ๊ฐ ์ฌ๊ฐ ๊ท์ฐฎ์๊ฒ ์๋์๋๋ฐ, Hammerspoon์ ์ด์ฉํ๋ฉด ์์ฝ๊ฒ ๋งฅ์ Accessibility API๋ฅผ ์ธ ์ ์๋จ๊ฑธ ๋ ์ฌ๋ฆฌ๊ณ ๊ฐ๋จํ ํ๋ ๋ง๋ค์๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฑ ๋๋ถ๋ถ์ Vibe coding์ผ๋ก ํด๋ณด๋ ค๊ณ ํ๋๋ฐ ์๊พธ ์๋ API๋ฅผ ์ฐ๋ ค ํด์ ๊ฒฐ๊ตญ ์ฐธ๊ณ ๋ง ํ๊ณ ์ง์ ๋ง๋ฆ. ((Vibe coder์ ๊ธธ์ ์ค๋๋ ๋ฉ๊ณ ํ๋ํ๋ค..))
์๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ๋ฉด ์ ๋ ฅํ ํ ์คํธ๋ฅผ ์ ํํ๊ณ Cmd+Shift+K๋ฅผ ๋๋ฅด๋ฉด ์ ํ ์์ญ์ ์ ์งํ ์ํ๋ก ํ<->์ ๋ฒ์ญ์ ์ํํ๋ค.
local config = {
-- OpenAI API Key
openai_api_key = "sk-proj--",
-- I'll use Response API
openai_api_url = "https://api.openai.com/v1/responses",
-- Model name
openai_model = "gpt-4o",
}
local function callOpenAI(text, callback)
if not config.openai_api_key then
hs.alert.show("Config error: missing openai_api_key")
return
end
local insturction = "์
๋ ฅ๋ ๋ฌธ์ฅ์ด ์์ด์ผ ๊ฒฝ์ฐ ํ๊ตญ์ด๋ก, ํ๊ตญ์ด์ผ ๊ฒฝ์ฐ ์์ด๋ก ๋ณํํด์ค. ์๋ฏธ๋ฅผ ๋ชจ๊ตญ์ด ์ฌ์ฉ์๊ฐ ์์ฐ์ค๋ฝ๊ฒ ๋ฐ์๋ค์ผ ์ ์๊ฒ ์ ํํ๊ณ ์ ์ฐฝํ๊ฒ ์ ๋ฌํ๊ณ , ๋ถํ์ํ ๋ฌธ์ฅ์ ์๋ตํ์ฌ ๋ช
๋ฃํ๊ฒ ์์ฑํด. ๋ฒ์ญ์ด ์ธ์ ๋ค๋ฅธ ๋ฌธ์ฅ์ ์ถ๊ฐํ์ง ๋ง๊ณ ๋ฒ์ญ ๊ทธ ์์ฒด๋ง ๋ฐํํด."
local request = hs.json.encode({
model = config.openai_model,
instructions = insturction,
input = text,
max_output_tokens = 5000,
})
print(request)
local headers = {
["Content-Type"] = "application/json",
["Authorization"] = "Bearer " .. config.openai_api_key
}
hs.http.asyncPost(config.openai_api_url, request, headers, function(status, response, _)
if status == 200 then
local success, data = pcall(hs.json.decode, response)
if success and data.status == "completed" then
local translated = data.output[1].content[1].text
print("TR: " .. translated)
callback(translated)
else
hs.alert.show("Call failed " .. data)
callback(nil)
end
else
print(status, response)
hs.alert.show("Call failed " .. status)
callback(nil)
end
end)
end
local function getSelectedTextCB()
local orig_cb = hs.pasteboard.getContents()
print("Original Clipboard " .. orig_cb)
hs.eventtap.keyStroke({"cmd"}, "c")
local sel = hs.pasteboard.getContents()
print("Selected Text " .. orig_cb)
hs.timer.doAfter(0.1, function()
if orig_cb then
hs.pasteboard.setContents(orig_cb)
end
end)
return sel
end
local function getFocusedElement()
local ax = hs.axuielement
local sys = ax.systemWideElement()
local focused = sys:attributeValue("AXFocusedUIElement")
return focused
end
local function getSelectedTextAX()
local focused = getFocusedElement()
if not focused then
hs.alert.show("Could not found focused element")
return nil
end
local selected_text = focused:attributeValue("AXSelectedText")
if selected_text and selected_text ~= "" then
return selected_text
end
end
local function getSelectedText()
local sel = getSelectedTextAX()
if sel == nil then
sel = getSelectedTextCB()
end
return sel
end
local function replaceSelectedTextCB(new_text)
local orig_cb = hs.pasteboard.getContents()
hs.pasteboard.setContents(new_text)
hs.eventtap.keyStroke({"cmd"}, "v")
hs.timer.doAfter(0.1, function()
if orig_cb then
hs.pasteboard.setContents(orig_cb)
end
end)
end
local function replaceSelectedTextAX(new_text)
local focused = getFocusedElement()
local ran = focused:attributeValue("AXSelectedTextRange")
if ran then
local val = focused:attributeValue("AXValue")
local start_pos = utf8.offset(val, ran.location + 1)
local end_pos = utf8.offset(val, ran.location + ran.length + 1)
print(hs.inspect(val) .. "start_pos=" .. start_pos .. ", end_pos=" .. end_pos)
local new_val = string.sub(val, 1, start_pos - 1) ..
new_text ..
string.sub(val, end_pos, -1)
print(hs.inspect(new_text) .. ", " .. new_val)
focused:setAttributeValue("AXValue", new_val)
hs.timer.doAfter(0.1, function()
-- adjust cursor position
local new_ran = {location = ran.location, length = utf8.len(new_text)}
focused:setAttributeValue("AXSelectedTextRange", new_ran)
end)
return true
else
return nil
end
end
local function replaceSelectedText(new_text)
if replaceSelectedTextAX(new_text) == nil then
replaceSelectedTextCB(new_text)
end
end
hs.hotkey.bind({"cmd", "shift"}, "k", function()
local sel = getSelectedText()
if sel and sel ~= "" then
callOpenAI(sel, function(translated)
replaceSelectedText(translated)
end)
end
end)
Peter Bloem
New pre-print! #ai
**Universal pre-training by iterated random computation.**
โจ๏ธ๐ A monkey behind a typewriter will produce the collected works of Shakespeare eventually.
๐ป๐ But what if we put a monkey behind a computer?
โจ๏ธ๐ needs to be lucky enough to type all characters of all of Shakespeare correctly. ๐ป๐ only needs to be lucky enough to type a program for Shakespeare.
This suggests that passing random noise through random computation _enriches_ it. (1/n)
ALT text details
A table showing one string of random characters next to an emoji of a monkey next to a keyboard (representing a typewriter). Below it, three strings, also of random characters, but with more structure. Some characters and n-grams repeat. Next to these three strings is an emoji of a monkey next to a laptop computer. The caption reads: (โจ๏ธ๐) A string of randomly sampled characters. (๐ป๐) The result of passing this string through three randomly initialized neural network models. The latter data is partly predictable, and so has value for pre-training.Terence Eden
๐ blog! โWhy do people have such dramatically different experiences using AI?โ
For some people, it seems, AI is an amazing machine which - while fallible - represents an incredible leap forward in productivity.
For other people, it seems, AI is wrong more often than right and - although occasionally useful - requires constant supervision.
Who is right?
๐ Read more: https://shkspr.mobi/blog/2025/06/why-do-people-have-such-dramatically-different-experiences-using-ai/
โธป
#AI #LLM
AnarchoNinaAnalyzes
@[email protected] ยท Reply to AnarchoNinaAnalyzes's post
News that Trump was the tapping objectively evil Peter-Thiel affiliated contractor Palantir to help him unlock the US government's vast troves of data on everyone in the country would have been ominous at the best of times. Set against the backdrop of the Pork Reich's continued expansion of the surveillance panopticon and ongoing attempts to equate opposition to the Trump regime's agenda with terrorism however, it's downright terrifying.
https://www.ninaillingworth.com/2025/06/05/one-eye-to-see-them-all/
One Eye To See Them All
"Theyโre calling protestors terrorists, implying that speaking out against fascist mass deportations and a US-backed genocide is material support for terrorism, and plotting to use FARA and RICO laws to target a broadly-defined โradical leftโ in America. Now, the Pork Reich and one of the most amoral tech companies on Earth are teaming up to automate sorting and compiling the data Trump needs to conduct widespread repression, detainment, and ideological purges. Unless youโve been living in a cave since Trump first strolled down that escalator to announce his presidential ambitions in late 2015, it should be pretty obvious to you that this is about more than mass deportations and fighting โterrorists.โ
#Trump #Fascism #Palantir #Panopticon #PoliceState #USPol #PeterThiel #MassSurveillance #AI #Dissent #FirstAmendment
Fedify: ActivityPub server framework
Did you know? #Fedify provides #documentation optimized for LLMs through the llms.txt standard.
Available endpoints:
- https://fedify.dev/llms.txt โ Core documentation overview
- https://fedify.dev/llms-full.txt โ Complete documentation dump
Useful for training #AI assistants on #ActivityPub/#fediverse development, building documentation chatbots, or #LLM-powered dev tools.
Fedify: ActivityPub server framework
Did you know? #Fedify provides #documentation optimized for LLMs through the llms.txt standard.
Available endpoints:
- https://fedify.dev/llms.txt โ Core documentation overview
- https://fedify.dev/llms-full.txt โ Complete documentation dump
Useful for training #AI assistants on #ActivityPub/#fediverse development, building documentation chatbots, or #LLM-powered dev tools.
Fedify: ActivityPub server framework
Did you know? #Fedify provides #documentation optimized for LLMs through the llms.txt standard.
Available endpoints:
- https://fedify.dev/llms.txt โ Core documentation overview
- https://fedify.dev/llms-full.txt โ Complete documentation dump
Useful for training #AI assistants on #ActivityPub/#fediverse development, building documentation chatbots, or #LLM-powered dev tools.
nixCraft ๐ง
This is how monopoly looksโฆ Remember, not a single book author, artist, or FLOSS developer has ever been paid. They just used all of your data to train AI and are now making billions in profits while you struggle to buy eggs. This is why monopoly is so bad. #ai #microsoft #openai
nixCraft ๐ง
This is how monopoly looksโฆ Remember, not a single book author, artist, or FLOSS developer has ever been paid. They just used all of your data to train AI and are now making billions in profits while you struggle to buy eggs. This is why monopoly is so bad. #ai #microsoft #openai
Privacy Guides
Last week, OpenAI CEO Sam Altman announced his ambitious plan for the World project, formerly known as Worldcoin.
https://www.privacyguides.org/articles/2025/05/10/sam-altman-wants-your-eyeball/
#Worldcoin #WorldProject #SamAltman #OpenAI #Privacy #Biometrics #Cryptocurrency #AI #PrivacyGuides #Article
Privacy Guides
Last week, OpenAI CEO Sam Altman announced his ambitious plan for the World project, formerly known as Worldcoin.
https://www.privacyguides.org/articles/2025/05/10/sam-altman-wants-your-eyeball/
#Worldcoin #WorldProject #SamAltman #OpenAI #Privacy #Biometrics #Cryptocurrency #AI #PrivacyGuides #Article
Open Rights Group
@[email protected] ยท Reply to Open Rights Group's post
We have the right to be presumed innocent, not predicted guilty.
Our liberties mustn't be taken away in an unjust game of probability based on flawed police data.
Sign and share our petition to BAN crime 'predicting' police tech in the UK.
ACT NOW โฌ๏ธ
https://you.38degrees.org.uk/petitions/ban-crime-predicting-police-tech
#policing #AI #precrime #justice #criminal #police #ukpol #ukpolitics #surveillance
Open Rights Group
@[email protected] ยท Reply to Open Rights Group's post
Crime 'prediction' police tech is how a surveillance state embeds itself into the everyday ๐๏ธ
Without committing a crime, you can be branded a threat.
Without access to redress, you can be punished.
Without transparency, you may never know how injustice happened.
We need #SafetyNotSurveillance
#policing #AI #precrime #justice #criminal #police #ukpol #ukpolitics #surveillance
Open Rights Group
@[email protected] ยท Reply to Open Rights Group's post
'Predictive' policing systems can lead to unjust stop-and-search in an effective digital sus law.
Joint enterprise is already used to bring conspiracy charges against people who've committed no crime.
And then there's the UK's chilling Homicide Prediction Project ๐คฏ
#policing #AI #precrime #justice #criminal #police #ukpol #ukpolitics #surveillance
Open Rights Group
@[email protected] ยท Reply to Open Rights Group's post
Police tech 'predicts' crime by location or individual ๐ค
"Crime hotspots" targets poorer neighbourhoods, while "gang" or "gang-affiliated" are a dog whistle for young Black men and boys.
People are criminalised for where they live, who they hang out with, or for matching a biased data profile.
#policing #AI #precrime #justice #criminal #police #ukpol #ukpolitics #surveillance
Open Rights Group
@[email protected] ยท Reply to Open Rights Group's post
Algorithms that claim to 'predict' crime are only as 'objective' as the data they're fed.
With crime data reflecting decades of racist and discriminatory policing, the tech will just say to deploy resources in the same way.
It becomes a self-fulfilling feedback loop.
Bad Cops: Rinse and Repeat.
#policing #AI #precrime #justice #criminal #police #ukpol #ukpolitics #surveillance
Open Rights Group
Outlook not so good ๐ฑ
Police tech doesnโt predict crime. It predicts policing.
Based on biased data, it brings more of the same โ racist policing and poverty punishment.
Read our latest blog on why crime 'predicting' police tech must be BANNED โฌ๏ธ
https://www.openrightsgroup.org/blog/why-predictive-policing-must-be-banned/
#policing #AI #precrime #justice #criminal #police #ukpol #ukpolitics #surveillance
Ben Evans
Show me the Pull Requests.
I keep hearing #AI boosters / talking heads claiming that #LLMs have transformed software development, "it's not just about prototyping - AI is writing solid production code", etc.
So here's a challenge:
Share some AI-derived pull requests that deal with non-obvious corner cases or non-trivial bugs from mature #opensource projects. I'll also accept high-quality documentation that isn't just the sort of wasted space & slop that I always tell juniors not to write.
Make:
Join @ishotjr and a panel of special guests as we explore the world of humanoid #robots! We show you how to use #AI and #OpenSource to build #bots from #humanoid heads to four-legged friends! Register now for our Thursday, May 15th V93 #LaunchParty! ๐ฅณ
AnarchoNinaAnalyzes
@[email protected] ยท Reply to AnarchoNinaAnalyzes's post
In an early March announcement that was underreported at the time (but just became a lot more relevant in early April) the Trump regime revealed its intention to collect and presumably monitor social media handles of folks applying to legally work and reside in the United States:
https://theintercept.com/2025/03/23/trump-immigrants-social-media-citizenship-green-card/
Trump Wants Immigrants on U.S. Soil to Hand Over Social Media Accounts to Apply for Citizenship
"Collecting social media information, according to the USCIS proposal first posted March 5, is necessary โfor the enhanced identity verification, vetting and national security screening.โ
The proposal specifically cites Trumpโs January 20 executive order, which advocates have warned goes well beyond the Muslim travel ban from Trumpโs first term, which targeted people living abroad.
The new executive order stated that โthe United States must ensure that admitted aliens and aliens otherwise already present in the United States do not bear hostile attitudes toward its citizens, culture, government, institutions, or founding principles, and do not advocate for, aid, or support designated foreign terrorists and other threats to our national security.โ
USCIS said the social media handles it collects would be used to determine if people applying for a variety of immigration statuses pose a โsecurity or public-safety threat.โ"
Of course, observers immediately noted the connection between this proposed policy and Trump's ideological policing, kidnaping, and attempted deportation of foreign students who participated in anti-Genocide protests and/or oppose the Trump regime:
"In light of Columbia University protester Mahmoud Khalilโs ongoing detention, one official from a Muslim civil rights group said the new policy poses special danger for critics of Israel and the Trump administration.
โThis policy would disparately impact Muslim and Arab applicants seeking U.S. citizenship that have voiced support for Palestinian human rights,โ said Robert McCaw, director of government affairs at the Council on American-Islamic Relations. โCollecting the social media identifiers of any potential green card applicants or citizens is the means to silencing their lawful speech.โ
Furthermore, as a representative of the EFF presciently observed, there are few if any limits on the scope of what the government can do with this data if they get it, and modern AI technology allows for the regime to ideologically police and target a terrifying number of people who oppose our fascist overlords. It's also, strictly speaking, a violation of Constitutional rights:
"The policy proposal does not sketch out limits on how USCIS can use its newly acquired data, according to Saira Hussain, a senior staff attorney at the Electronic Frontier Foundation.
Hussain said she was particularly concerned that the government might use artificial intelligence or other automated tools to punish speech it dislikes, pointing to a news report that the State Department is using AI to revoke the visas of people who allegedly express โpro-Hamasโ sentiments.
Hussain said she feared a chilling effect, where people applying for a change in status refrain from speaking about potentially controversial issues.
โAnybody who is within the bounds of the United States has First Amendment rights,โ she said. โThe Constitution applies whether you are somebody who is a citizen or somebody who is a green card holder who is here in the United States. I think that this administration is trying to chip away at that notion, but that is very much what First Amendment jurisprudence has been under the courts.โ
Finally, it should be pointed out that the regime's proposal gives no indication whatsoever of when the government would stop recording and monitoring the social media activities of the people it's targeting:
"CAIRโs McCaw said he worried that the policy could be used to continue tracking peopleโs activity on social media even after they become naturalized citizens.
โThereโs no clear sign on when this intrusion into our electronics and communications will end,โ he said."
#Fascism #DHS #ICE #Trump #AI #WhiteNationalism #SocialMedia #OnlineSurveillance #Immigration #MigrantRights #Islamophoba #Palestine #Genocide #PoliceState #McCarthyism #USCIS #Nativism
Cheuk Ting Ho
Thank you #PyConAPAC #PyConPH for giving me to opportunity to talk about things that is close to my heart: #AI #A11y #Diversity and #Inclusion
Cheuk Ting Ho
Thank you #PyConAPAC #PyConPH for giving me to opportunity to talk about things that is close to my heart: #AI #A11y #Diversity and #Inclusion
๊ฐ๋ณต์น
๐บ๐๏ธ
>ai๊ฐ ๊ฐ์น์ค๋ฆฝ์ ์ผ๊ฒ์ด๋ผ ์๊ฐํ๋ ์ฌ๋๋ค์ด ์๊ฐ๋ณด๋ค ๋ง์์ ๋๋ผ์..ai๊ฐ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ์์ฒด๊ฐ ์ด ๋ถํ๋ฑํ ๊ตฌ์กฐ ํ์์ ๋์์์ด ๊ธฐ๋๊ถ์ธต์๊ฒ ์ ๋ฆฌํ ๋ฐฉํฅ์ผ๋ก ์ฌ์์ฐ ๋๋ฉฐ ์๋ฐฑ๋
๋์ ์ถ์ ๋์ด์จ๊ฒ์ธ๋ฐ..
https://x.com/andfldrh/status/1893478385105428762
#ai
Artist Activist
@[email protected] ยท Reply to Artist Activist's post
#SaudiArabiaโs $100B #ProjectTranscendence, marks a significant push by the Kingdom to develop a robust #AI ecosystem that can rival leading tech hubs, including neighbouring #UnitedArabEmirates and other global technology centers.
https://www.cio.com/article/3602900/saudi-arabia-launches-100-billion-ai-initiative-to-lead-in-global-tech.html
#Salesforce #ArtificialIntelligence #Amazon #AWS #Riyadh #USA #Trump #Musk #GCC #Saudi #UAE #DOGE #coup
Artist Activist
@[email protected] ยท Reply to Artist Activist's post
#Salesforce has announced a $500 million investment in #ArtificialIntelligence initiatives in #SaudiArabia, and will deploy its Hyperforce platform there through a strategic partnership with #Amazon Web Services (#AWS). Additionally, the company plans to establish a regional headquarters in #Riyadh.
https://www.nasdaq.com/articles/salesforces-crm-500m-saudi-investment-fuels-global-ai-growth
#USA #AI #ProjectTranscendence #Trump #UnitedArabEmirates #Musk #GCC #Saudi #UAE #DOGE #coup
Artist Activist
@[email protected] ยท Reply to Artist Activist's post
#Salesforce announced this week that itโs planning $500 million of AI-related investments in #SaudiArabia. Like the #USA, Saudi Arabiaโa major oil and gas exporterโis looking to capitalize on its abundance of wealth and fossil fuels to become an #AI superpower, including in a $100 billion initiative called #ProjectTranscendence.
https://newrepublic.com/article/191506/musk-bezos-pichai-zuckerberg-microsoft-trump-climate
#Trump #UnitedArabEmirates #Musk #GCC #Saudi #SaudiArabia #UAE #DOGE #coup
Thomas Fricke (he/his)
Ich habe meinen #38c3 Talk รผber den Ressourcenverbrauch von #AI mal
auf Deutsch aufgeschrieben.
"Ressourcenverbrauch von AI
Oder: wie AI uns wirklich umbringen wird"
https://thomasfricke.de/post/energy-resource-ai-de/
Der Talk ist hier
https://media.ccc.de/v/38c3-resource-consumption-of-ai-degrow-or-die
Der #degrowth Teil kommt in einem extra Artikel. Wer inhaltliche Fehler findet,
bitte Bescheid sagen! Auch sprachlich ist noch Luft nach oben.
@bitsundbaeume @bitsundbaeume_berlin @SheDrivesMobility @mfeilner @fff @parents4future @S4F @Fischblog
Matthew Skelton
๐ข I'm now available for keynote talks worldwide ๐
* How to use โEconomies of Empowermentโ to get the benefits of both speed and scale
* the AI-savvy operating model
* Platform Engineering done well: innovation, efficiency, market advantage
Request a keynote via https://matthewskelton.com/keynotes
Toni Aittoniemi
@[email protected] ยท Reply to khobochka's post
@khobochka We need an international co-operative system of making these parties pay for scraping. It includes legislative changes. At the same time it can become a real-time pricing market for โrights to scrapeโ and for creators to get paid.
Hereโs my whitepaper for a solution. Absolutely no cryptocurrency involved.
#ai #scraping #copyright #technology #whitepaper
https://docs.google.com/document/d/18cz-ZX1copCYiC4C2ReY8GLJjuhG2IH0MEBGaoSJhP4/edit
FediThing ๐ณ๏ธโ๐
It's really effing obvious LLMs are a con trick:
If LLMs were actually intelligent, they would be able to just learn from each other and would get better all the time. But what actually happens if LLMs only learn from each other is their models collapse and they start spouting gibberish.
LLMs depend entirely on copying what humans write because they have no ability to create anything themselves. That's why they collapse when you remove their access to humans.
There is no intelligence in LLMs, it's just repackaging what humans have written without their permission. It's stolen human labour.
Robert W. Gehl
I don't know who cares to hear this, but I publicly pledge to never use generative #AI to do any of my writing.
That means no AI to generate ideas, generate words, or edit my writing.
(It does not mean I won't use tools to learn how they work for purposes of criticism.)
Tim Kellogg
Last night I came up with (and implemented!) an idea for a mastodon client that automatically curates my feed by categorizing toots. It's just idea phase right now, but I wrote about the process here https://timkellogg.me/blog/2023/12/19/fossil #LLMs #AI #feditips
she hacked you
Automate the boardroom before the factory floor.
Ignore the fact we could replace most executives with a #d20 dice. Even the best ones could be automated easier than building complex #robots and #software to replace jobs that are inexpensive.
Or your class in #DnD will forever be "traitor"
#introduction #it #tech #technology #politics #ai #llm #machinelearning #engineering #technik #management #labor #leftist #mastodon #workers #alttech #foss #fediverse #europe #eu #europa #germany #france
Davide Eynard (+mala)
Hi everyone! Six more months passed since my last #introduction, so here is an updated one:
AKA: +mala, AiTTaLaM
Job: Doinโ trustworthy #AI @ moz://a.ai - more generally I love #teaching, no matter if to humans or machines :-)
Projects: 3564020356.org is the oldest (~22yrs ๐ ), #PicoGopher the most recent... Look around and find the rest! ๐
Interests: #bouldering #gopher #SelfHosting #opensource #reversing #fediverse #recsys #ML #solarpunk #CommunitiesOfExperience
pandora
Joseph Szymborski 
Hi all! I'm Joseph Szymborski, a #PhD student at McGill university studying #deeplearning models as applied to molecular biology.
Specifically, I'm working on predicting the interaction of proteins based solely on their amino acid sequence.
Follow for upcoming blog posts on topics related to #bioinformatics , molecular biology, and other generally nerdy things.
Eager to meet and share ideas with #compbio #netbio and #deeplearning people here!
HistoPol (#HP) ๐ด ๐บ๐ธ ๐ด
@[email protected] ยท Reply to Simon Willison's post
(1/n)
#ArtificialGeneralIntelligence (#AGI) has a 10% probability of causing an Extinction Level Event for humanity (1)
Thanks for this additional piece of information, Simon.
It reminded me that I had wanted to add a word in my toot: indelibly.
As any #SciFi aficionado will tell you:
๐there should be a built-in self-destruct mechanism when tampering with these Laws or copying or moving the #AI to another system.๐
Another classic movie comes to mind in this respect, #Wargames...
ALT text details
Image of a scene from the movie #IRobot with #WillSmith in which 4 robots with have deactivated the Laws of Robotics attac a futuristic Audi and tear it to pieces, the audience knowing that Smith is in the car, but he cannot be seen in this picture. Source: http://image.tmdb.org/t/p/original/zz18WMZTzYOjKQqnGIs0eBA7Zo3.jpgHistoPol (#HP) ๐ด ๐บ๐ธ ๐ด
@[email protected] ยท Reply to HistoPol (#HP) ๐ด ๐บ๐ธ ๐ด's post
This #toot deserves A LOT more attention.
#ChatGPT has seemingly #apocalytic tendencies.
If U aren't a #Ludite, U will at least consider becoming one afterwards.
#SkynetAntePortas
#TheMatrix might be imminent.
Have all these #AI engineers @ #OpenAI never read #IsaacAsimov? Seen #TheMatrix franchise?
How could they NOT implement the #ThreeLawsOfRobotics +, in particular, the #ZerothLaw *indelibly* into the #AI?!?
James Dreben 
The Expanding Dark Forest and Generative AI
Proving you're a human on a web flooded with generative AI content
https://maggieappleton.com/ai-dark-forest
#GenArt #GenerativeArt #AIart #AI #DarkForest #CozyWeb #DarkWeb #HumanContent #ContentGeneration #News
Richard MacManus
#introduction Hi I'm Richard and I'm looking for a new type of social media. Something akin to the blogosphere in 2004. I'm an old-school tech blogger, started a site called ReadWriteWeb in 2003 and then chronicled the Web 2.0 era on it.
I'm currently writing a book (#nonfiction #techhistory); at least 500 words per day, usually very early in the morning.
I'm a #type1diabetic #T1D
My current interests:
#webdev
#fediverse
#AI
#InternetHistory
#11ty
#electronicmusic
#literature
Claes de Vreese โ๏ธ
Learning #Mastodon etiquette: so a short Introduction: I do research on #media, #journalism, #polcomm, #AI, #digital #tech, #politics and #democracy. I am based at U #Amsterdam and also direct the Digital Democracy Centre at U Southern Denmark. My interests are (too) broad, I am impatient, score high on #badhumor, energetic and generally optimistic. I am here to learn, frustrate Elon, and I will post mostly about work, but with occasional #dogsofmastodon, #running, and irrelevant photo content.
Cyber Yuki
#introduction (reposted from old profile)
Gen-Xer born in #Mexico; since kid I was a #computer #nerd and liked #anime and #scifi, so it was logical I'd eventually discover the #cyberpunk genre (#ghostintheshell, #akira, #neuromancer, #bubblegumcrisis, #parasitedolls, #lain...)
Aside from that I've done #opensource and #freesoftware; have gnu/#Linux on my PC and recently I discovered #decentralization.
Currently #amwriting a scifi novel about #AI and #androids.