Claude CodeAnthropic の機能

FEATURE

Agent SDK

Agent SDK は、Claude Code を動かしているものと同じツール、エージェントループ、コンテキスト管理を、Python と TypeScript からプログラムで扱えるライブラリです。

提供中公式発表と照合済み
初出未調査
ページ更新
提供状態提供中
公式の記載で確認できた環境ターミナル
提供を確認できたプラン公式に記載なし
目次 CONTENTS
  1. できること
  2. 機能解説
  3. 使い方
  4. 利用シーン
  5. ChatGPT・OpenAI の対応する機能
  6. これまでの変更
  7. 関連する機能
  8. 出典
CAN DO

できること

POINT 01

エージェントを自社アプリに組み込む

Claude Code のエージェントを、自社で運用するプロセスの中の Python または TypeScript アプリケーションに組み込めます。Claude Code と同じツール、エージェントループ、コンテキスト管理を使います。

POINT 02

組み込みツールとサブエージェント

ファイルの読み取り・書き込み・編集、コマンドの実行、Web 検索の組み込みツールを使えます。焦点を絞ったサブタスク向けに、専門のサブエージェントを起動することもできます。

POINT 03

フックと許可で動作を制御

フックで、エージェントのライフサイクルの要所で独自のコードを実行できます。許可の設定で、自動で実行するツールと承認が必要なツールを分けられます。

GUIDE

機能解説

概要

Claude Code のバイナリを実行するライブラリで、Claude Code のエージェントを、自社で運用するプロセスの中の Python または TypeScript アプリケーションに組み込めます。コーディングエージェントを対話画面からではなく、プログラムから呼び出して動かす場面に関わる機能です。

Agent SDK は Claude Code のバイナリを実行するライブラリで、組み込みツール、許可、セッション、フックといった Claude Code の機能を備えています。主な機能は次のとおりです。

  • Built-in tools (組み込みツール): ファイルの読み取り・書き込み・編集、コマンドの実行、Web 検索
  • Hooks (フック): エージェントのライフサイクルの要所で独自のコードを実行
  • Subagents (サブエージェント): 焦点を絞ったサブタスク向けに専門のエージェントを起動
  • MCP: Model Context Protocol で外部のツールやデータソースを接続
  • Permissions (許可): 自動で実行するツールと承認が必要なツールを制御
  • Sessions (セッション): やり取りをまたいでコンテキストを保ち、後から再開 (resume) や分岐 (fork) が可能
  • Skills, commands, and memory: Claude Code と同じく、プロジェクトの .claude/ と ~/.claude/ から自動で読み込み
  • Plugins (プラグイン): スキル、エージェント、フック、MCP サーバーをまとめたもので、ローカルのパスを指定して読み込み

管理者・導入時に確認したい点

  • 設定の読み込み元: スキル、コマンド、メモリーは、プロジェクトの .claude/ と ~/.claude/ から自動で読み込まれます。
  • 許可の記録先: SDK ホストは Bash の許可プロンプトで永続的な localSettings の提案を受け取り、「Always allow」を選ぶと .claude/settings.local.json に書き込まれます。
  • 許可モードの既定: 許可モードを設定していない Agent SDK のセッションは、サードパーティプロバイダ上、テレメトリ無効時、新規インストール時に default モードで開始します。--permission-mode auto を指定すると auto モードのままです。
  • 管理者ポリシーとのマージ: 管理者向けキー parentSettingsBehavior ('first-wins' または 'merge') で、SDK の managedSettings (parent tier) をポリシーのマージに含めるかを選べます。
  • ログイン方法の強制: Enterprise の forceLoginMethod は、ターミナルだけでなく SDK のログインにも適用されます。
  • インプロセスの MCP サーバー: インプロセスの MCP サーバーを登録できるのは SDK ホストアプリケーションだけです。.mcp.json、設定、プラグイン、エージェントファイルにある "type": "sdk" の MCP エントリは、警告付きでスキップされます。

対象プランは、公式のリリースノートには記載がありません。

HOW TO USE

使い方

USE CASES

利用シーン

CASE 01

自社の Python または TypeScript アプリケーションに、ファイルの編集やコマンドの実行を行うコーディングエージェントを組み込む場面に使えます。

CASE 02

人が画面で応答しない非対話・無人のセッションとして、プログラムからエージェントを実行する場面に使えます。

CASE 03

社内の外部ツールやデータソースを MCP で接続し、エージェントから扱う場面に使えます。

CASE 04

フックと許可の設定で、エージェントが自動で実行してよい操作と承認が必要な操作を、自社の方針に沿って分ける場面に向いています。

COMPARISON

ChatGPT・OpenAI の対応する機能

比較の単位となる業務: コーディングエージェントのプログラムからの組み込み・非対話実行

Agent SDK は Claude Code のバイナリを実行するライブラリで、エージェントは自社で運用するプロセスの中で動きます。これに対し Agents API はマネージドな Codex ハーネスでエージェントを構築するもので、セッションのオーケストレーション、コンテキスト圧縮、復旧は OpenAI が担います。実行場所は、OpenAI ホストのサンドボックスか、自社インフラまたは対応プロバイダーのサンドボックスを接続する形です。

セッションと MCP については、Agent SDK はやり取りをまたいでコンテキストを保ち、再開や分岐ができ、MCP で外部のツールやデータソースを接続できます。Agents API も永続的なセッションでターンをまたいで作業を継続でき、独自のツールや MCP サーバーを接続できます。

対応言語では、Agent SDK は Python と TypeScript から扱えます。Codex SDK にも TypeScript SDK と Python SDK があり、Agents SDK は TypeScript で利用でき、サンドボックスエージェントとオープンソースのハーネスを組み込んでいます。

TIMELINE

これまでの変更

  1. Agent SDK のフックコールバックに onFailure: "block" が追加され、失敗したコールバックが操作を実行させずにブロックできるようになりました。

  2. 許可モード未設定の Agent SDK セッションが、サードパーティプロバイダ上・テレメトリ無効時・新規インストール時に default モードで開始するよう変更されました。fork サブエージェント (subagent_type: "fork") が Agent SDK で既定で有効になりました。

  3. バックグラウンドコマンドの時間制限が、Agent SDK を含む無人セッションにだけ適用されるようになりました。SDK セッションで priority "now" で送ったメッセージが、実行中の web fetch や web search を中断せず、バックグラウンドで読み込みを続けるようになりました。サードパーティプロバイダ上またはテレメトリ無効時の Python Agent SDK セッションが、許可モード未設定の場合に auto モードで開始するよう変更されました。

  4. 設定ファイルなどにある "type": "sdk" の MCP エントリが警告付きでスキップされるようになりました。

  5. ヘッドレス/SDK セッションで set_model 制御リクエストがターンの途中で適用され、次のモデル往復から新しいモデルが使われるようになりました。Enterprise の forceLoginMethod が SDK のログインにも適用されるようになりました。

  6. SDK/ヘッドレスでの MCP 起動時の事前待機が、最初のターンの前にブロックするのではなく、起動処理と並行して行われるようになりました。

  7. 管理者向けキー parentSettingsBehavior が追加されました。

  8. SDK ホストが Bash の許可プロンプトで永続的な localSettings の提案を受け取るようになりました。

  9. SDK と claude -p の非対話セッションで CLAUDE_CODE_FORK_SUBAGENT=1 が機能するようになりました。SDK の mcp_authenticate が、カスタムスキームでの完了と claude.ai コネクタ向けに redirectUri をサポートしました。

  10. SDK の query() が、利用側が for await から抜けたときや await using を使ったときに、サブプロセスと一時ファイルを後片付けするようになりました。

  11. 長い会話を持つ SDK セッションで、トランスクリプトの書き込み時に処理が二次関数的に遅くならなくなりました。また、--resume のピッカーに、claude -p や SDK の呼び出しで作成したセッションが表示されなくなりました。

SOURCES

出典

出典 14 件を表示