CLAUDE LABEN
FORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられていますFORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられています
記事一覧/Claude Code
Claude Code/2026-04-17上級

Claude Code SDK でカスタム自律エージェントを実装する — 公式 CLI を超えた独自ループ設計の実践

Claude Code SDK の内部構造を理解し、公式 CLI では制御しきれない自律エージェントループを Python/TypeScript で実装します。ツール許可・エラー回復・ストリーミングに加え、課金変更後のコスト計測とモデル棚卸しまで、実運用で使っているパターンを共有します。

claude-code129SDK4エージェント13自律エージェント4Python17TypeScript24MCP45自動化69

プレミアム記事

Claude Code を使い込んでいると、ある壁にぶつかります。「もっと細かく制御したい」「このタイミングで割り込みたい」「バッチ処理でヘッドレス実行したい」——そういった要望が出てきたとき、公式 CLI のオプションだけでは限界があります。

実は Claude Code は CLI の裏側に SDK が存在しており、Python または TypeScript から直接操作できます。SDK を使うと、ツールの実行を自分でハンドリングしたり、ストリーミングイベントを細粒度で処理したり、複数エージェントをプログラマブルに協調させたりといった、CLI では実現できない制御が可能になります。

ここでは SDK の内部構造から実際の実装パターンまで、本番で使えるレベルで解説します。コードは動作確認済みで、エラーハンドリングも含めた実用的な内容です。

私自身、個人開発のアプリ運用と並行して複数の技術ブログを運営しており、記事の整形や日英の整合性チェックといった定型作業を SDK ベースの自律ループに任せております。深夜も人手を挟まず静かに回り続ける仕組み。一度形になると、もう手放せません。本文のコード例は、その運用のなかで実際に使っている計測と回復のパターンが土台になっています。

SDK が提供するものと、CLI との違い

まず、Claude Code SDK が何者なのかを整理しておきます。

Claude Code CLI(claude コマンド)は人間が対話的に使うことを想定して設計されています。入力プロンプトを受け取り、許可確認を行い、ファイル操作やコマンド実行をインタラクティブに進める——このフローは人間との対話には最適ですが、自動化パイプラインには向いていません。

SDK はこの制約を解消します。プログラムから Claude を呼び出し、ツール実行の可否を独自ロジックで判断し、結果を構造化されたデータとして受け取れます。具体的に何が変わるかというと:

  • ツール許可の自動化: allowed_tools パラメータでリストを渡せば、個別の確認なしにツールが実行されます
  • イベントのプログラマブルな処理: tool_usetextresult などのイベントを1つ1つハンドリングできます
  • セッション管理: セッション ID を持ち越してコンテキストを継続できます
  • 並列実行: 複数の Claude インスタンスを同時に起動して協調させられます

特に自動化や CI/CD 環境でのコード生成、定型タスクのバッチ処理には SDK が必須です。

Python SDK のセットアップと基本構造

まず Python 環境でのセットアップから始めます。

# SDK をインストール
pip install claude-code-sdk
 
# Claude Code CLI も必要(SDK の裏側で使われる)
npm install -g @anthropic-ai/claude-code
 
# 認証確認
claude --version

Python SDK の基本的な使い方です。最初は同期版から理解すると分かりやすいです:

import asyncio
from claude_code_sdk import query, ClaudeCodeOptions
 
async def run_simple_agent():
    """最もシンプルなエージェント実行の例"""
    
    options = ClaudeCodeOptions(
        max_turns=5,           # 最大ターン数(無限ループ防止に必須)
        allowed_tools=["Read", "Write", "Bash"],  # 許可するツール
    )
    
    # query() はメッセージのストリームを返す非同期ジェネレータ
    async for message in query(
        prompt="src/app.py を読んで、改善点を3つ挙げてください",
        options=options
    ):
        # メッセージタイプに応じて処理を分岐
        if message.type == "assistant":
            for block in message.content:
                if block.type == "text":
                    print(f"Claude: {block.text}")
        
        elif message.type == "result":
            print(f"\n完了 — 合計コスト: ${message.cost_usd:.4f}")
            print(f"実行ターン数: {message.num_turns}")
            break
 
asyncio.run(run_simple_agent())

このコードを実行すると、Claude が src/app.py を読み込み、分析結果をストリームで受け取れます。max_turns=5 が重要で、これを設定しないとエージェントが終わらないケースが稀に発生します(後述)。

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

この記事の続きを読む

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

この記事で得られること
SDK ヘッドレス実行の1回あたりコストを ResultMessage から自動記録する計測コードと、実運用での実測分布(平均 $0.04〜0.12)
既定モデルの切り替わりや fast mode 廃止で自律ループを止めないための、モデル固定と月次棚卸しチェックリスト5項目
自前 SDK ループ・CLI・Managed Agents の使い分け判断基準(2026年前半の環境変化を踏まえた実運用の結論)
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Claude Code2026-03-20
Claude Code カスタムスキル開発の実装パターン — SKILL.md 設計とテスト・配布
Claude Code のカスタムスキルをゼロから設計・実装する実践チュートリアル。SKILL.md の構造、エージェントタイプ、コンテキスト注入、テスト手法まで、3つの実用スキルを作りながら学びます。
Claude Code2026-05-25
Claude Code と GitHub Actions で 4 サイトの自動投稿パイプラインを 7 ヶ月運用して見えてきた品質ゲート設計
Claude Code とスケジュールタスクで Lab 4 サイトに毎日 16 本の記事を自動投稿してきた中で、Helpful Content System のインデックス崩壊を経験してから設計し直した品質ゲート、トークン管理、ロールバック手順を実装サンプル込みでまとめます。
Claude Code2026-05-23
Claude Code の Skill・Subagents・Rules を組み合わせて、社内プロジェクトを 1 時間以内に動かす:個人運用に落とし込んだ実装パターン
Claude Code の Skill・Subagents・Rules を組み合わせて、後回しになりがちな社内プロジェクトの 1 週間分のタスクを 1 時間で完了させる仕組み。SonicGarden の実装を起点に、個人開発で 12 年回してきた運用感覚に落とし込んだ構成と落とし所をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →