처음 λͺ©ν‘œλŠ” λ³΅μž‘ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‚΄ μ»΄ν“¨ν„°μ—μ„œ Agentλ₯Ό 1회 μ‹€ν–‰ν•˜κ³ , 좜λ ₯을 μž¬ν˜„ κ°€λŠ₯ν•˜κ²Œ λ‚¨κΈ°λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 λ‹¨κ³„μ—μ„œ μ€‘μš”ν•œ 건 ν™”λ €ν•œ ν”„λ‘¬ν”„νŠΈκ°€ μ•„λ‹ˆλΌ μ‹€ν–‰ ν™˜κ²½κ³Ό μ΅œμ†Œ μ½”λ“œ ꡬ쑰λ₯Ό κ³ μ •ν•˜λŠ” μΌμž…λ‹ˆλ‹€.

AI ν™œμš© μ•ˆλ‚΄: 이 λ¬Έμ„œλŠ” μƒμ„±ν˜• AIλ₯Ό ν™œμš©ν•΄ μž‘μ„±ν–ˆμœΌλ©°, Pydantic AI 곡식 λ¬Έμ„œλ₯Ό 1μ°¨ 좜처둜 κ²€ν† ν•΄ μ •λ¦¬ν–ˆμŠ΅λ‹ˆλ‹€.

κ³΅μ‹λ¬Έμ„œ 흐름 점검 (κ°œμš” 보완)

  • 흐름: μ„€μΉ˜(install) β†’ λͺ¨λΈ κ³΅κΈ‰μž 선택(models/overview) β†’ μ΅œμ†Œ μ‹€ν–‰(agent) β†’ μ‹€ν–‰ λͺ¨λ“œ 차이(run_sync vs run) β†’ κΈ°λ³Έ νŠΈλŸ¬λΈ”μŠˆνŒ…(API Key/ν™˜κ²½λ³€μˆ˜).
  • 이번 νŽΈμ—μ„œ λΉ μ§€λ©΄ μ•ˆ λ˜λŠ” 포인트:
    • 일반 μ„€μΉ˜μ™€ slim μ„€μΉ˜ 차이λ₯Ό μ΄ˆλ°˜μ— κ΅¬λΆ„ν•œλ‹€.
    • 첫 μ‹€ν–‰ 성곡 쑰건을 β€œμ‘λ‹΅ 생성”이 μ•„λ‹ˆλΌ λͺ¨λΈ μ—°κ²° + μ˜ˆμ™Έ 없이 μ’…λ£Œλ‘œ μ •μ˜ν•œλ‹€.
    • 둜컬 κ°œλ°œμ—μ„œ κ°€μž₯ ν”ν•œ μ‹€νŒ¨(ν‚€ λˆ„λ½, provider mismatch)λ₯Ό μ²΄ν¬λ¦¬μŠ€νŠΈμ— ν¬ν•¨ν•œλ‹€.
  • 곡식 λ¬Έμ„œ 체크 링크:

10λΆ„ μ•ˆμ— λλ‚΄λŠ” μ„€μΉ˜ 루틴

Pydantic AI 곡식 μ„€μΉ˜ λ¬Έμ„œλŠ” pydantic-ai κΈ°λ³Έ μ„€μΉ˜μ™€ pydantic-ai-slim[...] κ²½λŸ‰ μ„€μΉ˜λ₯Ό λΆ„λ¦¬ν•΄μ„œ μ•ˆλ‚΄ν•©λ‹ˆλ‹€. μ²˜μŒμ—λŠ” κΈ°λ³Έ μ„€μΉ˜κ°€ μ‹œν–‰μ°©μ˜€λ₯Ό μ€„μž…λ‹ˆλ‹€.

  • κΈ°λ³Έ μ„€μΉ˜: pip install pydantic-ai λ˜λŠ” uv add pydantic-ai
  • Python ꢌμž₯ 버전: 3.10+

곡식 λ¬Έμ„œ: https://ai.pydantic.dev/install/

flowchart LR
  A[Python 3.10+ 확인] --> B[pydantic-ai μ„€μΉ˜]
  B --> C[API Key ν™˜κ²½λ³€μˆ˜ μ„€μ •]
  C --> D[hello_agent.py μ‹€ν–‰]
  D --> E[run_sync κ²°κ³Ό 확인]

κ°€μž₯ μž‘μ€ μ‹€ν–‰ μ½”λ“œ

Agentλ₯Ό λ§Œλ“€κ³  run_sync()둜 ν•œ 쀄 질의λ₯Ό λ˜μ§€λ©΄ 첫 λ‹¨κ³„λŠ” μ™„λ£Œμž…λ‹ˆλ‹€.

from pydantic_ai import Agent
 
agent = Agent('openai:gpt-5.2', instructions='ν•œ λ¬Έμž₯으둜 짧게 λ‹΅ν•΄μ€˜.')
result = agent.run_sync('μ„œμšΈμ—μ„œ λΉ„ μ˜€λŠ” λ‚  μš°μ‚° 팁 1개만 μ•Œλ €μ€˜')
print(result.output)

곡식 μ°Έκ³ : Agent μ‹€ν–‰ 방식(run, run_sync, run_stream)
https://ai.pydantic.dev/agent/

λ―Έλ‹ˆ 사둀 A: μ„€μΉ˜λŠ” λλŠ”λ° λͺ¨λΈ 호좜이 μ‹€νŒ¨ν•œ 경우

ν•œ νŒ€μ€ νŒ¨ν‚€μ§€λŠ” 정상 μ„€μΉ˜λμ§€λ§Œ λͺ¨λΈ 인증 ν‚€ λˆ„λ½μœΌλ‘œ 첫 싀행이 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€. μ΄λ•Œ μ½”λ“œλΆ€ν„° κ³ μΉ˜κΈ°λ³΄λ‹€, .env/ν™˜κ²½λ³€μˆ˜ λ‘œλ”© μˆœμ„œλ₯Ό λ¨Όμ € κ³ μ •ν•˜λ‹ˆ 5λΆ„ λ‚΄ ν•΄κ²°λμŠ΅λ‹ˆλ‹€.

싀무 팁:

  1. python -V 확인
  2. μ„€μΉ˜ 둜그 확인
  3. API ν‚€ 쑴재 μ—¬λΆ€ 확인
  4. 같은 ν”„λ‘¬ν”„νŠΈλ‘œ 3회 μž¬μ‹€ν–‰

λ―Έλ‹ˆ 사둀 B: μ„€μΉ˜λŠ” μ‰¬μš΄λ° μ˜μ‘΄μ„± 좩돌이 λ‚˜λŠ” 경우

λ‹€λ₯Έ νŒ€μ€ κΈ°μ‘΄ ν”„λ‘œμ νŠΈ μ˜μ‘΄μ„±κ³Ό 좩돌이 λ‚¬μŠ΅λ‹ˆλ‹€. μ „μ—­ μ„€μΉ˜ λŒ€μ‹  ν”„λ‘œμ νŠΈ 둜컬 κ°€μƒν™˜κ²½μœΌλ‘œ λΆ„λ¦¬ν•˜κ³ , pydantic-ai-slim[openai]둜 μ’νžˆλ‹ˆ 좩돌이 크게 μ€„μ—ˆμŠ΅λ‹ˆλ‹€.

곡식 λ¬Έμ„œ: https://ai.pydantic.dev/install/#slim-install

μ‹€ν–‰ 체크리슀트 (성곡 νŒμ •)

  • run_sync()둜 μ‹€μ œ λ¬Έμžμ—΄ κ²°κ³Όλ₯Ό λ°›μ•˜λ‹€
  • 동일 질문 3회 μ‹€ν–‰ μ‹œ μ˜ˆμ™Έ 없이 μ™„λ£Œλλ‹€
  • μ½”λ“œ νŒŒμΌμ„ νŒ€μ›μ΄ 받아도 같은 절차둜 μž¬μ‹€ν–‰ κ°€λŠ₯ν•˜λ‹€

λ‹€μŒ κΈ€