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

エージェントの設定

エージェントを定義し、その設定を再利用して、セッションごとにカスタマイズします。

エージェントの設定は、その動作を定義します。セッションの作成時に指定することも、保存して再利用することもできます。セッションには会話と作業が保持され、保存済みのエージェントには再利用可能な設定が保持されます。

エージェントの動作の定義

まずモデルと指示を設定し、次にタスクに必要なツールや制御設定を追加します。

  • モデル: 作業に使用するモデル
  • 指示: エージェントが行うべきことと、その振る舞い方
  • ツール: ウェブ検索や独自の関数の呼び出しなど、エージェントが実行できるアクション
  • 推論と出力: モデルの推論量、および応答の形式と詳しさ

セッションの作成時に、これらの設定を agent に渡します。次の例では、モデル、指示、最初のユーザーメッセージを指定しています。

単一セッション用のエージェント設定
from openai import OpenAI

client = OpenAI()

session = client.beta.agents.sessions.create(
    agent={
        "model": "gpt-6-astra",
        "instructions": "Answer the user clearly and concisely.",
    },
    environment={"type": "none"},
    input=[
        {
            "role": "user",
            "content": [{"type": "input_text", "text": "What can you help with?"}],
        }
    ],
)
print(session.to_json())

設定フィールドと指定可能な値については、Agents API リファレンスを参照してください。ツールのセットアップについては関数MCP 接続を、委任についてはマルチエージェントを参照してください。

セッション間でのエージェントの再利用

エージェントを保存すると、複数のセッションで設定を再利用できます。一度作成したら、各セッションの開始時にその ID を agent_id として渡します。

エージェントの再利用
from openai import OpenAI

client = OpenAI()
agent = client.beta.agents.create(
    model="gpt-6-astra",
    instructions="Answer technical questions accurately.",
    reasoning={"summary": "auto"},
    timeout=360,
)
session = client.beta.agents.sessions.create(
    agent_id=agent.id,
    environment={"type": "none"},
    input="Explain how an agent connects to an MCP server.",
)
print(session.to_json())

会話と作業はセッションごとに独立しています。保存済みエージェントの一覧表示、取得、更新、削除については、Agents API リファレンスを参照してください。認証情報は、保存された設定とは別に、ボールトに保持されます。

保存済みエージェントの更新

保存済みエージェントの更新は、新しいセッションにのみ適用されます。各セッションは作成時に保存済みの設定をコピーし、以降のターンでもその設定を保持します。既存のセッションを変更するには、そのセッションの設定を更新してください。

保存済みエージェントを更新する際は、次の点に注意してください。

  • 省略したフィールドには、保存済みの値が保持されます。model のみを変更した場合、reasoningservice_tiertext は保持されます。
  • 指定したオブジェクトは、フィールド全体を置き換えます。effort のみを含む reasoning を指定すると、保存済みの summary もクリアされます。
  • null を受け付けるフィールドは、この値を指定するとリセットされます。たとえば、reasoning: null を指定すると、推論強度がモデルのデフォルト値に戻ります。

新しいモデルがサポートしていない設定は、同じリクエスト内で変更またはリセットしてください。

単一セッションの設定の上書き

保存済みエージェントの設定をカスタマイズするには、セッション作成時に agent_idagent の両方を含めてください。モデルを含め、省略した設定はセッション作成時に保存済みエージェントからコピーされます。

この例を実行する前に、例として示した agent_123 の値を保存済みエージェントの ID に置き換えてください。

単一セッションでのエージェント設定の上書き
# Replace the illustrative IDs and URLs below with your own resource values.
from openai import OpenAI

client = OpenAI()

agent_id = "agent_123"
session = client.beta.agents.sessions.create(
    agent_id=agent_id,
    agent={"instructions": "Answer this question in one concise paragraph."},
    environment={"type": "none"},
    input=[
        {
            "role": "user",
            "content": [
                {
                    "type": "input_text",
                    "text": "Explain how an agent connects to an MCP server.",
                }
            ],
        }
    ],
)
print(session.to_json())

上書きはそのセッションにのみ適用されます。保存済みエージェントや他のセッションは変更されません。指定したオブジェクトや配列は、保存済みの値とマージされるのではなく、フィールド全体を置き換えます。たとえば、tools を指定すると、保存済みのツール一覧が置き換わります。

リクエストフィールドについては、セッション作成のリファレンスを参照してください。

既存セッションの設定の更新

単一セッションの modelreasoning.effortservice_tier を変更するには、agent オブジェクトを含む POST /v1/agents/sessions/{session_id} リクエストを送信してください。これらの設定は、ベータ版と GA 版の API 仕様で利用できます。同じリクエストで metadata も更新できます。

変更は、更新完了後に送信したメッセージによって開始される新しいターンに適用されます。すでに処理中のメッセージには、変更前の設定が使われる場合があります。進行中のターンでは、方向修正のメッセージを送信した場合も、そのターンの設定が保持されます。セッションの会話履歴も保持されます。選択したモデルが更新後の設定をサポートしていない場合、更新は失敗します。

  • agent オブジェクトと reasoning オブジェクトでは、指定したフィールドが現在の設定にマージされます。推論の要約を含め、省略したフィールドは変更されません。model のみを変更した場合、セッションの推論強度とサービスティアは保持されます。
  • reasoning.effort: null を指定すると、推論強度が選択したモデルのデフォルト値にリセットされます。
  • service_tier: null を指定すると、サービスティアが自動選択に戻ります。
  • モデルは常に設定されている必要があるため、model: null は指定できません。agent オブジェクトと reasoning オブジェクトも null を受け付けません。
  • metadata を指定すると、マップ全体が置き換えられます。メタデータを保持するには省略し、クリアするには null または {} を渡してください。

たとえば、次のリクエストは推論強度を変更し、API がサービスティアを自動的に選択するようにします。

{
  "agent": {
    "reasoning": { "effort": "low" },
    "service_tier": null
  }
}

セッションを更新しても、保存済みエージェントや他のセッションは変更されません。その後に保存済みエージェントを更新しても、このセッションは変更されません。

このエンドポイントでは、reasoning.summarytexttoolsinstructionsmulti_agent は更新できません。これらの設定を変更するには、新しいセッションを作成してください。

環境設定

セッションの作成時に、agent とともに environment を設定します。これにより、エージェントがコマンドを実行し、ファイルを扱う環境が決まります。

noneopenai_hostedself_hosted のいずれかを選択します。各オプションの使い分けと環境の管理者については、アーキテクチャで説明しています。

OpenAI がホストする環境では、タスクに必要なパッケージ、初期ファイル、ネットワークアクセスを設定します。環境テンプレートはセッション間で再利用できます。セルフホスト環境では、コンピューティングリソースを用意し、エグゼキューターを接続します

環境のフィールドについてはセッション作成のリファレンスを、スキル、プラグイン、テンプレートについてはプラグインを参照してください。実行後も保持したいファイルについては、セッションのアーティファクトを参照してください。