โšก AI ์ธํ…”๋ฆฌ์ „์Šค ๋ ˆ์ด๋”
๐Ÿ”ง ๊ณ ๊ธ‰๋ฐ˜ ยท ์˜คํ”ˆ์†Œ์Šค AI ์ƒํƒœ๊ณ„ & ์šด์˜

16ํšŒ์ฐจ ยท ๐Ÿ› ๏ธ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ & ์•ฑ SDK โ€” ์˜คํ”ˆ์†Œ์Šค๋กœ ์ฝ”๋“œ๋ถ€ํ„ฐ ์„œ๋น„์Šค๊นŒ์ง€

๊ธ€ ๋ฐฑ๋‘์‚ฐ (Doosan Baek) ยท ๊ฒŒ์‹œ 2026-06-13 ยท ์ตœ์ข… ์ˆ˜์ • 2026-07-10

์ด ํšŒ์ฐจ์—์„œ ๋ฐฐ์šฐ๋Š” ๊ฒƒ

๐Ÿงญ ์™œ ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋”ฉ ๋น„์„œ?Claude Code์˜ ๋ฉ€ํ‹ฐ๋ชจ๋ธยท์˜คํ”ˆ์†Œ์Šค ์‚ฌ์ดŒ๋“ค
โŒจ๏ธ OpenCodeํ„ฐ๋ฏธ๋„์—์„œ 75+ ๋ชจ๋ธ์„ ๊ฐˆ์•„ ๋ผ์šฐ๋Š” ์ฝ”๋”ฉ ์—์ด์ „ํŠธ
๐Ÿงฉ ClineVS Code ์•ˆ์—์„œ ์“ฐ๋Š” ๋ฌด๋ฃŒ ์ฝ”๋”ฉ ๋น„์„œ โ€” Cursor ๋Œ€์•ˆ
๐Ÿค– OpenHandsํ˜ผ์ž PR๊นŒ์ง€ ์˜ฌ๋ฆฌ๋Š” ์ž์œจ SWE ์—์ด์ „ํŠธ
โš–๏ธ ์…‹ ๋น„๊ตยท๊ณ ๋ฅด๊ธฐํ„ฐ๋ฏธ๋„ ยท ์—๋””ํ„ฐ ยท ์ž์œจ โ€” ๋‚ด๊ฒŒ ๋งž๋Š” ์ž…๊ตฌ
๐Ÿงฐ ํ•˜๋„ค์Šค๋ผ๋Š” ๋ˆˆ๊ฐ™์€ ๋ชจ๋ธยท๋‹ค๋ฅธ ์‹ค๋ ฅ์˜ ๋น„๋ฐ€ โ€” ๋„๊ตฌ ๋ณด๋Š” 4๊ฐ€์ง€ ๊ธฐ์ค€
๐Ÿ”‘ ์‹œ์ž‘ ์ „ ์ค€๋น„๋ฌผAPI ํ‚ค ํ•œ ๊ฐœ์™€ ๋น„์šฉ ๊ฐ๊ฐ
๐Ÿงฑ ์•ฑ SDKLangChainยทLlamaIndex โ€” LLM ์•ฑ์„ ์งœ๋Š” ๋ ˆ๊ณ  ๋ถ€ํ’ˆ
๐Ÿ‘ฅ ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›ŒํฌCrewAIยทAutoGenยทLangGraph โ€” ์—ฌ๋Ÿฌ AI๊ฐ€ 'ํŒ€'์œผ๋กœ ํ˜‘์—…
๐Ÿ†š ๋…ธ์ฝ”๋“œ์™€ ๋น„๊ตDify๋กœ ์•ˆ ๋˜๋Š” ์„ธ๋ฐ€ํ•œ ์ œ์–ด๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์ฝ”๋“œ๋กœ
๐ŸŽฏ ๋น„๊ฐœ๋ฐœ์ž์˜ ์ž์„ธ์ง์ ‘ ์•ˆ ์งœ๋„ ๋จ โ€” '์žˆ๋‹ค๋Š” ์ง€๋„'๋งŒ ์ฑ™๊ธฐ๊ธฐ
๐Ÿ“Œ 16ํšŒ์ฐจ ํ•ต์‹ฌ๊ณจ๋ผ ์“ฐ๋Š” ์ฝ”๋”ฉ ๋น„์„œ + ์•ฑ SDK์˜ ํฐ ๊ทธ๋ฆผ

