# [OpenAgents: An Open Platform for Language Agents in the Wild](https://arxiv.org/abs/2310.10634) OpenAgents Paper Online Demos XLangNLPLab User Manual License: apache-2-0 GitHub Stars Open Issues Twitter Follow Join Slack Discord

English โ€ข ไธญๆ–‡ โ€ข ๆ—ฅๆœฌ่ชž โ€ข ํ•œ๊ตญ์–ด

ํ˜„์žฌ์˜ ์–ธ์–ด ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐœ๋… ์ฆ๋ช…์šฉ ์–ธ์–ด ์—์ด์ „ํŠธ ๊ตฌ์ถ•์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜์ง€๋งŒ, ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์˜ ์—์ด์ „ํŠธ ์ ‘๊ทผ์„ฑ์„ ๊ฐ„๊ณผํ•˜๋ฉฐ ์‘์šฉ ์ˆ˜์ค€์˜ ์„ค๊ณ„์—๋Š” ๊ด€์‹ฌ์„ ๋œ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” OpenAgents๋ฅผ ๊ตฌ์ถ•ํ–ˆ์œผ๋ฉฐ, ์™€์ผ๋“œํ•œ ์ผ์ƒ์ƒํ™œ์—์„œ ์–ธ์–ด ์—์ด์ „ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ํ˜ธ์ŠคํŒ… ํ•˜๊ธฐ ์œ„ํ•œ ์˜คํ”ˆ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” OpenAgents์— ์„ธ ๊ฐ€์ง€ ์—์ด์ „ํŠธ๋ฅผ ๊ตฌํ˜„ํ–ˆ์œผ๋ฉฐ, ์ด๋“ค์„ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค! 1. ๋ฐ์ดํ„ฐ ์—์ด์ „ํŠธ๋Š” Python/SQL๊ณผ ๋ฐ์ดํ„ฐ ๋„๊ตฌ๋กœ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. ํ”Œ๋Ÿฌ๊ทธ์ธ ์—์ด์ „ํŠธ๋Š” ํ•˜๋ฃจ์— 200๊ฐœ ์ด์ƒ์˜ ์ผ์ƒ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 3. ์›น ์—์ด์ „ํŠธ๋Š” ์ž์œจ์ ์ธ ์›น ๋ธŒ๋ผ์šฐ์ง•์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. OpenAgents๋Š” ๋ฐ์ดํ„ฐ ๋ถ„์„, ํ”Œ๋Ÿฌ๊ทธ์ธ ํ˜ธ์ถœ, ๋ธŒ๋ผ์šฐ์ € ์ œ์–ด ๋“ฑ์„ ChatGPT Plus์™€ ๋™์ผํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์•„๋ž˜ ์ด์œ ๋“ค์„ ์œ„ํ•ด ์˜คํ”ˆ ์ฝ”๋“œ๋กœ ์ด๋ฅผ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. 1. ์‰ฌ์šด ๋ฐฐํฌ 2. ํ’€ ์Šคํƒ 3. ์ฑ— ์›น ์œ ์ € ์ธํ„ฐํŽ˜์ด์Šค 4. ์—์ด์ „ํŠธ ๋ฐฉ๋ฒ• 5. โ€ฆ OpenAgents๋Š” ์›น UI๋ฅผ ํ†ตํ•ด ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๊ฐ€ ์—์ด์ „ํŠธ ๊ธฐ๋Šฅ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ์‹ ์†ํ•œ ์‘๋‹ต๊ณผ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์— ์ตœ์ ํ™”๋œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋™์‹œ์— ๊ฐœ๋ฐœ์ž์™€ ์—ฐ๊ตฌ์›๋“ค์—๊ฒŒ๋Š” ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ์˜ ์›ํ™œํ•œ ๋ฐฐํฌ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜์—ฌ ํ˜์‹ ์ ์ธ ์–ธ์–ด ์—์ด์ „ํŠธ์˜ ๊ฐœ๋ฐœ๊ณผ ์‹ค์ œ ์„ธ๊ณ„์—์„œ์˜ ํ‰๊ฐ€๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์šฐ๋ฆฌ๋Š” ์–ธ์–ด ์—์ด์ „ํŠธ์˜ ์‹ค์ œ ์„ธ๊ณ„์—์„œ์˜ ์—ฐ๊ตฌ์™€ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ธฐ๋ฐ˜์„ ๋งˆ๋ จํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ํž˜๋“  ์ ๊ณผ, ๊ธฐํšŒ์— ๋Œ€ํ•ด ๋ช…ํ™•ํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ๊ธฐ์—ฌ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—, ์ด์Šˆ์™€ PR์— ๋Œ€ํ•œ [CONTRIBUTING.md](./CONTRIBUTING.md) ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ฝ์–ด๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ์—ฌ ๊ณผ์ •์ด ์›ํ™œํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ์ค€๊ณผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์›€์„ ์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ## ๐Ÿ”ซ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๋งŒ์•ฝ [์˜จ๋ผ์ธ ๋ฐ๋ชจ](https://chat.xlang.ai)๋‚˜ ๋กœ์ปฌ ๋ฐฐํฌ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ๋„์›€์„ ๋ฐ›๊ธฐ ์œ„ํ•ด Discord์— ๊ฐ€์ž…ํ•ด์ฃผ์„ธ์š”. ๋˜๋Š” ๊ธฐ๋Šฅ์ด๋‚˜ ์ฝ”๋“œ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ, [์ด์Šˆ](https://github.com/xlang-ai/OpenAgents/issues)๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”. ## ๐Ÿ”ฅ ๋‰ด์Šค - **[2023, 10์›” 26์ผ]** ์‚ฌ์šฉ์ž 3000๋ช…์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค! ๐Ÿš€ ๋ชจ๋“  ์‚ฌ์šฉ์ž๋ถ„๋“ค๊ณผ ๊ธฐ์—ฌํ•ด ์ฃผ์‹  ๋ถ„๋“ค์—๊ฒŒ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๐Ÿ™ ์„œ๋ฒ„์—์„œ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋†’์€ ํŠธ๋ž˜ํ”ฝ์œผ๋กœ ์ธํ•ด ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์˜ ์ธ๋‚ด์‹ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฌ๋ฉฐ, ๊ฐ€๋Šฅํ•œ ๋น ๋ฅธ ์‹œ์ผ ๋‚ด์— ๋„์›€์„ ๋“œ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ์ค€๋น„ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! - **[2023, 10์›” 18์ผ]** ์ €ํฌ๊ฐ€ ๋งŒ๋“  [Lemur](https://github.com/OpenLemur/Lemur)๋ฅผ ํ•œ๋ฒˆ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”. Lemur์€ ์ตœ์ฒจ๋‹จ (SOTA) ์–ธ์–ด ์—์ด์ „ํŠธ์ด๋ฉฐ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜ ๋ชจ๋ธ๋กœ, ChatGPT์™€ 15๊ฐ€์ง€ ์—์ด์ „ํŠธ ์ž‘์—…์—์„œ ๋งค์นญ๋ฉ๋‹ˆ๋‹ค! - **[2023, 10์›” 17์ผ]** OpenAgents ๋…ผ๋ฌธ์„ [์—ฌ๊ธฐ](https://arxiv.org/abs/2310.10634)์—์„œ ํ™•์ธํ•ด๋ณด์„ธ์š”! - **[2023, 10์›” 13์ผ]** ์ €ํฌ๋Š” OpenAgents ํ”Œ๋žซํผ์˜ ์—์ด์ „ํŠธ ์„ธ ๊ฐœ, ์„œ๋ฒ„ ๋ฐฑ์—”๋“œ ๋ฐ ํ”„๋ก ํŠธ์—”๋“œ์˜ ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค! ์ž์œ ๋กญ๊ฒŒ ๋กœ์ปฌ ํ™˜๊ฒฝ์— ์„ค์น˜ํ•˜๊ณ  OpenAgents๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์„ธ์š”! - **[2023, 8์›” 17์ผ]** ์ €ํฌ ํ”Œ๋žซํผ์€ ๊ณต์‹์ ์œผ๋กœ 500๋ช…์˜ ์‚ฌ์šฉ์ž์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค! ๐Ÿš€ - **[2023, 8์›” 8์ผ]** ์ €ํฌ๋Š” ๋ฐ์ดํ„ฐ, ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฐ ์›น ์—์ด์ „ํŠธ๋ฅผ ํฌํ•จํ•œ [OpenAgents ๋ฐ๋ชจ](https://chat.xlang.ai)๋ฅผ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค! [ํŠœํ† ๋ฆฌ์–ผ](https://docs.xlang.ai/category/user-manual)๊ณผ [์‚ฌ์šฉ ์‚ฌ๋ก€๋“ค](https://docs.xlang.ai/category/use-cases)์„ ํ™•์ธํ•ด๋ณด์„ธ์š”! ## ๐Ÿฅ‘ OpenAgents ์šฐ๋ฆฌ๋Š” ์‹ค์ œ ์„ธ๊ณ„์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ธ๊ณต์ง€๋Šฅ ์—์ด์ „ํŠธ๋ฅผ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ([OpenAgents ๋ฐ๋ชจ](https://chat.xlang.ai)๋ฅผ ํ™•์ธํ•˜์„ธ์š”). ๋‹ค์Œ์€ OpenAgents ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๊ฐœ์š”์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๊ฐœ๋… ๋ฐ ๋””์ž์ธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ [๋ฌธ์„œ](https://docs.xlang.ai)์—์„œ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### ๋ฐ์ดํ„ฐ ์—์ด์ „ํŠธ (Data Agent) [๋ฐ์ดํ„ฐ ์—์ด์ „ํŠธ](https://github.com/xlang-ai/OpenAgents/tree/main/real_agents/data_agent)๋Š” ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ์ž‘์—…์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ํฌ๊ด„์ ์ธ ๋„๊ตฌ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์—์ด์ „ํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค: - ๐Ÿ” **๊ฒ€์ƒ‰**: ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€๋“œ๋ฆฝ๋‹ˆ๋‹ค. - ๐Ÿ› ๏ธ **์ฒ˜๋ฆฌ**: ๋ฐ์ดํ„ฐ ํš๋“ ๋ฐ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€๋“œ๋ฆฝ๋‹ˆ๋‹ค. - ๐Ÿ”„ **์กฐ์ž‘**: ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ๐Ÿ“Š **์‹œ๊ฐํ™”**: ๋ฐ์ดํ„ฐ๋ฅผ ๋ช…ํ™•ํ•˜๊ณ  ํ†ต์ฐฐ๋ ฅ ์žˆ๊ฒŒ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์—์ด์ „ํŠธ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์–ด ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์ž‘์—…์„ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ [์‚ฌ์šฉ ์‚ฌ๋ก€๋“ค](https://docs.xlang.ai/use-cases/data-agent)์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ์—์ด์ „ํŠธ์˜ ์ž ์žฌ๋ ฅ์„ ๋ฐœ๊ฒฌํ•ด๋ณด์„ธ์š”.
๋” ๋งŽ์€ ์‚ฌ์šฉ ์‚ฌ๋ก€ ์Šคํฌ๋ฆฐ์ƒท์„ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด ํด๋ฆญํ•ด์ฃผ์„ธ์š”.
### ํ”Œ๋Ÿฌ๊ทธ์ธ ์—์ด์ „ํŠธ (Plugins Agent) [ํ”Œ๋Ÿฌ๊ทธ์ธ ์—์ด์ „ํŠธ](https://github.com/xlang-ai/OpenAgents/tree/main/real_agents/plugins_agent)๋Š” 200๊ฐœ๊ฐ€ ๋„˜๋Š” ์ œ3์ž ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ์›ํ™œํ•˜๊ฒŒ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์ผ์ƒ์ƒํ™œ์˜ ๋‹ค์–‘ํ•œ ๋ถ€๋ถ„์„ ํ’๋ถ€ํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์„ ๋ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์„ ํ™œ์šฉํ•˜์—ฌ ์—์ด์ „ํŠธ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ๋‹ค์–‘ํ•œ ์ž‘์—…๊ณผ ํ™œ๋™์„ ๋” ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ๐Ÿ”Œ **ํ”Œ๋Ÿฌ๊ทธ์ธ ์˜ˆ์‹œ**: - ๐Ÿ›๏ธ **์‡ผํ•‘**: Klarna ์‡ผํ•‘ - โ˜๏ธ **๋‚ ์”จ**: XWeather - ๐Ÿ”ฌ **๊ณผํ•™ ํƒ๊ตฌ**: Wolfram Alpha #### ๋‹ค์ˆ˜์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ๋„ˆ์ง€์˜ ํž˜์„ ๋ฐœํœ˜ํ•˜์„ธ์š”! ํ”Œ๋Ÿฌ๊ทธ์ธ ์—์ด์ „ํŠธ๋Š” ์—ฌ๋Ÿฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์—ฌํ–‰ ๊ณ„ํš์„ ์„ธ์šฐ๊ณ  ๊ณ„์‹œ๋‚˜์š”? Klook, ํ†ตํ™” ๋ณ€ํ™˜๊ธฐ, WeatherViz์˜ ๊ธฐ๋Šฅ๋“ค์„ ๋™์‹œ์— ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”. #### ์ž๋™ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ ํƒ ๊ธฐ๋Šฅ ์ž๋™ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ ํƒ ๊ธฐ๋Šฅ์œผ๋กœ ์„ ํƒ ๊ณผ์ •์„ ๊ฐ„์†Œํ™”ํ•˜์„ธ์š”. ์—์ด์ „ํŠธ์—๊ฒŒ ํ•„์š”์— ๋งž๋Š” ์ตœ์ƒ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ง๊ด€์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ œ์•ˆํ•ด ์ฃผ๋„๋ก ํ•ด๋ณด์„ธ์š”. ๋” ๋งŽ์€ [์‚ฌ์šฉ ์‚ฌ๋ก€](https://docs.xlang.ai/use-cases/plugins-agent)๋ฅผ ํ†ตํ•ด ํ”Œ๋Ÿฌ๊ทธ์ธ ์—์ด์ „ํŠธ์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ํ™•์ธํ•ด๋ณด์„ธ์š”.
๋” ๋งŽ์€ ์‚ฌ์šฉ ์‚ฌ๋ก€ ์Šคํฌ๋ฆฐ์ƒท์„ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด ํด๋ฆญํ•ด์ฃผ์„ธ์š”.
### ์›น ์—์ด์ „ํŠธ [์›น ์—์ด์ „ํŠธ](https://github.com/xlang-ai/OpenAgents/tree/main/real_agents/web_agent)๋Š” ํฌ๋กฌ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ์›น ์‚ฌ์ดํŠธ๋ฅผ ์ž๋™์œผ๋กœ ํƒ์ƒ‰ํ•˜๊ณ  ํƒ๊ตฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์—์ด์ „ํŠธ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ง• ๊ฒฝํ—˜์„ ๊ฐ„์†Œํ™”ํ•˜์—ฌ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ฐพ๊ณ  ์›ํ•˜๋Š” ์ž๋ฃŒ์— ์‰ฝ๊ฒŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. **์›น ์—์ด์ „ํŠธ๊ฐ€ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…๋“ค**: - ๐Ÿ“ **Google ์ง€๋„ ๋„ค๋น„๊ฒŒ์ด์…˜**: ์—ฌํ–‰์„ ๊ณ„ํšํ•˜๊ณ  ์žˆ๋‚˜์š”? ์›น ์—์ด์ „ํŠธ์—๊ฒŒ ์ถœ๋ฐœ์ง€์™€ ๋ชฉ์ ์ง€๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š”. ์›น ์—์ด์ „ํŠธ๊ฐ€ Google ์ง€๋„๋ฅผ ์ด์šฉํ•˜์—ฌ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ์ œ์‹œํ•ด์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. - ๐Ÿฆ **Twitter ๊ฒŒ์‹œ๋ฌผ**: ์›น ์—์ด์ „ํŠธ์™€ ๋Œ€ํ™”๋ฅผ ๋‚˜๋ˆ„๋ฉฐ Twitter์— ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์‹ถ๋‚˜์š”? ๋‚ด์šฉ์„ ๋ง์”€ํ•ด์ฃผ์‹œ๋ฉด ์›น ์—์ด์ „ํŠธ๊ฐ€ ์†์‰ฝ๊ฒŒ ํŠธ์œ—์„ ์ฒ˜๋ฆฌํ•ด๋“œ๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค. - ๐Ÿ“ **Google Form ์–ด์‹œ์Šคํ„ด์Šค**: ํ–‰์‚ฌ๋‚˜ ํ™œ๋™์— ๋“ฑ๋กํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‚˜์š”? Google Form ๋งํฌ์™€ ํ•„์š”ํ•œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•ด์ฃผ์„ธ์š”. ์›น ์—์ด์ „ํŠธ๊ฐ€ ๋Œ€์‹  ์–‘์‹์„ ์ž‘์„ฑํ•ด๋“œ๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ [์‚ฌ์šฉ ์‚ฌ๋ก€](https://docs.xlang.ai/use-cases/web-agent)์—์„œ ์›น ์—์ด์ „ํŠธ์˜ ์ž ์žฌ๋ ฅ์„ ํ™•์ธํ•ด๋ณด์„ธ์š”.
๋” ๋งŽ์€ ์‚ฌ์šฉ ์‚ฌ๋ก€ ์Šคํฌ๋ฆฐ์ƒท์„ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด ํด๋ฆญํ•ด์ฃผ์„ธ์š”.
## ๐Ÿ’ป ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์— ๋ฐฐํฌํ•˜๊ธฐ OpenAgents ํ”Œ๋žซํผ ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž์œ ๋กญ๊ฒŒ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์— ๋ฐฐํฌํ•ด๋ณด์„ธ์š”! ๋‹ค์Œ์€ OpenAgents์˜ ๊ฐ„๋žตํ•œ ์‹œ์Šคํ…œ ๋””์ž์ธ์ž…๋‹ˆ๋‹ค:
๋กœ์ปฌ ํ™˜๊ฒฝ ์„ค์ • ๋ฐ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์— ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ํด๋” ๋ฐ README ํŒŒ์ผ์„ ํ™•์ธํ•ด ์ฃผ์„ธ์š”: 1. [**๋ฐฑ์—”๋“œ**](backend/README.md): ํ”Œ๋ผ์Šคํฌ(Flask) ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ธ ๊ฐœ์˜ ์—์ด์ „ํŠธ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•ฉ๋‹ˆ๋‹ค. 2. [**ํ”„๋ก ํŠธ์—”๋“œ**](frontend/README.md): ํ”„๋ก ํŠธ์—”๋“œ UI์™€ WeBot ํฌ๋กฌ ์ต์Šคํ…์…˜ p.s. : ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ผ๋ถ€ ์ธ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 2023๋…„ 10์›” 26์ผ ์ด์ „์— ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜จ ๊ฒฝ์šฐ, ์ตœ์‹  ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ํ‚ค ์ด๋ฆ„์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ด์ „ ๋กœ์ปฌ ์ฑ„ํŒ… ๊ธฐ๋ก์ด ์†์‹ค๋œ๋‹ค๋Š” ์ ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”. ## ๐Ÿ“œ OpenAgents๋ฅผ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•œ ํŠœํ† ๋ฆฌ์–ผ ### ์ฝ”๋“œ ๊ตฌ์กฐ OpenAgents๋ฅผ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „์—, OpenAgents์˜ ์ฝ”๋“œ ๊ตฌ์กฐ๋ฅผ ๊ฐ„๋žตํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ๊ตฌ์กฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค: ```bash โ”œโ”€โ”€ backend # backend code โ”‚ย ย  โ”œโ”€โ”€ README.md # backend README for setup โ”‚ย ย  โ”œโ”€โ”€ api # RESTful APIs, to be called by the frontend โ”‚ย ย  โ”œโ”€โ”€ app.py # main flask app โ”‚ย ย  โ”œโ”€โ”€ display_streaming.py # rendering the streaming response โ”‚ย ย  โ”œโ”€โ”€ kernel_publisher.py # queue for code execution โ”‚ย ย  โ”œโ”€โ”€ main.py # main entry for the backend โ”‚ย ย  โ”œโ”€โ”€ memory.py # memory(storage) for the backend โ”‚ย ย  โ”œโ”€โ”€ schemas.py # constant definitions โ”‚ย ย  โ”œโ”€โ”€ setup_script.sh # one-click setup script for the backend โ”‚ย ย  โ”œโ”€โ”€ static # static files, e.g., cache and figs โ”‚ย ย  โ””โ”€โ”€ utils # utilities โ”œโ”€โ”€ frontend # frontend code โ”‚ย ย  โ”œโ”€โ”€ README.md # frontend README for setup โ”‚ย ย  โ”œโ”€โ”€ components # React components โ”‚ย ย  โ”œโ”€โ”€ hooks # custom React hooks โ”‚ย ย  โ”œโ”€โ”€ icons # icon assets โ”‚ย ย  โ”œโ”€โ”€ next-env.d.ts # TypeScript declarations for Next.js environment variables โ”‚ย ย  โ”œโ”€โ”€ next-i18next.config.js # configuration settings for internationalization โ”‚ย ย  โ”œโ”€โ”€ next.config.js # configuration settings for Next.js โ”‚ย ย  โ”œโ”€โ”€ package-lock.json # generated by npm that describes the exact dependency tree โ”‚ย ย  โ”œโ”€โ”€ package.json # manifest file that describes the dependencies โ”‚ย ย  โ”œโ”€โ”€ pages # Next.js pages โ”‚ย ย  โ”œโ”€โ”€ postcss.config.js # configuration settings for PostCSS โ”‚ย ย  โ”œโ”€โ”€ prettier.config.js # configuration settings for Prettier โ”‚ย ย  โ”œโ”€โ”€ public # static assets โ”‚ย ย  โ”œโ”€โ”€ styles # global styles โ”‚ย ย  โ”œโ”€โ”€ tailwind.config.js # configuration settings for Tailwind CSS โ”‚ย ย  โ”œโ”€โ”€ tsconfig.json # configuration settings for TypeScript โ”‚ย ย  โ”œโ”€โ”€ types # type declarations โ”‚ย ย  โ”œโ”€โ”€ utils # utilities or helper functions โ”‚ย ย  โ”œโ”€โ”€ vitest.config.ts # configuration settings for ViTest โ”‚ย ย  โ””โ”€โ”€ webot_extension.zip # Chrome extension for Web Agent โ””โ”€โ”€ real_agents # language agents โ”œโ”€โ”€ adapters # shared components for the three agents to adapt to the backend โ”œโ”€โ”€ data_agent # data agent implementation โ”œโ”€โ”€ plugins_agent # plugins agent implementation โ””โ”€โ”€ web_agent # web agent implementation ``` ์œ„์˜ ์ฝ”๋“œ ๊ตฌ์กฐ์—์„œ๋Š” `backend/`์™€ `frontend/`๊ฐ€ ๋…๋ฆฝ์ ์ด๊ณ  ์ง์ ‘ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ([์—ฌ๊ธฐ](#localhost-deployment)๋ฅผ ๋ณด์„ธ์š”.) ์ด๋Š” ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ์•„๋‹Œ, ์ „ํ†ต์ ์ธ *ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„* ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋”ฐ๋ผ ์›ํ•˜๋Š”๋Œ€๋กœ ๋ฐฑ์—”๋“œ์™€ ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. `real_agents/`๋Š” "ํ•˜๋‚˜์˜ ์—์ด์ „ํŠธ, ํ•˜๋‚˜์˜ ํด๋”"๋กœ ์„ค๊ณ„๋˜์–ด ์ƒˆ๋กœ์šด ์—์ด์ „ํŠธ๋ฅผ ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "real agents"๋ผ๋Š” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•œ ์ด์œ ๋Š” ๊ฐœ๋…์ ์ธ ์–ธ์–ด ์—์ด์ „ํŠธ ๋ถ€๋ถ„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์–ธ์–ด ์—์ด์ „ํŠธ์™€ ๋ฐฑ์—”๋“œ ๊ฐ„์˜ ๊ฐ„๊ทน์„ ์ฑ„์šฐ๊ธฐ ์œ„ํ•œ ๋‚ด์šฉ๋„ ํฌํ•จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, `adapters/` ํด๋”์—๋Š” ์ŠคํŠธ๋ฆผ ํŒŒ์‹ฑ, ๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ๋ฉ”๋ชจ๋ฆฌ, ์ฝœ๋ฐฑ ๋“ฑ๊ณผ ๊ฐ™์€ ๊ณต์œ  ์–ด๋Œ‘ํ„ฐ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋…๊ณผ ๊ตฌํ˜„ ์„ค๊ณ„์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ [๋…ผ๋ฌธ](https://arxiv.org/abs/2310.10634)์„ ์ฐธ์กฐํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋˜ํ•œ, ์šฐ๋ฆฌ๋Š” ์‹ค์ œ ์—์ด์ „ํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š”๋ฐ ์ฝ”๋“œ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•ด ์ค€ [LangChain](https://github.com/langchain-ai/langchain)์—๊ฒŒ ๊ฐ์‚ฌ์˜ ๋ง์”€์„ ์ „ํ•ฉ๋‹ˆ๋‹ค. ### ์ƒˆ๋กœ์šด ์—์ด์ „ํŠธ๋ฅผ ํ™•์žฅํ•˜๊ธฐ ์ €ํฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์„ธ ๊ฐ€์ง€์˜ ์—์ด์ „ํŠธ ๋ง๊ณ ๋„ ๋‹ค๋ฅธ ์ƒˆ๋กœ์šด ์—์ด์ „ํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด ์•„๋ž˜ ์Šคํ…์„ ๋”ฐ๋ผ ์ฃผ์„ธ์š”: - ์ƒˆ๋กœ์šด ์—์ด์ „ํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ด์ „ ์—์ด์ „ํŠธ๊ฐ€ ๊ตฌํ˜„๋œ `real_agents/` ํด๋”๋ฅผ ์ฐธ์กฐํ•˜๊ณ , ์ƒˆ๋กœ์šด ํด๋”๋ฅผ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค. - ์ƒˆ๋กœ์šด ํด๋”์— ์žˆ๋Š” ์—์ด์ „ํŠธ ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜์‹ญ์‹œ์˜ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ `adapters/` ํด๋” ๋‚ด์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. - ๋จผ์ €, ์ƒˆ๋กœ์šด ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ์ฑ„ํŒ… API๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด `backend/api/` ํด๋”์— `chat_.py` ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ์ด ํŒŒ์ผ์€ ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ํ˜ธ์ถœ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. - ํ•„์š”ํ•œ ๊ฒฝ์šฐ, `backend/schemas.py`ํŒŒ์ผ์— ์ƒˆ๋กœ์šด ์ƒ์ˆ˜๋ฅผ ๋“ฑ๋กํ•˜์„ธ์š”. - ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ์ƒˆ๋กœ์šด OpenAgentID๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ์ด์— ํ•ด๋‹นํ•˜๋Š” API๋ฅผ `frontend/utils/app/api.ts`์™€ `frontend/utils/app/const.ts`์— ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”. - ํ•„์š”ํ•œ ๊ฒฝ์šฐ, `frontend/components/Chat/Chat.tsx`์™€ `frontend/components/Chat/ChatMessage.tsx`์—์„œ ์—์ด์ „ํŠธ UI๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”. - ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ƒˆ๋กœ์šด ์—์ด์ „ํŠธ๋ฅผ ํ…Œ์ŠคํŠธํ•ด๋ณด์„ธ์š”. ์ฐธ๊ณ : ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์œ ํ˜•(์˜ˆ: ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€, ํ…Œ์ด๋ธ” ๋ฐ JSON ์ด์™ธ์˜ ์œ ํ˜•)์˜ ๊ฒฝ์šฐ, ๋ฐฑ์—”๋“œ์˜ `display_streaming.py`์—์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์˜ ๊ตฌ๋ฌธ ๋ถ„์„ ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ### ์ƒˆ๋กœ์šด LLM์„ ํ™•์žฅํ•˜๊ธฐ LLM(Large Language Model)์„ ์—์ด์ „ํŠธ ๋ฐฑ๋ณธ์œผ๋กœ ํ™•์žฅํ•˜๋Š” ๊ฒƒ์€, LLM์ด ์ด๋ฏธ ํ˜ธ์ŠคํŒ…๋˜์–ด API๋ฅผ ํ†ตํ•ด ํ˜ธ์ถœ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ๋”์šฑ ๊ฐ„๋‹จํ•ด์ง‘๋‹ˆ๋‹ค. `backend/api/language_model.py`์—์„œ ์ƒˆ๋กœ์šด ๋ชจ๋ธ์„ ๋“ฑ๋กํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. lemur-chat์„ ์ฐธ๊ณ ํ•˜๋ฉด ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. LLM์ด ์•„์ง ํ˜ธ์ŠคํŒ…๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, LLM์„ ์ƒˆ๋กœ ๋ฐฐํฌํ•˜๊ณ  API๋กœ ๋…ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํŠœํ† ๋ฆฌ์–ผ์ด [์—ฌ๊ธฐ]()์— ์žˆ์Šต๋‹ˆ๋‹ค. (LLM ํ˜ธ์ŠคํŒ…์€ todo). ### ์ƒˆ๋กœ์šด ๋„๊ตฌ๋ฅผ ํ™•์žฅํ•˜๊ธฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ์—์ด์ „ํŠธ์— ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ํ™•์žฅํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด, ์•„๋ž˜ ์Šคํ…์„ ๋”ฐ๋ฅด์„ธ์š”: - `real_agents/plugins_agent/plugins/`์— ์ด๋ฏธ ๊ตฌ์ถ•๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์„ ์ฐธ๊ณ ํ•˜๊ณ , ๋„๊ตฌ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ํด๋”๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”. - ์ƒˆ๋กœ์šด ํด๋”์— ๋„๊ตฌ ๋กœ์ง์„ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”. ๋„๊ตฌ๊ฐ€ ์ธ์‹๋˜๊ธฐ ์œ„ํ•ด `ai-plugin.json`๊ณผ `openapi.yaml` ํŒŒ์ผ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค(์ด๋Š” ์ˆ˜๋™์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๋Œ€์‹  ๋‹ค๋ฅธ ์˜ˆ์‹œ๋ฅผ ๋”ฐ๋ผ์„œ LLM์ด ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค). ๋˜ํ•œ `paths/` ํด๋”๋Š” ์‹ค์ œ ๋„๊ตฌ API ํ˜ธ์ถœ์„ ์œ„ํ•œ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. - `real_agents/plugins_agent/plugin_names.py`์— ์ƒˆ๋กœ์šด ๋„๊ตฌ ์ด๋ฆ„์„ ๋“ฑ๋กํ•ด์ฃผ์„ธ์š”. ## ๐Ÿ‘ ๊ธฐ์—ฌํ•˜๊ธฐ ๊ฐ์‚ฌํ•˜๊ฒŒ๋„ ์˜คํ”ˆ ์†Œ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ์ธ [LangChain](https://github.com/langchain-ai/langchain), [ChatBot UI](https://github.com/mckaywrigley/chatbot-ui), [Taxy.ai browser extension](https://github.com/TaxyAI/browser-extension) ๋“ฑ์˜ ๋…ธ๋ ฅ ๋•๋ถ„์— ์ €ํฌ๋Š” ์ธํ„ฐํŽ˜์ด์Šค ํ”„๋กœํ† ํƒ€์ž…์„ ๋” ํŽธ๋ฆฌํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ๊ธฐ์—ฌ์™€ ์กฐ์–ธ์„ ํ™˜์˜ํ•˜๋ฉฐ, ํ•จ๊ป˜ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค์–ด๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค! ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ผ์ฃผ์„ธ์š”: - **1๋‹จ๊ณ„**: ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์ด๋‚˜ ๊ฐœ์„  ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๊ฑฐ๋‚˜ ๊ฒฝํ—˜ ์ค‘์— ๋ฌธ์ œ๋ฅผ ๋งˆ์ฃผ์น˜๋ฉด [์ด์Šˆ](https://github.com/xlang-ai/OpenAgents/issues)๋ฅผ ๊ฒŒ์‹œํ•ด์ฃผ์„ธ์š”. ๋˜ํ•œ [์ด์Šˆ ํ…œํ”Œ๋ฆฟ](https://github.com/xlang-ai/OpenAgents/blob/main/CONTRIBUTING.md)์„ ๋”ฐ๋ผ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์Šˆ๋Š” ํ•ด๋‹น ์œ„์น˜์—์„œ ๋…ผ์˜๋˜๊ณ  ํ• ๋‹น๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. - **2๋‹จ๊ณ„**: ์ด์Šˆ๊ฐ€ ํ• ๋‹น๋˜๋ฉด [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ํ…œํ”Œ๋ฆฟ](https://github.com/xlang-ai/OpenAgents/blob/main/CONTRIBUTING.md)์„ ๋”ฐ๋ผ [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ](https://github.com/xlang-ai/OpenAgents/pulls)๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์—ด๋ ค์žˆ๋Š” ์ด์Šˆ๋ฅผ ์š”์ฒญํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ•จ๊ป˜ OpenAgents๋ฅผ ๋”์šฑ ๋ฐœ์ „์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! - **3๋‹จ๊ณ„**: PR์€ ๊ฒ€ํ† ์™€ ๋…ผ์˜ ์ดํ›„์— ๋ณ‘ํ•ฉ๋˜๊ฑฐ๋‚˜ ๋ฐ˜๋ณต๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ์—ฌํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—, [์—ฌ๊ธฐ](https://github.com/xlang-ai/OpenAgents/blob/main/CONTRIBUTING.md)๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์„ ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ## ๐Ÿ“– ๋ฌธ์„œํ™” ์ „์ฒด ๋ฌธ์„œ์— ๋Œ€ํ•ด์„œ๋Š” [์—ฌ๊ธฐ](https://docs.xlang.ai)๋ฅผ ํ™•์ธํ•ด์ฃผ์„ธ์š”. ๋ฌธ์„œ๋Š” ๋ฐ๋ชจ ๋ณ€๊ฒฝ ๋ฐ ์ฝ”๋“œ ๋ฆด๋ฆฌ์Šค์™€ ํ•จ๊ป˜ ์ตœ์‹ ํ™”๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ## ๐Ÿง™โ€์–ด๋–ค ๋ถ„๋“ค์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋‚˜์š”? ### ๊ธฐ์ˆ  ๋ฆฌ๋“œ ### ๊ณต๋™ ๋ฆฌ๋“œ ๊ธฐ์—ฌ์ž ### ์ฃผ์š” ๊ธฐ์—ฌ์ž ### ์†Œ์ค‘ํ•œ ๊ธฐ์—ฌ์ž ### ๊ฐ์‚ฌ์˜ ๋ง (์ฝ”๋“œ๋ฅผ ๋„˜์–ด์„œ) OpenAgents์— ๋งŽ์€ ๊ธฐ์—ฌ๋ฅผ ํ•ด์ฃผ์‹  [Ziyi Huang](https://www.joanna-ziyi-huang.com/), [Roxy Rong](https://www.linkedin.com/in/roxyrong/), [Haotian Li](https://haotian-li.com/), [Xingbo Wang](https://andy-xingbowang.com/), [Jansen Wong](https://www.linkedin.com/in/jansenwong/), ๊ทธ๋ฆฌ๊ณ  [Chen Henry Wu](https://chenwu.io/) ๊ป˜ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ์˜ ๋งˆ์Œ์„ ์ „ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ถ„๋“ค์˜ ์ „๋ฌธ์„ฑ๊ณผ ํ†ต์ฐฐ๋ ฅ์€ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์™„์„ฑํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค! ### ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ์ž ๊ธฐ์—ฌํ•ด ์ฃผ์‹  ๋ชจ๋“  ๋ถ„๋“ค๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ## ์ธ์šฉ ๋งŒ์•ฝ ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ์šฐ๋ฆฌ์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ธ์šฉํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค: ``` @misc{OpenAgents, title={OpenAgents: An Open Platform for Language Agents in the Wild}, author={Tianbao Xie and Fan Zhou and Zhoujun Cheng and Peng Shi and Luoxuan Weng and Yitao Liu and Toh Jing Hua and Junning Zhao and Qian Liu and Che Liu and Leo Z. Liu and Yiheng Xu and Hongjin Su and Dongchan Shin and Caiming Xiong and Tao Yu}, year={2023}, eprint={2310.10634}, archivePrefix={arXiv}, primaryClass={cs.CL} } ``` ## ๊ฐ์‚ฌ์˜ ๋ง ์ €ํฌ์—๊ฒŒ ์ด ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ์—ฐ๊ตฌ ๊ธฐ๊ธˆ์„ ์ œ๊ณตํ•ด ์ค€ Google Research, Amazon AWS, ๊ทธ๋ฆฌ๊ณ  Salesforce Research์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!
Salesforce Research Google Research Amazon AWS
## โญ๏ธ Star History [![Star History Chart](https://api.star-history.com/svg?repos=xlang-ai/OpenAgents&type=Date)](https://github.com/xlang-ai/OpenAgents/stargazers)

OpenAgents์—๊ฒŒ โญ๏ธ๋ฅผ ์ฃผ๋Š” ๊ฒƒ์€ ๊ทธ๊ฒƒ์„ ๋”์šฑ ๋น›๋‚˜๊ฒŒ ๋งŒ๋“ค๊ณ  ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ํ˜œํƒ์„ ์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.