์‚ฌ์šฉ์ž ์ฒด๊ฐ ์†๋„๋ฅผ ๋†’์ด๋ ค๋ฉด ์ŠคํŠธ๋ฆฌ๋ฐ์ด ํ•„์š”ํ•˜๊ณ , ์šด์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ด๋ ค๋ฉด ๊ตฌ์กฐํ™” ์ถœ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์ด๋ฏธ์ง€ยท๋ฌธ์„œ ๊ฐ™์€ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ž…๋ ฅ๊นŒ์ง€ ๋ถ™์œผ๋ฉด ์‹ค์„œ๋น„์Šค ํ˜•ํƒœ์— ๊ฐ€๊นŒ์›Œ์ง‘๋‹ˆ๋‹ค.

AI ํ™œ์šฉ ์•ˆ๋‚ด: ์ด ๋ฌธ์„œ๋Š” ์ƒ์„ฑํ˜• AI๋ฅผ ํ™œ์šฉํ•ด ์ž‘์„ฑํ–ˆ์œผ๋ฉฐ, Pydantic AI ๊ณต์‹ ๋ฌธ์„œ๋ฅผ 1์ฐจ ์ถœ์ฒ˜๋กœ ๊ฒ€ํ† ํ•ด ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ณต์‹๋ฌธ์„œ ํ๋ฆ„ ์ ๊ฒ€ (๊ฐœ์š” ๋ณด์™„)

  • ํ๋ฆ„: ์ŠคํŠธ๋ฆฌ๋ฐ ์ด๋ฒคํŠธ ์„ค๊ณ„ โ†’ ๊ตฌ์กฐํ™” ์ถœ๋ ฅ ๋ชจ๋“œ ์„ ํƒ/๊ฒ€์ฆ โ†’ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ž…๋ ฅ(์ด๋ฏธ์ง€ยท์˜ค๋””์˜คยท๋ฌธ์„œ) ์ง€์› ๋ชจ๋ธ ํ™•์ธ โ†’ ์—…๋กœ๋“œ/URL ์ž…๋ ฅ ์ „๋žต ์„ ํƒ.
  • ์ด๋ฒˆ ํŽธ์—์„œ ๋น ์ง€๋ฉด ์•ˆ ๋˜๋Š” ํฌ์ธํŠธ:
    • ์ŠคํŠธ๋ฆฌ๋ฐ ์†๋„์™€ ๊ตฌ์กฐํ™” ๊ฒ€์ฆ์„ ๋ถ„๋ฆฌํ•ด ์„ค๋ช…ํ•œ๋‹ค.
    • ์ž…๋ ฅ ํƒ€์ž…๋ณ„(provider๋ณ„) ์ง€์› ์ฐจ์ด๋ฅผ ๊ฐœ์š”์—์„œ ๋จผ์ € ๊ฒฝ๊ณ ํ•œ๋‹ค.
    • streamed result์™€ ์ตœ์ข… ๊ฒฐ๊ณผ ํ™•์ • ์‹œ์ ์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•œ๋‹ค.
  • ๊ณต์‹ ๋ฌธ์„œ ์ฒดํฌ ๋งํฌ:

์„ธ ๊ฐ€์ง€๋ฅผ ๊ฐ™์ด ๋ด์•ผ ํ•˜๋Š” ์ด์œ 

  • ์ŠคํŠธ๋ฆฌ๋ฐ: ๊ธฐ๋‹ค๋ฆผ์„ ์ค„์—ฌ UX ๊ฐœ์„ 
  • ๊ตฌ์กฐํ™” ์ถœ๋ ฅ: ํ›„์ฒ˜๋ฆฌ ์ž๋™ํ™” ์•ˆ์ •ํ™”
  • ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ž…๋ ฅ: ํ…์ŠคํŠธ ๋ฐ–์˜ ์‹ค์ œ ์—…๋ฌด ๋ฐ์ดํ„ฐ ์ˆ˜์šฉ

๊ณต์‹ ๋ฌธ์„œ:

flowchart LR
  A[ํ…์ŠคํŠธ/์ด๋ฏธ์ง€/๋ฌธ์„œ ์ž…๋ ฅ] --> B[Agent run_stream]
  B --> C[์ค‘๊ฐ„ ํ† ํฐ/์ด๋ฒคํŠธ ์ „๋‹ฌ]
  C --> D[์ตœ์ข… ๊ตฌ์กฐํ™” ๊ฒฐ๊ณผ ๊ฒ€์ฆ]
  D --> E[UI/์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ ์ „๋‹ฌ]

๋ฏธ๋‹ˆ ์‚ฌ๋ก€ A: ์‘๋‹ต์ด 20์ดˆ ๊ฑธ๋ ค ์‚ฌ์šฉ์ž ์ดํƒˆ์ด ์ƒ๊ธด ๊ฒฝ์šฐ

์ตœ์ข… ๋‹ต๋ณ€๋งŒ ํ•œ ๋ฒˆ์— ๋ณด๋‚ด๋˜ ์ฑ— ํ™”๋ฉด์—์„œ ์ดํƒˆ๋ฅ ์ด ๋†’์•˜์Šต๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ์œผ๋กœ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋จผ์ € ๋ณด์—ฌ์ฃผ์ž, ๊ฐ™์€ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด์–ด๋„ ์ดํƒˆ์ด ์ค„์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฏธ๋‹ˆ ์‚ฌ๋ก€ B: ์ŠคํŠธ๋ฆฌ๋ฐ์€ ๋น ๋ฅธ๋ฐ ํ›„์ฒ˜๋ฆฌ๊ฐ€ ์ž์ฃผ ๊นจ์ง„ ๊ฒฝ์šฐ

ํ…์ŠคํŠธ ์œ„์ฃผ ์ถœ๋ ฅ์œผ๋กœ๋Š” ํŒŒ์„œ๊ฐ€ ์ž์ฃผ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๊ฒฐ๊ณผ๋งŒํผ์€ output_type์œผ๋กœ ๊ณ ์ •ํ•ด UI ํŒŒ์ดํ”„๋ผ์ธ ์˜ค๋ฅ˜๋ฅผ ์ค„์˜€์Šต๋‹ˆ๋‹ค.

์‹ค๋ฌด ์ ์šฉ ์ˆœ์„œ

  1. ์‚ฌ์šฉ์ž-facing ์ฑ„๋„์€ ์ŠคํŠธ๋ฆฌ๋ฐ ์šฐ์„  ๋„์ž…
  2. ์ €์žฅ/์—ฐ๋™ ๊ตฌ๊ฐ„์€ ๊ตฌ์กฐํ™” ์ถœ๋ ฅ ๊ฐ•์ œ
  3. ํŒŒ์ผ ์ž…๋ ฅ(๋ฌธ์„œ/์ด๋ฏธ์ง€) 1๊ฐœ ์‹œ๋‚˜๋ฆฌ์˜ค๋ถ€ํ„ฐ ์‹œ์ž‘

์„ฑ๊ณต ํŒ์ •:

  • ์‚ฌ์šฉ์ž ์ฒด๊ฐ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ์ค„์—ˆ๋‹ค
  • ํ›„์ฒ˜๋ฆฌ ํŒŒ์‹ฑ ์˜ค๋ฅ˜์œจ์ด ๋‚ด๋ ค๊ฐ”๋‹ค
  • ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ž…๋ ฅ 1๊ฐœ๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค

๋‹ค์Œ ๊ธ€