๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ
-
skycave's Blog
skycave's Blog
  • Home
  • Investment
  • IT
    • Data engineering
    • AI
    • Programing
  • Leisure
    • Camping
    • Fishing
  • Travel
    • Domestic
    • Overseas
  • Book
  • Product
  • Hot keyword in google
  • Home
  • Investment
  • IT
    • Data engineering
    • AI
    • Programing
  • Leisure
    • Camping
    • Fishing
  • Travel
    • Domestic
    • Overseas
  • Book
  • Product
  • Hot keyword in google
๋‹ซ๊ธฐ

๊ฒ€์ƒ‰

AI

[AI Paper] ๐Ÿ“„ MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework

By skycave
2026๋…„ 01์›” 25์ผ 8 Min Read
0

๐Ÿ“„ MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework

๐Ÿ“‹ ๋ฉ”ํƒ€ ์ •๋ณด

ํ•ญ๋ชฉ ๋‚ด์šฉ
์ €์ž Sirui Hong, Mingchen Zhuge, Jonathan Chen, Xiawu Zheng, Yuheng Cheng, Jinlin Wang, Ceyao Zhang, Zili Wang, Steven Ka Shing Yau, Zijuan Lin, Liyang Zhou, Chenyu Ran, Lingfeng Xiao, Chenglin Wu, Jurgen Schmidhuber
์†Œ์† ๊ธฐ๊ด€ DeepWisdom, KAUST AI Initiative, Xiamen University, CUHK-Shenzhen, Nanjing University, UPenn, UC Berkeley, IDSIA
๋ฐœํ‘œ์ฒ˜ ICLR 2024 (Oral Presentation, Top 1.2%)
์—ฐ๋„ 2024 (arXiv ์ดˆํŒ: 2023๋…„ 8์›”)
arXiv arxiv:2308.00352
GitHub github.com/FoundationAgents/MetaGPT
OpenReview openreview.net/forum?id=VtmBAGCN7o
๊ณต์‹ ๋ฌธ์„œ docs.deepwisdom.ai

๐ŸŽฏ ํ•œ์ค„ ์š”์•ฝ

์ธ๊ฐ„ ์กฐ์ง์˜ ํ‘œ์ค€ ์šด์˜ ์ ˆ์ฐจ(SOPs)๋ฅผ LLM ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ์‹œ์Šคํ…œ์— ๋„์ž…ํ•˜์—ฌ, ๊ตฌ์กฐํ™”๋œ ์ถœ๋ ฅ๋ฌผ์„ ํ†ตํ•œ ์—ญํ•  ๊ธฐ๋ฐ˜ ํ˜‘์—…์œผ๋กœ ๋ณต์žกํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ž‘์—…์˜ ํ’ˆ์งˆ๊ณผ ์ผ๊ด€์„ฑ์„ ํš๊ธฐ์ ์œผ๋กœ ๊ฐœ์„ ํ•œ ๋ฉ”ํƒ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ


๐Ÿ” ์—ฐ๊ตฌ ๋ฐฐ๊ฒฝ ๋ฐ ๋™๊ธฐ

๊ธฐ์กด Multi-Agent ์‹œ์Šคํ…œ์˜ ๋ฌธ์ œ์ 

  1. Cascading Hallucinations (์—ฐ์‡„์  ํ™˜๊ฐ)
    • ๊ธฐ์กด LLM ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ์‹œ์Šคํ…œ์€ LLM์„ ๋‹จ์ˆœํžˆ ์ฒด์ด๋‹ํ•˜๋Š” ๋ฐฉ์‹ ์‚ฌ์šฉ
    • ํ•œ ์—์ด์ „ํŠธ์˜ ์˜ค๋ฅ˜๊ฐ€ ๋‹ค์Œ ์—์ด์ „ํŠธ๋กœ ์ „ํŒŒ๋˜์–ด ๋…ผ๋ฆฌ์  ๋ถˆ์ผ์น˜ ๋ฐœ์ƒ
    • ๋ณต์žกํ•œ ์ž‘์—…์—์„œ ํ’ˆ์งˆ ์ €ํ•˜๊ฐ€ ์‹ฌ๊ฐํ•จ
  2. ๋น„๊ตฌ์กฐํ™”๋œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜
    • AutoGPT, AgentVerse ๋“ฑ ๊ธฐ์กด ์‹œ์Šคํ…œ์€ ์ž์—ฐ์–ด ๋Œ€ํ™”๋ฅผ ํ†ตํ•œ ์†Œํ†ต
    • ๋ถˆํ•„์š”ํ•œ ์ •๋ณด ๊ตํ™˜, ํ•ต์‹ฌ ์ •๋ณด ๋ˆ„๋ฝ ๋“ฑ์˜ ๋ฌธ์ œ ๋ฐœ์ƒ
    • ๋Œ€ํ™” ๊ธฐ๋ฐ˜ ํ˜‘์—…์€ ๋น„ํšจ์œจ์ ์ด๊ณ  ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ ๋†’์Œ
  3. ์ฒด๊ณ„์  ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„ํ•ด ๋ถ€์žฌ
    • AutoGPT, LangChain ๋“ฑ์€ ๋ณต์žกํ•œ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ฒด๊ณ„์  ๋ถ„ํ•ด ๋Šฅ๋ ฅ ๋ถ€์กฑ
    • ์ฝ”๋“œ ์ƒ์„ฑ์€ ๊ฐ€๋Šฅํ•˜๋‚˜ PRD, ๊ธฐ์ˆ  ์„ค๊ณ„, API ํ”„๋กœํ† ํƒ€์ดํ•‘ ๋“ฑ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ๋ถ€์žฌ
  4. ์‹คํ–‰ ๊ฐ€๋Šฅ์„ฑ ๋ฌธ์ œ
    • ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค(AutoGPT, AgentVerse)์€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ์ƒ์„ฑ์— ์‹คํŒจ
    • ํ‰๊ท  ์‹คํ–‰ ๊ฐ€๋Šฅ์„ฑ ์ ์ˆ˜: AutoGPT 1.0, AgentVerse 1.0 vs MetaGPT 3.9
  5. ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„ ๋ถ€์žฌ
    • ์ดˆ๊ธฐ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์€ ์›Œํ„ฐํด ๋ฐฉ์‹์œผ๋กœ ๋‹จ๋ฐฉํ–ฅ ์ง„ํ–‰
    • ์ดˆ๊ธฐ ๋‹จ๊ณ„์˜ ๋ฒ„๊ทธ๊ฐ€ ๋๊นŒ์ง€ ์ „ํŒŒ๋จ
    • ์ž๊ธฐ ์ˆ˜์ •(self-correction) ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋ถ€์žฌ

๐Ÿ’ก ํ•ต์‹ฌ ์•„์ด๋””์–ด

1. SOPs (Standard Operating Procedures) ๋„์ž…

Code = SOP(Team)
  • ํ•ต์‹ฌ ์ฒ ํ•™: ์ธ๊ฐ„ ์กฐ์ง์˜ ํ‘œ์ค€ ์šด์˜ ์ ˆ์ฐจ๋ฅผ AI ์—์ด์ „ํŠธ ํ˜‘์—…์— ์ ์šฉ
  • ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด ํšŒ์‚ฌ์˜ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋ชจ๋ฐฉ
  • ๊ฐ ๋‹จ๊ณ„๋ณ„๋กœ ๋ช…ํ™•ํ•œ ์ž…์ถœ๋ ฅ๊ณผ ๊ฒ€์ฆ ์ ˆ์ฐจ ์ •์˜
  • ์ค‘๊ฐ„ ๊ฒฐ๊ณผ๋ฌผ์— ๋Œ€ํ•œ ๊ฒ€์ฆ์œผ๋กœ ์˜ค๋ฅ˜ ์กฐ๊ธฐ ๋ฐœ๊ฒฌ

SOP๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ด์ :
– ๋ชจํ˜ธ์„ฑ ์™„ํ™” (Mitigate Ambiguities)
– ์ž‘์—… ๋ถ„ํ•ด๋ฅผ ํ†ตํ•œ ๋ช…ํ™•ํ•œ ์‹คํ–‰ ์ดˆ์  ์ œ๊ณต
– ์ „๋ฌธํ™”๋œ ์—ญํ• ์„ ํ†ตํ•œ ๊ด€๋ จ์„ฑ ํ–ฅ์ƒ
– ํ‘œ์ค€ํ™”๋œ ์ถœ๋ ฅ์„ ํ†ตํ•œ ๋ช…์‹œ์  ์˜์กด์„ฑ ์„ค์ •
– ๊ณต์œ  ํ™˜๊ฒฝ์„ ํ†ตํ•œ ํˆฌ๋ช…์„ฑ ์ œ๊ณต

2. ์—ญํ•  ๊ธฐ๋ฐ˜ ํ˜‘์—… (Role-based Collaboration)

  • ์†Œํ”„ํŠธ์›จ์–ด ํšŒ์‚ฌ์˜ ์กฐ์ง ๊ตฌ์กฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฐ˜์˜
  • ๊ฐ ์—์ด์ „ํŠธ๋Š” ํŠน์ • ์—ญํ• ๊ณผ ์ „๋ฌธ์„ฑ ๋ณด์œ 
  • ์—ญํ• ๋ณ„ ๋ช…ํ™•ํ•œ ์ฑ…์ž„๊ณผ ์‚ฐ์ถœ๋ฌผ ์ •์˜
  • Assembly Line (์กฐ๋ฆฝ ๋ผ์ธ) ํŒจ๋Ÿฌ๋‹ค์ž„ ์ ์šฉ

3. ๊ตฌ์กฐํ™”๋œ ์ถœ๋ ฅ (Structured Outputs)

๊ธฐ์กด ๋ฐฉ์‹ (ChatDev ๋“ฑ) MetaGPT ๋ฐฉ์‹
์ž์—ฐ์–ด ๋Œ€ํ™”๋กœ ์†Œํ†ต ๋ฌธ์„œ์™€ ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ์†Œํ†ต
์ •๋ณด ๋ˆ„๋ฝ/์ค‘๋ณต ๊ฐ€๋Šฅ ํ•„์š”ํ•œ ์ •๋ณด๋งŒ ๋ช…ํ™•ํžˆ ์ „๋‹ฌ
๋น„ํšจ์œจ์  ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ํšจ์œจ์  ์ •๋ณด ๊ณต์œ 
  • PRD (Product Requirement Document)
  • ์‹œ์Šคํ…œ ์„ค๊ณ„ ๋ฌธ์„œ
  • API ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜
  • ์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ

4. Global Message Pool

  • ๋ชจ๋“  ์—์ด์ „ํŠธ๊ฐ€ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ณต์œ  ๋ฉ”์‹œ์ง€ ํ’€
  • ์—์ด์ „ํŠธ ๊ฐ„ ์ง์ ‘ ์งˆ์˜ ๋ถˆํ•„์š”
  • ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ํˆฌ๋ช…ํ•˜๊ฒŒ ์กฐํšŒ ๊ฐ€๋Šฅ
  • ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์˜ค๋ฒ„ํ—ค๋“œ ๋Œ€ํญ ๊ฐ์†Œ

๐Ÿ—๏ธ ์•„ํ‚คํ…์ฒ˜ / ๋ฐฉ๋ฒ•๋ก 

์—์ด์ „ํŠธ ์—ญํ•  (Software Company Roles)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    MetaGPT Software Company                  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๐Ÿ‘” Product Manager                                          โ”‚
โ”‚     โ””โ”€โ†’ PRD (User Stories, Requirement Pool)                โ”‚
โ”‚                          โ†“                                   โ”‚
โ”‚  ๐Ÿ›๏ธ Architect                                                โ”‚
โ”‚     โ””โ”€โ†’ System Design (File List, Data Structures,          โ”‚
โ”‚          Interface Definitions, Sequence Diagrams)          โ”‚
โ”‚                          โ†“                                   โ”‚
โ”‚  ๐Ÿ“‹ Project Manager                                          โ”‚
โ”‚     โ””โ”€โ†’ Task Distribution & Assignment                      โ”‚
โ”‚                          โ†“                                   โ”‚
โ”‚  ๐Ÿ’ป Engineer                                                 โ”‚
โ”‚     โ””โ”€โ†’ Code Implementation                                 โ”‚
โ”‚                          โ†“                                   โ”‚
โ”‚  ๐Ÿ” QA Engineer                                              โ”‚
โ”‚     โ””โ”€โ†’ Test Cases, Bug Detection                           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      MetaGPT Framework                       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”‚
โ”‚  โ”‚   Product   โ”‚  โ”‚  Architect  โ”‚  โ”‚   Project   โ”‚         โ”‚
โ”‚  โ”‚   Manager   โ”‚โ”€โ”€โ”‚             โ”‚โ”€โ”€โ”‚   Manager   โ”‚         โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ”‚
โ”‚         โ”‚                โ”‚                โ”‚                  โ”‚
โ”‚         โ–ผ                โ–ผ                โ–ผ                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚              Shared Message Pool                     โ”‚   โ”‚
โ”‚  โ”‚         (Publish-Subscribe Mechanism)                โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚         โ”‚                โ”‚                โ”‚                  โ”‚
โ”‚         โ–ผ                โ–ผ                โ–ผ                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”‚
โ”‚  โ”‚  Engineer   โ”‚  โ”‚  Engineer   โ”‚  โ”‚ QA Engineer โ”‚         โ”‚
โ”‚  โ”‚     #1      โ”‚  โ”‚     #2      โ”‚  โ”‚             โ”‚         โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                 Executable Feedback Loop                     โ”‚
โ”‚            (Runtime Debugging & Self-Correction)             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๊ฐ ์—ญํ• ๋ณ„ ์ƒ์„ธ

1. Product Manager (์ œํ’ˆ ๊ด€๋ฆฌ์ž)

  • ์ž…๋ ฅ: ์‚ฌ์šฉ์ž ์š”๊ตฌ์‚ฌํ•ญ (ํ•œ ์ค„ ์•„์ด๋””์–ด)
  • ์ถœ๋ ฅ: PRD (Product Requirement Document)
    • User Stories
    • Requirement Pool
    • ๊ธฐ๋Šฅ ๋ถ„ํ•ด (Functional Breakdown)
  • ์—ญํ• : ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ ๋ฐ ๋ฌธ์„œํ™”

2. Architect (์„ค๊ณ„์ž)

  • ์ž…๋ ฅ: PRD
  • ์ถœ๋ ฅ:
    • System Design Components
    • File Lists
    • Data Structures
    • Interface Definitions
    • Sequence Flow Diagrams
  • ์—ญํ• : ๊ธฐ์ˆ  ์‚ฌ์–‘ ๋ฐ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„

3. Project Manager (ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์ž)

  • ์ž…๋ ฅ: System Design
  • ์ถœ๋ ฅ: Task Distribution Plan
  • ์—ญํ• : ๊ธฐ์ˆ  ์‚ฌ์–‘์„ ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ ์ž‘์—…์œผ๋กœ ๋ถ„ํ•ด

4. Engineer (์—”์ง€๋‹ˆ์–ด)

  • ์ž…๋ ฅ: Task Assignments, Design Documents
  • ์ถœ๋ ฅ: Implementation Code
  • ์—ญํ• : ์ง€์ •๋œ ํด๋ž˜์Šค์™€ ํ•จ์ˆ˜ ๊ตฌํ˜„

5. QA Engineer (QA ์—”์ง€๋‹ˆ์–ด)

  • ์ž…๋ ฅ: Code Output
  • ์ถœ๋ ฅ: Unit Test Code, Bug Reports
  • ์—ญํ• : ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ƒ์„ฑ ๋ฐ ๋ฒ„๊ทธ ๊ฒ€์ถœ

์›Œํฌํ”Œ๋กœ์šฐ ์ƒ์„ธ

์‚ฌ์šฉ์ž ์š”๊ตฌ์‚ฌํ•ญ
      โ†“
[Product Manager] โ”€โ†’ PRD ์ƒ์„ฑ
      โ†“
