#AI

Zenn Trends's avatar
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.dev/bookamasedo/articles/

Zenn Trends's avatar
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.dev/bookamasedo/articles/

Aral Balkan's avatar
Aral Balkan

@[email protected]

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.)

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 ''
ALT text detailsSource 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's avatar
Zenn Trends

@[email protected]

๐Ÿ• 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.dev/dinii/articles/18128b

Zenn Trends's avatar
Zenn Trends

@[email protected]

๐Ÿ• 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.dev/dinii/articles/18128b

Zenn Trends's avatar
Zenn Trends

@[email protected]

๐Ÿ• 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.dev/gvatech_blog/articles

Zenn Trends's avatar
Zenn Trends

@[email protected]

๐Ÿ• 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.dev/gvatech_blog/articles

Zenn Trends's avatar
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 ๊ฐ™๋‹ค'๊ณ  ๋А๊ปด์ง€๋Š” ์ด์œ โ€”๋ฌธ์ฒด๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๐Ÿ”— zenn.dev/omori432/articles/ai-

Zenn Trends's avatar
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 ๊ฐ™๋‹ค'๊ณ  ๋А๊ปด์ง€๋Š” ์ด์œ โ€”๋ฌธ์ฒด๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๐Ÿ”— zenn.dev/omori432/articles/ai-

Zenn Trends's avatar
Zenn Trends

@[email protected]

๐Ÿ• 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 ๋ฆฌ๋”๋ฅผ ์ง์ ‘ ๊ฐœ๋ฐœ

๐Ÿ”— zenn.dev/babarot/articles/ai-r

๐Ÿ’ซ64๊ธฐ๊ฐ€๐Ÿ’ฅ๐Ÿ‘ฝ๋ชฐ๋ฃจ๋‹ˆ์›€๐Ÿ––'s avatar
๐Ÿ’ซ64๊ธฐ๊ฐ€๐Ÿ’ฅ๐Ÿ‘ฝ๋ชฐ๋ฃจ๋‹ˆ์›€๐Ÿ––

@[email protected]

๋‚ด๊ฐ€ AI์•Œ๋ชป์ด๋ผ ๋‚ด ์ปด์—์„œ ๋กœ์ปฌ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ๋“ค์ด ์ข‹์€ ๊ฒƒ๋“ค์ธ์ง€ ๋‹ค ํ•œ๋ฌผ ์ง€๋‚œ ๊ฒƒ๋“ค์ธ์ง€ ์•Œ ์ˆ˜๊ฐ€ ์—†๋‹ค...ใ…‹

canirun.ai

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that reimplementation of 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ฤ‡'s avatar
Vladimir Saviฤ‡

@[email protected]

Is legal the same as legitimate: reimplementation and the erosion of copyleft writings.hongminhee.org/2026/0

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that reimplementation of 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ฤ‡'s avatar
Vladimir Saviฤ‡

@[email protected]

Is legal the same as legitimate: reimplementation and the erosion of copyleft writings.hongminhee.org/2026/0

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that reimplementation of 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) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that reimplementation of 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) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that reimplementation of 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 ์ˆ˜์ค€๋งŒ ์™„์„ฑ, ์‹œ๋ƒ…์Šค ๋‹จ์œ„ ์ „์ฒด ์ง€๋„๋Š” ํ˜„์žฌ ๊ธฐ์ˆ ๋กœ ๋ถˆ๊ฐ€

๐Ÿ’ก ํ•ต์‹ฌ ์งˆ๋ฌธ ํ•˜๋‚˜ โ€๋‡Œ๋ฅผ ์™„์ „ํžˆ ๋ณต์‚ฌํ•˜๋ฉด, ๊ทธ๊ฒŒ ๊ทธ ์ƒ๋ช…์ฒด์ธ๊ฐ€?โ€œ ์ง€๊ธˆ ์ดˆํŒŒ๋ฆฌ ํ•œ ๋งˆ๋ฆฌ๊ฐ€ ๊ทธ ์งˆ๋ฌธ์„ ์ฒ˜์Œ์œผ๋กœ ํ˜„์‹ค ์œ„์— ์˜ฌ๋ ค๋†“์•˜๋‹ค.


Seo Sanghyeon's avatar
Seo Sanghyeon

@[email protected]

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's avatar
Zenn Trends

@[email protected]

๐Ÿ• 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๋ฐฐ ๋А๋ฆผ.