7ยท8ํšŒ์ฐจ์—์„œ Claude Code๋กœ '๋ง๋กœ ์‹œ์ผœ ์•ฑ ๋งŒ๋“ค๊ธฐ'๋ฅผ ์ตํ˜”์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—” ๊ทธ ์‚ฌ์ดŒ๋“ค โ€” ์˜คํ”ˆ์†Œ์Šค์ด๋ฉด์„œ ๋ชจ๋ธ์„ ๊ณจ๋ผ ๋ผ์šธ ์ˆ˜ ์žˆ๋Š” ์ฝ”๋”ฉ ๋น„์„œ ์…‹์„ ๋ด…๋‹ˆ๋‹ค. Claude Code๊ฐ€ 'Anthropic ๋‘๋‡Œ ์ „์šฉ ๊ณ ๊ธ‰ ์„ธ๋‹จ'์ด๋ผ๋ฉด, ์˜ค๋Š˜ ๋„๊ตฌ๋“ค์€ '์—”์ง„(๋ชจ๋ธ)์„ ์ง์ ‘ ๊ฐˆ์•„ ๋ผ์šฐ๋Š” ์ฐจ' โ€” ClaudeยทGPTยทGemini๋Š” ๋ฌผ๋ก  ๋ฌด๋ฃŒ ๋กœ์ปฌ ๋ชจ๋ธ๊นŒ์ง€ ์ƒํ™ฉ์— ๋งž์ถฐ ๋ฐ”๊ฟ” ๋ผ์›๋‹ˆ๋‹ค. ํ•ต์‹ฌ์€ ๊ฐœ๋ณ„ ๋ช…๋ น์–ด๊ฐ€ ์•„๋‹ˆ๋ผ '๋ชจ๋ธ์„ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๋‹ค'๋Š” ์ž์œ ์™€ '๋‚ด ์ฝ”๋“œ๊ฐ€ ๋‚ด ์†์„ ๋– ๋‚˜์ง€ ์•Š๋Š”๋‹ค'๋Š” ์˜คํ”ˆ์†Œ์Šค์˜ ์•ˆ์‹ฌ์ž…๋‹ˆ๋‹ค.

๐Ÿงญ ์™œ ๊ตณ์ด ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋”ฉ ๋น„์„œ์ธ๊ฐ€

Claude CodeยทCursor๋Š” ๊ฐ•๋ ฅํ•˜์ง€๋งŒ ํ•œ ํšŒ์‚ฌ ๋ชจ๋ธยทํ•œ ํšŒ์‚ฌ ์„œ๋ฒ„์— ๋ฌถ์ž…๋‹ˆ๋‹ค. ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋Š” ๋‘ ๊ฐ€์ง€ ์ž์œ ๋ฅผ ๋” ์ค๋‹ˆ๋‹ค โ€” ์ฒซ์งธ, ๋ชจ๋ธ ์„ ํƒ์˜ ์ž์œ (์ด ์ž‘์—…์—” Claude, ์ € ์ž‘์—…์—” ์ €๋ ดํ•œ ๋ชจ๋ธ, ๋ฏผ๊ฐํ•œ ์ž‘์—…์—” ๋‚ด ๋…ธํŠธ๋ถ ๋กœ์ปฌ ๋ชจ๋ธ). ๋‘˜์งธ, ํˆฌ๋ช…์„ฑ(์ฝ”๋“œ๊ฐ€ ๊ณต๊ฐœ๋ผ ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ๋“ค์—ฌ๋‹ค๋ณผ ์ˆ˜ ์žˆ๊ณ , ๋‚ด ์ฝ”๋“œ๋ฅผ ์™ธ๋ถ€์— ์ €์žฅํ•˜์ง€ ์•Š์Œ). 13ํšŒ์ฐจ OpenClaw๊ฐ€ '๋ง๋กœ ์‹œํ‚ค๋Š” ์ž๋™ํ™”'์˜ ์˜คํ”ˆ์†Œ์Šค์˜€๋‹ค๋ฉด, ์˜ค๋Š˜์€ '๋ง๋กœ ์‹œํ‚ค๋Š” ์ฝ”๋”ฉ'์˜ ์˜คํ”ˆ์†Œ์Šค์ž…๋‹ˆ๋‹ค.

โŒจ๏ธ OpenCode โ€” ํ„ฐ๋ฏธ๋„์—์„œ ๋ชจ๋ธ์„ ๊ฐˆ์•„ ๋ผ์šฐ๋Š” ์ฝ”๋”ฉ ์—์ด์ „ํŠธ

OpenCode๋Š” ํ„ฐ๋ฏธ๋„์—์„œ ๋„๋Š” ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์ž…๋‹ˆ๋‹ค โ€” ์ƒ๊น€์ƒˆ์™€ ์‚ฌ์šฉ๋ฒ•์ด 7ํšŒ์ฐจ Claude Code(CLI)์™€ ๊ฑฐ์˜ ์Œ๋‘ฅ์ด์˜ˆ์š”. ๊ฐ€์žฅ ํฐ ์ฐจ์ด๋Š” '๋‘๋‡Œ๋ฅผ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๋‹ค'๋Š” ์ . ClaudeยทGPTยทGeminiยทLlama ๋“ฑ 75๊ฐœ๊ฐ€ ๋„˜๋Š” ๋ชจ๋ธ ์ œ๊ณต์ฒ˜๋ฅผ ์ง€์›ํ•ด, ๋ช…๋ น ํ•œ ๋ฒˆ์œผ๋กœ ์—”์ง„์„ ๋ฐ”๊ฟ” ๋ผ์›๋‹ˆ๋‹ค. SST(์›น ๊ฐœ๋ฐœ ๋„๊ตฌ)๋ฅผ ๋งŒ๋“  Anomaly ํŒ€์ด ๊ณต๊ฐœํ–ˆ๊ณ , ์ถœ์‹œ 1๋…„์ด ์•ˆ ๋ผ GitHub ์Šคํƒ€๊ฐ€ ์ˆ˜์‹ญ๋งŒ ๊ฐœ์— ์ด๋ฅผ ๋งŒํผ ์ธ๊ธฐ์ž…๋‹ˆ๋‹ค(๋น ๋ฅด๊ฒŒ ์ฆ๊ฐ€ ์ค‘).

# ์„ค์น˜ (ํ•œ ์ค„) โ€” macOSยทLinux
curl -fsSL https://opencode.ai/install | bash

# ์‹คํ–‰ โ€” ์ž‘์—…ํ•  ํด๋”์—์„œ
opencode
# โ†’ ํ™”๋ฉด์—์„œ ๋ชจ๋ธ์„ ๊ณ ๋ฅด๊ณ , ์ž์—ฐ์–ด๋กœ '๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋งŒ๋“ค์–ด์ค˜'์ฒ˜๋Ÿผ ์ง€์‹œ

๐Ÿงฉ Cline โ€” VS Code ์•ˆ์—์„œ ์“ฐ๋Š” ๋ฌด๋ฃŒ ์ฝ”๋”ฉ ๋น„์„œ

Cline(ํด๋ผ์ธ)์€ ์ฝ”๋“œ ์—๋””ํ„ฐ VS Code์— ๋ผ์šฐ๋Š” ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์ด ๋ถ€๋‹ด์Šค๋Ÿฌ์šด ๋ถ„๊ป˜ ๊ฐ€์žฅ ์นœ์ ˆํ•œ ์ž…๊ตฌ์˜ˆ์š” โ€” ์—๋””ํ„ฐ ์˜† ์‚ฌ์ด๋“œ๋ฐ”์— ์ฑ„ํŒ…์ฐฝ์ด ์ƒ๊ธฐ๊ณ , ๊ฑฐ๊ธฐ์— '์ด ๋ฒ„ํŠผ ์ƒ‰ ๋ฐ”๊ฟ”์ค˜'๋ผ๊ณ  ์ ์œผ๋ฉด ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ฐพ์•„ ๊ณ ์น˜๊ณ , ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ , ํ•„์š”ํ•˜๋ฉด ํ„ฐ๋ฏธ๋„ ๋ช…๋ น๊นŒ์ง€ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Apache 2.0 ์˜คํ”ˆ์†Œ์Šค์ด๊ณ  ์„ค์น˜ ์ˆ˜๋ฐฑ๋งŒ ํšŒ๋ฅผ ๋„˜๊ธด ์ธ๊ธฐ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

  1. VS Code ์‹คํ–‰ โ†’ ์™ผ์ชฝ ํ™•์žฅ(Extensions) ์•„์ด์ฝ˜ ํด๋ฆญ
  2. ๊ฒ€์ƒ‰์ฐฝ์— 'Cline' ์ž…๋ ฅ โ†’ Install
  3. ์‚ฌ์ด๋“œ๋ฐ”์— ์ƒ๊ธด Cline ํŒจ๋„ ์—ด๊ธฐ โ†’ ๋ชจ๋ธ ์ œ๊ณต์ฒ˜ ์„ ํƒ(์˜ˆ: Anthropic) + API ํ‚ค ๋ถ™์—ฌ๋„ฃ๊ธฐ
  4. ์ฑ„ํŒ…์ฐฝ์— ์ž์—ฐ์–ด๋กœ ์ง€์‹œ โ€” 'index.html์— ๋‹คํฌ๋ชจ๋“œ ํ† ๊ธ€ ์ถ”๊ฐ€ํ•ด์ค˜'
  5. Plan์œผ๋กœ ๊ณ„ํš ํ™•์ธ โ†’ Act๋กœ ์‹คํ–‰ โ†’ ๋ฐ”๋€ ํŒŒ์ผ์„ ์Šน์ธํ•˜๋ฉฐ ์ง„ํ–‰

