Sehyeog Kim
← Back to Agentic_AI_Theory

Contents

  • Frontend framework: ์‚ฌ์šฉ์ž๊ฐ€ ๋Œ€ํ™”/์ž‘์—…์„ ์š”์ฒญํ•˜๋Š” UI (part1)
  • Agent development framework: ์—์ด์ „ํŠธ ๋กœ์ง(๋ฃจํ”„, ์ƒํƒœ, ๋„๊ตฌ ์—ฐ๊ฒฐ)์„ ๋งŒ๋“œ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ (part1)
  • Agent memory: ๋Œ€ํ™”/์„ธ์…˜ ์ƒํƒœ์™€ ์žฅ๊ธฐ ๊ธฐ์–ต ์ €์žฅ (part1)
  • Agent tools: ๊ฒ€์ƒ‰, DB, ์‚ฌ๋‚ด API ๋“ฑ โ€œํ–‰๋™โ€์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„๊ตฌ ๋ฌถ์Œ (part1)
  • Agent design patterns: ์‹ฑ๊ธ€ ์—์ด์ „ํŠธ vs ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ๋“ฑ ๊ตฌ์กฐ ํŒจํ„ด (part3)
  • Agent runtime: ์—์ด์ „ํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹ค์ œ๋กœ ๋Œ์•„๊ฐ€๋Š” ์‹คํ–‰ ํ™˜๊ฒฝ (part3)
  • AI models: ์ถ”๋ก /์˜์‚ฌ๊ฒฐ์ • ์—”์ง„(part 3)
  • Model runtime: ๋ชจ๋ธ์„ ์„œ๋น™ํ•˜๋Š” ์ธํ”„๋ผ(๊ด€๋ฆฌํ˜• API/์ปจํ…Œ์ด๋„ˆ/GKE ๋“ฑ) (part 3)

Introduction

๐ŸŽ Agentic AI - design patterns
Agentic AI๋ฅผ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •๋ฆฌํ•˜๋ฉด,ย ์‚ฌ์šฉ์ž ์˜๋„๋ฅผ ์ดํ•ดํ•˜๊ณ  โ†’ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„ ๊ณ„ํš์„ ์„ธ์šฐ๊ณ  โ†’ ๋„๊ตฌ๋ฅผ ํ˜ธ์ถœํ•ด ์‹คํ–‰๊นŒ์ง€ ๋๋‚ด๋Š”ย ์ž์œจ ์‹œ์Šคํ…œ์ด๋‹ค. ๋‹จ์ˆœํžˆ โ€œ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋ธโ€์ด ์•„๋‹ˆ๋ผ,ย ๊ณ„ํš(Planning)ย ๊ณผย ๋„๊ตฌ(Tools)ย ๋ฅผ ํ†ตํ•ด ์‹ค์ œ ์—…๋ฌด๋ฅผ ์™„๋ฃŒํ•˜๋„๋ก ์„ค๊ณ„๋œ ์•„ํ‚คํ…์ฒ˜์ธ ๊ฒƒ์ด๋‹ค.

์‚ฌ์šฉ์ž์˜ ๋ชฉ์ ์— ๋”ฐ๋ผ์„œ, ์ž์‹ ์˜ ๋ฌธ์ œ๋ฅผ ํ’€ ์ตœ๋Œ€ํ•œ ํšจ์œจ์ ์ธ agent framework๋ฅผ ๊ตฌ์ถ•ํ•˜๋ฉด ๋˜๋Š” ๊ฒƒ์ด๊ณ , ํ›„๋ณด๊ตฐ์œผ๋กœ๋Š” ๋‹ค์–‘ํ•œ framework๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์–ด๋– ํ•œ framework๋“ค์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ google์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ญ‰ ์ •๋ฆฌํ•ด๋ณด์ž.
Choose a design pattern for your agentic AI system ย |ย  Cloud Architecture Center ย |ย  Google Cloud Documentation

Single - agent system


