DEV Community

Cover image for OpenAI エージェントAPI、レスポンスAPI、エージェントSDK、エージェントキット 比較:どれで開発すべきか
Akira
Akira

Posted on Originally published at apidog.com

OpenAI エージェントAPI、レスポンスAPI、エージェントSDK、エージェントキット 比較:どれで開発すべきか

これら4つの名前は異なるレイヤーにあります。選定時にまず確認すべき問いは、「誰がエージェントループを実行するのか?」です。Responses APIはモデル呼び出しであり、ループはあなたのコードで実装します。Agents SDKは、アプリケーション内でランナーがループを実行するTypeScript/Pythonライブラリです。2026年9月10日から公開ベータ版のAgents APIは、OpenAIのCodexハーネスを実行し、セッションと任意のサンドボックスを維持します。AgentKitは2025年10月にリリースされたAgent Builder、ChatKit、Connector Registry、Evalsのバンドルで、Agent Builderは2026年11月30日にシャットダウン予定です。

今すぐApidogを試す

9月29日のDevDayでAgents APIにコンピューター利用機能が追加され、選択肢の違いを理解する重要性が高まりました。詳細はDevDay 2026まとめを参照してください。この記事では、ループの実行主体、コンピューティング、状態、コスト、成熟度を比較し、既存のResponses APIループをAgents APIへ移行する手順を示します。セッションと承認の実装はOpenAI Agents APIガイドも参照してください。HTTPリクエストの検証にはApidogを利用できます。

OpenAIエージェントのオプション比較

Agents API Responses API Agents SDK AgentKit
何であるか Codexハーネス上のマネージドエージェントランタイム モデルエンドポイント、POST /v1/responses TypeScriptおよびPython用ライブラリ Agent Builder、ChatKit、Connector Registry、Evalsのバンドル
誰がループを実行するか OpenAI あなたのコード アプリケーション内のSDKランナー Agent Builderワークフロー、SDKコードへエクスポート、またはChatKitへ組み込み
コンピューティングの実行場所 OpenAIホスト型サンドボックス、独自サンドボックス、またはなし あなたの環境、およびホスト型ツール あなたのランタイムとサンドボックスプロバイダー 該当なし
状態の保存場所 OpenAIセッション: 設定、ターン、アイテム 履歴、previous_response_id、またはConversations API 独自ストレージ、SDKセッション、またはResponsesの状態 公開・バージョン管理されたワークフロー
支払い内容 トークン、ツール、ホスト型コンテナ。追加料金なし トークンとツール トークン、ツール、ホスティング費用 基盤APIの使用料。個別サブスクリプションなし
統合の労力(OpenAIによる) 低 高 中 評価なし
ステータス 公開ベータ版(OpenAI-Beta: agents=v1) すべての新規プロジェクトに推奨 現行 Agent BuilderとEvalsは2026年11月30日にシャットダウン予定。ChatKitは継続
データ制御 米国データレジデンシーのみ。ZDR非対象。削除まで状態を保持 ZDR対象(制限あり)。地域別エンドポイントあり 呼び出すAPIに依存 該当なし

出典: OpenAIのエージェントランタイム比較、Agents API概要、非推奨ページ。

誰がループを実行するのか

実装方針は、ループを誰が所有するかで決まります。

Responses API: あなたのコードが実行する

Responses APIでは、独自関数ツールの呼び出しと再実行ループをアプリケーションで処理します。ウェブ検索、ファイル検索、コードインタプリタ、リモートMCPなどのホスト型ツールは1リクエストで複数回呼び出される場合があります。一方、独自関数はfunction_callとして返されます。

実装フローは次のとおりです。

  1. POST /v1/responsesを呼び出す
  2. レスポンスのfunction_callを検出する
  3. 指定された関数を実行する
  4. 同じcall_idを持つfunction_call_outputを次のリクエストへ送る
  5. モデルが最終応答を返すまで繰り返す

履歴の保存方法、停止条件、長いコンテキストを圧縮するタイミングも実装側で決めます。レスポンスはデフォルトで保存されますが、store: falseで無効化できます。長い会話ではcontext_managementとcompact_thresholdを使用します。

実装例はResponses APIガイドと関数呼び出しガイドを参照してください。

Agents SDK: あなたのプロセスが実行する

Agents SDKでは、SDKランナーがエージェントループとハンドオフを処理します。ただし、デプロイメント、ツール実装、状態ストレージ、承認判断はあなたのサーバーが所有します。

この方式は、以下を自分で制御したい場合に適しています。

  • 型付きのアプリケーションコードでツールを実装したい
  • 認証・認可を自社サービス内に置きたい
  • 監査ログや人間による承認フローを管理したい
  • ストレージと会話状態の保存先を制御したい