๐Ÿค– OpenHands โ€” ํ˜ผ์ž PR๊นŒ์ง€ ์˜ฌ๋ฆฌ๋Š” ์ž์œจ ์—์ด์ „ํŠธ

OpenCodeยทCline์ด '๋‚ด ์˜†์—์„œ ๊ฐ™์ด ์ฝ”๋”ฉํ•˜๋Š” ๋น„์„œ'๋ผ๋ฉด, OpenHands(์˜คํ”ˆํ•ธ์ฆˆ)๋Š” ํ•œ ๋‹จ๊ณ„ ๋” ๋‚˜์•„๊ฐ„ '์ž์œจ SWE(์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด) ์—์ด์ „ํŠธ'์ž…๋‹ˆ๋‹ค. ์ผ๊ฐ(์˜ˆ: ๊นƒํ—ˆ๋ธŒ ์ด์Šˆ)์„ ๋˜์ง€๋ฉด ์Šค์Šค๋กœ ๊ณ„ํš์„ ์„ธ์šฐ๊ณ  โ€” ์ฝ”๋“œ๋ฅผ ๊ณ ์น˜๊ณ , ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ , ์›น์„ ๋’ค์ง€๊ณ , ํ…Œ์ŠคํŠธ๋ฅผ ๋Œ๋ฆฐ ๋“ค โ€” ๊ฒฐ๊ณผ๋ฅผ PR(์ฝ”๋“œ ์ œ์ถœ ์š”์ฒญ)๋กœ ์˜ฌ๋ ค๋†“๊ธฐ๊นŒ์ง€ ํ•ฉ๋‹ˆ๋‹ค. ์˜› ์ด๋ฆ„์€ OpenDevin์œผ๋กœ, ์ž์œจ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ 'Devin'์— ๋Œ€ํ•œ ์˜คํ”ˆ์†Œ์Šค ์‘๋‹ต์œผ๋กœ ์‹œ์ž‘๋์–ด์š”. All Hands AI๊ฐ€ MIT ๋ผ์ด์„ ์Šค๋กœ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๊ฐ€์ง€๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ€” (1) ๊ฐ€์žฅ ์‰ฌ์šด ๊ธธ์€ OpenHands Cloud(app.all-hands.dev)์— ๋กœ๊ทธ์ธํ•ด ์›น/๋ชจ๋ฐ”์ผ์—์„œ ๋ฐ”๋กœ ์ผ๊ฐ์„ ๋งก๊ธฐ๋Š” ๊ฒƒ, (2) ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ๋Œ๋ฆฌ๋ ค๋ฉด CLI ๋Ÿฐ์ฒ˜๋‚˜ Docker๋กœ ๋„์›๋‹ˆ๋‹ค. ๋น„๊ฐœ๋ฐœ์ž๋Š” Cloud๋กœ '๋งก๊ฒจ๋‘๊ณ  ๊ฒฐ๊ณผ๋งŒ ๋ฐ›๊ธฐ'๋ฅผ ๋จผ์ € ๊ฒฝํ—˜ํ•ด ๋ณด๊ธธ ๊ถŒํ•ฉ๋‹ˆ๋‹ค.

