ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toAI/ML
์๋ฌธ ์ฝ๊ธฐ
LangGraph์ Groq ๊ธฐ๋ฐ์ Multi-Agent State Machine ์ค๊ณ
๐I Built a Multi-Agent AI Debate Arena with LangGraph and Groq๐
AI ์์ฝ
Context
๋จ์ผ LLM์ ๊ท ํ ์กํ ๋ต๋ณ ์์ฑ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ๋ค๊ฐ๋ ๊ด์ ์ ๋ ผ์ ๊ตฌ์กฐ ํ์์ฑ ๋๋. ์ ํด์ง ์์์ ์ญํ ์ ๋ฐ๋ผ ์ํธ์์ฉํ๋ ๊ตฌ์กฐ์ ํ ๋ก ์์คํ ์ค๊ณ ์๊ตฌ.
Technical Solution
- LangGraph ๊ธฐ๋ฐ์ State Machine์ ๋์ ํ์ฌ Moderator, Pro, Con, Judge๋ก ๊ตฌ์ฑ๋ ์์ด์ ํธ ์ค์ผ์คํธ๋ ์ด์ ๊ตฌํ
- Shared State dict๋ฅผ ํตํด ๋ชจ๋ ์์ด์ ํธ๊ฐ ๋์ผํ ํ ๋ก ์ด๋ ฅ์ ๊ณต์ ํ๊ณ ๋งฅ๋ฝ์ ์ ์งํ๋ ๋ฐ์ดํฐ ์ผ๊ด์ฑ ํ๋ณด
- Conditional Edges๋ฅผ ํตํ ๋ผ์ฐํ ํจ์ ์ค๊ณ๋ก ์์ด์ ํธ ๊ฐ์ ์ ์ฐํ ์ ์ด ํ๋ฆ ๋ฐ ์ํ ์ ์ด ์ ์ด
- Llama-3.1-8b-instant ๋ชจ๋ธ๊ณผ Groq ์ถ๋ก ์์ง์ ๊ฒฐํฉํ์ฌ ๋ค์ ์์ด์ ํธ ํธ์ถ ์ ๋ฐ์ํ๋ ์ง์ฐ ์๊ฐ ์ต์ํ
- Prompt Engineering์ ํตํด ๋ฐ๋ณต ๋ฐฉ์ง ๋ฐ ์ด์ ๋ ผ๊ฑฐ ๋ฐ๋ฐ ๋ก์ง์ ๊ฐ์ ํ์ฌ ์ถ๋ ฅ๋ฌผ์ ํ์ง ๋ฐ ๋ ผ๋ฆฌ์ ๋ฐ๋ ํฅ์
์ค์ฒ ํฌ์ธํธ
1. ๋ณต์กํ ์์ด์ ํธ ์ํฌํ๋ก์ฐ ์ค๊ณ ์ State dict๋ฅผ ํตํ ์ค์ ์ง์คํ ์ํ ๊ด๋ฆฌ ๊ฒํ
2. ์กฐ๊ฑด๋ถ ์ฃ์ง(Conditional Edges)๋ฅผ ํ์ฉํ ๋์ ๋ผ์ฐํ ๋ก์ง ์ ์ฉ
3. Multi-Agent ์์คํ ์ ์ถ๋ก ์ง์ฐ ํด๊ฒฐ์ ์ํ Groq์ ๊ฐ์ ๊ณ ์ ์ถ๋ก ์์ง ๋์ ๊ณ ๋ ค
4. ์ญํ ๋ณ ๋ ๋ฆฝ์ ์ธ Prompt Template ๋ถ๋ฆฌ๋ฅผ ํตํ ๊ด์ฌ์ฌ ๋ถ๋ฆฌ(Separation of Concerns) ์ ์ฉ