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

Agents API

マネージド Codex ハーネスを使って、セッションの状態を保持できるクラウドエージェントを構築します。

Agents API は OpenAI が管理する API で、アプリケーションから Codex ハーネスを利用できます。

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

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

エンドポイント、リクエストパラメーター、レスポンスフィールドについては、API リファレンスを参照してください。

料金

モデルの利用には、選択したモデルの 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 を基盤とする AWS のサービスについては、Bedrock Managed Agentsを参照してください。

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