# ๋‚ด ์ปดํ“จํ„ฐ์—์„œ OpenHands ๋„์šฐ๊ธฐ (CLI ๋Ÿฐ์ฒ˜ ยท Docker ๋ถˆํ•„์š”)
# uv๊ฐ€ ๊น”๋ ค ์žˆ๋‹ค๋ฉด ํ•œ ์ค„๋กœ ์›น UI ์‹คํ–‰
uvx --python 3.12 --from openhands-ai openhands serve

# (๋” ์‰ฌ์šด ๊ธธ) ์„ค์น˜ ์—†์ด OpenHands Cloud ๋กœ๊ทธ์ธ
# โ†’ app.all-hands.dev ์—์„œ ๊นƒํ—ˆ๋ธŒ ์—ฐ๊ฒฐ ํ›„ ์ผ๊ฐ ๋งก๊ธฐ๊ธฐ

โš–๏ธ ์…‹ ๋น„๊ต โ€” ๋‚ด๊ฒŒ ๋งž๋Š” ์ž…๊ตฌ ๊ณ ๋ฅด๊ธฐ

๐Ÿงฐ ๊ฐ™์€ ๋ชจ๋ธ, ๋‹ค๋ฅธ ์‹ค๋ ฅ โ€” 'ํ•˜๋„ค์Šค'๋ผ๋Š” ๋ˆˆ

์ด์ƒํ•˜์ง€ ์•Š๋‚˜์š”? ์…‹ ๋‹ค ๊ฐ™์€ ClaudeยทGPT ํ‚ค๋ฅผ ๊ฝ‚๋Š”๋ฐ ๋„๊ตฌ๋งˆ๋‹ค ์‹ค๋ ฅ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋น„๋ฐ€์€ ๋ชจ๋ธ์ด ์•„๋‹ˆ๋ผ ๊ทธ๊ฑธ ๊ฐ์‹ผ 'ํ•˜๋„ค์Šค(harness)'์— ์žˆ์–ด์š”. ๋ชจ๋ธ์ด ์—”์ง„์ด๋ผ๋ฉด ํ•˜๋„ค์Šค๋Š” ์ฐจ์ฒดยทํ•ธ๋“คยท๋ธŒ๋ ˆ์ดํฌ โ€” ์–ด๋–ค ๋งฅ๋ฝ์„ ๋ณด์—ฌ์ฃผ๊ณ , ์–ด๋–ค ๋„๊ตฌ๋ฅผ ์ฅ์—ฌ์ฃผ๊ณ , ์‹คํŒจํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ์ˆ˜์Šตํ•˜๋Š”์ง€๊ฐ€ ๋„๊ตฌ๋งˆ๋‹ค ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ ๋น„๊ต๋Š” ์‚ฌ์‹ค 'ํ•˜๋„ค์Šค ๋น„๊ต'์˜ˆ์š”.

๐Ÿ”‘ ์‹œ์ž‘ ์ „ ์ค€๋น„๋ฌผ โ€” ํ‚ค ํ•œ ๊ฐœ์™€ ๋น„์šฉ ๊ฐ๊ฐ

  1. ๋ชจ๋ธ ์ œ๊ณต์ฒ˜์—์„œ API ํ‚ค ๋ฐœ๊ธ‰ โ€” ์˜ˆ: Anthropic(Claude)ยทOpenAIยทGoogle. 5ํšŒ์ฐจ์—์„œ ๋‹ค๋ฃฌ ๊ทธ ํ‚ค.
  2. ๋„๊ตฌ์˜ ์„ค์ • ํ™”๋ฉด์— ํ‚ค ๋ถ™์—ฌ๋„ฃ๊ธฐ โ€” OpenCodeยทClineยทOpenHands ๋ชจ๋‘ ๊ฐ™์€ ๋ฐฉ์‹.
  3. ๋น„์šฉ์ด ๊ฑฑ์ •๋˜๋ฉด โ€” ๊ฐ€๋ฒผ์šด ์ž‘์—…์€ ์ €๋ ดํ•œ ๋ชจ๋ธ, ๋˜๋Š” Ollama ๋กœ์ปฌ ๋ชจ๋ธ(๋ฌด๋ฃŒ)๋กœ ์—ฐ์Šต.
  4. ํฐ ์ž‘์—…์„ ๋น„์‹ผ ๋ชจ๋ธ์— ํ†ต์งธ๋กœ ๋งก๊ธฐ๋ฉด ์˜ˆ์ƒ๋ณด๋‹ค ๋งŽ์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์œผ๋‹ˆ โ€” '๊ณ„ํš์€ ๋˜‘๋˜‘ํ•œ ๋ชจ๋ธ, ๋ฐ˜๋ณต ์ž‘์—…์€ ์‹ผ ๋ชจ๋ธ'๋กœ ๋‚˜๋ˆ  ์“ฐ๋ฉด ๋น„์šฉ๊ณผ ํ’ˆ์งˆ์„ ๋‘˜ ๋‹ค ์žก์Šต๋‹ˆ๋‹ค.