๐Ÿ”— zenn.dev/mametter/articles/3e8

Seo Sanghyeon's avatar
Seo Sanghyeon

@[email protected]

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's avatar
Seo Sanghyeon

@[email protected]

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) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:'s avatar
ๆดช ๆฐ‘ๆ†™ (Hong Minhee) :nonbinary:

@[email protected]

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:

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's avatar
mathieui

@[email protected]

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.

blog.mathieui.net/ai-and-sover

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 ๐Ÿซ .

Markus Feilner's avatar
Markus Feilner

@[email protected]

(โ‚ฌ) "Gedrucktes, das notwendigerweise aus dem Schreiben hervorgeht, ist gleichbedeutend mit : Erfinde das Schreiben und Demokratie ist unvermeidlich.
In der Gegenwart verlieren menschliches Denken und Schreiben offenbar an Bedeutung. Angesichts von 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."
spiegel.de/geschichte/medienre

KipJayChou :antiverified:'s avatar
KipJayChou :antiverified:

@[email protected]

RE: mstdn.feddit.social/@admin/115

ๆœฌๆฅไปฅไธบ่‡ชๅทฑ่ถณๅคŸ่ทŸไธŠไบ†ๆ—ถไปฃ๏ผŒไฝ†ๆ˜ฏๅ‘็Žฐ่‡ชๅทฑๅ…ถๅฎž่ฟ˜ๅœ็•™ๅœจ2023ๆ—ถไปฃAIๅฏน่ฏ็š„ๆจกๅผ
ๆฏๅคฉ็”จAI๏ผŒ่™ฝ็„ถgpt gemini deepseek grok้ƒฝไผš็”จไฝ†ๆ˜ฏ่ฟ˜ๆ˜ฏๅคชๆญปๆฟไธๆ•ขๅฐ่ฏ•ๅ…ถไป–AIไบงๅ“...

่ฟ™ไธช้—ชๅกๅŠŸ่ƒฝ็œŸ็š„ๅฅฝๆฃ’๏ผŒ็œŸ็š„็œŸ็š„ๅฏนไบŽๅญฆไน ๆฅ่ฏดๅพˆๆœ‰ๅธฎๅŠฉ๏ผŒ็ปง็ปญๆŽข็ดข่ฟ˜ๆœ‰ไป€ไนˆๅŠŸ่ƒฝ...

notebooklm.google.com/notebook

็ณป็ปŸ้ข˜ๅบ“
ALT text details็ณป็ปŸ้ข˜ๅบ“
KipJayChou :antiverified:'s avatar
KipJayChou :antiverified:

@[email protected]

RE: mstdn.feddit.social/@admin/115

Linux Kernel Compilation and DHCP Server Configuration Laboratory

็”Ÿๆˆไบ†ไธ€ไธช้Ÿณ้ข‘๏ผŒไฝ†ๆ˜ฏๅฅฝๅƒไธป่ฆ่ฎฒ็š„ๆ˜ฏCPU
CPU็ผ“ๅญ˜็š„L1 L2 L3ๅˆ†ๅฑ‚ๅ’ŒMESIๅ่ฎฎ๏ผšnotebooklm.google.com/notebook

ๅŽŸๆฅ็ฝ‘ไธŠ็š„่ฎฟ่ฐˆๅฏน่ฏๆ˜ฏ่ฟ™ไนˆ็”Ÿๆˆ็š„2333๏ผŒไธ้œ€่ฆๆˆ‘่ฐƒ่ฏ•่‡ชๅทฑๅฐฑ็”Ÿๆˆไบ†

ๆฅๆบ
ALT text detailsๆฅๆบ
Studio
ALT text detailsStudio
KipJayChou :antiverified:'s avatar
KipJayChou :antiverified:

@[email protected]

NotebookLMๆŠŠๆˆ‘็š„ๅšๅฎข็ฝ‘็ซ™ๆ‰’ไบ†ไธช็ฒพๅ…‰๏ผŒ็Žฐๅœจๆˆ‘่ฆๅŽป้œ้œๅ…ถไป–ๅšๅฎขไบ†

The JayJayLandsๅšๅฎข
ALT text detailsThe JayJayLandsๅšๅฎข
Paolo Melchiorre's avatar
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's avatar
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:
docs.djangoproject.com/en/dev/

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's avatar
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. ๐Ÿค–

blogs.gnome.org/jrahmatzadeh/2