サンドボックスエージェントを使用する場合も、ハーネスは自分のインフラストラクチャに置けます。コマンドはUnixローカル、Docker、またはホスト型プロバイダーのワークスペースで実行し、認証・監査ログ・人間レビューはコンテナ外で維持できます。

Agents API: OpenAIが実行する

Agents APIでは、OpenAIのマネージドハーネスがセッション、オーケストレーション、コンテキスト圧縮、リカバリを処理します。サブエージェント、ツール検索、プログラムによるツール呼び出しも利用できます。リモートMCPサーバーはOpenAIが直接呼び出します。

独自関数ツールを使う場合のみ、アプリケーション側で結果を返します。セッションがrequired_actions内にfunction_callを報告したら、turn_idとcall_idを含むagent.session.input.tool_resultイベントを送信します。

同じタスクを両方のAPIで実行する例です。

# Responses API: 1回のモデル呼び出し。ループはあなたのコードが所有する
curl https://api.openai.com/v1/responses \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "reasoning": {"effort": "low"},
    "tools": [{"type": "web_search"}],
    "input": "Summarize the breaking changes in the latest Node.js release."
  }'

# Agents API: 永続的なセッション。ループはOpenAIが所有する
curl https://api.openai.com/v1/agents/sessions \
  -H "OpenAI-Beta: agents=v1" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent": {
      "model": "gpt-6-astra",
      "tools": [{"type": "web_search"}]
    },
    "environment": {"type": "none"},
    "input": "Summarize the breaking changes in the latest Node.js release."
  }'
Enter fullscreen mode Exit fullscreen mode

Agents APIドキュメントの例ではgpt-6-astraが使われています。他モデルが受け入れられるかは明記されていないため、gpt-6.1-solなどに変更する前に確認してください。

コンピューティング、状態、コスト

コンピューティング

Agents APIでは、セッションに対するサンドボックスをプロビジョニング・管理できます。environment.typeには次の値を設定します。

  • openai_hosted
  • self_hosted
  • none

Agents SDKでは、サンドボックスプロバイダーの選定とコスト負担はあなた側です。Responses APIでは、ホスト型ツールを除くコードはあなたが実行する環境で動作します。

状態

状態管理の実装は選択肢ごとに異なります。

  • Agents API: OpenAI側のセッションが設定、ターン、アイテムを保持する。同じセッションIDにイベントを送って会話を継続する。
  • Responses API: previous_response_idでレスポンスを連結するか、Conversations APIを利用する。
  • Agents SDK: 独自ストレージ、SDKセッション、またはResponses APIの状態管理を利用する。

コスト

同じモデルを呼び出す場合、トークン価格は選択肢によらず同じです。違いは実行環境の費用です。

  • Agents API: 追加料金なし。ただしホスト型コンテナには20分セッションあたり0.03ドル(1GB)から0.48ドル(16GB)の費用がかかる。
  • Agents SDK: トークン・ツール費用に加え、自分で運用するホスティング費用がかかる。
  • AgentKit: 個別サブスクリプションはない。詳細はAgentKit解説を参照。

データ要件

Agents APIは米国データレジデンシーのみをサポートし、自己ホスト型サンドボックスを使用する場合もZDRをサポートしません。OpenAIのデータ管理ページでは、/v1/agentsはZDR対象外で、状態は削除されるまで保持されると説明されています。

一方、/v1/responsesは制限付きでZDR対象であり、eu.api.openai.comなど地域別エンドポイントを使用できます。ZDRまたはEUデータレジデンシーが必須なら、現時点でAgents APIは選択肢から除外します。

2026年後半のAgentKit: 残されたもの

AgentKitは2025年10月6日に4要素としてリリースされました。現在の扱いを確認しておきましょう。

  • Agent Builder: 2026年6月3日に非推奨が発表され、2026年11月30日にシャットダウン予定です。移行ガイドに従い、ワークフローをAgents SDKコードへエクスポートするか、ビジネス・エンタープライズ・教育機関向けのChatGPT Workspace Agentとして再作成します。
  • Evals: 既存評価は2026年10月31日に読み取り専用となり、ダッシュボードとAPIは11月30日にシャットダウン予定です。
  • ChatKit: 組み込みチャットUIとして継続利用できます。
  • Connector Registry: OpenAI製品全体でコネクタとMCPサーバーを管理するパネルです。

耐久性のあるコードファーストの移行先はAgents SDKです。詳細はAgentKitガイドを参照してください。

どれを基盤にするか