๐ŸŽ Agentic AI - design patterns
Single-Agent System(๋‹จ์ผ ์—์ด์ „ํŠธ ์‹œ์Šคํ…œ)์€ ํ•˜๋‚˜์˜ AI ์—์ด์ „ํŠธ๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์ดํ•ดํ•˜๊ณ , ํ•„์š”ํ•œ ๊ณ„ํš์„ ์„ธ์šด ๋’ค, ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์—์ด์ „ํŠธ ๊ตฌ์กฐ์ด๋‹ค.
๋ณต์žกํ•œ ํ˜‘์—…์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ค‘๊ฐ„ ์ˆ˜์ค€์˜ ์›Œํฌํ”Œ๋กœ์šฐ์— ์ ํ•ฉํ•˜๋ฉฐ, ๊ตฌ์กฐ๊ฐ€ ๋‹จ์ˆœํ•ด ๊ตฌํ˜„๊ณผ ๋””๋ฒ„๊น…์ด ๋น„๊ต์  ์‰ฝ๋‹ค. ๋˜ํ•œ ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ์‹œ์Šคํ…œ์— ๋น„ํ•ด ์šด์˜ ๋น„์šฉ๊ณผ ๊ด€๋ฆฌ ๋ถ€๋‹ด์ด ๋‚ฎ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Multi-agent sysetms


ํ•˜์ง€๋งŒ, ์‹ค์ œ ํ•ด๊ฒฐํ•ด์•ผํ•  ๋ฌธ์ œ๊ฐ€ ๋ณต์žกํ•ด์ง€๋ฉด ์šฐ๋ฆฌ ์ธ๊ฐ„์ด ํšŒ์‚ฌ๋ฅผ ๋งŒ๋“  ๊ฒƒ๊ณผ ๋™์ผํ•˜๊ฒŒ. ์•„๋ž˜์˜ ์‚ฌ์ง„ ์ฒ˜๋Ÿผ multi - agent ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ• ํ•  ์ˆ˜ ์žˆ๋‹ค.
๐ŸŽ Agentic AI - design patterns

๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ๋Š” ๋‹ค์–‘ํ•œ ๊ตฌ์กฐ๋กœ ์„ค๊ณ„๊ฐ€๋Šฅํ•˜๊ณ , ์—ฌ๋Ÿฌ ๋Œ€ํ‘œ์ ์ธ ๊ตฌ์กฐ๋“ค์„ ์‚ดํŽด๋ณด์ž.

Sequential pattern

๐ŸŽ Agentic AI - design patterns
๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์œผ๋กœ, ์—ฐ์ด์–ด ์—ฌ๋Ÿฌ step์œผ๋กœ ์ž‘์—…ํ•˜๋Š” process์˜ ๊ฒฝ์šฐ, ์—ฐ์†์  ํŒจํ„ด agent๊ฐ€ ์ ํ•ฉํ•˜๋‹ค. ์˜ˆ์‹œ๋กœ ๋‚ด๊ฐ€ ์ง„ํ–‰ํ•˜๋Š” CAD opeartion โ†’ Meshing โ†’ Fluid simulation โ†’ solid simulation โ†’ Sensitivity analysis์˜ ๊ฒฝ์šฐ ์ฆ‰ ๋ฐ˜๋ณต์ ์ธ seqeuntial pattern์— ์ ํ•ฉํ•˜๋‹ค.

Parallel pattern

๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…๋“ค์„ ์ง„ํ–‰ํ•˜๊ณ  ์‹ถ์„๋•Œ, ์ ํ•ฉํ•œ ๋ณ‘๋ ฌ ๋ฐฉ์‹์ด๋‹ค. ๊ฐ™์€ task๋ฅผ ์ฃผ์–ด์„œ ๋‹ค๋ฅธ ๋ชจ๋ธ๋“ค์„ ๋น„๊ตํ• ์ˆ˜ ๋„ ์žˆ๊ณ , ์„œ๋กœ ๋…๋ฆฝ์ ์ธ ์ผ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋ฉด ์†๋„๊ฐ€ ๊ต‰์žฅํžˆ ๋น ๋ฅด๋‹ค.
๐ŸŽ Agentic AI - design patterns

์˜ˆ๋ฅผ ๋“ค์–ด์„œ, ์‚ฌ์šฉ์ž๊ฐ€ โ€œํ…Œ์Šฌ๋ผ ์ตœ๊ทผ ํˆฌ์ž ๋ฆฌ์Šคํฌ ๋ถ„์„ํ•ด์ค˜โ€๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉด,
- Agent 1 โ†’ ์ตœ๊ทผ ๋‰ด์Šค ์ˆ˜์ง‘
- Agent 2 โ†’ ์žฌ๋ฌด์ œํ‘œ ๋ถ„์„
- Agent 3 โ†’ ๊ฒฝ์Ÿ์‚ฌ ๋น„๊ต
- Agent 4 โ†’ ์‹œ์žฅ ๊ฑฐ์‹œ๊ฒฝ์ œ ์ง€ํ‘œ ๋ถ„์„
์ด ๋„ค ๊ฐœ๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋˜๊ณ , ๋งˆ์ง€๋ง‰์— ํ•˜๋‚˜์˜ ์š”์•ฝ ์—์ด์ „ํŠธ๊ฐ€ ๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ฉํ•œ๋‹ค.
์ด ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋กœ parallel ํŒจํ„ด์ด๋‹ค