[Architect] โ”€โ†’ ์‹œ์Šคํ…œ ์„ค๊ณ„ & ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜
      โ†“
[Project Manager] โ”€โ†’ ์ž‘์—… ๋ถ„๋ฐฐ
      โ†“
[Engineer] โ”€โ†’ ์ฝ”๋“œ ๊ตฌํ˜„
      โ†“
[QA Engineer] โ”€โ†’ ํ…Œ์ŠคํŠธ & ๋””๋ฒ„๊น…
      โ†“
[Executive Feedback] โ”€โ†’ ๋Ÿฐํƒ€์ž„ ๋””๋ฒ„๊น… & ์ฝ”๋“œ ์‹คํ–‰
      โ†“
์ตœ์ข… ์†Œํ”„ํŠธ์›จ์–ด ์‚ฐ์ถœ๋ฌผ

Executable Feedback Mechanism

๋Ÿฐํƒ€์ž„ ์ค‘ ์ฝ”๋“œ ๋””๋ฒ„๊น… ๋ฐ ์‹คํ–‰์„ ํ†ตํ•ด ์ฝ”๋“œ ์ƒ์„ฑ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ํ•ต์‹ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜

# Pseudo-code for Executable Feedback Loop
def engineer_workflow(requirements, design, memory):
    code = generate_initial_code(requirements, design)

    for iteration in range(max_iterations):
        # ์ฝ”๋“œ ์‹คํ–‰ ๋ฐ ์˜ค๋ฅ˜ ๊ฒ€์‚ฌ
        result, errors = execute_code(code)

        if no_errors(errors):
            return code

        # ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊ณผ๊ฑฐ ์‹คํ–‰/๋””๋ฒ„๊น… ๊ธฐ๋ก ์ฐธ์กฐ
        context = retrieve_from_memory(memory, errors)

        # PRD, ์‹œ์Šคํ…œ ์„ค๊ณ„์™€ ๋น„๊ตํ•˜์—ฌ ์ฝ”๋“œ ๊ฐœ์„ 
        code = improve_code(
            code=code,
            errors=errors,
            prd=requirements,
            design=design,
            history=context
        )

    return code

ํšจ๊ณผ: HumanEval์—์„œ 4.2%, MBPP์—์„œ 5.4% Pass@1 ํ–ฅ์ƒ

ํ†ต์‹  ํ”„๋กœํ† ์ฝœ (Publish-Subscribe)

class Agent:
    def __init__(self, role, watch_actions):
        self.role = role
        self.watch_actions = watch_actions  # ๊ตฌ๋…ํ•  ์•ก์…˜ ๋ชฉ๋ก

    def _observe(self, environment):
        """ํ™˜๊ฒฝ์—์„œ ๊ด€๋ จ ๋ฉ”์‹œ์ง€ ๊ด€์ฐฐ"""
        messages = environment.get_messages()
        relevant = [m for m in messages
                   if m.caused_by in self.watch_actions]
        return relevant

    def _think(self, observations):
        """์ˆ˜ํ–‰ํ•  ์•ก์…˜ ์„ ํƒ"""
        todo = self.select_action(observations)
        return todo

    def _act(self, todo):
        """์•ก์…˜ ์‹คํ–‰ ๋ฐ ๊ฒฐ๊ณผ ์ƒ์„ฑ"""
        result = todo.execute()
        return result

๐Ÿ“Š ์‹คํ—˜ ๋ฐ ๊ฒฐ๊ณผ

์‚ฌ์šฉ๋œ ๋ฒค์น˜๋งˆํฌ

๋ฒค์น˜๋งˆํฌ ์„ค๋ช…
HumanEval 164๊ฐœ์˜ ์ˆ˜์ž‘์—… ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํƒœ์Šคํฌ (ํ•จ์ˆ˜ ๋ช…์„ธ, ์„ค๋ช…, ์ฐธ์กฐ ์ฝ”๋“œ, ํ…Œ์ŠคํŠธ ํฌํ•จ)
MBPP 427๊ฐœ์˜ Python ํƒœ์Šคํฌ (ํ•ต์‹ฌ ๊ฐœ๋…, ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ๋Šฅ ํฌํ•จ)
SoftwareDev 70๊ฐœ์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํƒœ์Šคํฌ (๋ฏธ๋‹ˆ ๊ฒŒ์ž„, ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ, ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๋“ฑ)

์ฃผ์š” ๊ฒฐ๊ณผ

HumanEval & MBPP ์„ฑ๋Šฅ

๋ชจ๋ธ/์‹œ์Šคํ…œ HumanEval Pass@1 MBPP Pass@1
GPT-4 (baseline) 67.0% –
Codex + CodeT – 67.7%
MetaGPT + GPT-3.5 (one-pass) 62.8% 74.7%
MetaGPT (w/o feedback) 81.7% 82.3%
MetaGPT (w/ feedback) 85.9% 87.7%

SoftwareDev ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ

๋ฉ”ํŠธ๋ฆญ MetaGPT ChatDev AutoGPT AgentVerse
Executability Score 3.75 (๊ฑฐ์˜ ์™„๋ฒฝ) 2.1 1.0 1.0
์‹คํ–‰ ์‹œ๊ฐ„ 503์ดˆ ๋” ๊น€ – –
Task Completion Rate 100% ๋‚ฎ์Œ 0% 0%

Ablation Study – Executable Feedback ํšจ๊ณผ

