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

Agents API クイックスタート

OpenAI がホストするサンドボックスでスクリプトを作成して実行するエージェントを構築します。

tree.py を作成して実行し、ディレクトリツリーを表示するコーディングアシスタントを構築します。エージェント、会話、作業用のサンドボックスは OpenAI が管理します。

前提条件

OpenAI Platform のプロジェクトでアプリケーション API キーを作成します。セッション操作用に api.agents.readapi.agents.write、モデル推論用に api.responses.write の権限を付与してから、キーを環境変数としてエクスポートします。

export OPENAI_API_KEY="your-api-key"

このキーはエージェントのサンドボックスの外部で保管してください。サンドボックスの構成と制限については、OpenAI がホストするサンドボックスを参照してください。

リクエストには OpenAI-Beta: agents=v1 ヘッダーが必要です。 OpenAI SDK では自動的に追加されますが、cURL を使用する場合は明示的に指定してください。

1. タスクの実行

言語を選択し、OpenAI SDK をインストールして、サンプルを実行します。SDK のサンプルでは beta.agents 名前空間を使用します。このリクエストはセッションを作成してタスクを送信し、進捗をストリーミングします。

Python SDK をインストールまたは更新します。

pip install --upgrade openai

サンプルを quickstart.py として保存します。

tree.py の作成と実行
from openai import OpenAI

with OpenAI() as client:
    with client.beta.agents.sessions.create(
        agent={
            "model": "gpt-6-astra",
            "instructions": "Write clean code, run it, and report the actual output.",
        },
        environment={"type": "openai_hosted"},
        input="Create tree.py, a Python script that prints a readable tree of the files in the current directory. Run it and show me the output.",
        stream=True,
    ) as events:
        for event in events:
            print(event.to_json(indent=None), flush=True)

ターミナルから実行します。

python quickstart.py

サンドボックスは不要ですか? コマンドの実行やローカルファイルの操作を行わずに、 質問に回答したり外部ツールを呼び出したりするエージェントでは、 environment.typenone に設定します。詳細は こちら

2. 進捗の確認

ターミナルにはストリーミングされたイベントが表示されます。SDK のサンプルは JSON を出力し、cURL は未加工のイベントストリームを表示します。正常に実行されると、エージェントは tree.py を作成して実行し、そのファイルを含むディレクトリツリーを報告します。その他のファイルや出力はサンドボックスによって異なります。

agent.session.turn.completed を確認してから、エージェントが報告した実行結果を確認してください。ターンが完了しても、すべてのツールが成功したとは限りません。末尾が turn.failedturn.cancelled、または session.failed のイベントは、失敗またはキャンセルを示します。agent.session.idle だけでは成功を意味しません。ストリームが途中で切断された場合は、再試行する前にセッションと保存済みのアイテムを取得してください。

3. セッションの継続

イベントから session_id を保存します。これを使って、「Add a maximum-depth option to tree.py, run it, and show me the output.」といった追加の指示を送信します。初期のイベントを取りこぼさないように、追加の入力を送信する前にイベントストリームを開いてください。

4. クリーンアップ

ほかのタスクに使う場合はセッションを保持し、使い終わったら削除します。削除する前に、必要なファイルを保存してください。

例に示されている仮の値 sess_123 を、保存したセッション ID に置き換えてください。

セッションの削除
# Replace the illustrative IDs and URLs below with your own resource values.

from openai import OpenAI


def delete_session(client: OpenAI, session_id: str):
    return client.beta.agents.sessions.delete(session_id)


if __name__ == "__main__":
    result = delete_session(OpenAI(), "sess_123")
    print(result.to_json())

次のステップ