Review and critique pattern

๐ŸŽ Agentic AI - design patterns
Review and Critique ํŒจํ„ด์€ ์ƒ์„ฑ(Generator) ์—์ด์ „ํŠธ์™€ ๊ฒ€ํ† (Critic) ์—์ด์ „ํŠธ๋ฅผ ๋ถ„๋ฆฌํ•ด์„œ, ๊ฒฐ๊ณผ๋ฌผ์˜ ํ’ˆ์งˆ์„ ๋†’์ด๋Š” ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ์„ค๊ณ„ ๋ฐฉ์‹์ด๋‹ค. ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” โ€œ๋งŒ๋“ค๊ณ  โ†’ ๊ฒ€ํ† ํ•˜๊ณ  โ†’ ํ•„์š”ํ•˜๋ฉด ์ˆ˜์ •ํ•œ๋‹คโ€๋ผ๋Š” ๋ฐ˜๋ณต ํ๋ฆ„์ด๋‹ค. ์ด ํŒจํ„ด์€ Loop ํŒจํ„ด์˜ ํ•œ ๊ตฌํ˜„ ํ˜•ํƒœ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด,์‚ฌ์šฉ์ž๊ฐ€ โ€œ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ฝ”๋“œ ์ž‘์„ฑํ•ด์ค˜โ€๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉด:
- Generator โ†’ ์ฝ”๋“œ ์ž‘์„ฑ
- Critic โ†’ ๋ณด์•ˆ ์ทจ์•ฝ์  ๊ฒ€์‚ฌ (SQL injection, ์ธ์ฆ ๋ˆ„๋ฝ ๋“ฑ)
- ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ์ˆ˜์ • ์š”์ฒญ
- ์•ˆ์ „ ๊ธฐ์ค€ ํ†ต๊ณผ ํ›„ ์ตœ์ข… ์Šน์ธ

Iterative refinement pattern

๐ŸŽ Agentic AI - design patterns
Review and critique pattern์™€ ๋น„์Šทํ•˜์ง€๋งŒ, quality evaulator๋ฅผ ํ†ตํ•ด์„œ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด, prompt์ž์ฒด๋ฅผ ์ˆ˜์ •ํ•ด๋ฒ„๋ฆฐ๋‹ค๋Š” ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. ์ฆ‰ prompt๋ฅผ ๊ณ„์†ํ•ด์„œ ๊ฐœ์„ ํ•ด์•ผ์ง€ ํ€„๋ฆฌํ‹ฐ๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋Š” ์ž‘์—…์ด๋‹ค. (์ด์™€ ๋ฐ˜๋Œ€๋กœ review pattern์€ ๊ฐ™์€ prompt์—์„œ ๋‹ค๋ฅธ ์•ก์…˜์„ ์ทจํ•ด ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ์ค€์น˜๋ณด๋‹ค ์˜ฌ๋ฆฌ๋Š” ์ž‘์—…)
์˜ˆ๋ฅผ ๋“ค์–ด, โ€œAI ๊ธฐ๋ฐ˜ ์Šคํƒ€ํŠธ์—… ์‚ฌ์—…๊ณ„ํš์„œ ์ž‘์„ฑํ•ด์ค˜โ€๋ผ๋Š” ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด:
- 1์ฐจ ์ดˆ์•ˆ ์ž‘์„ฑ
- ๋…ผ๋ฆฌ ๊ตฌ์กฐ ๊ฐœ์„ 
- ์‹œ์žฅ ๋ถ„์„ ์ถ”๊ฐ€
- ์žฌ๋ฌด ๋ชจ๋ธ ๊ตฌ์ฒดํ™”
- ํ‘œํ˜„ ๋‹ค๋“ฌ๊ธฐ
์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ์ ์  ์™„์„ฑ๋„๋ฅผ ๋†’์ธ๋‹ค.

Coordinate pattern

