觀點 · 資訊分享
OpenAI 推出 Agents API 公開測試:Codex 背後的代理引擎開放給開發者,API 本身不另收費
OpenAI 把 Codex 用的代理引擎(harness)做成 Agents API,開放公開測試。一個 API 呼叫就能建立會寫程式、跑指令、接 MCP 的 AI 代理,可選 OpenAI 代管沙盒、自家機器或 9 家合作廠商;API 不另收費,只付模型與工具用量。
- 發布
- 2026-09-11
- 篇幅
- 約 4 分鐘 · 1,742 字
- 結構
- 7 節 + 3 題常見問題
- 標籤

一句話看懂:OpenAI 把 Codex 背後的 AI 代理引擎做成 Agents API 開放公開測試,一個 API 呼叫就能做出會寫程式、跑指令的代理,API 本身不另收費。

先用白話講:「代理引擎(harness)」是什麼?
AI 模型本身像一位很聰明、但每次只回答一句話的顧問。要讓它真的「把一件事做完」,例如改程式、跑測試、看結果再修,旁邊還需要一位專案經理:記住做到哪、決定下一步用哪個工具、對話太長時幫忙整理重點、出錯時重試,必要時把工作拆給好幾位助手同時做。
這位專案經理就是 harness(代理引擎)。以前開發者要自己寫這一層,很花時間;OpenAI 這次把 Codex 在用的那一套直接做成服務開放出來。
發生什麼事
OpenAI 在 2026 年 9 月 10 日推出 Agents API 公開測試版,所有開發者都能使用:
- 一個 API 呼叫建立代理:指定任務、模型、工具與執行環境即可
- 引擎由 OpenAI 維護:負責對話管理、上下文壓縮與錯誤復原,跟著新模型持續升級
- 工具:支援 MCP、自訂函式,以及網路搜尋等內建工具
- 子代理:可以把大任務拆給多個子代理平行處理,每個子代理有自己的上下文
- 開源基礎:引擎本身就是開源的 Codex harness,程式碼放在 GitHub
代理要在哪裡跑?
| 選項 | 適合誰 |
|---|---|
| OpenAI 代管沙盒 | 想最快上手,不想管機器 |
| 自家基礎架構 | 資料不能離開自己的網路 |
| 合作廠商沙盒 | 需要特定 CPU、GPU、記憶體或部署方式 |
合作廠商共 9 家:Blaxel、Cloudflare、Daytona、DigitalOcean、E2B、Modal、Oracle、Runloop、Vercel。
給開發者的技術細節
官方快速入門的最小範例(JavaScript):
import OpenAI from "openai";
const client = new OpenAI();
const events = await 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 and show me the output.",
stream: true,
});
- API 金鑰權限:要開
api.agents.read、api.agents.write,以及模型推論用的api.responses.write - 測試版標頭:直接用 cURL 呼叫要帶
OpenAI-Beta: agents=v1,官方 SDK 會自動加 - 金鑰別放進沙盒:官方特別提醒,API 金鑰要放在代理的沙盒外面
- 收費:API 本身免費,模型、工具、代管沙盒各依標準費率計費
範例取自官方快速入門目前版本,測試期間介面可能調整,實作前以最新文件為準。
我的看法
做 AI 代理最難的從來不是呼叫模型,而是外面那一層:對話太長怎麼辦、工具失敗怎麼重試、要不要拆給多個助手做。小團隊自己寫這層,常常花掉大半開發時間,還很難跟上新模型的特性。
Agents API 把這層交給 OpenAI 維護,對想快速做出產品原型的接案者很有吸引力。不過要注意兩件事:第一,這是測試版,正式上線前介面可能還會改;第二,代理一旦能執行指令,權限就要收緊,金鑰、資料庫連線字串這些都不該放進沙盒。可以先用代管沙盒做個小工具試水溫,再決定要不要搬到自家環境。
名詞小辭典
- AI 代理(Agent):不只回答問題,還能自己規劃步驟、使用工具、把任務做完的 AI 程式。
- 沙盒(Sandbox):隔離的執行環境,代理在裡面跑程式、改檔案,不會影響外面的系統。
- MCP:讓 AI 連接外部工具與資料的開放協定,可以想成 AI 的萬用插座。
- 子代理(Subagent):主代理把工作拆出去,交給另一個專心處理某一塊的代理。