For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション

Agents API

マネージド Codex ハーネスで、状態を永続化できるクラウドエージェントを構築します。

Agents API を使うと、OpenAI が管理する API を通じて、アプリケーションから Codex ハーネスにアクセスできます。

OpenAI がセッション、オーケストレーション、コンパクション、復旧を管理し、アプリケーション側ではツールを提供して実行環境を選択します。

エージェントはサンドボックス内で動作し、コードの実行、ファイルの編集、MCP サーバーへの接続、成果物の作成を行えます。

料金

モデルの使用料金は、選択したモデルの API 料金に基づいて請求されます。OpenAI のツールには標準料金が適用され、OpenAI がホストするサンドボックスには標準のコンテナ料金が適用されます。

サンプルの実行

以下の一通り動作するサンプルをお試しください。

完成したアプリケーションの例もご覧ください。

基本コンセプト

Agents API は、主に次の 4 つのコンセプトで構成されています。

  • エージェント: エージェントが利用できるモデル、指示、ツール、MCP サーバー
  • 環境: エージェントがファイルへのアクセス、スキルの読み込み、コマンドの実行を行う、任意で設定できるサンドボックスまたはコンピューター
  • セッション: タスクを処理し、入力に応答する、状態が永続化されるエージェントのインスタンス
  • イベントとアイテム: エージェントに送信される入力と、セッション中に生成される出力

セッションの開始から終了まで

クイックスタートでは、OpenAI がホストするサンドボックスを使って、次の流れを試せます。

  1. セッションを作成します。 エージェントを設定すると、OpenAI がその環境をプロビジョニングします。
  2. タスクを渡します。 環境の準備が整うと、ユーザーの入力によって作業のターンが始まります。
  3. 進捗を確認します。 出力のストリーミングや Webhook を使って、エージェントの作業完了や入力が必要になったタイミングを把握します。
  4. 作業を続けるか、指示を追加します。 同じセッションに別のタスクを送信するか、現在のターンの途中でエージェントに指示を与えます。

OpenAI がホストするセッションでは、アプリケーションが入力を送信してイベントを受信し、OpenAI がエージェントの実行とサンドボックスのプロビジョニングおよび管理を行います。設定方法と制限については、環境の選択肢をご覧ください。

アプリケーションがセッションを開始し、Agents API からイベントと出力を受信します。OpenAI がマネージド Codex ハーネスを実行し、そのサンドボックスをプロビジョニングして管理します。

マネージドハーネスが提供する機能

マネージド Codex ハーネスは、次の機能をサポートしています。

  • サンドボックス内でのコマンドとコードの実行
  • 適切なスキルと指示の適用
  • ツールや MCP を介した外部データへの接続
  • 作業中のエージェントへの指示の追加
  • 過去の作業の要約によるコンテキストウィンドウの管理
  • 作業のサブタスクへの分割とサブエージェントへの委任
  • 中断した時点からのセッションの再開

API キーの権限と SDK のセットアップについては、クイックスタートの前提条件を確認してください。これらの機能は、セッションを作成するときに設定します。

マネージドハーネスの機能設定
from openai import OpenAI

client = OpenAI()

session = client.beta.agents.sessions.create(
    agent={
        "model": "gpt-6-astra",
        "instructions": "Use the OpenAI documentation MCP and web search to answer technical questions accurately. Delegate independent research tasks to subagents when useful.",
        "tools": [
            {"type": "programmatic_tool_calling"},
            {
                "type": "mcp",
                "server_label": "openai_docs",
                "transport": {
                    "type": "http",
                    "server_url": "https://developers.openai.com/mcp",
                },
            },
            {"type": "web_search"},
        ],
        "multi_agent": {"enabled": True, "max_concurrent_subagents": 4},
    },
    environment={
        "type": "self_hosted",
        "workspace_directory": "/workspace",
        "capability_directories": ["/workspace/capabilities/skills"],
    },
    input=[
        {
            "role": "user",
            "content": [
                {
                    "type": "input_text",
                    "text": "Research how to connect an MCP server to an OpenAI agent, check for recent updates, and summarize the recommended setup.",
                }
            ],
        }
    ],
)
print(session.id)

ランタイムの比較については、エージェントの概要をご覧ください。

Agents API はセッションの状態を保持するため、 会話のコンテキストを再構築せずに、ターンをまたいで作業を続けられます。セッションや公開済みの成果物は、 不要になった時点で削除できます。 Agents API が現在サポートするデータレジデンシーは米国のみで、 ゼロデータ保持(ZDR)には対応していません。セルフホスト型サンドボックスを選択しても、 Agents API が ZDR の対象になるわけではありません。データレジデンシーと保持の詳細については、OpenAI プラットフォームの データ管理 をご覧ください。