๐ŸŽ Agentic AI - design patterns
์ด๋ฒˆ์—๋„ parallel pattern๊ณผ ๊ต‰์žฅํžˆ ๋น„์Šทํ•˜๊ฒŒ ์ƒ๊ฒผ์ง€๋งŒ, dynamically routes request๋ผ๋Š” ์ฐจ์ด์ ์ด ์กด์žฌํ•œ๋‹ค. ์ฆ‰, Coordinator ํŒจํ„ด์€ AI ๋ชจ๋ธ์ด ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์„ ํ•œ๋‹ค. ๋ผ๋Š” ์ ์ด ๊ฐ•๋ ฅํ•œ ์ฐจ์ด์ ์ด๋‹ค.
๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด๋ฉด, ์ค‘์•™ coordinator agent๊ฐ€ ์กด์žฌํ•˜์—ฌ, ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๋ถ„์„ ํ›„, ์–ด๋–ค ์ „๋ฌธ agent๋ฅผ ํ˜ธ์ถœํ• ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค. ์ดํ›„ ์‹ค์‹œ๊ฐ„ ์ƒํ™ฉ, ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ผ๋ถ€๋งŒ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋กœ ๋ถ„๊ธฐ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ์‹œ: ๊ณ ๊ฐ ์„œ๋น„์Šค ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ์ž ์š”์ฒญ์ด:
- โ€œ๋ฐฐ์†ก ์–ธ์ œ ์™€?โ€ โ†’ ์ฃผ๋ฌธ ์กฐํšŒ agent ํ˜ธ์ถœ
- โ€œํ™˜๋ถˆํ•˜๊ณ  ์‹ถ์–ดโ€ โ†’ ํ™˜๋ถˆ ์ฒ˜๋ฆฌ agent ํ˜ธ์ถœ
- โ€œ์ œํ’ˆ ๊ณ ์žฅ๋‚ฌ์–ดโ€ โ†’ ๊ธฐ์ˆ  ์ง€์› agent ํ˜ธ์ถœ
์ด๊ฑด ํ•ญ์ƒ ๋™์ผํ•˜๊ฒŒ ๋ณ‘๋ ฌ ์‹คํ–‰ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ
์š”์ฒญ ๋‚ด์šฉ์— ๋”ฐ๋ผ ๋ผ์šฐํŒ…์ด ๋‹ฌ๋ผ์ง„๋‹ค.
์ฆ‰,

Coordinator = โ€œ์ง€ํœ˜๊ด€์ด ์ƒํ™ฉ ๋ณด๊ณ  ์ ์ ˆํ•œ ๋ถ€๋Œ€๋งŒ ํˆฌ์ž…โ€

Hierarchical task decomposition pattern

๐ŸŽ Agentic AI - design patterns
Coordinate pattern์—์„œ ํ•œ๋‹จ๊ณ„ ๋” ๋‚˜์•„๊ฐ€์„œ, ๊ณ„์ธต๊ตฌ์กฐ์ธ subsubagent ๊นŒ์ง€ ์ œ์ž‘์„ ํ•  ์ˆ˜ ๊ฐ€ ์žˆ๋‹ค. ์œ„์˜ coordinator์™€ ๋น„๊ตํ•ด๋ณด์ž.

๊ตฌ๋ถ„ Coordinator Hierarchical Decomposition
๊ตฌ์กฐ 1๋‹จ๊ณ„ ๋ผ์šฐํŒ… ๋‹ค๋‹จ๊ณ„ ํŠธ๋ฆฌ ๊ตฌ์กฐ
๋ณต์žก์„ฑ ์ค‘๊ฐ„ ๋งค์šฐ ๋†’์Œ
๊ณ„ํš ๊นŠ์ด ์–•์Œ ๊นŠ์Œ (multi-layer planning)
์ ํ•ฉํ•œ ๋ฌธ์ œ ๊ตฌ์กฐํ™”๋œ ์—…๋ฌด ๋ชจํ˜ธํ•˜๊ณ  ๋ณต์žกํ•œ ๋ฌธ์ œ

๋ฌธ์„œ์—์„œ ์„ค๋ช…ํ•˜๊ธฐ๋ฅผ ๊ต‰์žฅํžˆ ๋ชจํ˜ธํ•˜๊ณ , ๋‚œ์ด๋„๊ฐ€ ๋†’์€ ๋ฌธ์ œ์— ์ ํ•ฉํ•˜๊ณ , ์ด๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋“ค๋กœ ์ชผ๊ฐœ์–ด์„œ ํ•ด๊ฒฐํ•œ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€:

