世界を動かす技術を、日本語で。

OpenAIエージェントAPI

概要

  • Agents API はOpenAIが管理するAPIでCodex harnessへのアクセスを提供
  • セッション管理・環境構築・コンテキスト管理 はOpenAIが自動処理
  • サンドボックス でのコード実行やファイル編集、MCPサーバー接続が可能
  • 課金体系 はモデル/API/サンドボックスごとに標準料金適用
  • 主な利用例・概念 とAPI利用手順を解説

Agents APIの概要

  • Agents API は、アプリケーションから Codex harness へアクセスするためのOpenAI提供API
  • OpenAI がセッション管理・オーケストレーション・コンテキスト圧縮・リカバリを担当
  • アプリケーション側は ツール提供実行環境選択 を担当
  • Agent はサンドボックス内でコード実行・ファイル編集・MCPサーバー接続・成果物生成が可能
  • モデル利用料 は選択モデルのAPI料金で課金
  • OpenAIツールOpenAIホストサンドボックス もそれぞれ標準料金で課金
  • 代表的なサンプル
    • サンドボックスでディレクトリツリースクリプトの作成・実行
    • サブエージェントを用いたリリースノートの比較と統合回答
  • 完全なアプリケーション例
    • インシデント対応エージェント:アラート調査・リカバリアクション承認依頼
    • Slackボット:職場ツールと連携したリクエスト調査
    • データアナリスト:SQLでデータウェアハウス質問への回答
    • GitHubイシュー調査:バグ再現・調査結果共有
    • ドキュメントレビュワー:ポリシースキルや専門エージェントによるレビュー

Agents APIの主要概念

  • Agent :モデル、指示、ツール、MCPサーバーの組み合わせ
  • Environment :ファイルアクセス・スキルロード・コマンド実行が可能な任意のサンドボックスやコンピューター
  • Session :タスク処理や入力応答を行うエージェントの持続的インスタンス
  • Events and items :エージェントへの入力やセッション中の出力

セッションの流れ

  • OpenAIホストサンドボックス でのクイックスタート例
    • セッション作成
    • エージェント設定(OpenAIが環境を準備)
    • タスク付与(ユーザー入力で作業開始)
    • 進捗追跡(出力ストリーム/Webhooksで完了や入力要求を検知)
    • 継続・誘導(同一セッションでタスク追加や誘導が可能)
  • OpenAIホストセッション では、アプリケーションが入力送信・イベント受信し、OpenAIがエージェント実行・環境管理
  • 環境オプション や制限事項は公式ドキュメント参照

Codex harnessの機能

  • サンドボックス内での コマンド・コード実行
  • 関連スキル・指示 の適用
  • ツールやMCP 経由での外部データ接続
  • 作業中の エージェント誘導
  • 過去作業の要約 によるコンテキスト管理
  • サブエージェント への作業分割・委任
  • セッションの再開

API利用例と設定

  • 利用前提: APIキー権限・SDKセットアップ が必要
  • セッション作成時の設定例(Python SDK)
    • モデル名、指示、利用ツール、マルチエージェント設定
    • 環境タイプ(例:self_hosted)、ワークスペースディレクトリ、スキルディレクトリ指定
    • 入力例(MCPサーバー接続方法・最新情報・推奨セットアップ要約の調査指示)
  • セッションID出力で管理可能
  • Agents overview でランタイム比較も参照可能

セッション管理・データ保持

  • セッション状態 を保持し、会話コンテキストを再構築せずに作業継続が可能
  • 不要になったセッションや成果物は 削除可能
  • データレジデンシー は現時点で米国内のみ
  • Zero Data Retention(ZDR)未対応 (self-hostedでもZDR非対応)
  • 詳細はOpenAIプラットフォームの データコントロール 参照

Hackerたちの意見

もっとベンダーロックインを進めるんじゃなくて、私たちが払ってる理由トークンを提供してほしいな。ありがとう。

ベンダーに依存しないソリューションもあるよ。https://github.com/chatbotkit/platform

これは表面的な部分だけじゃなくて、いろんな意味で面白いね。OpenAIがこれを推進するのは、今や自分のマシンで動くエージェントがたくさんある中で、より耐久性のある防壁を作るためだと思う。これ、何かバンドルの足がかりにもなりそうだね。無制限のモデルやカスタムファインチューニングされたエージェントを含めて、直接APIを提供しない形になるかも。とはいえ、何かすごいものがバンドルされない限り、みんながこれに飛びつく理由はあまりないと思う。私にとっては、GPT Workが自分のマシンで動いて、進行中のアーティファクトや作業を見られるのが全てのポイントだから。最終的なアーティファクトだけじゃなくてね。

GPT Workが自分のマシンで動くのが全てのポイントだよね。それが彼らが自分のマシンから取り除こうとしている理由でもある。陰謀論的に聞こえるかもしれないけど、「君は何も持たず、幸せになるだろう」って考えちゃう。業界がどんどんデバイスをクラウドへのゲートウェイに変えていく方向に進んでいるように見えるし、個人のコンピューティングは平均的な人が手が出せない趣味になってしまうんじゃないかな。

最近、普通のqemu VMでcodexを動かして、スマホからリモートコントロールで話しかけるのがうまくいってるよ。正直、個人アシスタントとしては非常に良く機能してる。APIにするのが理にかなってる理由はわかるけど、自分でVMを設定できるなら、ロックインされる必要はないかもしれないね。

1つの長時間セッションがあるの?

うん、私もClaude Codeで同じことしてるよ。プロジェクト用にサーバー上にインスタンスを作って、どのデバイスからでもセッションを作れるし、ノートパソコンを閉じてもClaude Codeは動き続けるから、専用アプリの便利さを失わずに済む。

そうそう、claude remote-controlをデーモン(systemd/launchctl)として、セッションを作りたいパスやリポジトリで動かしてるよ。めっちゃうまくいってるし、仕事用のノートパソコンには最高の使い方だね。同じシェル、同じメモリー、同じセッション。

Slackに接続したリモートDockerコンテナ内でHermesを動かしてるよ。実際、これが結構いい感じで、いろんなことにこのアプローチが好きなんだ。Dockerコンテナ内にあるから、設定を100%コントロールできるしね。変なことをするかもしれないけど、AWSのSSOトークンやSSHキーをノートパソコンから抜き取ることはないってわかってるから安心だよ。

ここでのポイントは、彼らが「VM上でCodexを動かす」ことをAPIに変えているわけじゃないってこと。彼らのハーネスはVMの外で動いていて、必要に応じてVMとやり取りしてるんだ。彼らの投稿にある図を見てみて。これによって、エージェントの実行をVMとは独立してスケールできるんだよ。それが「管理されたCodexハーネス」と呼ばれる理由で、実行するものとは違うバージョンなんだ。

その段階なら、Hermesに行った方がいいかもね。

私も似たようなことをやってて、サーバー上でxmppラッパー内でpiを動かしてるから、どのスマホやコンピュータからでも話しかけられるんだ。めっちゃうまくいってるよ。

Hacker Newsで議論の続きを見る