๐Ÿงฑ ํ›„๋ฐ˜๋ถ€ โ€” ์•ฑ SDK & ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ (์ฝ”๋“œ๋กœ ํ•œ ๊ฑธ์Œ ๋”)

์—ฌ๊ธฐ๊นŒ์ง€(์ฝ”๋”ฉ ์—์ด์ „ํŠธ)๋Š” '์™„์„ฑ๋œ ๋„๊ตฌ'๋ฅผ ๊ฐ€์ ธ๋‹ค ์ผ์Šต๋‹ˆ๋‹ค. ํ›„๋ฐ˜๋ถ€๋Š” ๊ทธ ๋„๊ตฌ๋“ค์˜ '์† ์žฌ๋ฃŒ', ์ฆ‰ ๊ฐœ๋ฐœ์ž๊ฐ€ AI ์„œ๋น„์Šค๋ฅผ ์ฝ”๋“œ๋กœ ์ง์ ‘ ์งค ๋•Œ ์“ฐ๋Š” ๋ถ€ํ’ˆ์„ ๋ด…๋‹ˆ๋‹ค. โ˜…โ˜…โ˜…โ˜… ๋‚œ์ด๋„์ง€๋งŒ ๊ฒ๋จน์ง€ ๋งˆ์„ธ์š” โ€” ๋น„๊ฐœ๋ฐœ์ž์˜ ๋ชฉํ‘œ๋Š” '์ง์ ‘ ์งœ๊ธฐ'๊ฐ€ ์•„๋‹ˆ๋ผ '์ด๋Ÿฐ ์„ธ๊ณ„๊ฐ€ ์žˆ๊ณ , ์šฐ๋ฆฌ๊ฐ€ ์“ฐ๋˜ DifyยทOMC๊ฐ€ ์‚ฌ์‹ค ์ด๊ฑธ ์‰ฝ๊ฒŒ ๊ฐ์‹ผ ๊ฒƒ'์ž„์„ ์•„๋Š” ์ง€๋„ ํ•œ ์žฅ์ž…๋‹ˆ๋‹ค.

๐Ÿงญ '์“ฐ๋Š” ๊ฒƒ'๊ณผ '๋งŒ๋“œ๋Š” ๊ฒƒ'์˜ ๊ฒฝ๊ณ„

14ํšŒ์ฐจ Dify๋Š” ๋งˆ์šฐ์Šค๋กœ ๋ธ”๋ก์„ ๋Œ์–ด AI ์•ฑ์„ ๋งŒ๋“ค์—ˆ์ฃ . ํŽธํ•˜์ง€๋งŒ โ€” ์ •ํ•ด์ค€ ๋ธ”๋ก ๋ฐ–์˜ ์„ธ๋ฐ€ํ•œ ๋™์ž‘์€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ํšŒ์‚ฌ ์„œ๋น„์Šค๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋งŒ๋“ค๋‹ค ๋ณด๋ฉด '์ด ์กฐ๊ฑด์ด๋ฉด ์ด AI, ์ €๋Ÿฌ๋ฉด ์ € AI, ์ค‘๊ฐ„์— ์šฐ๋ฆฌ DB๋„ ํ™•์ธ'์ฒ˜๋Ÿผ ๋ฏธ์„ธ ์ œ์–ด๊ฐ€ ํ•„์š”ํ•ด์ง‘๋‹ˆ๋‹ค. ๊ทธ๋•Œ ๊ฐœ๋ฐœ์ž๋Š” ๋…ธ์ฝ”๋“œ๋ฅผ ๋ฒ—์–ด๋‚˜ ์ฝ”๋“œ ์žฌ๋ฃŒ(SDKยทํ”„๋ ˆ์ž„์›Œํฌ)๋กœ ๋‚ด๋ ค์˜ต๋‹ˆ๋‹ค.

