【ぱいだんてぃっくえーあい】

PydanticAI とは?

最終更新:
💡 ツールの引数とAIの出力を、型で定義して検証

Pydanticのチームが開発するPython向けAI SDK。エージェントのツール引数や構造化出力を、型ヒントとPydanticで検証する。型や制約への適合と、回答の事実関係・用途への適合は別に評価する。

📌 このページのポイント
モデルの出力を型で検証する 出力の定義:name は文字列 age は整数(仮の例) LLM Pydantic 型・制約を 検証 成功時の結果 name: Aki age: 30 検証失敗 → 上限内で再試行 上限超過などでは処理が失敗する 型に合うことと、内容の正しさは別
構造化出力の例。成功時は指定した型の結果を受け取り、検証失敗時は設定された上限の範囲で再試行する。
ひよこ ひよこ
Pydanticとは、どう関係しているの?
ペンギン先生 ペンギン先生
Pydanticは型ヒントを使うPythonのデータ検証ライブラリだよ。PydanticAIはそのチームが開発するAI SDKで、エージェントを動かしたり、ツールの引数やモデルの出力を検証したりできるんだ。
ひよこ ひよこ
AIの出力を型で決めると、何が便利?
ペンギン先生 ペンギン先生
たとえば名前は文字列、年齢は整数、と決めた構造で結果を受け取れるよ。モデルが返したデータをPydanticで検証するため、後のコードで扱いやすい。検証に失敗した場合は再試行する仕組みもあるけれど、上限などによって処理が失敗することもあるんだ。
ひよこ ひよこ
型が合っていれば、答えも正しい?
ペンギン先生 ペンギン先生
型検証だけでは事実の正しさまでは保証できないよ。整数という指定だけなら、年齢として不適切な値も通り得る。必要な範囲などの制約を定義し、回答が用途に合うかも別に評価するんだ。
ひよこ ひよこ
ツールを定義するのも型ヒントで書ける?
ペンギン先生 ペンギン先生
Pythonの関数をツールとして登録し、引数を型ヒントで定義できるよ。呼び出し前に引数を検証する。ただし、型に合う操作でも意図に合うとは限らないので、関数の処理や実行条件は開発者が設計するんだ。
ひよこ ひよこ
実際のLLMを呼ばずにテストできる?
ペンギン先生 ペンギン先生
TestModelやFunctionModelでモデルを置き換え、アプリの処理を検証できるよ。ただしTestModelは登録したツールを呼ぶため、外部サービスなども必要に応じて置き換える。本物のモデルの回答品質や通信時の挙動の評価は、別に行うんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「PydanticAI」って出てきたら「型の定義と検証を使ってAIエージェントを作るPythonのSDK」と思えばだいたいOK!
📖 おまけ:英語の意味
「Pydantic AI」 = Pydanticを基盤とするAI開発ツール
💬 PydanticはPythonのデータ検証ライブラリで、AIは人工知能を表すよ。Pydanticのチームが、その検証の仕組みをAI開発にも使えるようにしたんだ。

参考資料

← 用語集にもどる