# Communicative Agents for Software Development

ใ€English | Chinese | Japanese | Korean | Filipino | French | Slovak | Portuguese | Spanish | Dutch | Turkish | Hindi | Bahasa Indonesia | Russian | Urduใ€‘

ใ€๐Ÿ“š Wiki | ๐Ÿš€ Visualizer | ๐Ÿ‘ฅ Community Built Software | ๐Ÿ”ง Customization | ๐Ÿ‘พ Discordใ€‘

## ๐Ÿ“– ๊ฐœ์š” - **ChatDev**๋Š” ๋‹ค์–‘ํ•œ ์ตœ๊ณ  ๊ฒฝ์˜ ์ฑ…์ž„์ž , ์ตœ๊ณ  ์ƒ์‚ฐ ์ฑ…์ž„์ž , ์ตœ๊ณ  ๊ธฐ์ˆ  ์ฑ…์ž„์ž , ํ”„๋กœ๊ทธ๋ž˜๋จธ , ๋ฆฌ๋ทฐ์–ด , ํ…Œ์Šคํ„ฐ , ์•„ํŠธ ๋””์ž์ด๋„ˆ ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” **์ง€๋Šฅํ˜• ์—์ด์ „ํŠธ**๋“ค์„ ํ†ตํ•ด ์šด์˜๋˜๋Š” **๊ฐ€์ƒ ์†Œํ”„ํŠธ์›จ์–ด ํšŒ์‚ฌ**์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฟ์ด์„œ ์กฐ์ง ๊ตฌ์กฐ๋ฅผ ํ˜•์„ฑํ•˜๊ณ  "ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•ด ๋””์ง€ํ„ธ ์„ธ์ƒ์„ ํ˜์‹ ํ•œ๋‹ค"๋Š” ์‚ฌ๋ช…์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ChatDev ๋‚ด ์—์ด์ „ํŠธ๋“ค์€ ๋””์ž์ธ, ์ฝ”๋”ฉ, ํ…Œ์ŠคํŠธ, ๋ฌธ์„œํ™”๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ์ „๋ฌธ ๊ธฐ๋Šฅ ์„ธ๋ฏธ๋‚˜์— ์ฐธ์—ฌํ•˜์—ฌ **ํ˜‘์—…**ํ•ฉ๋‹ˆ๋‹ค. - ChatDev์˜ ์ฃผ์š” ๋ชฉํ‘œ๋Š” **์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ณ **, **๊ฐœ์กฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ**, **ํ™•์žฅ ๊ฐ€๋Šฅํ•œ** ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ(LLM)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ์ง‘๋‹จ ์ง€์„ฑ์„ ์—ฐ๊ตฌํ•˜๋Š” ๋ฐ ์ด์ƒ์ ์ธ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

## ๐Ÿ“ฐ ๋‰ด์Šค * **2024๋…„ 6์›” 25์ผ: ๐ŸŽ‰ChatDev ํŒ€์€LLM ๊ธฐ๋ฐ˜์˜ ๋‹ค์ค‘ ์—์ด์ „ํŠธ ํ˜‘์—…๐Ÿค–๐Ÿค– ๋ฐ ๊ด€๋ จ ๋ถ„์•ผ์˜ ๋ฐœ์ „์„ ๋„๋ชจํ•˜๊ธฐ ์œ„ํ•ด, [์˜คํ”ˆ์†Œ์Šค](https://github.com/OpenBMB/ChatDev/tree/main/MultiAgentEbook) ๋Œ€ํ™”ํ˜• e-book๐Ÿ“š ํ˜•์‹์œผ๋กœ ์ œ๊ณต๋˜๋Š” ์ค‘์š”ํ•œ ๋…ผ๋ฌธ ๋ชจ์Œ๐Ÿ“„์„ ์„ ๋ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ [Ebook ์›น์‚ฌ์ดํŠธ](https://thinkwee.top/multiagent_ebook)์—์„œ ์ตœ์‹  ๋ฐœ์ „ ์‚ฌํ•ญ์„ ํƒ์ƒ‰ํ•˜๊ณ  [๋…ผ๋ฌธ ๋ชฉ๋ก](https://github.com/OpenBMB/ChatDev/blob/main/MultiAgentEbook/papers.csv)์„ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.**

