FastAPI × Claude API でAIエージェントを作る最短ルート
FastAPIとClaude APIを組み合わせてAIエージェントを最短で作る方法を解説します。プロジェクト構成、ツール呼び出し、ストリーミング、本番運用での落とし穴まで2026年のベストプラクティスを実装例付きで紹介します。
この記事の目次
結論: FastAPI + Claude API は最短で本番に乗るAIエージェント基盤
2026年現在、AIエージェントを最短ルートで構築するなら、PythonのFastAPIとAnthropicのClaude APIの組み合わせが圧倒的に効率的です。FastAPIの非同期サポート、型ヒントベースのバリデーション、自動生成されるOpenAPIドキュメントは、AIエージェントの開発・運用に必要な要素を一通り揃えてくれます。
この記事でわかること:
- FastAPI × Claude APIの最小構成
- ツール呼び出し (Tool Use) の実装パターン
- ストリーミング応答とエラーハンドリング
- 本番運用で躓く5つのポイント
最小構成は意外とコンパクト
AIエージェントの本質は「LLMが外部ツールを使いながら推論ループを回す」ことです。FastAPIなら以下のような構成で十分始められます。
app/
main.py # FastAPIエントリポイント
agent.py # エージェントのループ実装
tools/ # ツール群 (検索、DB、外部API)
schemas.py # Pydanticモデル
settings.py # 環境変数管理
Claude APIのmessages.createは同期・非同期両対応で、anthropic.AsyncAnthropicクライアントを使えばFastAPIのasync defと自然に統合できます。
ツール呼び出しを実装する
Claudeのツール呼び出しは、JSON Schemaでツール定義を渡し、Claudeが必要なときにtool_useブロックを返してくる仕組みです。エージェントループの骨格は次のとおりです。
- ユーザーメッセージをClaudeに送信
- 応答に
tool_useがあれば、対応するツールを実行 - 結果を
tool_resultとして再度Claudeに送信 stop_reasonがend_turnになるまで繰り返す
ツール本体はPythonの普通の関数として書き、Pydanticでスキーマを生成すると、Claude側に渡すJSON Schemaも自動で揃います。ある社内エージェントでは、ツール5個・平均3.2回のツール呼び出しで1タスクを完了し、1リクエストあたり平均8.4秒で安定稼働しています。
ストリーミング応答でUXを高める
FastAPIのStreamingResponseとClaudeのstream=Trueを組み合わせれば、生成中のテキストをそのままクライアントへ流せます。SSE (Server-Sent Events) で返す実装が一般的で、フロントエンドではEventSourceまたはfetchのReadableStreamで受け取れます。
@app.post('/chat')
async def chat(req: ChatRequest):
async def gen():
async with client.messages.stream(...) as stream:
async for text in stream.text_stream:
yield f'data: {text}nn'
return StreamingResponse(gen(), media_type='text/event-stream')
本番運用でハマる5つのポイント
1. レート制限と指数バックオフ
Claude APIにはrate_limit_errorがあり、急なトラフィック増で頻発します。tenacityなどで指数バックオフ + ジッターを必ず実装しましょう。
2. 長文プロンプトのトークン超過
会話履歴をそのまま渡すと、すぐにコンテキスト上限に達します。要約圧縮や、過去N件のみ保持する戦略が必要です。2026年現在、Claudeの1Mコンテキストモデルも選べますが、コストとレイテンシのトレードオフを評価しましょう。
3. ツール実行のタイムアウト
外部API呼び出しが詰まるとエージェントが固まります。asyncio.wait_forで個別タイムアウトを設定し、失敗時はツール結果として「タイムアウト」をClaudeに伝える設計が安全です。
4. 監査ログの欠落
「誰がいつ何を聞いて、どのツールを呼び、何が返ったか」を構造化ログで残さないと、後で事故調査ができません。correlation_idを必ず発行しましょう。
5. プロンプトのバージョン管理
システムプロンプトをコードに直書きすると、改善のたびにデプロイが必要になります。プロンプトをDBやS3に外出しし、A/Bテスト可能な構造にするのが推奨です。
まとめ
FastAPI × Claude APIは、AIエージェントを本番に持っていくための最短ルートです。非同期エージェントループ + ツール呼び出し + ストリーミングを押さえれば、1週間でMVPを動かし、1ヶ月で社内ツールとして展開できます。本記事の構成をベースに、観測性とエラーハンドリングを丁寧に積み上げていけば、2026年のAIエージェント開発で十分に戦える基盤になります。