๐Ÿงฑ ์•ฑ SDK โ€” LLM ์•ฑ์˜ ๋ ˆ๊ณ  ๋ถ€ํ’ˆ

์•ฑ SDK๋Š” 'AI ์•ฑ์„ ์ฝ”๋“œ๋กœ ์งค ๋•Œ ๋ฐ˜๋ณต๋˜๋Š” ์ผ์„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋‘” ๋ถ€ํ’ˆ ์ƒ์ž'์ž…๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ ๊ด€๋ฆฌ, ๋Œ€ํ™” ๊ธฐ์–ต, ์™ธ๋ถ€ ๋„๊ตฌ ์—ฐ๊ฒฐ, ๋ฌธ์„œ ๊ฒ€์ƒ‰(RAG) ๊ฐ™์€ ๊ฑธ ๋งค๋ฒˆ ์ƒˆ๋กœ ์งœ์ง€ ์•Š๊ฒŒ ํ•ด์ค˜์š”.

๐Ÿ‘ฅ ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ โ€” ์—ฌ๋Ÿฌ AI๊ฐ€ 'ํŒ€'์œผ๋กœ

12ํšŒ์ฐจ OMC์—์„œ 'AI ํ•œ ๋ช…์„ ๊ธฐํšยท์‹คํ–‰ยท๊ฒ€์ˆ˜ ํŒ€์œผ๋กœ'๋ผ๋Š” ๊ฐœ๋…์„ ๋ดค์ฃ . ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋ฐ”๋กœ ๊ทธ 'AI ํŒ€'์„ ์ฝ”๋“œ๋กœ ์ง์ ‘ ์„ค๊ณ„ํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๊ฐ AI์—๊ฒŒ ์—ญํ• ์„ ์ฃผ๊ณ , ์„œ๋กœ ๋Œ€ํ™”ํ•˜๊ณ  ์ผ์„ ๋„˜๊ธฐ๊ฒŒ ์งญ๋‹ˆ๋‹ค.

๐Ÿ‘€ ์ฝ”๋“œ ๋ง›๋ณด๊ธฐ โ€” ์ด๋Ÿฐ ๋А๋‚Œ (์•ˆ ์™ธ์›Œ๋„ ๋จ)

๋ถ„์œ„๊ธฐ๋งŒ ๋А๊ปด๋ณด์„ธ์š”. CrewAI๋กœ '๋ฆฌ์„œ์ฒ˜'์™€ '์ž‘๊ฐ€' ๋‘ AI์—๊ฒŒ ์—ญํ• ์„ ์ฃผ๋Š” ์ฝ”๋“œ๋Š” ๋Œ€๋žต ์ด๋ ‡์Šต๋‹ˆ๋‹ค โ€” ์‚ฌ๋žŒ ๋ง๋กœ ์—ญํ• ์„ ์ ์–ด์ฃผ๋Š” ๊ฒŒ ๊ฑฐ์˜ ์ „๋ถ€์˜ˆ์š”.

# CrewAI ๋ถ„์œ„๊ธฐ (๊ฐœ๋…์šฉ ์˜์‚ฌ์ฝ”๋“œ)
from crewai import Agent, Task, Crew

researcher = Agent(role='๋ฆฌ์„œ์ฒ˜', goal='์ฃผ์ œ ์ž๋ฃŒ ์กฐ์‚ฌ')
writer = Agent(role='์ž‘๊ฐ€', goal='์กฐ์‚ฌ ๋‚ด์šฉ์„ ๊ธ€๋กœ ์ •๋ฆฌ')

crew = Crew(agents=[researcher, writer], tasks=[...])
result = crew.kickoff()  # ํŒ€์ด ํ˜‘์—…ํ•ด ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ ๋‹ค

๐Ÿ“Œ 16ํšŒ์ฐจ ํ•ต์‹ฌ