SubAgents-as-Tools ๊ตฌ์กฐ๋ฅผ ํตํ AI ์์ด์ ํธ ๋ชจ๋ํ ๋ฐ ํ์ฅ์ฑ ํ๋ณด
SubAgents: Langchain Agents as Tools with Langfuse using AWS Bedrock Nova ๐ค
AI ์์ฝ
Context
๋จ์ผ ๊ฑฐ๋ ์์ด์ ํธ๊ฐ ๋ชจ๋ ์์ ์ ์ํํ ๋ ๋ฐ์ํ๋ ์ ํ๋ ์ ํ ๋ฐ ๋๋ฒ๊น ์ ์ด๋ ค์์ ํด๊ฒฐํด์ผ ํ๋ ์ํฉ. ๋ณต์กํ ์๊ตฌ์ฌํญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฑ ์ ๋ฒ์๋ฅผ ์ขํ ์ ๋ฌธ ์์ด์ ํธ๋ค์ ์ ๊ธฐ์ ํ์ ๊ตฌ์กฐ๊ฐ ํ์ํจ.
Technical Solution
- ๊ฐ ๋๋ฉ์ธ(์์ฅ, ์ฌ๋ฌด, ๋ฆฌ์คํฌ)์ ํนํ๋ System Prompt๋ฅผ ๊ฐ์ง SubAgents๋ฅผ ๊ฐ๋ณ ์ ์ํ์ฌ ์ฑ ์ ๋ถ๋ฆฌ
- SubAgent๋ฅผ ๋จ์ํ LLM ํธ์ถ์ด ์๋ ์ ์๋ Input/Output Schema๋ฅผ ๊ฐ์ง Tool ํํ๋ก ๋ํํ์ฌ Main Agent์ ์ ๊ณต
- Main Agent๊ฐ ์ค์ผ์คํธ๋ ์ดํฐ ์ญํ ์ ์ํํ๋ฉฐ ์ฌ์ฉ์ ์ฟผ๋ฆฌ์ ๋ฐ๋ผ ์ ์ ํ SubAgent Tool์ ์ ํํ๊ณ ํธ์ถํ๋ Delegation ๊ตฌ์กฐ ์ค๊ณ
- SubAgent ๋ด๋ถ์ ์ผ๋ก ๋ค์ ์ธ๋ถ Tool(search_market_data, estimate_costs ๋ฑ)์ ํ์ฉํ๋ ๊ณ์ธต์ Tool-use ์ํคํ ์ฒ ๊ตฌํ
- Langfuse Callback Handler๋ฅผ ํตํฉํ์ฌ ๋ณต์กํ SubAgent ํธ์ถ ์ฒด์ธ์ ์คํ ๊ฒฝ๋ก๋ฅผ ์ถ์ ํ๊ณ ๋ณ๋ชฉ ์ง์ ์ ์๋ณํ๋ ๊ด์ธก์ฑ ํ๋ณด
์ค์ฒ ํฌ์ธํธ
- ์์ด์ ํธ์ ์ฑ ์ ๋ฒ์๊ฐ ๋์ด์ง ๊ฒฝ์ฐ SubAgents-as-Tools ํจํด์ ํตํ ๊ธฐ๋ฅ ๋ถ๋ฆฌ ๊ฒํ - ๊ฐ SubAgent์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ ํ์ ์ ์๊ฒฉํ ์ ์ํ์ฌ ์ธํฐํ์ด์ค ์ผ๊ด์ฑ ์ ์ง - ๊ณ์ธต์ ํธ์ถ ๊ตฌ์กฐ์์ ๋ฐ์ํ ์ ์๋ ์ง์ฐ ์๊ฐ์ ์ค์ด๊ธฐ ์ํ ๋ชจ๋ธ ์ต์ ํ ๋ฐ ๋ณ๋ ฌ ํธ์ถ ๊ฐ๋ฅ์ฑ ํ์ธ - LLM์ ์ถ๋ก ๊ณผ์ ์ ์ถ์ ํ๊ธฐ ์ํ Langfuse์ ๊ฐ์ Observability ๋๊ตฌ ๋์