CLAUDE LABEN
2.1.278 — auto モードの分類器が Claude API・Enterprise・Bedrock / Vertex / Foundry でサーバー側の既定になりました。分類器の分は課金されず、/status に Auto mode server の行が増えていますTASKOUT — TaskOutput ツールが削除されました。taskOutputMaxChars と TASK_MAX_OUTPUT_LENGTH は無効になり、バックグラウンドの出力は Read で読む形に一本化されています10/07 — 管理構成キーの旧い綴りの受付は10月7日 正午 PT までです。残り17日で、締切を過ぎた設定は書き直すまでそのコネクタが使えなくなりますBUNPANIC — 更新で入った版が、起動しただけで落ちるという報告が出ています。同じ機械で前の版は動くとのことで、環境ではなく版の側が疑われていますNEW — Cowork と Claude Code のどちらに置くかを、承認の境界で決めた記録ですSONNET4.5 — 廃止表に並ぶ日付は「それより前には終わらない下限」です。Sonnet 4.5 は今も有効で、非推奨の告知は出ていません2.1.278 — auto モードの分類器が Claude API・Enterprise・Bedrock / Vertex / Foundry でサーバー側の既定になりました。分類器の分は課金されず、/status に Auto mode server の行が増えていますTASKOUT — TaskOutput ツールが削除されました。taskOutputMaxChars と TASK_MAX_OUTPUT_LENGTH は無効になり、バックグラウンドの出力は Read で読む形に一本化されています10/07 — 管理構成キーの旧い綴りの受付は10月7日 正午 PT までです。残り17日で、締切を過ぎた設定は書き直すまでそのコネクタが使えなくなりますBUNPANIC — 更新で入った版が、起動しただけで落ちるという報告が出ています。同じ機械で前の版は動くとのことで、環境ではなく版の側が疑われていますNEW — Cowork と Claude Code のどちらに置くかを、承認の境界で決めた記録ですSONNET4.5 — 廃止表に並ぶ日付は「それより前には終わらない下限」です。Sonnet 4.5 は今も有効で、非推奨の告知は出ていません
記事一覧/Claude Code
Claude Code/2026-04-07上級

Claude Code × Python FastAPI 本番開発2026 — 設計・型安全コード生成・pytest自動化・Dockerデプロイまで

Claude Code を AI ペアプログラマーとして使い、FastAPI の本番 API サーバーを設計からデプロイまで組み上げた記録です。Pydantic v2・pytest・Docker・CI/CD の実装パターンを扱います。

Claude Code256Python17FastAPIpytestDocker5API開発バックエンド4本番運用36

プレミアム記事

個人開発の API サーバーに Redis キャッシュを入れた翌週、レスポンスタイムのグラフがまったく変わっていないことに気づきました。エラーは出ていません。ログも静かです。ただ、キャッシュが一度も当たっていませんでした。

原因はキャッシュキーでした。デコレータがキーを str(kwargs) から組み立てており、その kwargs に DB セッションが混ざっていたのです。セッションの repr にはメモリアドレスが入ります。リクエストごとに別のキーが生まれ、Redis は書き込まれるだけの倉庫になっていました。

FastAPI は型安全で速く、非同期も素直に書けます。Claude Code と組み合わせれば、設計からデプロイまでの骨格は驚くほど短い時間で立ち上がります。けれど「動いているように見えるコード」は、こういう静かな場所に残ります。

以下では、FastAPI の本番 API サーバーを Claude Code で組み上げる工程を実装パターン中心にお伝えします。あわせて、このワークフローで生まれやすい欠陥を手元で実際に動かして測った結果も添えました。生成を速める手と、生成物を疑う手。私はこの両方が要ると考えています。

Python と FastAPI の基礎には触れているけれど、本番品質の設計・テスト・デプロイの手前で止まっている——そうした状況を想定して書いています。


前提知識・準備

必要な環境

本記事のコードを実行するには、以下の環境が必要です。

  • Python 3.12 以上
  • Claude Code CLI(最新版)
  • Docker Desktop
  • Git

Claude Code のインストールと初期設定については、Claude Code プロジェクト初期化完全自動化ガイドをご参照ください。

プロジェクト構成の全体像

今回構築する API サーバーの構成は以下の通りです。