It feels like a shared Open Source problem. Have you seen similar issues elsewhere? ๐Ÿ›

Kagi HQ's avatar
Kagi HQ

@[email protected]

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:

slopdetective.kagi.com/

Available as apps as well!

- App Store: apps.apple.com/in/app/slop-det
- Google Play: play.google.com/store/apps/det

Slop Detective illustration with the text "Can you spot the slop?" showing Doggo's cartoon dog mascot as a detective with a magnifying glass searching for AI-generated content, with robot faces floating in background.
ALT text detailsSlop Detective illustration with the text "Can you spot the slop?" showing Doggo's cartoon dog mascot as a detective with a magnifying glass searching for AI-generated content, with robot faces floating in background.
Kagi HQ's avatar
Kagi HQ

@[email protected]

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:

slopdetective.kagi.com/

Available as apps as well!

- App Store: apps.apple.com/in/app/slop-det
- Google Play: play.google.com/store/apps/det

Slop Detective illustration with the text "Can you spot the slop?" showing Doggo's cartoon dog mascot as a detective with a magnifying glass searching for AI-generated content, with robot faces floating in background.
ALT text detailsSlop Detective illustration with the text "Can you spot the slop?" showing Doggo's cartoon dog mascot as a detective with a magnifying glass searching for AI-generated content, with robot faces floating in background.
Captain Jack Sparrow's avatar
Captain Jack Sparrow

@[email protected] ยท Reply to Simon Willison's post

@simon

hopefully the wheels are about to fall off the bike

Mark Movember Whybird's avatar
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's avatar
Simone

@[email protected]

confirms the massive impact of
roles โ†“23%
roles โ†‘14%
(285,000 firms monitored)

Before AI: 1 senior + 3 juniors = full team
After AI: 1 senior + AI = same output

We are creating without mentors without students. The professional ladder is losing its lowest rungs.

(Source: papers.ssrn.com/sol3/papers.cf )

Simone's avatar
Simone

@[email protected]

confirms the massive impact of
roles โ†“23%
roles โ†‘14%
(285,000 firms monitored)

Before AI: 1 senior + 3 juniors = full team
After AI: 1 senior + AI = same output

We are creating without mentors without students. The professional ladder is losing its lowest rungs.

(Source: papers.ssrn.com/sol3/papers.cf )

jack's avatar
jack

@[email protected]

I love local LLMs!

Here's the new 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)

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
"
ALT text detailsScreenshot 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's avatar
Oto ล ลฅรกva

@[email protected]

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's avatar
Anthropy

@[email protected]

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 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's avatar
just4fun

@[email protected]

VI ์‚ฌ์šฉ์ž์˜ ๊ตฌ๊ธ€ ์ œ๋ฏธ๋‚˜์ด CLI์„ ํ†ตํ•œ AI ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ ์ฒซ๊ฒฝํ—˜

์ œ๋ฏธ๋‚˜์ด CLI์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ๋Š” ์•„๋‹ˆ๊ณ  ๊ทธ๋™์•ˆ AI ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋˜ VI ์‚ฌ์šฉ์ž์˜ AI ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ๊ฐ์ƒ์ž…๋‹ˆ๋‹ค.

just4fun.kr/post/2455

just4fun's avatar
just4fun

@[email protected]

VI ์‚ฌ์šฉ์ž์˜ ๊ตฌ๊ธ€ ์ œ๋ฏธ๋‚˜์ด CLI์„ ํ†ตํ•œ AI ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ ์ฒซ๊ฒฝํ—˜

์ œ๋ฏธ๋‚˜์ด CLI์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ๋Š” ์•„๋‹ˆ๊ณ  ๊ทธ๋™์•ˆ AI ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋˜ VI ์‚ฌ์šฉ์ž์˜ AI ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ๊ฐ์ƒ์ž…๋‹ˆ๋‹ค.

just4fun.kr/post/2455

Dave Rahardja's avatar
Dave Rahardja

@[email protected]

Are you still on ?

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.

โ€œSpotifyโ€™s CEO invests $1 billion into an AI military start-up โ€” and musicians are fumingโ€

news.com.au/finance/work/leade

Dave Rahardja's avatar
Dave Rahardja

@[email protected]

Are you still on ?

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.

โ€œSpotifyโ€™s CEO invests $1 billion into an AI military start-up โ€” and musicians are fumingโ€

news.com.au/finance/work/leade

Dave Rahardja's avatar
Dave Rahardja

@[email protected]