選択肢 選ぶ条件
Agents API タスクが数分間実行され、ファイル・コマンド・ブラウザを使う。ループ、サンドボックス、セッションストレージを運用したくない。米国レジデンシーとベータヘッダーを許容できる。
Responses API 単一呼び出しから始めたい。全ターンを制御したい。ZDRまたは米国外のデータレジデンシーが必要。すでに動作する独自ループがある。
Agents SDK 型付きアプリケーションコードでツール、ストレージ、承認、ハンドオフを所有したい。ループを自社インフラストラクチャで実行する必要がある。
ChatKit プロダクトへ組み込みチャットUIを追加したい。
Agent Builder 新規開発の開始点にはしない。既存ワークフローは2026年11月30日までにエクスポートする。

AWSでは、OpenAIを搭載したBedrock Managed Agentsにより、Agents APIのコア機能をAWSネイティブで実行できます。コードファーストのいずれの方式でもMCPを接続する場合は、OpenAIエージェントによるMCPサーバーを参照してください。

独自のResponsesループからAgents APIへの移行

Responses APIでループを実装済みで、実行をOpenAIへ委譲したい場合は次の順序で移行します。

  1. 要素をマッピングする

    命令、モデル、ツールはagentへ移します。コンテナ設定はenvironmentへ移し、会話ストアはセッションIDに置き換えます。

  2. リモートMCPサーバーをagent.toolsへ移す

    トークンをプロンプトへ含めず、vault_idsでアタッチするボールトに格納します。

  3. 関数ツール処理を書き換える

    function_call_outputを送るResponses APIループを、次のハンドラへ置き換えます。

    • ストリーム利用時: agent.session.requires_action
    • Webhook利用時: agent.session.action_required

ハンドラではagent.session.input.tool_resultを返します。サブエージェントは関数ツールを呼び出せないため、関数ツールはメインエージェントに残します。

  1. 独自の圧縮処理を削除する

    Agents APIのハーネスがコンテキストを自動圧縮します。

  2. ポーリングではなくイベントを監視する

    以下のターン結果イベントをストリームまたはWebhookで処理します。

    • agent.session.turn.completed
    • agent.session.turn.failed
    • agent.session.turn.cancelled

セッションがアイドル状態であることは、成功を意味しません。

  1. 制約をデプロイ前に確認する 米国データレジデンシーのみ、ZDR非対応、OpenAI-Beta: agents=v1ヘッダー必須という条件を確認します。

Apidogプロジェクトで両方を管理する

移行前に旧実装と新実装を並行してテストします。1つのApidogプロジェクト内で、次の構成を作成してください。

OpenAI Agent Migration/
├── Responses/
│   ├── Create response
│   └── Submit function_call_output
├── Agents API/
│   ├── Create session
│   ├── Send tool result
│   └── Stream turn events
└── Environments/
    └── OPENAI_API_KEY, MODEL
Enter fullscreen mode Exit fullscreen mode

実施手順は次のとおりです。

  1. ResponsesとAgents APIのフォルダーを作成する。
  2. {{OPENAI_API_KEY}}とモデル変数を持つ共通環境を作成する。
  3. 両方の実装に同一プロンプトを送信する。
  4. ステータスコードと必須出力フィールドをアサートする。
  5. Agents APIのストリームをSSEリクエストとして開き、ターンイベントを確認する。
  6. 実行をテストシナリオとして保存する。
  7. Apidog CLIでCI実行し、ベータ版の仕様変更を失敗したチェックとして検出する。

アサート対象の設計は本番AIエージェントの信頼性ガイドを参照してください。Apidogをダウンロードして、まず既存Responses APIリクエストをインポートするところから始めましょう。

よくある質問(FAQ)

Agents APIはResponses APIに置き換わるものですか?

いいえ。非推奨の発表はありません。OpenAIのエージェント概要では、Agents API、Agents SDK、Responses APIが異なるニーズに対応する選択肢として示されています。

OpenAI AgentKitは非推奨ですか?

部分的に非推奨です。Agent BuilderとEvalsは2026年11月30日にシャットダウン予定ですが、ChatKitは継続します。

Agents SDKはAgents APIを使用しますか?

いいえ。Agents SDKはあなたのアプリケーション内で動作し、Agents APIはOpenAIサービス内でマネージドハーネスを動作させます。

Assistants APIはどうなりましたか?

OpenAIの非推奨ページによると、2026年8月26日に削除予定です。開発者にはResponses APIとConversations APIの使用が推奨されています。

最も安価な選択肢はどれですか?

トークン価格は共通です。差が出るのは、Agents APIのホスト型コンテナ費用と、SDKまたはResponses APIで自己ホストする際のインフラ費用です。

今週中に1つのパスを選択する

まず、エージェントループを誰が実行すべきかを決めてください。その後、アプリケーション実装の前にHTTPリクエストで検証します。

新規プロジェクトでは、まず1つのAgents APIセッションを作成し、Apidogで既存のResponses API設定と同じプロンプトを実行して比較するのが実践的です。

Top comments (0)