返回首頁

代理框架/開發工具

OpenAI Agents SDK 0.21 加入無 API 測試層,代理、沙箱與語音流程可重播驗證

新版提供可腳本化的模型與沙箱測試工具,讓多輪代理流程毋須呼叫模型供應商也能在 CI 重現。升級亦接軌 OpenAI Python 3 與 HTTPX 2,並修補中斷狀態、工具審批及敏感錯誤外洩問題。

European Commission - Photographer: Aurore Martignoni · CC BY 4.0 · Image source
zh-Hant

OpenAI 在 8 月 15 日發布 Agents SDK for Python 0.21.0,最具工程意義的變化不是新增代理抽象,而是加入 `agents.testing`、`agents.realtime.testing` 與 `agents.voice.testing`。開發者可用預先編排的模型輸出與沙箱事件,測試工具呼叫、串流註解、中斷、恢復及語音管線,不必向任何模型供應商送出請求;相較依賴真實模型的整合測試,結果較可重現,也不會因模型版本、取樣或網路狀態令 CI 間歇失敗。[版本說明](https://github.com/openai/openai-agents-python/releases/tag/v0.21.0)把這套介面稱為 provider-neutral,意味測試對象是代理控制流程,而非特定模型品質。

另一項遷移重點是套件依賴改為相容 `openai>=3.0.0,<4`,並處理 HTTPX 2 的 request、response、transport 與例外類型。使用自訂 transport、例外攔截或 monkey patch 的專案仍應重新跑測試,因為「沒有已知破壞性 SDK 行為」不等於下游對私有型別的依賴不受影響。

0.21.0 同時收緊多個狀態邊界:中斷快照與 MCP lifecycle 結果改為隔離副本,遞迴 agent-tool 審批可在恢復後延續,串流以終端錯誤結束時會關閉模型 stream;輸出型別驗證錯誤也不再夾帶完整工具輸出。這些修正對具持久工作階段的代理尤其重要,因為共享可變狀態可能令一次審批或工具結果污染後續執行。[SDK 文件](https://openai.github.io/openai-agents-python/)顯示 Runner 本身會管理回合、工具、guardrail、handoff 與 session,因此測試層能否覆蓋狀態轉移,比單純 mock HTTP 回應更關鍵。下一步應觀察測試 API 的穩定承諾、跨供應商事件是否完全對齊,以及大型沙箱軌跡的 fixture 維護成本。

來源

  1. OpenAI Agents SDK for Python v0.21.0 release notes
  2. OpenAI Agents SDK documentation