Are you still on ?

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.

โ€œSpotifyโ€™s CEO invests $1 billion into an AI military start-up โ€” and musicians are fumingโ€

news.com.au/finance/work/leade

Ubuntu Korea Community's avatar
Ubuntu Korea Community

@[email protected]

ํ•œ๊ตญ์ปค๋ฎค๋‹ˆํ‹ฐ ํ•จ๊ป˜ ์ถ•ํ•˜ํ•˜๋Š” ์ถ•์ œ๊ฐ€ ๋  2025! ์˜ฌํ•ด UbuCon Korea์˜ ์ฃผ์š” ์—ฐ์‚ฌ(Featured speaker)๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค! ๋“ฑ ๋‹ค์–‘ํ•˜๊ณ  ํฅ๋ฏธ๋กœ์šด ์ฃผ์ œ๊ฐ€ ์˜ฌํ•ด๋„ ์ค€๋น„๋˜์–ด ์žˆ๋Š”๋ฐ์š”, ์ฃผ์š” ์—ฐ์‚ฌ ๋ถ„๋“ค์˜ ์„ธ์…˜์— ๊ผญ ์ฐธ์—ฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?

์ง€๊ธˆ ๋ฐ”๋กœ ํ•˜๊ณ , 8์›” 10์ผ ๊ด‘ํ™”๋ฌธ ์—์„œ ๋งŒ๋‚˜์š”! ...

Ben Evans's avatar
Ben Evans

@[email protected]

A sort-of followup to "Show Me The Pull Requests" - linkedin.com/posts/kittylyst_a (original post here: mastodon.social/@kittylyst/114 )

Thanks to @simon for pointing me at this one. /cc @davidgerard

Minyoung Jeong's avatar
Minyoung Jeong

@[email protected]


์š”์ฆ˜ ์˜์–ด๋กœ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ผ์ผ์ด ์ด๋ž˜์ €๋ž˜ ๋งŽ์€๋ฐ, ์˜๋ฌธ ์ž‘์„ฑ์„ ์œ„ํ•ด์„œ 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's avatar
Minyoung Jeong

@[email protected]


์š”์ฆ˜ ์˜์–ด๋กœ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ผ์ผ์ด ์ด๋ž˜์ €๋ž˜ ๋งŽ์€๋ฐ, ์˜๋ฌธ ์ž‘์„ฑ์„ ์œ„ํ•ด์„œ 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's avatar
Peter Bloem

@[email protected]

New pre-print!

**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)

arxiv.org/abs/2506.20057

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.
ALT text detailsA 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's avatar
Terence Eden

@[email protected]

๐Ÿ†• 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: shkspr.mobi/blog/2025/06/why-d
โธป

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@[email protected]

Did you know? provides optimized for LLMs through the llms.txt standard.

Available endpoints:

Useful for training assistants on / development, building documentation chatbots, or -powered dev tools.

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@[email protected]

Did you know? provides optimized for LLMs through the llms.txt standard.

Available endpoints:

Useful for training assistants on / development, building documentation chatbots, or -powered dev tools.

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@[email protected]

Did you know? provides optimized for LLMs through the llms.txt standard.

Available endpoints:

Useful for training assistants on / development, building documentation chatbots, or -powered dev tools.

nixCraft ๐Ÿง's avatar
nixCraft ๐Ÿง

@[email protected]

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.

Diagram showing relationships between Microsoft, OpenAI, VSCode, Windsurf, and Cursor, highlighting Microsoft's investments and ownership.
ALT text detailsDiagram showing relationships between Microsoft, OpenAI, VSCode, Windsurf, and Cursor, highlighting Microsoft's investments and ownership.
nixCraft ๐Ÿง's avatar
nixCraft ๐Ÿง

@[email protected]

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.

Diagram showing relationships between Microsoft, OpenAI, VSCode, Windsurf, and Cursor, highlighting Microsoft's investments and ownership.
ALT text detailsDiagram showing relationships between Microsoft, OpenAI, VSCode, Windsurf, and Cursor, highlighting Microsoft's investments and ownership.
Privacy Guides's avatar
Privacy Guides

@[email protected]

Last week, OpenAI CEO Sam Altman announced his ambitious plan for the World project, formerly known as Worldcoin.

privacyguides.org/articles/202

Privacy Guides's avatar
Privacy Guides

@[email protected]

Last week, OpenAI CEO Sam Altman announced his ambitious plan for the World project, formerly known as Worldcoin.

