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 往復だけで完結します。
概念: Agent は「型付きの薄いラッパー」
Agent は pydantic_ai.Agent クラスのインスタンスです。最低限必要なのは、
- モデル指定 —
'google-gla:gemini-3-flash-preview'のような文字列 - (任意) 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で実際のレスポンス文字列にアクセスできる。
同期 (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)。
notebooks/ch00/01-first-agent.ipynb