์„ค์ • HumanEval MBPP
Without Feedback 81.7% 82.3%
With Feedback 85.9% (+4.2%) 87.7% (+5.4%)

๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์™€์˜ ๋น„๊ต

ํŠน์„ฑ MetaGPT ChatDev AutoGPT AgentVerse
์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๊ตฌ์กฐํ™”๋œ ๋ฌธ์„œ ์ž์—ฐ์–ด ๋Œ€ํ™” ์ž์—ฐ์–ด ์ž์—ฐ์–ด
PRD ์ƒ์„ฑ O X X X
๊ธฐ์ˆ  ์„ค๊ณ„ O X X X
์ฝ”๋“œ ๋ฆฌ๋ทฐ O O X O
์‚ฌ์ „ ์ปดํŒŒ์ผ ์‹คํ–‰ O X X X
์‹คํ–‰ ๊ฐ€๋Šฅ์„ฑ ๋งค์šฐ ๋†’์Œ ์ค‘๊ฐ„ ๋‚ฎ์Œ ๋‚ฎ์Œ

๐Ÿ’ช ๊ฐ•์  ๋ฐ ๊ธฐ์—ฌ

ํ•™์ˆ ์  ๊ธฐ์—ฌ

  1. SOPs์˜ AI ์‹œ์Šคํ…œ ์ตœ์ดˆ ์ฒด๊ณ„์  ์ ์šฉ
    • ์ธ๊ฐ„ ์กฐ์ง์˜ ์šด์˜ ์ ˆ์ฐจ๋ฅผ AI ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ์— ์ตœ์ดˆ๋กœ ์ฒด๊ณ„์  ์ ์šฉ
    • “Code = SOP(Team)” ์ฒ ํ•™ ์ œ์‹œ
  2. ๊ตฌ์กฐํ™”๋œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ํ”„๋กœํ† ์ฝœ
    • ์ž์—ฐ์–ด ๋Œ€ํ™” ๋Œ€์‹  ๊ตฌ์กฐํ™”๋œ ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ์†Œํ†ต
    • ์ •๋ณด ์†์‹ค ๋ฐ ํ™˜๊ฐ ํ˜„์ƒ ๋Œ€ํญ ๊ฐ์†Œ
  3. Executable Feedback Mechanism
    • ๋Ÿฐํƒ€์ž„ ๋””๋ฒ„๊น…์„ ํ†ตํ•œ ์ฝ”๋“œ ํ’ˆ์งˆ ํ–ฅ์ƒ
    • Self-improvement ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋„์ž…
  4. ICLR 2024 Oral (Top 1.2%)
    • LLM-based Agent ์นดํ…Œ๊ณ ๋ฆฌ 1์œ„
    • HumanEval, MBPP์—์„œ State-of-the-Art ๋‹ฌ์„ฑ

์‹ค์šฉ์  ๊ฐ•์ 

  1. End-to-End ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ
    • ํ•œ ์ค„ ์š”๊ตฌ์‚ฌํ•ญ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๊นŒ์ง€ ์ž๋™ ์ƒ์„ฑ
    • PRD, ์„ค๊ณ„ ๋ฌธ์„œ, ์ฝ”๋“œ, ํ…Œ์ŠคํŠธ ๋ชจ๋‘ ํฌํ•จ
  2. ๋†’์€ ์ฝ”๋“œ ํ’ˆ์งˆ
    • ์‹คํ–‰ ๊ฐ€๋Šฅ์„ฑ ์ ์ˆ˜ 3.75/4.0 (๊ฑฐ์˜ ์™„๋ฒฝ)
    • ์ธ๊ฐ„ ์ˆ˜์ • ํ•„์š”๋Ÿ‰ ์ตœ์†Œํ™”
  3. ํšจ์œจ์„ฑ
    • ChatDev ๋Œ€๋น„ ๋น ๋ฅธ ์‹คํ–‰ ์‹œ๊ฐ„ (503์ดˆ)
    • ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ํšจ์œจ์ 
  4. ํ™•์žฅ์„ฑ
    • ์ปค์Šคํ…€ ์—์ด์ „ํŠธ ๋ฐ ์—ญํ•  ์ •์˜ ๊ฐ€๋Šฅ
    • ๋‹ค์–‘ํ•œ ๋„๋ฉ”์ธ์— ์ ์šฉ ๊ฐ€๋Šฅํ•œ ํ”„๋ ˆ์ž„์›Œํฌ

โš ๏ธ ํ•œ๊ณ„์  ๋ฐ ํ–ฅํ›„ ์—ฐ๊ตฌ