privacyguides.org/articles/202

Open Rights Group's avatar
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 โฌ‡๏ธ

you.38degrees.org.uk/petitions

Open Rights Group's avatar
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

Open Rights Group's avatar
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 ๐Ÿคฏ

theguardian.com/uk-news/2025/a

Open Rights Group's avatar
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.

Open Rights Group's avatar
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.

Open Rights Group's avatar
Open Rights Group

@[email protected]

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 โฌ‡๏ธ

openrightsgroup.org/blog/why-p

Ben Evans's avatar
Ben Evans

@[email protected]

Show me the Pull Requests.

I keep hearing boosters / talking heads claiming that 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 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:'s avatar
Make:

@[email protected]

Join @ishotjr and a panel of special guests as we explore the world of humanoid ! We show you how to use and to build from heads to four-legged friends! Register now for our Thursday, May 15th V93 ! ๐Ÿฅณ

events.zoom.us/ev/Aqje1XLNoXjo

Make: Volume 93 Launch Party promo graphic consisting of the magazine cover and accompanying blurb:
	
"Join the Make: editorial staff and contributors as we build 'bots from artistic arms to humanoid heads to four-legged friends!"
ALT text detailsMake: Volume 93 Launch Party promo graphic consisting of the magazine cover and accompanying blurb: "Join the Make: editorial staff and contributors as we build 'bots from artistic arms to humanoid heads to four-legged friends!"
Cheuk Ting Ho's avatar
Cheuk Ting Ho

@[email protected]

Thank you for giving me to opportunity to talk about things that is close to my heart: and

Cheuk Ting Ho's avatar
Cheuk Ting Ho

@[email protected]

Thank you for giving me to opportunity to talk about things that is close to my heart: and

๊ฐœ๋ณต์น˜ :__commie:๐ŸŒบ๐ŸŽ—๏ธ's avatar
๊ฐœ๋ณต์น˜ :__commie:๐ŸŒบ๐ŸŽ—๏ธ

@[email protected]

>ai๊ฐ€ ๊ฐ€์น˜์ค‘๋ฆฝ์ ์ผ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์•„์„œ ๋†€๋ผ์›€..ai๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ž์ฒด๊ฐ€ ์ด ๋ถˆํ‰๋“ฑํ•œ ๊ตฌ์กฐ ํ•˜์—์„œ ๋Š์ž„์—†์ด ๊ธฐ๋“๊ถŒ์ธต์—๊ฒŒ ์œ ๋ฆฌํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ์žฌ์ƒ์‚ฐ ๋˜๋ฉฐ ์ˆ˜๋ฐฑ๋…„๋™์•ˆ ์ถ•์ ๋˜์–ด์˜จ๊ฒƒ์ธ๋ฐ..
x.com/andfldrh/status/18934783

Artist Activist's avatar
Artist Activist

@[email protected] ยท Reply to Artist Activist's post

โ€™s $100B , marks a significant push by the Kingdom to develop a robust ecosystem that can rival leading tech hubs, including neighbouring and other global technology centers.
cio.com/article/3602900/saudi-

Artist Activist's avatar
Artist Activist

@[email protected] ยท Reply to Artist Activist's post

has announced a $500 million investment in initiatives in , and will deploy its Hyperforce platform there through a strategic partnership with Web Services (). Additionally, the company plans to establish a regional headquarters in .
nasdaq.com/articles/salesforce

Artist Activist's avatar
Artist Activist

@[email protected] ยท Reply to Artist Activist's post

announced this week that itโ€™s planning $500 million of AI-related investments in . Like the , Saudi Arabiaโ€”a major oil and gas exporterโ€”is looking to capitalize on its abundance of wealth and fossil fuels to become an superpower, including in a $100 billion initiative called .
newrepublic.com/article/191506

Thomas Fricke (he/his)'s avatar
Thomas Fricke (he/his)

@[email protected]

Ich habe meinen Talk รผber den Ressourcenverbrauch von mal
auf Deutsch aufgeschrieben.

"Ressourcenverbrauch von AI
Oder: wie AI uns wirklich umbringen wird"

thomasfricke.de/post/energy-re

Der Talk ist hier
media.ccc.de/v/38c3-resource-c

Der 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's avatar
Matthew Skelton

@[email protected]

๐Ÿ“ข 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 matthewskelton.com/keynotes

Toni Aittoniemi's avatar
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.