โ€œAI ๊ธฐ๋ฐ˜ ์‹ ์•ฝ ๊ฐœ๋ฐœ ์ „๋žต ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•ด์ค˜โ€
๋ผ๊ณ  ์š”์ฒญํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.
Root Agent๋Š” ์ด๊ฑธ ๋ฐ”๋กœ ์ž‘์„ฑํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹ :
1. ์—ฐ๊ตฌ ๋ฐฐ๊ฒฝ ์กฐ์‚ฌ
2. ๊ธฐ์กด ๊ธฐ์ˆ  ๋ถ„์„
3. ์‹œ์žฅ ๋ถ„์„
4. ๋ฆฌ์Šคํฌ ํ‰๊ฐ€
5. ์ „๋žต ์ข…ํ•ฉ
์œผ๋กœ ๋ถ„ํ•ดํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ 
- ์ •๋ณด ์ˆ˜์ง‘ agent
- ๋ฐ์ดํ„ฐ ๋ถ„์„ agent
- ๋ณด๊ณ ์„œ ์ž‘์„ฑ agent
๋“ฑ์œผ๋กœ ๋‹ค์‹œ ๋‚˜๋ˆ„์–ด ์ž‘์—…์„ ์œ„์ž„ํ•œ๋‹ค.
์ด๊ฒŒ ๋ฐ”๋กœ ๊ณ„์ธต์  ๋ถ„ํ•ด๋‹ค.

Swarm pattern


๐ŸŽ Agentic AI - design patterns
Swarm ํŒจํ„ด์€ ์—ฌ๋Ÿฌ ์ „๋ฌธ ์—์ด์ „ํŠธ๊ฐ€ ์ˆ˜ํ‰์ ์œผ๋กœ(all-to-all) ํ˜‘์—…ํ•˜๋ฉด์„œ ํ•˜๋‚˜์˜ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฐœ์„ ํ•ด ๋‚˜๊ฐ€๋Š” ๊ตฌ์กฐ๋‹ค. ๊ณ„์ธต์  ๊ตฌ์กฐ(Hierarchical)์ฒ˜๋Ÿผ ์œ„์—์„œ ์•„๋ž˜๋กœ ๋ช…๋ น์ด ๋‚ด๋ ค๊ฐ€๋Š” ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ผ, ์—์ด์ „ํŠธ๋“ค์ด ์„œ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ ์ง‘๋‹จ ์ง€์„ฑ์„ ํ˜•์„ฑํ•˜๋Š” ๋ชจ๋ธ์— ๊ฐ€๊น๋‹ค.
๋‹ค์Œ ๋‘๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ์—์ด์ „ํŠธ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
- Dispatcher Agent
- ์‚ฌ์šฉ์ž ์š”์ฒญ์„ ํ•ด์„
- ์–ด๋–ค ์—์ด์ „ํŠธ๊ฐ€ ๋จผ์ € ์‹œ์ž‘ํ• ์ง€ ๊ฒฐ์ •
- Swarm Agents (์ „๋ฌธ ์—์ด์ „ํŠธ ๊ทธ๋ฃน)
- ์„œ๋กœ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ฐธ๊ณ 
- ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ๊ณ ๋ฐ›์œผ๋ฉฐ ์ ์ง„์ ์œผ๋กœ ๊ฐœ์„ 
- ์ค‘์•™ ํ†ต์ œ๋ณด๋‹ค๋Š” ํ˜‘์—… ์ค‘์‹ฌ
์ฆ‰, ํ•˜๋‚˜๊ฐ€ ๊ณ„ํš โ†’ ํ•˜๋‚˜๊ฐ€ ์‹คํ–‰ โ†’ ๋์ด ์•„๋‹ˆ๋ผ, ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๊ฐ€ ๋™์‹œ์— ์ƒ๊ฐํ•˜๊ณ , ์ˆ˜์ •ํ•˜๊ณ , ๋ณด์™„ํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค.
๋”ฐ๋ผ์„œ, ๋‹ค์–‘ํ•œ ๊ด€์ ๊ณผ ๋ฐ˜๋ณต์  ํ† ๋ก ์ด ํ•„์š”ํ• ๋•Œ ์š”๊ตฌ๋˜๋Š” ๋ชจ๋ธ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด์„œ, โ€œAI ๊ธฐ๋ฐ˜ ๋ฏธ๋ž˜ ํ—ฌ์Šค์ผ€์–ด ํ”Œ๋žซํผ ์ „๋žต์„ ์„ค๊ณ„ํ•ด์ค˜โ€๋ผ๋Š” ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด:
- ๊ธฐ์ˆ  ์ „๋žต ์—์ด์ „ํŠธ
- ์‹œ์žฅ ๋ถ„์„ ์—์ด์ „ํŠธ
- ๊ทœ์ œ ๋ฆฌ์Šคํฌ ์—์ด์ „ํŠธ
- ์žฌ๋ฌด ๋ชจ๋ธ๋ง ์—์ด์ „ํŠธ
์ด ๋„ค ๊ฐœ๊ฐ€ ์„œ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ
- ์•„์ด๋””์–ด ์ œ์•ˆ
- ๋ฆฌ์Šคํฌ ๋ฐ˜๋ฐ•
- ๋ณด์™„ ์ œ์•ˆ
- ๋Œ€์•ˆ ๋น„๊ต
๋ฅผ ๋ฐ˜๋ณตํ•œ๋‹ค.
์ด ๊ณผ์ •์€ ๋งˆ์น˜ ์ „๋ฌธ๊ฐ€ ์ง‘๋‹จ์ด ํšŒ์˜์—์„œ ํ† ๋ก ํ•˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜๋‹ค.

