ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
๐Ÿš€I Built a Multi-Agent AI Debate Arena with LangGraph and Groq๐Ÿš€
Dev.toDev.to
AI/ML

LangGraph์™€ Groq ๊ธฐ๋ฐ˜์˜ Multi-Agent State Machine ์„ค๊ณ„

๐Ÿš€I Built a Multi-Agent AI Debate Arena with LangGraph and Groq๐Ÿš€

Sripadh Sujith2026๋…„ 4์›” 30์ผ3๋ถ„intermediate

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) ์ ์šฉ

์›๋ฌธ ์ฝ๊ธฐ