PydanticAI ビジュアルガイド

Lesson CH00-L01

初Agent

最小構成のAgentを書き、Geminiに1往復しゃべらせる。

読了目安
8 min
Colab目安
12 min
合計
20 min
前提
なし

関連: 公式ドキュメント

一行サマリ

Agent('google-gla:gemini-3-flash-preview')1 行と run_sync 1 回 で、最初のPydanticAI Agentを動かす。

ヒーロー: User と Agent と LLM の関係

PydanticAI の Agent は「ユーザー入力を受け取り、必要なら LLM に問い合わせ、結果を型付きで返す」中継役です。最小ケースでは LLM 呼び出しが 1 往復だけで完結します。

図を読み込み中…
図1. 最小構成での Agent 1 往復シーケンス

概念: Agent は「型付きの薄いラッパー」

Agent は pydantic_ai.Agent クラスのインスタンスです。最低限必要なのは、

  1. モデル指定'google-gla:gemini-3-flash-preview' のような文字列
  2. (任意) instructions — システムプロンプトに相当する文字列

の 2 つだけです。これだけで「LLMに 1 往復しゃべらせる」最小構成が動きます。

LangChain や OpenAI SDK 直叩きと比較したときの PydanticAI Agent の特徴は、

  • 型安全 — 入力・出力・ツール引数すべてが型ヒントで守られる
  • 薄い — 余計な抽象化を挟まず、内部で何をしているかが追える
  • テスタブルTestModel への差し替えだけでオフラインテストが書ける

の 3 点です。これらは後の章で順に体感していきます。

コード: 最小構成

from pydantic_ai import Agent
 
# モデル指定 + システムプロンプトだけのシンプルなAgent
agent = Agent(
    'google-gla:gemini-3-flash-preview',
    instructions='あなたはPydanticAIの教育担当です。日本語で簡潔に答えてください。',
)
 
# 同期実行: 結果を待ち合わせて返す
result = agent.run_sync('PydanticAIを一言で説明してください')
print(result.output)

ポイントは 3 つです。

  • Agent(...) の第1引数で どのプロバイダのどのモデル を使うか指定する。google-gla: プレフィックスは Google AI Studio (旧称 Google Language API) を意味する。
  • instructionsシステムプロンプト に相当。固定文字列でも関数でも渡せる (Ch1 で詳述)。
  • run_sync()同期実行 で、結果を AgentRunResult として返す。.output で実際のレスポンス文字列にアクセスできる。
図を読み込み中…
図2. Agent オブジェクトの最小構成 (3要素)

同期 (run_sync) と非同期 (run) の使い分け

ここで使った run_sync は名前のとおり 同期版 で、Colab のセル内で 1 つずつ動かすときに最も簡単です。本番アプリで Web リクエストを並列に捌くなら await agent.run(...) を使います。詳細は次レッスン Ch0-L02「同期 vs 非同期」で扱います。

まとめ

  • PydanticAI の Agent はモデル指定 + (任意の) instructions だけで動く「薄いラッパー」
  • run_sync は最も単純な同期実行。結果は AgentRunResult.output で取り出す
  • モデル指定には google-gla: プロバイダプレフィックスが必要

次レッスンでは、run_sync / run / run_stream の使い分けと、それぞれをどんな場面で選ぶかを掴みます。

Colab で実際に動かす

本レッスンの内容を Google Colab 上で実行できるノートブックを用意しています。下のボタンから自分のColab環境に開けます (要 Google アカウント / GOOGLE_API_KEY)。

Open in Colab

notebooks/ch00/01-first-agent.ipynb