* 2024๋…„ 6์›” 12์ผ: ์–ธ์–ด ์ƒํ˜ธ ์ž‘์šฉ์„ ํ†ตํ•œ ์—์ด์ „ํŠธ ๊ฐ„์˜ ํšจ๊ณผ์ ์ธ ์ž‘์—… ์ง€ํ–ฅ ํ˜‘์—…์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฉํ–ฅ ๋น„์ˆœํ™˜ ๊ทธ๋ž˜ํ”„๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋‹ค์ค‘ ์—์ด์ „ํŠธ ํ˜‘์—… ๋„คํŠธ์›Œํฌ(MacNet) ๐ŸŽ‰์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. MacNet์€ ์ปจํ…์ŠคํŠธ ์ œํ•œ์„ ์ดˆ๊ณผํ•˜์ง€ ์•Š๊ณ  ๋‹ค์–‘ํ•œ ์œ„์ƒ๊ณผ ์ฒœ ๊ฐœ ์ด์ƒ์˜ ์—์ด์ „ํŠธ ๊ฐ„ ํ˜‘๋ ฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋ณด๋‹ค ๋‹ค์šฉ๋„์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ MacNet์€ ChatDev์˜ ์ฒด์ธ ๋ชจ์–‘ ํ† ํด๋กœ์ง€์˜ ๋ณด๋‹ค ๊ณ ๊ธ‰ ๋ฒ„์ „์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ „ ์ธ์‡„ ๋…ผ๋ฌธ์€ [https://arxiv.org/abs/2406.07155 ](https://arxiv.org/abs/2406.07155) ์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ์ˆ ์€ ๊ณง ์ด ์ €์žฅ์†Œ์— ํ†ตํ•ฉ๋˜์–ด ๋‹ค์–‘ํ•œ ์กฐ์ง ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ฐ•ํ™”ํ•˜๊ณ  ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ(์˜ˆ: ๋…ผ๋ฆฌ ์ถ”๋ก , ๋ฐ์ดํ„ฐ ๋ถ„์„, ์Šคํ† ๋ฆฌ ์ƒ์„ฑ ๋“ฑ)์„ ๋„˜์–ด ๋” ํ’๋ถ€ํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ค๋ž˜๋œ ๋‰ด์Šค * 2024๋…„ 5์›” 7์ผ, ๊ฐ•์‚ฌ์™€ ๋ณด์กฐ ์—์ด์ „ํŠธ์— ๋‹จ์ถ•๋œ ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œ์ผœ ์ƒˆ๋กœ์šด ์ž‘์—…์— ํšจ์œจ์ ์œผ๋กœ ์ ์‘ํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์ธ "Iterative Experience Refinement"(IER)(๋ฐ˜๋ณต์  ๊ฒฝํ—˜ ๊ฐœ์„ )์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ผ๋ จ์˜ ์ž‘์—…๋“ค์—์„œ ๊ฒฝํ—˜, ํ™œ์šฉ, ์ „๋‹ฌ ๋ฐ ์ œ๊ฑฐ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์ „ ์ธ์‡„ ๋…ผ๋ฌธ์€ https://arxiv.org/abs/2405.04219 ์—์„œ ์ œ๊ณต๋˜๋ฉฐ ์ด ๊ธฐ์ˆ ์€ ๊ณง ChatDev์— ํ†ตํ•ฉ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

* 2024๋…„ 1์›” 25์ผ: ChatDev์— ์ฒดํ˜ํ˜• ๊ณต๋™ํ•™์Šต ๋ชจ๋“ˆ์„ ํ†ตํ•ฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. [์ฒดํ—˜ํ˜• ๊ณต๋™ํ•™์Šต ๊ฐ€์ด๋“œ](../wiki.md#co-tracking)๋ฅผ ํ™•์ธํ•˜์„ธ์š”. * 2023๋…„ 12์›” 28์ผ: ๊ฐ•์‚ฌ์™€ ๋ณด์กฐ ์—์ด์ „ํŠธ๊ฐ€ ๋‹จ์ถ•ํ˜• ๊ฒฝํ—˜์„ ์ถ•์ ํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ž‘์—…์„ ํšจ๊ณผ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ณ  ๋ฐ˜๋ณต์ ์ธ ์˜ค๋ฅ˜๋ฅผ ์ค„์ด๊ณ  ํšจ์œจ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ํ˜์‹ ์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์ธ Experience Co-Learning์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์ „ ์ธ์‡„๋œ ๋…ผ๋ฌธ์€ https://arxiv.org/abs/2312.17025 ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , ๊ณง ChatDev์— ํ†ตํ•ฉ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

* 2023๋…„ 11์›” 15์ผ: ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž์™€ ํ˜์‹ ์ ์ธ ๊ธฐ์—…๊ฐ€๋“ค์ด ๋งค์šฐ ์ €๋ ดํ•œ ๋น„์šฉ๊ณผ ์ง„์ž… ์žฅ๋ฒฝ์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” SaaS ํ”Œ๋žซํผ์œผ๋กœ ChatDev๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. https://chatdev.modelbest.cn/ ์—์„œ ์‹œ๋„ํ•˜์„ธ์š”.

* 2023๋…„ 11์›” 2์ผ: ChatDev๋Š” ์—์ด์ „ํŠธ๊ฐ€ ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. `--config "incremental" --path "path "[source_code_directory_path]"`๋ฅผ ์‹œ๋„ํ•˜์„ธ์š”.

* 2023๋…„ 10์›” 26์ผ: ChatDev๋Š” [ManindraDeMel](https://github.com/ManindraDeMel)์˜ ๊ธฐ์—ฌ ๋•๋ถ„์— Docker๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. [๋„์ปค ์‹œ์ž‘ ๊ฐ€์ด๋“œ](.../wiki.md#docker-start)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

* 2023๋…„ 9์›” 25์ผ: **Git** ๋ชจ๋“œ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ, ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ฐ€ Git ๋ฒ„์ „ ์ œ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ``ChatChainConfig.json`` ์—์„œ ``"git_management"`` ๋ฅผ ``"True"`` ๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค . [๊ฐ€์ด๋“œ](../wiki.md#git-mode)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

- 2023๋…„ 9์›” 20์ผ: **Human-Agent-Interaction** ๋ชจ๋“œ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค! ๊ฒ€ํ† ์ž ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ์ œ์•ˆํ•˜์—ฌ ChatDev ํŒ€์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค; ``python3 run.py --task [description_of_your_idea] --config "Human"``. [๊ฐ€์ด๋“œ](../wiki.md#human-agent-interaction)์™€ [์˜ˆ์ œ](../WareHouse/Gomoku_HumanAgentInteraction_20230920135038)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

- 2023๋…„ 9์›” 1์ผ: **Art** ๋ชจ๋“œ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค! ๋””์ž์ด๋„ˆ ์—์ด์ „ํŠธ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ด๋ณด์„ธ์š”; ``python3 run.py --task [description_of_your_idea] --config "Art"``. [๊ฐ€์ด๋“œ](../wiki.md#art)์™€ [์˜ˆ์ œ](../WareHouse/gomokugameArtExample_THUNLP_20230831122822)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. - 2023๋…„ 8์›” 28์ผ: ์‹œ์Šคํ…œ์ด ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. - 2023๋…„ 8์›” 17์ผ: V1.0.0 ๋ฒ„์ „ ์ถœ์‹œ ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. - 2023๋…„ 7์›” 30์ผ: ์‚ฌ์šฉ์ž๊ฐ€ ChatChain, Phase ๋ฐ Role์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, Online Log ๋ชจ๋“œ์™€ Replay ๋ชจ๋“œ๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค. - 2023๋…„ 7์›” 16์ผ: ์ด ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ๋œ [์ถœํŒ ์ „ ๋…ผ๋ฌธ](https://arxiv.org/abs/2307.07924)์ด ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. - 2023๋…„ 6์›” 30์ผ: `ChatDev` ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์ดˆ๊ธฐ ๋ฒ„์ „์ด ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
## โ“ ChatDev๋Š” ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ![intro](../misc/intro.png) https://github.com/OpenBMB/ChatDev/assets/11889052/80d01d2f-677b-4399-ad8b-f7af9bb62b72 ## โšก๏ธ ์‹œ์ž‘ํ•˜๊ธฐ ### ๐Ÿ’ป๏ธ ์›น์„ ์ด์šฉํ•˜์—ฌ ์‹œ์ž‘ํ•˜๊ธฐ ์‹œ๊ฐํ™”์™€ ๊ตฌ์„ฑ์„ ์œ„ํ•œ ์›น ํŽ˜์ด์ง€ ์ ‘๊ทผ: https://chatdev.modelbest.cn/ ### ๐Ÿ–ฅ๏ธ ํ„ฐ๋ฏธ๋„์„ ์ด์šฉํ•˜์—ฌ ์‹œ์ž‘ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”: 1. **GitHub ๋ฆฌํฌ์ง€ํ„ฐ๋ฆฌ ๋ณต์ œ:** ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ณต์ œํ•˜์„ธ์š”: ``` git clone https://github.com/OpenBMB/ChatDev.git ``` 2. **Python ํ™˜๊ฒฝ ์„ค์ •ํ•˜๊ธฐ:** Python ํ™˜๊ฒฝ์ด ๋ฒ„์ „ 3.9 ์ด์ƒ์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”. ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•˜๊ณ  ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, `ChatDev_conda_env`๋Š” ์›ํ•˜๋Š” ์ด๋ฆ„์œผ๋กœ ๋Œ€์ฒดํ•ด๋„ ๋ฌด๋ฐฉํ•ฉ๋‹ˆ๋‹ค: ``` conda create -n ChatDev_conda_env python=3.9 -y conda activate ChatDev_conda_env ``` 3. **์ข…์†์„ฑ ์„ค์น˜**: `ChatDev` ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•˜์—ฌ ํ•„์š”ํ•œ ์ข…์†์„ฑ์„ ์„ค์น˜ํ•˜์„ธ์š”: ``` cd ChatDev pip3 install -r requirements.txt ``` 4. **OpenAI API ํ‚ค ์„ค์ •:** OpenAI API ํ‚ค๋ฅผ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ๋‚ด๋ณด๋‚ด์„ธ์š”. `"your_OpenAI_API_key"`๋ฅผ ์‹ค์ œ API ํ‚ค๋กœ ๋ฐ”๊ฟ”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ์„ธ์…˜๋ณ„๋กœ ๋‹ค๋ฅด๋ฏ€๋กœ ์ƒˆ ํ„ฐ๋ฏธ๋„ ์„ธ์…˜์„ ์—ด๋ฉด ๋‹ค์‹œ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š”. ์œ ๋‹‰์Šค/๋ฆฌ๋ˆ…์Šค์˜ ๊ฒฝ์šฐ: ``` export OPENAI_API_KEY="your_OpenAI_API_key" ``` Windows์˜ ๊ฒฝ์šฐ: ``` $env:OPENAI_API_KEY="your_OpenAI_API_key" ``` 5. **์†Œํ”„ํŠธ์›จ์–ด ๋นŒ๋“œํ•˜๊ธฐ:** ์†Œํ”„ํŠธ์›จ์–ด ๋นŒ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด `[description_of_your_idea]`๋ฅผ ์•„์ด๋””์–ด์˜ ์„ค๋ช…์œผ๋กœ, `[project_name]`์„ ์›ํ•˜๋Š” ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊พธ์„ธ์š”: ์œ ๋‹‰์Šค/๋ฆฌ๋ˆ…์Šค์˜ ๊ฒฝ์šฐ: ``` python3 run.py --task "[description_of_your_idea]" --name "[project_name]" ``` Windows์˜ ๊ฒฝ์šฐ: ``` python run.py --task "[description_of_your_idea]" --name "[project_name]" ``` 6. **์†Œํ”„ํŠธ์›จ์–ด ์‹คํ–‰ํ•˜๊ธฐ:** `project_name_DefaultOrganization_timestamp`์™€ ๊ฐ™์€ ํŠน์ • ํ”„๋กœ์ ํŠธ ํด๋” ์•„๋ž˜์˜ `WareHouse` ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ƒ์„ฑ๋œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”: ์œ ๋‹‰์Šค/๋ฆฌ๋ˆ…์Šค์˜ ๊ฒฝ์šฐ: ``` cd WareHouse/project_name_DefaultOrganization_timestamp python3 main.py ``` Windows์˜ ๊ฒฝ์šฐ: ``` cd WareHouse/project_name_DefaultOrganization_timestamp python main.py ``` ### ๐Ÿณ ๋„์ปค๋ฅผ ์ด์šฉํ•˜์—ฌ ์‹œ์ž‘ํ•˜๊ธฐ - [ManindraDeMel](https://github.com/ManindraDeMel)์˜ ๋„์ปค ์ง€์›์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. [๋„์ปค ์‹œ์ž‘ ๊ฐ€์ด๋“œ](../wiki.md#docker-start)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ## โœจ๏ธ ์‹ฌํ™” ์Šคํ‚ฌ [์œ„ํ‚ค](../wiki.md)์—์„œ ์•„๋ž˜ ๋” ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: - ๋ชจ๋“  ๋ช…๋ น ์‹คํ–‰ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์†Œ๊ฐœ - ๋” ๋ณด๊ธฐ ์ข‹๊ฒŒ ์‹œ๊ฐํ™”๋œ ๋กœ๊ทธ, ๋‹ค์‹œ๋ณด๊ธฐ ๋ฐ๋ชจ, ๊ฐ„๋‹จํ•œ ChatChain ์‹œ๊ฐํ™” ๋„๊ตฌ๊ฐ€ ํฌํ•จ๋œ ๋กœ์ปฌ ์›น ๋ฐ๋ชจ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ๊ฐ€์ด๋“œ - ChatDev ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ๊ฐœ์š” - ChatChain ๊ตฌ์„ฑ์˜ ๋ชจ๋“  ๊ณ ๊ธ‰ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ์†Œ๊ฐœ - ChatDev ๊ฐœ์กฐ ๊ฐ€์ด๋“œ: - ChatChain: ``DemandAnalysis (์ˆ˜์š”๋ถ„์„) -> Coding (์ฝ”๋”ฉ) -> Testing (ํ…Œ์ŠคํŠธ) -> Manual (๋งค๋‰ด์–ผ)``๊ณผ ๊ฐ™์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค(๋˜๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค)๋ฅผ ์ง์ ‘ ์„ค๊ณ„ํ•˜์„ธ์š”. - Phase: ChatChain ๋‚ด์—์„œ ``์ˆ˜์š”๋ถ„์„``๊ณผ ๊ฐ™์€ ์ž์‹ ๋งŒ์˜ ๋‹จ๊ณ„๋ฅผ ์„ค๊ณ„ํ•˜์„ธ์š”. - Role: ``Chief Executive Officier (์ตœ๊ณ  ๊ฒฝ์˜์ž)``์™€ ๊ฐ™์ด ํšŒ์‚ฌ ๋‚ด ๋‹ค์–‘ํ•œ ์—์ด์ „ํŠธ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ## ๐Ÿค— ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ณต์œ ํ•˜์„ธ์š”! **์ฝ”๋“œ**: ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ๊ด€์‹ฌ์„ ๊ฐ€์ ธ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋ฉด ์ฃผ์ €ํ•˜์ง€ ๋งˆ์‹œ๊ณ  ์‹ ๊ณ ํ•ด ์ฃผ์„ธ์š”. ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ž‘์—…์„ ๊ณต์œ ํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด ์–ผ๋งˆ๋“ ์ง€ PR์„ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”! ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ธฐ์—ฌ๋Š” ๋งค์šฐ ์†Œ์ค‘ํ•ฉ๋‹ˆ๋‹ค. ๋„์›€์ด ํ•„์š”ํ•œ ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉด ์–ธ์ œ๋“ ์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”! **ํšŒ์‚ฌ**: ๋‹น์‹ ๋งŒ์˜ ๋งž์ถคํ˜• "ChatDev ํšŒ์‚ฌ"๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋งž์ถคํ˜• ์„ค์ •์—๋Š” ์„ธ ๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ๊ตฌ์„ฑ JSON ํŒŒ์ผ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ``CompanyConfig/Default`` ๋””๋ ‰ํ† ๋ฆฌ์— ์ œ๊ณต๋œ ์˜ˆ์ œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. ๋งž์ถคํ™”์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ง€์นจ์€ [์œ„ํ‚ค](../wiki.md)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. **์†Œํ”„ํŠธ์›จ์–ด**: ChatDev๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ๋งˆ๋‹ค ๋ชจ๋“  ํ•„์ˆ˜ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ํ•ด๋‹น ํด๋”๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. PR์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋งŒํผ์ด๋‚˜ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž‘์—…์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ``python3 run.py --task "design a 2048 game" --name "2048" --org "THUNLP" --config "Default"``๋ผ๋Š” ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ``/WareHouse/2048_THUNLP_timestamp``๋ผ๋Š” ํด๋”๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ์•ˆ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒŒ์ผ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค: - 2048 ๊ฒŒ์ž„ ์†Œํ”„ํŠธ์›จ์–ด์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ํŒŒ์ผ ๋ฐ ๋ฌธ์„œ - ``CompanyConfig/Default``์—์„œ ๊ฐ€์ ธ์˜จ 3๊ฐœ์˜ JSON์„ ํฌํ•จํ•œ, ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ์ด ํšŒ์‚ฌ์˜ ๊ตฌ์„ฑ ํŒŒ์ผ๋“ค - ๋‹ค์‹œ๋ณด๊ธฐ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๋Š” ํฌ๊ด„์ ์ธ ๋กœ๊ทธ(``timestamp.log``) - ์ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋œ ์ดˆ๊ธฐ ํ”„๋กฌํ”„ํŠธ(``2048.prompt``) **์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๊ธฐ์—ฌํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ณด๋ ค๋ฉด [์—ฌ๊ธฐ](../Contribution.md)๋ฅผ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š”!** ## ๐Ÿ‘จโ€๐Ÿ’ปโ€ ๊ธฐ์—ฌ์ž Made with [contrib.rocks](https://contrib.rocks). ## ๐Ÿ“‘ ์ธ์šฉ ๋ฌธ๊ตฌ ``` @article{chatdev, title = {ChatDev: Communicative Agents for Software Development}, author = {Chen Qian and Wei Liu and Hongzhang Liu and Nuo Chen and Yufan Dang and Jiahao Li and Cheng Yang and Weize Chen and Yusheng Su and Xin Cong and Juyuan Xu and Dahai Li and Zhiyuan Liu and Maosong Sun}, journal = {arXiv preprint arXiv:2307.07924}, url = {https://arxiv.org/abs/2307.07924}, year = {2023} } ``` ## โš–๏ธ ๋ผ์ด์„ ์Šค - ์†Œ์Šค์ฝ”๋“œ ๋ผ์ด์„ ์Šค: ChatDev์˜ ์†Œ์Šค์ฝ”๋“œ๋Š” ์•„ํŒŒ์น˜ 2.0 ๋ผ์ด์„ ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•„ํŒŒ์น˜ 2.0 ๋ผ์ด์„ ์Šค์— ๋ช…์‹œ๋œ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ฝ”๋“œ์˜ ์‚ฌ์šฉ, ์ˆ˜์ • ๋ฐ ๋ฐฐํฌ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. - ๋ฐ์ดํ„ฐ ๋ผ์ด์„ ์Šค: ChatDev์— ์‚ฌ์šฉ๋˜๋Š” ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋Š” CC BY-NC 4.0๋ผ์ด์„ ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ผ์ด์„ ์Šค๋Š” ๋ฐ์ดํ„ฐ์˜ ๋น„์ƒ์—…์  ์‚ฌ์šฉ์„ ๋ช…์‹œ์ ์œผ๋กœ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ›ˆ๋ จ๋œ ๋ชจ๋“  ๋ชจ๋ธ์€ ๋น„์ƒ์—…์  ์‚ฌ์šฉ ์ œํ•œ์„ ์ฒ ์ €ํžˆ ์ค€์ˆ˜ํ•ด์•ผ ํ•˜๋ฉฐ ์—ฐ๊ตฌ ๋ชฉ์ ์œผ๋กœ๋งŒ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ๊ฐ•์กฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ## ๐Ÿค ๊ฐ์‚ฌ์˜ ๋ง          ## ์—ฐ๋ฝ์ฒ˜ ์งˆ๋ฌธ, ํ”ผ๋“œ๋ฐฑ ๋˜๋Š” ์ €ํฌ์™€ ์—ฐ๋ฝ์„ ์›ํ•˜์‹œ๋ฉด ์–ธ์ œ๋“ ์ง€ ์ด๋ฉ”์ผ๋กœ ์—ฐ๋ฝ ์ฃผ์‹ญ์‹œ์˜ค: [qianc62@gmail.com](mailto:qianc62@gmail.com)