Reason and act (ReAct) pattern

๐ŸŽ Agentic AI - design patterns
์‚ฌ์‹ค, ์ธ๊ฐ„์ด ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ• ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ๋ฐฉ์‹์ด๋‹ค.
1. ํ˜„์žฌ ์ƒํ™ฉ์—์„œ think โ†’ ์ ์ ˆํ•œ ๋„๊ตฌ ํƒ์ƒ‰
2. ๋„๊ตฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์‹คํ–‰
3. ๊ฒฐ๊ณผ๋ฅผ ๊ด€์ฐฐํ•˜์—ฌ ์ €์žฅํ•œ ํ›„์— ๋‹ค์‹œ ๋„๊ตฌ๋ฅผ ์„ ํƒ or exit

๋ฌธ์„œ์—์„œ๋Š” ๋‹ค์Œ ์กฐ๊ฑด์ผ๋•Œ, loop exit์„ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.
โ€œThe iterative loop terminates when the agent finds a conclusive answer, reaches a preset maximum number of iterations, or encounters an error that prevents it from continuingโ€

์‚ฌ์šฉ์ž ์š”์ฒญ: โ€œ์—”๋น„๋””์•„ ์ตœ๊ทผ ์ฃผ๊ฐ€ ํ•˜๋ฝ ์›์ธ ๋ถ„์„ํ•ด์ค˜โ€

1. Think

  • ์ตœ๊ทผ ๋‰ด์Šค ํ™•์ธ ํ•„์š”, ์‹ค์  ๋ฐœํ‘œ ์—ฌ๋ถ€ ํ™•์ธ, ๊ฑฐ์‹œ๊ฒฝ์ œ ์š”์ธ ํ™•์ธ

2. Action

โ†’ ๋‰ด์Šค API ํ˜ธ์ถœ

3. Observation

- โ€œAI ๋ฐ˜๋„์ฒด ์ˆ˜์š” ๋‘”ํ™” ์šฐ๋ ค ๊ธฐ์‚ฌ ๋ฐœ๊ฒฌโ€, โ€œ๋ฏธ ์—ฐ์ค€ ๊ธˆ๋ฆฌ ๋ฐœ์–ธ ์˜ํ–ฅ ๊ธฐ์‚ฌ ๋ฐœ๊ฒฌโ€

4. Thought (2๋ฒˆ์งธ ๋ฃจํ”„)

  • ์‹ค์  ๋ฐ์ดํ„ฐ ํ™•์ธ ํ•„์š”, ์ตœ๊ทผ ๋ถ„๊ธฐ ๊ฐ€์ด๋˜์Šค ์ฒดํฌ ํ•„์š”

5. Action

โ†’ ์žฌ๋ฌด ๋ฐ์ดํ„ฐ API ํ˜ธ์ถœ

6. Observation

- ๋งค์ถœ ๊ฐ€์ด๋˜์Šค ํ•˜ํ–ฅ ์กฐ์ • ํ™•์ธ