ํ˜„์žฌ ํ•œ๊ณ„์ 

  1. ๋„๋ฉ”์ธ ์ œํ•œ
    • ํ˜„์žฌ ๊ตฌํ˜„์€ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง์— ์ง‘์ค‘
    • ๋‹ค๋ฅธ ๋„๋ฉ”์ธ ์ ์šฉ ์‹œ ์ƒˆ๋กœ์šด SOPs์™€ ์—ญํ•  ์ •์˜ ํ•„์š”
  2. ์ธ๊ฐ„ ๊ฐœ์ž… ํ•„์š”์„ฑ
    • ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ํ’ˆ์งˆ ๋ณด์ฆ์—์„œ ๊ฐ€๋” ์ธ๊ฐ„ ๊ฐœ์ž… ํ•„์š”
    • ์™„์ „ ์ž์œจ ์‹œ์Šคํ…œ๊นŒ์ง€๋Š” ๋ฏธํก
  3. ๊ณ„์‚ฐ ์ž์› ์š”๊ตฌ
    • ๋‹ค์ˆ˜์˜ LLM ์—์ด์ „ํŠธ ๋™์‹œ ์šด์˜์— ์ƒ๋‹นํ•œ ๋ฆฌ์†Œ์Šค ํ•„์š”
    • HumanEval ์ž‘์—…๋‹น $10 ์ด์ƒ์˜ ๋น„์šฉ ๋ฐœ์ƒ
  4. ํ…Œ์ŠคํŠธ ์ •ํ™•๋„
    • ์ƒ์„ฑ๋œ ํ…Œ์ŠคํŠธ์˜ ์ •ํ™•๋„๊ฐ€ ์•ฝ 80% ์ˆ˜์ค€
    • Feedback Loop ๊ฐœ์„  ์—ฌ์ง€ ์žˆ์Œ
  5. ๋ณต์žกํ•œ ์ƒํ˜ธ์ž‘์šฉ ํƒœ์Šคํฌ
    • ๋†’์€ ์ƒํ˜ธ์ž‘์šฉ์ด ์š”๊ตฌ๋˜๋Š” ํƒœ์Šคํฌ๋Š” ์—„๊ฒฉํ•œ ์ œ์•ฝ์œผ๋กœ ์ธํ•ด ์™„๋ฃŒ ์‹คํŒจ ๊ฐ€๋Šฅ
  6. ํ•˜๋“œ์ฝ”๋”ฉ๋œ ์ƒํ˜ธ์ž‘์šฉ ํ”„๋กœ์„ธ์Šค
    • ์‹ค์ œ ํŒ€์›Œํฌ์—์„œ๋Š” ์ƒํ˜ธ์ž‘์šฉ์ด ๋™์ ์œผ๋กœ ๋ณ€ํ™”
    • ํ˜„์žฌ SOP๋Š” ๊ณ ์ •๋œ ์›Œํฌํ”Œ๋กœ์šฐ
  7. ์ง€์‹ ๊ฒฝ๊ณ„
    • ๊ธฐ๋ฐ˜ LLM์˜ ํ•™์Šต ๋ฐ์ดํ„ฐ์— ์˜์กด
    • ์ตœ์‹  ๊ธฐ์ˆ  ๋™ํ–ฅ ๋ฐ˜์˜์— ํ•œ๊ณ„

ํ–ฅํ›„ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ

  1. ๋‹ค๋ฅธ ํ˜‘์—… ๋„๋ฉ”์ธ์œผ๋กœ ํ™•์žฅ
    • ๋ฐ์ดํ„ฐ ๋ถ„์„, ์—ฐ๊ตฌ, ์ปจ์„คํŒ… ๋“ฑ
  2. ๋ชจํ˜ธํ•œ ์š”๊ตฌ์‚ฌํ•ญ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ ํ–ฅ์ƒ
    • ๋ถˆ๋ช…ํ™•ํ•œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ๋Œ€ํ•œ robustness ๊ฐœ์„ 
  3. ์ง€์†์  ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ ๋„์ž…
    • ๋ฒกํ„ฐ ์Šคํ† ์–ด, ์ง€์‹ ๊ทธ๋ž˜ํ”„ ํ™œ์šฉ
    • ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ ํ™•์žฅ์„ฑ ํ–ฅ์ƒ
  4. ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํ”„๋กœํ† ์ฝœ ์„ค๊ณ„
    • MetaGPT ์Šคํƒ€์ผ ์—ญํ•  ํ…œํ”Œ๋ฆฟ + Reflexion ์Šคํƒ€์ผ ํ”ผ๋“œ๋ฐฑ ๊ฒฐํ•ฉ
  5. ๋” ๋‚˜์€ ํ‰๊ฐ€ ๋ฉ”ํŠธ๋ฆญ ๊ฐœ๋ฐœ
    • Pass@1 ์™ธ์— ๊ฐ€๋…์„ฑ, ์„ฑ๋Šฅ, ๋ณด์•ˆ ๋“ฑ ํ‰๊ฐ€
  6. ์ž๊ธฐ ์กฐ์งํ™” ๋ฐ ๋™์  SOP
    • ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ๋ฐ˜ ๋™์  ์—ญํ•  ํ• ๋‹น
    • Economy of Minds (EOM) ๊ฐœ๋… ์ ์šฉ

๐Ÿ”— ๊ด€๋ จ ๋…ผ๋ฌธ

์„ ํ–‰ ์—ฐ๊ตฌ (Prior Work)

๋…ผ๋ฌธ/ํ”„๋กœ์ ํŠธ ์„ค๋ช… ๊ด€๊ณ„
AutoGPT ์ž์œจ์  AI ์—์ด์ „ํŠธ ๋น„๊ต ๋Œ€์ƒ, ์ฒด๊ณ„์  ๋ถ„ํ•ด ๋ถ€์žฌ
ChatDev ๋Œ€ํ™” ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋น„๊ต ๋Œ€์ƒ, ์ž์—ฐ์–ด ์†Œํ†ต ๋ฐฉ์‹
AgentVerse ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ๋น„๊ต ๋Œ€์ƒ
CAMEL ์—ญํ•  ํ”Œ๋ ˆ์ด ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ํ†ต์‹  ์„ ํ–‰ ์—ฐ๊ตฌ
LangChain LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋ฐ˜ ๊ธฐ์ˆ 
GPT-Engineering ์ฝ”๋“œ ์ƒ์„ฑ ์—์ด์ „ํŠธ ๋น„๊ต ๋Œ€์ƒ

