AI 開發工具
Codex Python SDK 0.154 讓外部事件插入執行中回合,並明確降低其指令權限
新版 `ExternalMessage` 可把工具、其他代理或應用事件送入已在執行的 Codex 回合,同時標記為低於使用者與開發者指令的 tool-level authority。它也加入歷史載入與逐回合服務層級控制,但升級涉及事件串流及 hook 結構的相容性變更。

OpenAI 在 9 月 10 日發布 `openai-codex` Python SDK 0.154.0,補上代理系統常見但容易處理錯誤的需求:在工作已開始後接收部署通知、其他代理輸出或外部應用事件。新的 `ExternalMessage` 可作為 `run()`、`turn()` 的輸入,也能加入正在執行的正常回合;同步與非同步用戶端都支援,且各消費者取得獨立事件串流。
關鍵不只是「可插話」,而是 SDK 不把這些內容偽裝成使用者訊息。外部訊息被標為 tool-level authority,不能批准操作或擴張原任務權限;應用仍須另外建立使用者目標、沙箱及核准政策。這使 Slack 通知、CI 結果或多代理交接較不容易透過文字內容意外取得高權限,但不等於內容已可信,提示注入與資料驗證仍由整合方負責。
0.154.0 也讓 resume、fork 可用 `include_turns` 決定回應是否附帶既有回合,並新增單一新回合的 `turn_service_tier` 與來源 metadata。值得注意的是,`include_turns=False` 只減少傳回的歷史,不會清除模型上下文。遲加入的手動 turn handle 也不會重播先前事件,甚至可能在工作完成後收到 `TransportClosedError`;需要完整紀錄時應改用 `thread.read(include_turns=True)`。
升級者還要處理 `HookMetadata` handler 移至 `.root`,以及部分通知由通用 `.params` 改成具型別欄位。套件內含相符的 0.154.0 CLI runtime;若自行指定二進位檔,至少須為 CLI 0.151.0。接下來應觀察外部訊息在大量並行工作下的排序、去重及審計語意,而不能只確認事件成功送達。