๋ณดํ—˜rag (Agent vs LangGraph)

๋ฌธ๊ฑดํฌยท2025๋…„ 5์›” 7์ผ

๐Ÿ— ํ˜„์žฌ ๋ณดํ—˜ RAG ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

๐Ÿ” ๊ตฌ์„ฑ ์š”์•ฝ (๊ธฐ์กด ๋ฐฉ์‹)

  1. ์‚ฌ์šฉ์ž ์งˆ๋ฌธ ์ž…๋ ฅ
  2. Query ๋ฆฌํฌ๋จธ (์ „์ฒ˜๋ฆฌ)
  3. ๋ฒกํ„ฐ DB ๊ฒ€์ƒ‰
  4. Prompt ๊ตฌ์„ฑ
  5. LLM ์‘๋‹ต ์ƒ์„ฑ
  6. Post-processing ํ›„ ์ถœ๋ ฅ

โžก ์ „ํ˜•์ ์ธ **"๋‹จ๋ฐฉํ–ฅ ์ฒด์ด๋‹ ๊ธฐ๋ฐ˜ RAG ๊ตฌ์กฐ"**์ž…๋‹ˆ๋‹ค.
โžก ํ๋ฆ„์€ ๊ณ ์ •๋˜์–ด ์žˆ๊ณ , ๋ชจ๋“  ์ฒ˜๋ฆฌ๋Š” ์ˆœ์ฐจ์ ์ž…๋‹ˆ๋‹ค.


๐Ÿค– 1. Agent ์ ์šฉ ์‹œ ์•„ํ‚คํ…์ฒ˜ ๋ณ€ํ™”

Agent๋ฅผ ์ ์šฉํ•˜๋ฉด LLM์ด "์งˆ๋ฌธ์„ ๋ณด๊ณ  ์Šค์Šค๋กœ ์–ด๋–ค ํˆด์„ ์“ธ์ง€ ๊ฒฐ์ •"ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ” ํ๋ฆ„ ์˜ˆ์‹œ

[์‚ฌ์šฉ์ž ์งˆ๋ฌธ]
   โ†“
[Agent (LLM)]
   โ†ณ ์ด๊ฒŒ FAQ๋ฉด DB์—์„œ ์ง์ ‘ ์‘๋‹ต  
   โ†ณ ์•„๋‹ˆ๋ฉด ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ + ์ƒ์„ฑ  
   โ†ณ ์•„๋‹ˆ๋ฉด ๊ณ„์‚ฐ๊ธฐ, ์™ธ๋ถ€ API ํ˜ธ์ถœ

โœ… ๊ธฐ๋Œ€ ํšจ๊ณผ

  • ์งˆ๋ฌธ์ด ๊ฐ„๋‹จํ•˜๋ฉด ๋น ๋ฅด๊ฒŒ ๋ฐ”๋กœ ์‘๋‹ต
  • ๋ณต์žกํ•˜๋ฉด ๊ฒ€์ƒ‰ โ†’ ์ƒ์„ฑ ๊ตฌ์กฐ๋ฅผ ์„ ํƒ
  • ๋ฉ€ํ‹ฐํˆด ๊ธฐ๋ฐ˜ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ (์˜ˆ: ์•ฝ๊ด€ ์š”์•ฝ + ๋ณดํ—˜๊ธˆ ๊ณ„์‚ฐ)

โš ๏ธ ๋‹จ์ 

  • ํ๋ฆ„์„ ๋‚ด๊ฐ€ ์ œ์–ดํ•  ์ˆ˜ ์—†์Œ (์–ด๋–ค ํˆด์„ ์“ธ์ง€ LLM์ด ํŒ๋‹จ)
  • ๋””๋ฒ„๊น… ์–ด๋ ค์›€: ์™œ ๊ฒ€์ƒ‰ ์•ˆ ํ–ˆ๋Š”์ง€ ๋ชจ๋ฅผ ์ˆ˜ ์žˆ์Œ
  • ์˜ˆ์ธก ๋ถˆ๊ฐ€ํ•œ ํ–‰๋™ ๊ฐ€๋Šฅ์„ฑ ์žˆ์Œ

๐Ÿง  2. LangGraph ์ ์šฉ ์‹œ ์•„ํ‚คํ…์ฒ˜ ๋ณ€ํ™”

LangGraph๋Š” ์œ„ ๊ตฌ์กฐ๋ฅผ ๋…ธ๋“œ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ถ„ํ•ดํ•ฉ๋‹ˆ๋‹ค.
๊ฐ ๋‹จ๊ณ„๋ฅผ ํ•˜๋‚˜์˜ ๋…ธ๋“œ๋กœ ๋งŒ๋“ค๊ณ , **์ƒํƒœ(state)**๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์˜ˆ์‹œ ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ

[์‚ฌ์šฉ์ž ์งˆ๋ฌธ]
   โ†“
[Query Reform ๋…ธ๋“œ]
   โ†“
[๋ฌธ์„œ ๊ฒ€์ƒ‰ ๋…ธ๋“œ]
   โ†“
[LLM ์‘๋‹ต ์ƒ์„ฑ ๋…ธ๋“œ]
   โ†“
[ํ›„์ฒ˜๋ฆฌ ๋…ธ๋“œ]
   โ†“
[์ตœ์ข… ์‘๋‹ต]

โ†’ ์กฐ๊ฑด ๋ถ„๊ธฐ๋„ ๊ฐ€๋Šฅ:

   โ†ณ [์งˆ๋ฌธ ํƒ€์ž… ๋ถ„๋ฅ˜ ๋…ธ๋“œ]
         โ†ณ "๋‹จ๋‹ตํ˜•" โ†’ [๋น ๋ฅธ FAQ ์‘๋‹ต ๋…ธ๋“œ]
         โ†ณ "๋ณต์žกํ•จ" โ†’ [RAG ์‘๋‹ต ๋…ธ๋“œ]

โœ… ๊ธฐ๋Œ€ ํšจ๊ณผ

  • ๊ฐ ๋…ธ๋“œ์˜ ์ฒ˜๋ฆฌ ๊ณผ์ •์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋””๋ฒ„๊น… ๊ฐ€๋Šฅ
  • ์‚ฌ์šฉ์ž ์งˆ๋ฌธ์— ๋”ฐ๋ผ ํ๋ฆ„์„ ๋ถ„๊ธฐํ•˜๊ฑฐ๋‚˜ ๋ฐ˜๋ณต(retry) ๊ฐ€๋Šฅ
  • ๋ณต์žกํ•œ ๋ณดํ—˜ ์—…๋ฌด ๋กœ์ง์„ ๋…ธ๋“œ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•ด์„œ ๋ชจ๋“ˆํ™” ๊ฐ€๋Šฅ

โš–๏ธ Agent vs LangGraph in ๋ณดํ—˜ RAG

ํ•ญ๋ชฉAgent ์ ์šฉ ์‹œLangGraph ์ ์šฉ ์‹œ
ํ๋ฆ„ ์ œ์–ดLLM์ด ํŒ๋‹จ๋‚ด๊ฐ€ ์„ค๊ณ„
์˜ˆ์™ธ ์ฒ˜๋ฆฌ์–ด๋ ค์›€์กฐ๊ฑด ๋ถ„๊ธฐ ๊ฐ€๋Šฅ
๋””๋ฒ„๊น…๋งค์šฐ ์–ด๋ ค์›€๋…ธ๋“œ๋ณ„ ๋กœ๊ทธ ๊ฐ€๋Šฅ
ํ™•์žฅ์„ฑํˆด ์ถ”๊ฐ€๋Š” ์‰ฌ์›€, ํ๋ฆ„ ์ œ์–ด๋Š” ์–ด๋ ค์›€ํ๋ฆ„/์กฐ๊ฑด/๋ฐ˜๋ณต ์ถ”๊ฐ€ ์‰ฌ์›€
์˜ˆ์‹œ ์‚ฌ์šฉ์ฒ˜ํˆด๋ด‡/FAQ๋ณดํ—˜๊ธˆ ์‚ฐ์ •, ๊ณ„์•ฝ ์กฐ๊ฑด ๋ถ„์„ ๋“ฑ ๋ณตํ•ฉ ์ฒ˜๋ฆฌ

โœจ ๋งˆ๋ฌด๋ฆฌ: ๋ณดํ—˜ RAG์— LangGraph๊ฐ€ ์œ ๋ฆฌํ•œ ์ด์œ 

๋ณดํ—˜ ๋„๋ฉ”์ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • โœ… ์—…๋ฌด ์ ˆ์ฐจ๊ฐ€ ์ •ํ˜•ํ™”๋˜์–ด ์žˆ์Œ
  • โœ… ๋‹จ๊ณ„๋ณ„ ์ฒ˜๋ฆฌ ๋กœ์ง์ด ๋ช…ํ™•ํžˆ ๋‚˜๋‰จ
  • โœ… ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ํ•„์š”
  • โœ… ๊ฒ€์ฆ, ๊ฐ์‚ฌ, ์ถ”์ ์„ฑ์ด ์ค‘์š”ํ•จ

โžก ์ด๋Ÿฐ ๊ตฌ์กฐ์—์„  LangGraph์˜ ์ƒํƒœ ๊ธฐ๋ฐ˜, ๋…ธ๋“œ ๋ถ„๋ฆฌ ๊ตฌ์กฐ๊ฐ€ ํ›จ์”ฌ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.


0๊ฐœ์˜ ๋Œ“๊ธ€