쑰건 λΆκΈ°μ λ³λ ¬ μμ μ΄ λ§μμ§λ©΄ 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: μ€ν¨ μ¬νμ΄ μ΄λ €μ λ κ²½μ°
κΈ°μ‘΄μλ μ€ν¨ μμ μ΄ λ‘κ·Έμ μμ¬ μμΈ μΆμ μ΄ μ΄λ €μ μ΅λλ€. λ Έλ λ¨μ λ‘κΉ μΌλ‘ μ΄λ μ μ΄μμ μ€ν¨νλμ§ λ°λ‘ νμΈ κ°λ₯ν΄μ‘μ΅λλ€.
μ€λ¬΄ μ μ© μμ
- νμ¬ νμ΄νλΌμΈμ λ Έλ/μ μ΄λ‘ λμν
- μ€ν¨ κ°λ₯μ±μ΄ λμ λ ΈλλΆν° λΆλ¦¬
- λ Έλλ³ μ λ ₯Β·μΆλ ₯ κ³μ½ κ³ μ
- λ³λ ¬/μ‘°μΈ μ§μ μ λͺ μμ μΌλ‘ κ΄λ¦¬
μ±κ³΅ νμ :
- μ κ· λΆκΈ°λ₯Ό μΆκ°ν΄λ κ΅¬μ‘°κ° ν¬κ² νλ€λ¦¬μ§ μλλ€
- μ€ν¨ λ Έλλ₯Ό λ‘κ·Έμμ λ°λ‘ μ°Ύλλ€
- μ μ§λ³΄μ λ΄λΉμκ° νλ‘μ°λ₯Ό κ·Έλ¦ΌμΌλ‘ μ€λͺ ν μ μλ€