
2026/09/11 4:43
OpenAI エージェント API
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Agents API は OpenAI が管理する Codex ハーネスへのアクセスを提供し、アプリケーションが実行ロジックおよびツールの定義を担う一方で、セッション管理、オーケストレーション、コンテキストの圧縮についてはプロバイダーに依存します。このシステムは、Agent、Environment(サンドボックスまたはコンピュータ)、Session、Events/Items という 4 つの中核概念を中心に動作します。このアーキテクチャにより、エージェントは永続的なステートフルインスタンス内でコードを実行し、ファイルを編集し、MCP サーバーに接続し、アートを生成することが可能になります。また、タスクをサブエージェント(最大 4 つの同時実行)に分解したり、Webhooks を使用して一時停止されたセッションを再開したりするなど高度なワークフローを支援します。課金体系は、モデルの使用料とホスティングされたサンドボックス料金を分離していますが、プラットフォームでは現時点でデータ所在を米国のみ限定しており、Zero Data Retention ポリシーのサポートはありません。このソリューションは、インシデント対応ボット、データアナリスト、ドキュメントレビューア、GitHub イシュー調査官など多様なユースケースに対応しています。
本文
OpenAI Agents API 概要
エージェント API の基本機能
- API メカニズム:OpenAI が管理する API を介して Codex ハーネスにアクセス可能。
- 役割分担
- OpenAI の担当:セッション管理、オーケストレーション、コンテキストの圧縮と回復。
- ユーザーアプリケーションの担当:ツールの提供、実行環境の選択。
- 実行可能な動作:コード実行、ファイル編集、MCP サーバーへの接続、画像(アート)生成など。サンドボックス内でも稼働可能。
課金構造
- 基本原則:選択されたモデルの API レートに基づき課金される。
- 適用レート詳細
- OpenAI ツール:標準レート適用。
- OpenAI 運営のサンドボックス:標準的なコンテナレート適用。
使用例とシナリオ
完全な例(OpenAI 運営サンドボックス)
- ディレクトリツリーのスクリプト作成・実行。
- サブエージェントによるリリースノート比較、発見事項の統合回答。
アプリケーション実装例
- インシデント対応:アラート調査と回復操作承認のリクエスト。
- Slack ボット:職場ツールを活用したリクエスト調査。
- データアナリスト:只読みの SQL でデータウェアハウス質問への回答。
- GitHub 問題調査者:バグ再現および GitHub 上の結果共有。
- ドキュメントレビューア:ポリシースキルと専門家エージェントを用いた審査。
Agents API の構成概念
- エージェント:モデル、指示書(インストラクション)、ツール、MCP サーバー。
- 環境:ファイルアクセス、スキルロード、コマンド実行が可能なサンドボックスまたはコンピューター。
- セッション:タスク処理と入力応答を行う耐久性のあるインスタンス。
- イベントとアイテム:エージェントへの入力情報と、セッション中に生成される出力データ。
セッション全体の流れ
- 初期化:OpenAI 運営のサンドボックスからスタート。
- セットアップ:セッション作成とエージェント設定(OpenAI が環境を調達)。
- タスク開始:環境準備完了後、ユーザー入力で作業ターンを開始。
- 進捗追跡:ストリーミング出力、Webhook を使用して完了状況や追加入力要否を確認。
- 継続・誘導:同じセッションへ別のタスクを送信、または現在のターン間でのエージェント誘導。
OpenAI 運営セッションの特徴:アプリケーションが入力を送信・イベントを受け取り、OpenAI がエージェント実行とサンドボックス管理を担当します。環境オプションで設定と制限を確認してください。
マネージド Codex ハーネスのサポート機能
- コマンドおよびコードの実行(サンドボックス内)。
- 関連スキルと指示書の適用。
- 外部データへの接続(ツールまたは MCP 経由)。
- アクション中ステアリング:エージェントが動作している間の誘導。
- コンテキスト管理:前回の作業サマライズによるコンテキストウィンドウ制御。
- タスク分割:サブタスクへの分解とサブエージェントへの委任。
- 再開機能:中断したセッションの再開。
セットアップとコード例
前提条件:API キー権限と SDK のセットアップについては、クイックスタートの要件を確認してください。セッション作成時に以下の設定を行います。
from openai import OpenAI client = OpenAI() session = client.beta.agents.sessions.create( agent={ "model": "gpt-6-astra", "instructions": "OpenAI ドキュメント MCP およびウェブ検索を活用して、技術的な質問に正確に答えてください。独立した調査タスクは、必要であればサブエージェントへ委任してください。", "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": "MCP サーバーを OpenAI エージェントに接続する方法、最新アップデートの有無、推奨されるセットアップのサマリーを作成してください。", } ], } ], ) print(session.id)
制限事項と注意事項
- 継続性:Agents API はセッションステートを保持するため、会話コンテキストを再構築せずにターンを超えて作業を継続できます。不要になった場合は、セッションと公開されたアートを削除可能。
- データ所在地:現在は米国のみでサポートされています。
- ZDR サポート:ゼロデータリテンション(ZDR)はサポートされていません。自己管理型サンドボックスを選択した場合でも、Agents API は ZDR に準拠しません。詳細は OpenAI プラットフォームの「データコントロール」をご参照ください。