docs.google.com/document/d/18c

FediThing ๐Ÿณ๏ธโ€๐ŸŒˆ's avatar
FediThing ๐Ÿณ๏ธโ€๐ŸŒˆ

@[email protected]

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's avatar
Robert W. Gehl

@[email protected]

I don't know who cares to hear this, but I publicly pledge to never use generative 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's avatar
Tim Kellogg

@[email protected]

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 timkellogg.me/blog/2023/12/19/

she hacked you's avatar
she hacked you

@[email protected]

Automate the boardroom before the factory floor.

Ignore the fact we could replace most executives with a dice. Even the best ones could be automated easier than building complex and to replace jobs that are inexpensive.

Or your class in will forever be "traitor"

CEOs make 344x workers.
ALT text detailsCEOs make 344x workers.
Davide Eynard (+mala)'s avatar
Davide Eynard (+mala)

@[email protected]

Hi everyone! Six more months passed since my last , so here is an updated one:

AKA: +mala, AiTTaLaM

Job: Doinโ€™ trustworthy @ moz://a.ai - more generally I love , no matter if to humans or machines :-)

Projects: 3564020356.org is the oldest (~22yrs ๐Ÿ˜…), the most recent... Look around and find the rest! ๐Ÿ˜œ

Interests:

pandora's avatar
pandora

@[email protected]

What really goes on in city! The truth about the !

pope as sith lord
ALT text detailspope as sith lord
pope as sith lord
ALT text detailspope as sith lord
pope as sith lord
ALT text detailspope as sith lord
pope as sith lord
ALT text detailspope as sith lord
Joseph Szymborski :qcca:'s avatar
Joseph Szymborski :qcca:

@[email protected]

Hi all! I'm Joseph Szymborski, a student at McGill university studying 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 , molecular biology, and other generally nerdy things.

Eager to meet and share ideas with and people here!

HistoPol (#HP) ๐Ÿด ๐Ÿ‡บ๐Ÿ‡ธ  ๐Ÿด's avatar
HistoPol (#HP) ๐Ÿด ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿด

@[email protected] ยท Reply to Simon Willison's post

@simon

(1/n)

() 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 aficionado will tell you:
๐Ÿ‘‰there should be a built-in self-destruct mechanism when tampering with these Laws or copying or moving the to another system.๐Ÿ‘ˆ

Another classic movie comes to mind in this respect, ...

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.jpg
ALT text detailsImage 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.jpg
HistoPol (#HP) ๐Ÿด ๐Ÿ‡บ๐Ÿ‡ธ  ๐Ÿด's avatar
HistoPol (#HP) ๐Ÿด ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿด

@[email protected] ยท Reply to HistoPol (#HP) ๐Ÿด ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿด's post

@annaleen @simon

This deserves A LOT more attention.

has seemingly tendencies.

If U aren't a , U will at least consider becoming one afterwards.


might be imminent.

Have all these engineers @ never read ? Seen franchise?

How could they NOT implement the +, in particular, the *indelibly* into the ?!?

theguardian.com/technology/202

James Dreben :mw:'s avatar
James Dreben :mw:

@[email protected]

The Expanding Dark Forest and Generative AI

Proving you're a human on a web flooded with generative AI content

maggieappleton.com/ai-dark-for

cartoon depicting the multiple layers of the internet (cozy vs dark web vs dark forest) as described in the article
ALT text detailscartoon depicting the multiple layers of the internet (cozy vs dark web vs dark forest) as described in the article
Richard MacManus's avatar
Richard MacManus

@[email protected]

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 ( ); at least 500 words per day, usually very early in the morning.

I'm a

My current interests:






Claes de Vreese โ˜‘๏ธ's avatar
Claes de Vreese โ˜‘๏ธ

@[email protected]

Learning etiquette: so a short Introduction: I do research on , , , , , and . I am based at U and also direct the Digital Democracy Centre at U Southern Denmark. My interests are (too) broad, I am impatient, score high on , energetic and generally optimistic. I am here to learn, frustrate Elon, and I will post mostly about work, but with occasional , , and irrelevant photo content.

Cyber Yuki's avatar
Cyber Yuki

@[email protected]

(reposted from old profile)

Gen-Xer born in ; since kid I was a and liked and , so it was logical I'd eventually discover the genre (, , , , , ...)

Aside from that I've done and ; have gnu/#Linux on my PC and recently I discovered .

Currently a scifi novel about and .