ํ›„์† ์—ฐ๊ตฌ (Follow-up Work)

๋…ผ๋ฌธ ์„ค๋ช…
AFlow Agentic Workflow ์ž๋™ ์ƒ์„ฑ (ICLR 2025 Oral, ์ƒ์œ„ 1.8%)
MGX (MetaGPT X) ์„ธ๊ณ„ ์ตœ์ดˆ AI ์—์ด์ „ํŠธ ๊ฐœ๋ฐœํŒ€ ์ œํ’ˆ (2025๋…„ 2์›”)
MapCoder HumanEval 93.9%, MBPP 83.1% ๋‹ฌ์„ฑ
AgentCoder HumanEval 96.3%, MBPP 91.8% ๋‹ฌ์„ฑ

๊ด€๋ จ ์ฃผ์ œ ๋…ผ๋ฌธ

  • Reflexion: Self-reflection ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ ํ•™์Šต
  • ReAct: Reasoning + Acting ํ”„๋ ˆ์ž„์›Œํฌ
  • Tree of Thoughts: ์‚ฌ๊ณ  ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ์ถ”๋ก 
  • Chain-of-Thought: ๋‹จ๊ณ„๋ณ„ ์ถ”๋ก 

๐Ÿ’ป ์‹ค๋ฌด ์ ์šฉ ํฌ์ธํŠธ

์„ค์น˜ ๋ฐ ํ™˜๊ฒฝ ์„ค์ •

์š”๊ตฌ์‚ฌํ•ญ

  • Python 3.9 ์ด์ƒ, 3.12 ๋ฏธ๋งŒ
  • Node.js ๋ฐ pnpm ํ•„์š”

Conda ํ™˜๊ฒฝ ์„ค์ •

conda create -n metagpt python=3.9
conda activate metagpt

์„ค์น˜ ๋ฐฉ๋ฒ•

# pip์œผ๋กœ ์„ค์น˜
pip install --upgrade metagpt

# GitHub์—์„œ ์ง์ ‘ ์„ค์น˜
pip install --upgrade git+https://github.com/geekan/MetaGPT.git

# ์†Œ์Šค์—์„œ ์„ค์น˜
git clone https://github.com/geekan/MetaGPT
cd MetaGPT
pip install --upgrade -e .

Docker ์„ค์น˜

git clone https://github.com/geekan/MetaGPT.git
cd MetaGPT
docker build -t metagpt:custom .

์„ค์ • ํŒŒ์ผ (~/.metagpt/config2.yaml)

llm:
  api_type: "openai"
  model: "gpt-4-turbo"
  base_url: "https://api.openai.com/v1"
  api_key: "YOUR_API_KEY"

metagpt:
  max_budget: 10.0  # ์ตœ๋Œ€ ๋น„์šฉ (USD)
  workspace: ./workspace

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

from metagpt.software_company import SoftwareCompany
from metagpt.roles import ProjectManager, ProductManager, Architect, Engineer

# ์†Œํ”„ํŠธ์›จ์–ด ํšŒ์‚ฌ ์ƒ์„ฑ
company = SoftwareCompany()

# ์—ญํ•  ๊ณ ์šฉ
company.hire([
    ProductManager(),
    Architect(),
    ProjectManager(),
    Engineer()
])

# ํˆฌ์ž ๋ฐ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘
company.invest(investment=3.0)  # USD
company.start_project("Create a snake game with pygame")

# ์‹คํ–‰
await company.run(n_round=5)

๋ฐ์ดํ„ฐ ๋ถ„์„ ์ž‘์—…

import asyncio
from metagpt.roles.di.data_interpreter import DataInterpreter

async def main():
    di = DataInterpreter()
    await di.run("Run data analysis on sklearn Iris dataset, include a plot")

asyncio.run(main())

์ปค์Šคํ…€ ์—์ด์ „ํŠธ ์ •์˜

๋‹จ์ผ ์—์ด์ „ํŠธ (Agent 101)

from metagpt.roles import Role
from metagpt.actions import Action
from metagpt.schema import Message

class SimpleWriteCode(Action):
    """์ฝ”๋“œ ์ž‘์„ฑ ์•ก์…˜"""
    name: str = "SimpleWriteCode"

    async def run(self, instruction: str):
        prompt = f"Write code for: {instruction}"
        code = await self._aask(prompt)
        return code

class SimpleCoder(Role):
    """๊ฐ„๋‹จํ•œ ์ฝ”๋” ์—ญํ• """
    name: str = "Alice"
    profile: str = "SimpleCoder"
    goal: str = "Write elegant code"
    constraints: str = "Code should be readable"

    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self._init_actions([SimpleWriteCode()])

    async def _act(self):
        # ์ตœ์‹  ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ง€์‹œ์‚ฌํ•ญ ๊ฐ€์ ธ์˜ค๊ธฐ
        instruction = self.get_memories(k=1)[0].content

        # ์•ก์…˜ ์‹คํ–‰
        code = await self.todo.run(instruction)

        # ๋ฉ”์‹œ์ง€ ๋ฐ˜ํ™˜
        return Message(content=code, role=self.profile)

๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ํŒ€ (MultiAgent 101)

from metagpt.team import Team

# ์—ญํ•  ์ •์˜
coder = SimpleCoder()
tester = SimpleTester()
reviewer = SimpleReviewer()