fastapi-app/
├── CLAUDE.md              # Claude Code 向け設計指針
├── app/
│   ├── main.py            # FastAPI アプリ本体
│   ├── api/
│   │   ├── v1/
│   │   │   ├── router.py  # v1 ルーター
│   │   │   ├── users.py   # ユーザーエンドポイント
│   │   │   └── items.py   # アイテムエンドポイント
│   ├── core/
│   │   ├── config.py      # 環境変数・設定管理
│   │   ├── security.py    # 認証・JWT
│   │   └── database.py    # SQLAlchemy セッション管理
│   ├── models/
│   │   ├── user.py        # SQLAlchemy モデル
│   │   └── item.py
│   └── schemas/
│       ├── user.py        # Pydantic v2 スキーマ
│       └── item.py
├── tests/
│   ├── conftest.py        # pytest フィクスチャ
│   ├── unit/
│   └── integration/
├── Dockerfile
├── docker-compose.yml
└── .github/workflows/ci.yml

CLAUDE.md の設計 — AIに正確なコンテキストを与える

Claude Code がプロジェクトを正確に理解するには、CLAUDE.md の設計が最重要です。これは Claude Code に対する「技術仕様書」であり、適切に書かれた CLAUDE.md があるかどうかで、生成されるコードの品質が劇的に変わります。

CLAUDE.md の記述内容

以下の CLAUDE.md を fastapi-app/ のルートに配置します。

# FastAPI Production API — CLAUDE.md
 
## 技術スタック
- Python 3.12 / FastAPI 0.115+ / Uvicorn
- SQLAlchemy 2.0 (async) + asyncpg (PostgreSQL)
- Pydantic v2(フィールドバリデーション厳格モード)
- JWT 認証(python-jose + passlib bcrypt)
- pytest-asyncio + httpx(非同期テスト)
- Docker + docker-compose
 
## コーディング規約
- すべての関数・クラスに型ヒントを付ける
- async/await を一貫して使用(同期コードを混在させない)
- エンドポイントのレスポンスモデルは必ず Pydantic スキーマで定義
- DBセッションは依存性注入(Depends)で取得する
- HTTPException は app/core/exceptions.py に集約する
 
## テスト規約
- 新機能実装時は必ず pytest テストを同時作成する
- ユニットテスト: app/core/ の純粋関数
- 統合テスト: 実際の DB(テスト用 SQLite in-memory)を使用
- カバレッジ目標: 80% 以上
 
## 禁止事項
- グローバル変数への状態保存
- print デバッグ(logging モジュールを使う)
- ハードコードされた認証情報(必ず環境変数)

この CLAUDE.md があることで、Claude Code は「このプロジェクトでは非同期 SQLAlchemy を使う」「テストは pytest-asyncio で書く」といったコンテキストを自動的に把握し、一貫性のあるコードを生成します。


ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
FastAPI の設計・実装・テストを Claude Code に任せるためのプロンプトの組み立て方
pytest・Docker・GitHub Actions CI/CD までを、動作を確認した実装コードつきで通す手順
生成された Redis キャッシュ・例外階層・レート制限の欠陥を実測で特定し、修正版と測り直した結果まで確認する
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-06-21
Context7 を入れても Claude Code が古いコードを書くとき — 注入が効いているかを運用で確かめる
Context7 MCP を入れたのに古い API のコードが返る——その多くはドキュメント注入が静かに不発になっています。注入が効いたかを毎回確かめる検証フック、ライブラリ単位のバージョン固定、未対応ライブラリへのフォールバックを運用の実装メモとしてまとめます。
Claude Code2026-06-14
PR ごとに走る CI が月次クレジットを溶かす前に — Claude Code GitHub Actions の消費を抑える3層ガード
6/15 から Claude Code GitHub Actions は繰越なしの月次クレジットで課金されます。全PRでレビューを走らせると月初に枯れます。実行条件・1回の上限・消費の可視化という3層で、CIを止めずに消費を抑えた設計と動くワークフローをまとめました。
Claude Code2026-06-13
Claude Code で Go の REST API を本番品質に仕上げる — Gin・GORM・Docker・CI/CD の実装手順と運用の勘所
Claude Code と Go で REST API を本番品質に育てるための実装手順をまとめました。Gin・GORM による Clean Architecture 設計から、graceful shutdown・Docker 最小イメージ・GitHub Actions まで、運用で効く判断基準とともにお伝えします。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます