์กฐ๊ฑด ๋ถ๊ธฐ์ ๋ณ๋ ฌ ์์ ์ด ๋ง์์ง๋ฉด if/else ์ฝ๋๊ฐ ๊ธ๋ฐฉ ์ํต๋๋ค. ์ด๋ Graph ์ ๊ทผ์ ์ํ ์ ์ด๋ฅผ ๋๋ฌ๋ด์ด ์ด์ ๊ฐ์์ฑ์ ๋์ด๋ ๋ฐฉ๋ฒ์ ๋๋ค.
AI ํ์ฉ ์๋ด: ์ด ๋ฌธ์๋ ์์ฑํ AI๋ฅผ ํ์ฉํด ์์ฑํ์ผ๋ฉฐ, Pydantic AI ๊ณต์ ๋ฌธ์๋ฅผ 1์ฐจ ์ถ์ฒ๋ก ๊ฒํ ํด ์ ๋ฆฌํ์ต๋๋ค.
๊ณต์๋ฌธ์ ํ๋ฆ ์ ๊ฒ (๊ฐ์ ๋ณด์)
- ํ๋ฆ: Graph ๊ธฐ๋ณธ ํ์ /์ํ ๊ด๋ฆฌ โ Beta GraphBuilder(steps/edges) โ ๋ถ๊ธฐ/๋ณ๋ ฌ/์กฐ์ธ ์ค๊ณ โ ์ํ ์์์ฑ/์ฌ์คํ ์ ๋ต โ Mermaid ์๊ฐํ.
- ์ด๋ฒ ํธ์์ ๋น ์ง๋ฉด ์ ๋๋ ํฌ์ธํธ:
- ๊ธฐ์กด Graph API์ Beta API์ ์ญํ ์ฐจ์ด๋ฅผ ๊ตฌ๋ถํ๋ค.
- ๋ณต์ก๋ ์ฆ๊ฐ ์
์กฐ๊ฑด ๋ถ๊ธฐ โ ๋ณ๋ ฌ โ ์กฐ์ธ์์๋ก ์ค๊ณ ์์น์ ์ ์ํ๋ค. - ์ฌ๋ ์น์ธ(human-in-the-loop) ๋ ธ๋๋ฅผ ๋ฃ๋ ๊ธฐ์ค์ ๊ฐ์์ ํฌํจํ๋ค.
- ๊ณต์ ๋ฌธ์ ์ฒดํฌ ๋งํฌ:
Graph๊ฐ ํ์ํ ์ ํธ
- ๋ถ๊ธฐ ์กฐ๊ฑด์ด 3๊ฐ ์ด์์ผ๋ก ๋์ด๋๋ ๊ฒฝ์ฐ
- ์ค๊ฐ ์คํจ ํ ์ฌ์ง์ ์ด ํ์ํ ๊ฒฝ์ฐ
- ๋ ธ๋๋ณ ์ฒ๋ฆฌ์๊ฐ/์คํจ์จ์ ์ถ์ ํด์ผ ํ๋ ๊ฒฝ์ฐ
๊ณต์ ๋ฌธ์:
- Graph overview: https://ai.pydantic.dev/graph/
- Graph beta docs: https://ai.pydantic.dev/graph/beta/
flowchart LR A[์ ๋ ฅ ๊ฒ์ฆ] --> B{๋ถ๋ฅ} B -->|๋จ์| C[์ง์ ์๋ต] B -->|๋ณตํฉ| D[๋๊ตฌ ํธ์ถ ๋ ธ๋] D --> E{๊ฒ์ฆ} E -->|ํต๊ณผ| F[์๋ฃ] E -->|์คํจ| G[์ฌ์๋/์์ ] G --> D
๋ฏธ๋ ์ฌ๋ก A: ๊ธฐ๋ฅ ์ถ๊ฐ ๋๋ง๋ค ์กฐ๊ฑด๋ฌธ์ด ํญ์ฆํ ๊ฒฝ์ฐ
์ด๊ธฐ ๋จ์ ์ฑ๋ด ์ฝ๋์ ์น์ธ/๊ฒํ /์์ธ ์ฒ๋ฆฌ๊ฐ ๋ถ์ผ๋ฉด์ ๋ถ๊ธฐ๊ฐ ๋ณต์กํด์ก์ต๋๋ค. Graph ๋ ธ๋๋ก ๋ถ๋ฆฌํด ์ํ ์ ์ด๋ฅผ ๋ช ์ํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ๊ฐ ์ฌ์์ก์ต๋๋ค.
๋ฏธ๋ ์ฌ๋ก B: ์คํจ ์ฌํ์ด ์ด๋ ค์ ๋ ๊ฒฝ์ฐ
๊ธฐ์กด์๋ ์คํจ ์์ ์ด ๋ก๊ทธ์ ์์ฌ ์์ธ ์ถ์ ์ด ์ด๋ ค์ ์ต๋๋ค. ๋ ธ๋ ๋จ์ ๋ก๊น ์ผ๋ก ์ด๋ ์ ์ด์์ ์คํจํ๋์ง ๋ฐ๋ก ํ์ธ ๊ฐ๋ฅํด์ก์ต๋๋ค.
์ค๋ฌด ์ ์ฉ ์์
- ํ์ฌ ํ์ดํ๋ผ์ธ์ ๋ ธ๋/์ ์ด๋ก ๋์ํ
- ์คํจ ๊ฐ๋ฅ์ฑ์ด ๋์ ๋ ธ๋๋ถํฐ ๋ถ๋ฆฌ
- ๋ ธ๋๋ณ ์ ๋ ฅยท์ถ๋ ฅ ๊ณ์ฝ ๊ณ ์
- ๋ณ๋ ฌ/์กฐ์ธ ์ง์ ์ ๋ช ์์ ์ผ๋ก ๊ด๋ฆฌ
์ฑ๊ณต ํ์ :
- ์ ๊ท ๋ถ๊ธฐ๋ฅผ ์ถ๊ฐํด๋ ๊ตฌ์กฐ๊ฐ ํฌ๊ฒ ํ๋ค๋ฆฌ์ง ์๋๋ค
- ์คํจ ๋ ธ๋๋ฅผ ๋ก๊ทธ์์ ๋ฐ๋ก ์ฐพ๋๋ค
- ์ ์ง๋ณด์ ๋ด๋น์๊ฐ ํ๋ก์ฐ๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ์ค๋ช ํ ์ ์๋ค