# ์—ญํ• ๋ณ„ ๊ด€์ฐฐ ๋Œ€์ƒ ์„ค์ •
tester.watch([SimpleWriteCode])  # ์ฝ”๋”์˜ ์ถœ๋ ฅ ๊ด€์ฐฐ
reviewer.watch([SimpleWriteTest])  # ํ…Œ์Šคํ„ฐ์˜ ์ถœ๋ ฅ ๊ด€์ฐฐ

# ํŒ€ ๊ตฌ์„ฑ
team = Team()
team.hire([coder, tester, reviewer])
team.invest(investment=3.0)

# ํ”„๋กœ์ ํŠธ ์‹คํ–‰
team.run_project("Create a calculator function")
await team.run(n_round=3)

CLI ์‚ฌ์šฉ

# ๋ช…๋ น์ค„์—์„œ ์ง์ ‘ ์‹คํ–‰
python startup.py "Write a cli snake game"
# ๊ฒฐ๊ณผ๋Š” workspace/ ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒ์„ฑ

ํ™œ์šฉ ์‚ฌ๋ก€

  1. Data Interpreter: ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ž๋™ํ™”
  2. Debate: ํ† ๋ก  ์‹œ๋ฎฌ๋ ˆ์ด์…˜
  3. Researcher: ์—ฐ๊ตฌ ๋ณด์กฐ
  4. Receipt Assistant: ์˜์ˆ˜์ฆ ์ฒ˜๋ฆฌ

์‹ค๋ฌด ํŒ

  1. ๋น„์šฉ ๊ด€๋ฆฌ: invest() ๋ฉ”์„œ๋“œ๋กœ ์˜ˆ์‚ฐ ์„ค์ •ํ•˜์—ฌ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ์ œ์–ด
  2. ๋ผ์šด๋“œ ์ˆ˜ ์กฐ์ ˆ: n_round ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ํ˜‘์—… ๋ฐ˜๋ณต ํšŸ์ˆ˜ ์กฐ์ ˆ
  3. ์—ญํ•  ์ปค์Šคํ„ฐ๋งˆ์ด์ง•: ๋„๋ฉ”์ธ์— ๋งž๋Š” ์—ญํ• ๊ณผ ์•ก์…˜ ์ •์˜
  4. ์ถœ๋ ฅ ๊ฒ€ํ† : ์ƒ์„ฑ๋œ PRD์™€ ์„ค๊ณ„ ๋ฌธ์„œ ๊ฒ€ํ†  ํ›„ ์ฝ”๋“œ ์ƒ์„ฑ ์ง„ํ–‰
  5. ์—๋Ÿฌ ์ฒ˜๋ฆฌ: Executable Feedback์œผ๋กœ ์ž๋™ ๋””๋ฒ„๊น…, ์ตœ๋Œ€ ๋ฐ˜๋ณต ํšŸ์ˆ˜ ์„ค์ • ๊ถŒ์žฅ
  6. ํ™•์žฅ์„ฑ: ์—ญํ•  ์ถ”๊ฐ€ ์‹œ watch_actions ์„ค์ • ์ค‘์š”

๐Ÿท๏ธ Tags

#AIAgent #MultiAgent #MetaGPT #SOP #LLM #CodeGeneration #SoftwareEngineering #ICLR2024 #DeepWisdom #AutomatedProgramming #CollaborativeAI #RoleBasedAgent #StructuredOutput #ExecutableFeedback #MetaProgramming #HumanEval #MBPP


๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ

  • arXiv ๋…ผ๋ฌธ
  • GitHub Repository
  • ๊ณต์‹ ๋ฌธ์„œ
  • ICLR 2024 ๋ฐœํ‘œ
  • OpenReview
  • PyPI Package
์ž‘์„ฑ์ž

skycave

Follow Me
๋‹ค๋ฅธ ๊ธฐ์‚ฌ
Previous

[AI Paper] MAS-Orchestra: Understanding and Improving Multi-Agent Reasoning Through Holistic Orchestration and Controlled Benchmarks

Next

[AI Paper] ๐Ÿ“„ Beyond Pipelines: Model-Native Agentic AI Survey (2025)

๋Œ“๊ธ€ ์—†์Œ! ์ฒซ ๋Œ“๊ธ€์„ ๋‚จ๊ฒจ๋ณด์„ธ์š”.

๋‹ต๊ธ€ ๋‚จ๊ธฐ๊ธฐ ์‘๋‹ต ์ทจ์†Œ

์ด๋ฉ”์ผ ์ฃผ์†Œ๋Š” ๊ณต๊ฐœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•„์ˆ˜ ํ•„๋“œ๋Š” *๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค

์ตœ์‹ ๊ธ€

  • ๐Ÿ“Š ์ผ์ผ ๋‰ด์Šค ๊ฐ์„ฑ ๋ฆฌํฌํŠธ – 2026-01-28
  • AI ์‹œ์Šคํ…œ์˜ ๋ฌธ๋งฅ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰(Contextual Retrieval) | Anthropic
  • “Think” ํˆด: Claude๊ฐ€ ๋ฉˆ์ถฐ์„œ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ | Anthropic
  • Claude Code ๋ชจ๋ฒ” ์‚ฌ๋ก€ \ Anthropic
  • ์šฐ๋ฆฌ๊ฐ€ ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ์—ฐ๊ตฌ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•œ ๋ฐฉ๋ฒ•
Copyright 2026 — skycave's Blog. All rights reserved. Blogsy WordPress Theme