7. Thought (๋งˆ์ง€๋ง‰)

  • ์ถฉ๋ถ„ํ•œ ์ •๋ณด ํ™•๋ณด, ์ตœ์ข… ๋ถ„์„ ์ž‘์„ฑ

8. Action

โ†’ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ตœ์ข… ๋ถ„์„ ์ „๋‹ฌ

ํ•œ ๋ฒˆ์— ๊ณ„ํš์„ ๋๋‚ด์ง€ ์•Š๊ณ , ๊ด€์ฐฐ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๊ณ„์† ๊ณ„ํš์„ ์ˆ˜์ •ํ•œ๋‹ค.

Human in the loop pattern

๐ŸŽ Agentic AI - design patterns

๊ทธ๋ƒฅ ๋‹จ์ˆœํ•˜๊ฒŒ, loop battern์ด์ง€๋งŒ, ํ‰๊ฐ€๋ฅผ ์ธ๊ฐ„์ด ํ•˜๊ณ  ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•˜๋ฉด, ์ธ๊ฐ„์˜ feedback์„ ๊ฐ€์ง€๊ณ  ๋‹ค์‹œ loop๋กœ ๋Œ์•„๊ฐ€๋Š” ๋ฐฉ์‹์ด๋‹ค.
์˜ˆ๋ฅผ๋“ค์–ด์„œ, CAD operation ์ดํ›„์— mesh๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž. ๋ฉ”์‰ฌ ํŠน์„ฑ์ƒ ์ง์ ‘ ์ธ๊ฐ„์ด UI๋กœ ๋ณด๊ณ  ํ™•์ธํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์‹ค์ œ๋กœ ์‚ดํŽด๋ณธํ›„, refinement๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ํ”ผ๋“œ๋ฐฑ๊ณผํ•จ๊ป˜ ๋Œ๋ ค๋ณด๋‚ด์„œ ๋‹ค์‹œ mesh๋ฅผ agent๊ฐ€ ์ƒ์„ฑํ•˜๋„๋ก ๋งŒ๋“ ๋‹ค.
๊ฒฐ๊ตญ ์‚ฌ๋žŒ์˜ ํŒ๋‹จ์ด ๋“ค์–ด๊ฐ„๋‹ค๋Š” ์ ์—์„œ ์˜ˆ๋ฅผ๋“ค์–ด, ์˜๋ฃŒ๋ถ„์•ผ์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

Custom logic pattern

๊ฒฐ๊ตญ ์ตœ์ข…์ ์œผ๋กœ ์ง€๊ธˆ๊นŒ์ง€ pattern ์ž์ฒด๋ฅผ ์‚ฌ์šฉ์ž์˜ ๋‹ˆ์ฆˆ์— ๋งž๊ฒŒ ์กฐํ•ฉํ•˜์—ฌ ๋‹ค์Œ์˜ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.์—ฌ๊ธฐ์„œ ๋ฌด์—‡๋ณด๋‹ค ํ•ต์‹ฌ์€ ์กฐ๊ฑด๋ฌธ ์ž์ฒด๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ๋“  ์ฝ”๋“œ๋ผ๋˜์ง€, ์–ด๋–ค ์ด์šฉ์ž ๋งž์ถค ์กฐ๊ฑด์œผ๋กœ ์„ค์ •์„ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.
๐ŸŽ Agentic AI - design patterns

