claude-cookbooksとは:Anthropic公式のClaude API実践レシピ集
2023年8月にAnthropicが公開した anthropics/claude-cookbooks は、2026年4月時点でGitHubスター38,048・フォーク4,246を記録している公式の実践コード集だ。
「コピペで動くコードスニペット」を中心に構成されており、Claude APIを使った開発の出発点として設計されている。READMEには「コードはPython中心だが、概念はどの言語にも応用できる」と明記されており、初めてClaude APIに触れる開発者から、エージェント開発の高度な実装例を探している上級者まで幅広く対応している。
リポジトリは2023年の初公開以降、継続的にメンテナンスされている。Claude Agent SDKの登場(2025年)以降は claude_agent_sdk/ ディレクトリが追加され、Managed Agentsを扱う managed_agents/ など最新の機能に対応したnotebookが増え続けている。
前提として必要なもの: Claude APIキーは Anthropicコンソール で無料取得できる。まずはAPIキーを取得してから各notebookを試すと効率的だ。Claude API全般の使い方は Claude Codeベストプラクティスガイド も参照してほしい。
リポジトリの全体構成は以下の通りだ:
| ディレクトリ | 内容 |
|---|---|
tool_use/ |
ツール(Function Calling)活用のnotebook群 |
multimodal/ |
画像・ドキュメント処理のnotebook群 |
extended_thinking/ |
Extended Thinking機能の実装例 |
claude_agent_sdk/ |
Claude Agent SDK活用のnotebook群 |
managed_agents/ |
Managed Agents(Computer Use等)の実装例 |
patterns/agents/ |
エージェントパターンの実装集 |
capabilities/ |
テキスト分類・RAG・要約等の機能別notebook群 |
finetuning/ |
ファインチューニング実装例 |
observability/ |
APIコスト・使用量の観測 |
third_party/ |
外部サービスとの連携例 |
この章のポイント
- 2023年8月公開、2026年4月時点でGitHubスター38,000超の公式リポジトリ
- コピペで動くJupyterノートブック形式で構成
- Claude Agent SDK・Managed Agentsなど最新機能にも継続対応
収録cookbookの全カテゴリ解説:何がどこにあるか
ツール活用(tool_use/)
tool_use/ ディレクトリはClaude APIの Function Calling(ツール使用)を実践するnotebook群だ。ファイル数が最も多く、実用的なユースケースが充実している。
主要なnotebook:
| ファイル名 | 内容 |
|---|---|
customer_service_agent.ipynb |
カスタマーサービスエージェントの構築 |
calculator_tool.ipynb |
計算ツールの統合基礎 |
parallel_tools.ipynb |
複数ツールの並列実行 |
tool_use_with_pydantic.ipynb |
Pydanticによる型安全なツール定義 |
memory_cookbook.ipynb |
エージェントメモリの実装 |
programmatic_tool_calling_ptc.ipynb |
プログラム的なツール呼び出し |
extracting_structured_json.ipynb |
構造化JSON出力の抽出 |
vision_with_tools.ipynb |
ビジョン機能とツールの組み合わせ |
threat_intel_enrichment_agent.ipynb |
脅威インテリジェンスエージェント |
automatic-context-compaction.ipynb |
コンテキスト圧縮の自動化 |
また tool_use/context_engineering/ サブディレクトリにはコンテキストエンジニアリングに関する実装が含まれている。
Claude Agent SDK(claude_agent_sdk/)
Claude Agent SDKを活用したエージェント開発のnotebookシリーズ。番号付きのnotebookが段階的な学習を支援する:
00_The_one_liner_research_agent.ipynb # 1行で作るリサーチエージェント
01_The_chief_of_staff_agent.ipynb # チーフオブスタッフエージェント
02_The_observability_agent.ipynb # オブザーバビリティエージェント
03_The_site_reliability_agent.ipynb # SREエージェント
04_migrating_from_openai_agents_sdk.ipynb # OpenAI Agents SDKからの移行
05_Building_a_session_browser.ipynb # セッションブラウザの構築
00番の「1行リサーチエージェント」から始まり、実用的なSREインシデント対応エージェントまで段階的に複雑度が上がる構成は学習コースとして機能している。
マルチモーダル(multimodal/)
画像・ドキュメント処理のnotebook群:
getting_started_with_vision.ipynb # ビジョン機能入門
best_practices_for_vision.ipynb # ビジョンのベストプラクティス
reading_charts_graphs_powerpoints.ipynb # チャート・グラフ・PowerPoint解析
how_to_transcribe_text.ipynb # フォームからのテキスト抽出
using_sub_agents.ipynb # サブエージェントの活用
エージェントパターン(patterns/agents/)
エージェント設計パターンを実装するnotebook群が含まれる:
| ファイル名 | 内容 |
|---|---|
basic_workflows.ipynb |
基本的なワークフロー実装 |
orchestrator_workers.ipynb |
オーケストレーター・ワーカーパターン |
evaluator_optimizer.ipynb |
評価者・最適化器パターン |
機能別(capabilities/)
テキスト分類・RAG・要約・テキストtoSQLなど、汎用的な機能実装が capabilities/ に整理されている。RAGの実装は特に人気が高く、MCPサーバーの作り方ガイドで紹介した外部データ連携とも組み合わせやすい。
この章のポイント
- tool_use/が最も充実:並列実行・Pydantic統合・コンテキスト圧縮まで網羅
- claude_agent_sdk/は番号付きで段階学習できる構成
- capabilities/にはRAG・分類・要約の汎用実装が整理されている
特に注目すべきnotebook:5つのピックアップ解説
1. parallel_tools.ipynb:複数ツールの並列実行
ツール使用の中でも特に実用度が高いのが並列ツール実行だ。Claude APIは1回のレスポンスで複数のツール呼び出しを同時に要求できる。これを活用することで、複数APIへの同時リクエストやデータ収集の高速化が実現できる。
import anthropic
client = anthropic.Anthropic()
tools = [
{
"name": "get_weather",
"description": "指定した都市の天気情報を取得",
"input_schema": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "都市名"}
},
"required": ["city"]
}
},
{
"name": "get_stock_price",
"description": "銘柄の株価を取得",
"input_schema": {
"type": "object",
"properties": {
"ticker": {"type": "string", "description": "ティッカーシンボル"}
},
"required": ["ticker"]
}
}
]
response = client.messages.create(
model="claude-opus-4-5",
max_tokens=1024,
tools=tools,
messages=[{"role": "user", "content": "東京の天気とトヨタの株価を調べてください"}]
)
# stop_reason が "tool_use" の場合、複数のtool_useブロックが返される
for block in response.content:
if block.type == "tool_use":
print(f"ツール: {block.name}, 入力: {block.input}")
2. memory_cookbook.ipynb:エージェントメモリの実装
会話履歴の管理と長期メモリの実装パターンを扱うnotebookだ。RAGベースのメモリ・サマリーメモリ・エンティティメモリの3種類を比較実装している点が特徴的だ。
メモリ実装の選択指針: 短期会話にはサマリーメモリが軽量で有効。ユーザー情報を継続的に覚えさせたい場合はエンティティメモリ。大量のドキュメントを検索したい場合はRAGベースメモリが適切だ。
3. extended_thinking.ipynb:推論過程の可視化
Claude 3.7 Sonnet以降で使えるExtended Thinking機能の基本実装だ。thinking ブロックにモデルの推論過程が格納され、回答の根拠を確認できる。
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-3-7-sonnet-20250219",
max_tokens=16000,
thinking={
"type": "enabled",
"budget_tokens": 10000 # 推論に使えるトークン上限
},
messages=[{
"role": "user",
"content": "フィボナッチ数列の第50項を求め、その計算過程を説明してください"
}]
)
for block in response.content:
if block.type == "thinking":
print("推論過程:", block.thinking[:500])
elif block.type == "text":
print("回答:", block.text)
extended_thinking_with_tool_use.ipynb では、ツール使用とExtended Thinkingを組み合わせた高度な実装例も確認できる。
4. orchestrator_workers.ipynb:エージェントアーキテクチャの実装
patterns/agents/ の中でも実用度が高いのがオーケストレーター・ワーカーパターンだ。複雑なタスクをオーケストレーターが分解し、各ワーカーに割り振る設計を実装している。
このパターンは Claude Managed Agentsの解説記事 でも詳しく紹介しているが、cookbooksのnotebookではコード実装として参照しやすい。
# オーケストレーター・ワーカーの基本構造
def orchestrator(task: str) -> str:
"""タスクを分解してワーカーに割り振る"""
response = client.messages.create(
model="claude-opus-4-5",
max_tokens=1024,
system="あなたはタスクを小さなサブタスクに分解するオーケストレーターです。",
messages=[{"role": "user", "content": f"タスク: {task}\n\nサブタスクに分解してください"}]
)
return response.content[0].text
def worker(subtask: str) -> str:
"""サブタスクを実行するワーカー"""
response = client.messages.create(
model="claude-haiku-3-5", # ワーカーはコスト効率重視で軽量モデル
max_tokens=512,
messages=[{"role": "user", "content": subtask}]
)
return response.content[0].text
5. 00_The_one_liner_research_agent.ipynb:Agent SDKの入門
Claude Agent SDKシリーズの最初のnotebookは「1行で作るリサーチエージェント」というコンセプトが秀逸だ。Agent SDKの run_sync() を使えば、エージェントの実行が数行で完結する。
この章のポイント
- parallel_tools.ipynbは実用性が最も高く、API並列呼び出しに即応用できる
- extended_thinking.ipynbでExtended Thinkingの推論過程を可視化できる
- orchestrator_workers.ipynbはマルチエージェント設計のリファレンス実装
使い方:クローンしてJupyterで動かすまでの手順
環境セットアップ
# リポジトリをクローン
git clone https://github.com/anthropics/claude-cookbooks.git
cd claude-cookbooks
# uv(推奨)または pip で依存パッケージをインストール
uv sync
# または
pip install -r requirements-dev.txt
# APIキーを設定(.env.exampleを参考に)
cp .env.example .env
# .envにANTHROPIC_API_KEYを記入
# Jupyterを起動
jupyter notebook
カテゴリ別の学習パス
どのnotebookから始めるかは、目的によって変わる。以下のMermaid図で学習パスを整理した:
calculator_tool.ipynb
→ parallel_tools.ipynb"] GOAL -->|"エージェント開発"| SDK["claude_agent_sdk/
00_one_liner → 01_chief
→ 03_SRE agent"] GOAL -->|"画像・ドキュメント処理"| MM["multimodal/
getting_started_with_vision
→ best_practices"] GOAL -->|"高度な推論"| ET["extended_thinking/
extended_thinking.ipynb
→ with_tool_use.ipynb"] GOAL -->|"RAG・検索"| CAP["capabilities/
retrieval_augmented_generation
→ third_party/"] GOAL -->|"マルチエージェント"| PAT["patterns/agents/
orchestrator_workers.ipynb
→ managed_agents/"] TU --> ADV["tool_use/context_engineering/
上級: memory_cookbook.ipynb"] SDK --> MA["managed_agents/
CMA_orchestrate_issue_to_pr.ipynb"]
APIキーの取得方法
# 環境変数として設定する方法(推奨)
export ANTHROPIC_API_KEY="sk-ant-..."
# Pythonコード内での設定方法
import anthropic
client = anthropic.Anthropic(api_key="sk-ant-...")
APIキーは Anthropicコンソール で取得できる。無料枠でも主要なnotebookを試せるが、Extended ThinkingやOpusモデルを多用するnotebookはクレジットの消費が速い点に注意が必要だ。
APIコストの注意点: claude-opus-4-5 は claude-haiku-3-5 に比べてトークン単価が大幅に高い。学習目的なら claude-haiku-3-5 でnotebookを動かし、動作確認後に上位モデルに切り替える方法がコスト効率がよい。
この章のポイント
- uv syncでワンコマンド環境構築が可能(pyproject.toml対応)
- 学習パスは目的別に整理。tool_use → claude_agent_sdk の順が入門として最適
- コスト節約のためhaiku-3-5での動作確認を推奨
Google Colabでワンクリック実行:環境構築ゼロで動かす方法
Jupyterを知らなくても大丈夫だ。 ブラウザさえあればGoogleアカウントでそのままnotebookを実行できる。「Pythonの環境構築が面倒で試せていない」という読者向けに、Google Colaboratory(Colab)を使った手順を解説する。
Google Colabとは
Google Colabは、Googleが提供するクラウド上のJupyter Notebook実行環境だ。Pythonの環境構築・パッケージのインストールはすべてクラウド側で行われ、ブラウザだけで動く。GPUも無料枠で使えるため、重い処理にも対応している。
claude-cookbooksのnotebookはすべてJupyter形式(.ipynb)なので、そのままColabで開ける。
方法1:GitHubのnotebookページから「Open in Colab」ボタンを押す
GitHub上でnotebookファイルを開くと、ページ上部に “Open in Colab” バッジが表示されることがある(リポジトリ側がバッジを設置している場合)。バッジをクリックするだけでColabが開く。
バッジがない場合は次の方法2を使う。
方法2:URLを変換してColabで開く
GitHubのnotebook URLを以下のルールで変換するだけで、Colabでそのnotebookをすぐに開ける。
| 変換前(GitHub URL) | 変換後(Colab URL) |
|---|---|
https://github.com/anthropics/claude-cookbooks/blob/main/tool_use/parallel_tools.ipynb |
https://colab.research.google.com/github/anthropics/claude-cookbooks/blob/main/tool_use/parallel_tools.ipynb |
ルール:https://github.com/ を https://colab.research.google.com/github/ に置き換えるだけだ。
# 変換パターン(URLの先頭部分を置き換え)
Before: https://github.com/{owner}/{repo}/blob/{branch}/{path/to/notebook.ipynb}
After: https://colab.research.google.com/github/{owner}/{repo}/blob/{branch}/{path/to/notebook.ipynb}
たとえば extended_thinking.ipynb を開く場合:
https://colab.research.google.com/github/anthropics/claude-cookbooks/blob/main/extended_thinking/extended_thinking.ipynb
上のURLをブラウザのアドレスバーに貼り付ければ、Colabが起動してnotebookが即座に開く。
Colabでの実行手順(APIキー設定まで)
Colabでnotebookを開いた後の手順は以下の通りだ:
# Step 1: Anthropic SDKをインストール(Colabの最初のセルで実行)
!pip install anthropic
# Step 2: APIキーを設定(Colabのシークレット機能を使う方法が安全)
import os
os.environ["ANTHROPIC_API_KEY"] = "sk-ant-..." # または Colab の Secrets を使用
# Step 3: 動作確認
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-haiku-4-5",
max_tokens=256,
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.content[0].text)
APIキーはColabのSecretsに保存しよう: Colabの左サイドバーにある「鍵アイコン」→「シークレットを追加」で ANTHROPIC_API_KEY を登録すると、コードにAPIキーをそのまま書かずに済む。ノートブックを共有・公開しても鍵が漏れないため推奨の方法だ。
# Colabのシークレットを使う場合
from google.colab import userdata
import os
os.environ["ANTHROPIC_API_KEY"] = userdata.get("ANTHROPIC_API_KEY")
ローカル環境 vs Colabの使い分け
(uv / pip + Jupyter)
高速・ファイル保存が楽"] Q1 -->|"まず試したい"| COLAB["Google Colab
(ブラウザのみ)
環境構築ゼロ"] COLAB --> Q2{重い処理がある?} Q2 -->|"GPU必要"| GPU["Colab Pro / GPU有効化"] Q2 -->|"APIコールのみ"| FREE["無料枠で十分"] LOCAL --> PROD["本番開発・CI統合へ"]
Colabのセッションタイムアウトに注意: Colabは一定時間操作がないとセッションが切れ、インストールしたパッケージや変数がリセットされる。長時間の実験はローカル環境を推奨する。無料枠ではランタイムの連続使用時間に上限がある点も覚えておきたい。
この章のポイント
- GitHubのURL先頭を
colab.research.google.com/github/に変換するだけでColabで開ける - APIキーはColabのシークレット機能に登録すると安全に管理できる
- 環境構築なしで試すにはColab、本番開発にはローカル環境の使い分けが最適
公式ドキュメント・SDKとの位置づけ:何が違うのか
claude-cookbooksは、Anthropicが提供する他のリソースと役割が明確に分かれている。
| リソース | 目的 | 形式 | 対象 |
|---|---|---|---|
| Anthropic公式ドキュメント | APIリファレンス・概念説明 | Webドキュメント | 全開発者 |
| claude-cookbooks | 実装パターンのコード例 | Jupyterノートブック | 開発者 |
| Anthropicコース | 体系的な学習コース | ノートブック+テキスト | 入門者 |
| anthropic Python SDK | SDKのソースコード | Python package | SDK利用者 |
| Claude Agent SDK | エージェント開発SDK | Python package | エージェント開発者 |
cookbooksの最大の特徴は「動く実装例」であることだ。公式ドキュメントでは概念が説明されるが、cookbooksでは「この用途ならこのコードパターンを使う」という実装の手本が確認できる。ドキュメントで概念を理解し、cookbooksで実装を確認するという使い分けが最も効率的だ。
anthropic-cookbookとの関係
READMEの「Table of recipes」にある多くのリンクは anthropics/anthropic-cookbook(ハイフンなしのcookbook)を指している。これはclaude-cookbooksよりも以前から存在するリポジトリで、現在もAnthropicが並行メンテナンスしている。
anthropic-cookbook(旧来): ツール使用・RAG・サードパーティ連携など幅広いレシピclaude-cookbooks(新しい構成): Agent SDK・Managed Agentsなど最新機能に注力
両リポジトリを合わせて参照することで、より網羅的な実装例にアクセスできる。
この章のポイント
- cookbooksは「動く実装例」として公式ドキュメントを補完するリソース
- claude-cookbooksは最新のAgent SDK・Managed Agentsに注力した構成
- anthropic-cookbookと合わせて参照すると網羅的な学習が可能
managed_agents/:最新の実用エージェント実装
managed_agents/ ディレクトリはClaude Managed Agents(CMA)を活用した実用的なエージェント実装の宝庫だ。
収録されているnotebook一覧:
| ファイル名 | ユースケース |
|---|---|
CMA_explore_unfamiliar_codebase.ipynb |
未知のコードベース探索 |
CMA_gate_human_in_the_loop.ipynb |
人間による承認フローの実装 |
CMA_iterate_fix_failing_tests.ipynb |
失敗テストの自動修正 |
CMA_operate_in_production.ipynb |
本番環境でのエージェント運用 |
CMA_orchestrate_issue_to_pr.ipynb |
IssueからPRまでの自動化 |
CMA_prompt_versioning_and_rollback.ipynb |
プロンプトのバージョン管理 |
data_analyst_agent.ipynb |
データ分析エージェント |
slack_data_bot.ipynb |
Slack連携ボット |
sre_incident_responder.ipynb |
SREインシデント対応エージェント |
CMA_orchestrate_issue_to_pr.ipynb は実用性が特に高い。GitHubのIssueを受け取り、コード修正・テスト実行・PR作成までを自動化するエンドツーエンドの実装例だ。Claude Managed Agentsの解説と合わせて参照することで、実際のCI/CDパイプラインへの組み込みイメージが具体化する。
# managed_agents の基本的な使い方例
from anthropic import Anthropic
client = Anthropic()
# CMA を使ったタスク実行(概念コード)
result = client.beta.messages.create(
model="claude-opus-4-5",
max_tokens=4096,
tools=[
{"type": "bash_20250124", "name": "bash"},
{"type": "text_editor_20250429", "name": "str_replace_based_edit_tool"},
],
messages=[{
"role": "user",
"content": "このリポジトリのREADMEにバッジを追加するPRを作成してください"
}],
betas=["computer-use-2024-10-22"]
)
この章のポイント
- managed_agentsはIssue→PR自動化・SREインシデント対応など実用的な実装例を網羅
- Human-in-the-loop(人間承認フロー)の実装パターンも含まれる
- 本番運用を想定した設計パターンが学べる唯一のセクション
コントリビュートの仕組みと活用のヒント
claude-cookbooksはコミュニティへの貢献を歓迎しており、CONTRIBUTING.md にガイドラインが整備されている。Issueページへのアイデア投稿から、新しいnotebookのPRまで対応している。
実際にコードを触る際のヒント
-
.env.exampleを参考に環境変数を設定する:各ディレクトリに.env.exampleが用意されており、必要なAPIキーや設定が把握できる -
uvを使った依存管理:pyproject.toml/uv.lockが整備されているためuv syncで環境を一発構築できる -
pre-commitフックが設定済み:
.pre-commit-config.yamlでコード品質チェックが設定されている。PRを出す際はpre-commit run --all-filesを事前に実行しておくとよい -
tox.ini でテスト実行:
toxコマンドで全notebookのテストを実行できる。tests/ディレクトリにテストが整備されている
# 開発環境のセットアップ(コントリビューター向け)
git clone https://github.com/anthropics/claude-cookbooks.git
cd claude-cookbooks
uv sync
pre-commit install
# テスト実行
tox
# 特定ディレクトリのnotebookのみ実行
cd tool_use
jupyter nbconvert --to notebook --execute parallel_tools.ipynb
公式ドキュメントやSDKへの参照リンクも充実しており、claude-cookbooksを起点に Anthropic開発者ドキュメント への導線がREADMEに整理されている。
この章のポイント
- uv syncでワンコマンド開発環境構築、toxでテスト実行が可能
- pre-commitフックが整備されており、PR提出前のコード品質チェックが容易
- コントリビュートはIssueへのアイデア投稿から気軽に始められる