e.g) ๊ณ ๊ฐ ํ™˜๋ถˆ ์—์ด์ „ํŠธ ์˜ˆ์‹œ ์›Œํฌํ”Œ๋กœ์šฐ

  1. ์‚ฌ์šฉ์ž๊ฐ€ ๊ณ ๊ฐ ํ™˜๋ถˆ ์—์ด์ „ํŠธ์—๊ฒŒ ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค. (๊ณ ๊ฐ์ด ์ง€๊ธˆ ํ™˜๋ถˆ ๋Œ€์ƒ์ธ์ง€ ํŒ๋ณ„)
  2. ์ฝ”๋””๋„ค์ดํ„ฐ์˜ ์ปค์Šคํ…€ ๋กœ์ง์€ ๋จผ์ € ๋ณ‘๋ ฌ ๊ฒ€์ฆ ์—์ด์ „ํŠธ(parallel verifier agent)๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. (subagent ๋™์‹œ ์‹คํ–‰)
    • ๊ตฌ๋งค์ž ๊ฒ€์ฆ ์—์ด์ „ํŠธ (purchaser verifier agent)
    • ํ™˜๋ถˆ ์ž๊ฒฉ ๊ฒ€์ฆ ์—์ด์ „ํŠธ (refund eligibility agent)
  3. ๋‘ ์—์ด์ „ํŠธ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ˆ˜์ง‘๋˜๋ฉด, ์ฝ”๋””๋„ค์ดํ„ฐ ์—์ด์ „ํŠธ๋Š” ๋„๊ตฌ(tool)๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ•ด๋‹น ์š”์ฒญ์ด ํ™˜๋ถˆ ๋Œ€์ƒ์— ํ•ด๋‹นํ•˜๋Š”์ง€ ์ตœ์ข…์ ์œผ๋กœ ํ™•์ธํ•œ๋‹ค.
  4. ์‚ฌ์šฉ์ž๊ฐ€ ํ™˜๋ถˆ ์ž๊ฒฉ์ด ์žˆ๋Š” ๊ฒฝ์šฐ(yes)
    ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ์ž‘์—…์„ ํ™˜๋ถˆ ์ฒ˜๋ฆฌ ์—์ด์ „ํŠธ(refund processor agent)๋กœ ๋ผ์šฐํŒ…ํ•˜๋ฉฐ,
    ์ด ์—์ด์ „ํŠธ๋Š” process_refund ๋„๊ตฌ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ™˜๋ถˆ์„ ์ง„ํ–‰ํ•œ๋‹ค.
  5. ์‚ฌ์šฉ์ž๊ฐ€ ํ™˜๋ถˆ ์ž๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ(no)
    ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ๋ณ„๋„์˜ ์ˆœ์ฐจ์ (sequential) ํ๋ฆ„์œผ๋กœ ์ž‘์—…์„ ๋ผ์šฐํŒ…ํ•œ๋‹ค.
    ์ด ํ๋ฆ„์€ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰๋œ๋‹ค:
    • ์Šคํ† ์–ด ํฌ๋ ˆ๋”ง ์—์ด์ „ํŠธ(store credit agent)
    • ํฌ๋ ˆ๋”ง ์ฒ˜๋ฆฌ ๊ฒฐ์ • ์—์ด์ „ํŠธ(process credit decision agent)
  6. ์–ด๋–ค ๊ฒฝ๋กœ๊ฐ€ ์„ ํƒ๋˜์—ˆ๋“ ,
    ์ตœ์ข… ๊ฒฐ๊ณผ๋Š” ๋งˆ์ง€๋ง‰ ์‘๋‹ต ์—์ด์ „ํŠธ(final response agent)๋กœ ์ „๋‹ฌ๋˜์–ด
    ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌํ•  ์ตœ์ข… ๋‹ต๋ณ€์„ ๊ตฌ์„ฑํ•œ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ ๊ต‰์žฅํžˆ ๋‹ค์–‘ํ•œ agent pattern์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์•˜๋‹ค. ํŒจํ„ด๋“ค์„ ๋ชจ๋‘ ์™ธ์šธ ํ•„์š”๊ฐ€ ์ „ํ˜€ ์—†๋‹ค.
ํ•ต์‹ฌ์€ ์ธ๊ฐ„์ด ์กฐ์งํ™”ํ•ด์„œ ํ•˜๋˜ ์ผ๋“ค์„ ์กฐ์งํ™”๋œ ์—์ด์ „ํŠธ๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๋†€๋ผ์› ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์กฐ์งํ™” ๊ตฌ์กฐ๋Š” ๋ฌธ์ œ์— ๋”ฐ๋ผ์„œ, ํ† ๋ก ํ˜• ํŒ€ ๊ตฌ์กฐ, ํ˜น์€ ๊ณ„์ธต ๊ตฌ์กฐ ์ฆ‰ ์ƒํ™ฉ์— ๋”ฐ๋ผ ํšจ์œจ์ ์ธ ๋ฐฉ์‹์„ ๊ณ ๋ฅด๋ฉด ๋œ๋‹ค.
๋”ฐ๋ผ์„œ, ์‹ค์ œ ์ธ๊ฐ„์ด ์–ด๋–ค์‹์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”์ง€๋ฅผ ๋จผ์ € ์‚ดํŽด๋ณด๊ณ , ๊ทธ๊ฑฐ์™€ ๋น„์Šทํ•˜๊ฒŒ ์‹œ์ž‘ํ•ด์„œ agent๋ฅผ ๊ตฌ์กฐํ™” ํ•˜๋Š” ์‹์œผ๋กœ ์„ค๊ณ„ํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.