Build Hour:Agents SDK(第 1/4 段)


🏦 台灣Pay 銀行轉帳 💙 PayPal
介紹 Agents SDK 新增的 Codex 風格 harness、sandbox 與 API 新功能
- 00:02 主持人是 startup marketing 團隊的 Christine,講者是 OpenAI API 團隊工程師 Steve,他上一場 Build Hour 講的是 responses API
- 06:10 一年到一年半前直接用 LLM API 做 agent 的做法:寫迴圈、發請求、拿到 tool 就執行、更新 context,重複到模型不再呼叫工具為止,還要自己加 web search、file search、MCP
- 11:45 hosted shell tool 可以想成 Agents SDK 的輕量版,用的是 ephemeral 容器,可以放幾個檔案進去
💡 你可以怎麼用:評估 AI 代理人工具時,可以問兩件事:它有沒有隔離的 sandbox,機密會不會放在 sandbox 裡;任務中斷後能不能從原處接著做。想先小試,可以請工程同事用 responses API 的 hosted shell tool 丟幾個檔案進去,跑一個整理資料的小任務看看效果。
看全部 44 條重點
🧑🏫 這是 OpenAI 直播教學 Build Hour 的開場段落,講者 Steve 說明 Agents SDK(OpenAI 打造 AI 代理人的開發工具包)這次的大改版。重點是讓代理人能長時間自己做事、在隔離的環境裡處理檔案,而且環境掛掉也不會前功盡棄。想知道 AI 代理人為什麼最近突然變得能扛大任務,這段把背後的難處和解法講得很清楚。
- 00:02 主持人是 startup marketing 團隊的 Christine,講者是 OpenAI API 團隊工程師 Steve,他上一場 Build Hour 講的是 responses API↳ 主持人 Christine 負責新創公司的行銷,講者 Steve 是 OpenAI API 團隊的工程師。API 是讓你的程式去叫用 OpenAI 模型的接口。Steve 上一場講的是 responses API,也就是 OpenAI 的一種 API。
- 00:02 Build Hours 的目的是提供最佳實務、工具和 AI 專業知識,幫助大家用 OpenAI 的 API 和模型開發↳ Build Hours 是 OpenAI 辦的系列直播教學,目的是分享實際做法、好用工具和經驗,幫開發者用 OpenAI 的 API 和模型做出產品。
- 00:32 過去的場次(包含 responses API 那場)都可以在首頁隨選觀看,這場直播結束後也會上架↳ 錯過直播也沒關係,以前每一場都能在首頁隨時回放,包括 responses API 那場。這場結束後也會放上去。
- 00:32 本場流程:先介紹 Agents SDK 的新功能(包含 Codex 風格的 harness),再介紹 API 新功能,接著是主要的 live demo,最後是 Q&A↳ 流程分四段:先講 Agents SDK 的新功能,再講 API 的新功能,接著是現場實作示範(live demo),最後開放問答(Q&A)。
- 01:03 Live demo 會做一個 agentic 任務追蹤器(task tracker),也是這場花最多時間的部分↳ 示範要做一個 agentic 任務追蹤器。agentic 指 AI 能自己規劃、動手把事情做完,不只是回答問題。這是整場花最多時間的部分。
- 01:03 觀眾可以在畫面右側的 Q&A 分頁提問。團隊會線上即時回答,部分問題留到最後現場回答,還會有特別來賓線上加入↳ 有問題可以在畫面右邊的 Q&A 分頁打字。團隊會邊看邊回,部分問題留到最後現場回答,還會有特別來賓上線一起答。
- 01:33 背景:模型長時間自主工作的能力持續提升,Steve 提到一張「meter chart」,顯示模型能獨立工作的時間一路往上升↳ 背景是模型能自己連續工作、不用人盯的時間越來越長。Steve 用一張他稱為 meter chart 的圖說明,這個時間長度一路往上爬。
- 02:04 Codex 是 OpenAI 的 agent 寫程式工具,可以端到端完成軟體開發任務。一般大概跑幾分鐘到一小時,用 goal 功能可以跑更久↳ Codex 是 OpenAI 寫程式用的 AI 代理人,從接到需求到寫完程式,能一路自己做完。平常一次跑幾分鐘到一小時,搭配 goal 功能還能跑更久。
- 02:04 OpenAI 內部有人讓 Codex 在一個任務上連續跑好幾天,最長到一週↳ OpenAI 內部有人讓 Codex 在同一個任務上連跑好幾天,最久跑了一週。這代表它已經能扛下很長的工作。
- 02:36 內部例子一:以 Codex 為基礎的 security agent,會掃描 OpenAI 自己的 repo 和依賴的程式碼,找出安全漏洞。模型特別擅長在舊系統(legacy software)裡找漏洞↳ 例子一是資安代理人,它會掃 OpenAI 自己的程式碼庫(repo)和用到的外部程式,找出安全漏洞。模型特別擅長在老舊系統(legacy software)裡挖出漏洞。
- 02:36 內部例子二:以 Codex 驅動的 data agent,連接內部資料,用 prompt 就能回答像是「前兩天 responses API 有多少請求」這類問題↳ 例子二是資料代理人,它接上公司內部資料。你用一句 prompt(給 AI 的指令)問「前兩天 responses API 被呼叫幾次」,它就自己去查。
- 03:06 以前寫這種 SQL 查詢可能要花一小時,現在只要一個簡單的 prompt,幾分鐘就有答案↳ 以前這種問題要有人寫 SQL(查資料庫用的語言),可能要花一小時。現在打一句話,幾分鐘就拿到答案。
- 03:06 挑戰一:在自己的系統裡打造 production 等級的 agent 仍然很難,因為要在最大化效能和保有彈性(例如跨模型供應商)之間取得平衡↳ 難處一:要把代理人做到能正式上線給客人用(production)還是很難。你想讓效果最好,又想保留彈性,例如之後能換別家模型,兩者很難兼顧。
- 03:38 原因是模型越來越針對各自的 harness 做調整,所以很難同時維持在模型熟悉的分布內(in distribution),又保有彈性和客製化↳ harness 是包在模型外面的那層迴圈和工具。各家模型越來越習慣自家那套,照它熟悉的方式(in distribution)用效果最好,但這樣就很難自己改或換掉。
- 03:38 挑戰二:computer using agent 的問題。Codex 的 sandbox 通常就是本機筆電;但 production 常需要隔離環境,容器可能掛掉或過期,就要處理狀態和 rehydrate 的問題↳ 難處二:會操作電腦的代理人。sandbox 是隔離的工作環境,Codex 平常直接用你的筆電。上線就要放進容器(獨立打包的執行環境),容器會掛或過期,得把進度接回來(rehydrate)。
- 04:10 挑戰三:需要一個高度可客製化的框架,能帶入自己的資料、加入自己的 skills 等。這三件事加在一起,讓 agent 上 production 有一定難度↳ 難處三:框架要能大幅客製,接自己的資料、加自己的 skills(教代理人做特定工作的能力包)。效能、執行環境、客製化三件事疊在一起,上線才這麼難。
- 04:40 Agents SDK 的基礎是去年三月發布的開源、可客製化框架,至今仍是開源而且很有彈性↳ Agents SDK 的基礎是去年三月推出的框架。它是開源的,也就是程式碼公開,誰都能看、能改,也能依需求改造,到現在都還是這樣。
- 04:40 新增 sandbox using agents 的概念,由使用者自己決定 sandbox 在哪裡執行↳ 新概念是「會用 sandbox 的代理人」。代理人在隔離環境裡動手做事,至於這個環境要放在哪台機器或哪個雲端,由你自己決定。
- 05:10 對多個 sandbox 平台提供 first class 支援,字幕提到的包括 Modal、Cloudflare、Docker,也支援用本機筆電做測試↳ 多個 sandbox 平台都有正式的完整支援(first class),字幕提到 Modal、Cloudflare、Docker 這類雲端或容器服務。開發時也能先在自己的筆電上測試。
- 05:10 最上層是 Codex 風格的 harness:帶入讓 Codex 好用的工具,這些工具和 OpenAI 模型在分布內,但搭配其他模型也很好用↳ 最上層是仿 Codex 的 harness,直接帶入讓 Codex 好用的那些工具。這些工具是 OpenAI 模型最熟悉的,但換成別家模型一樣好用。
- 05:40 harness 也包含 skill use、computer use、memory 等功能,稍後會 demo↳ harness 也包含使用 skills、操作電腦(computer use)、記憶(memory,讓代理人記住先前的資訊)等能力,後面會現場示範。
- 05:40 Agents SDK 提供 model native harness,讓 agent 能長時間做有生產力的工作↳ model native harness 指順著模型原本習慣設計的外層。模型用起來最順手,所以能長時間做真正有產出的工作。
- 06:10 一年到一年半前直接用 LLM API 做 agent 的做法:寫迴圈、發請求、拿到 tool 就執行、更新 context,重複到模型不再呼叫工具為止,還要自己加 web search、file search、MCP↳ 一年多前自己做代理人的方式是:寫迴圈問 LLM(大型語言模型),它要用工具就幫它執行,把結果塞回 context(它看得到的內容),一直重複。搜尋、MCP(接外部工具的標準)也都得自己接。
- 06:10 這樣做會把大部分時間花在 orchestration layer,但其實應該把時間花在做產品、改善終端使用者的體驗↳ 結果大部分力氣都花在 orchestration layer,也就是調度這些步驟的底層管線。其實真正該花時間的是產品本身,讓使用者用得更好。
- 06:41 Agents SDK 內建 agent loop(設計很像 Codex),web search、file search、MCP、code interpreter、skills 都是開箱即用或很容易開啟↳ 現在 Agents SDK 內建這個代理人迴圈(agent loop),設計跟 Codex 很像。網路搜尋、檔案搜尋、MCP、code interpreter(讓模型寫程式來計算)、skills 都直接能用,或一開就有。
- 06:41 Steve 最興奮的改變:把 harness 和 compute 拆開↳ Steve 最興奮的改變,是把 harness 和 compute 拆開。compute 指代理人實際讀寫檔案、執行指令的那台機器或環境。
- 07:12 harness 和 compute 綁在一起的例子:Codex 在筆電上跑。放到 production 就是呼叫 LLM 的迴圈和它操作的檔案系統都在同一個容器裡↳ 綁在一起的例子是 Codex 在你的筆電上跑。換成上線版本,就是「呼叫模型的迴圈」和「它操作的檔案」全都擠在同一個容器裡。
- 07:42 綁在一起的問題一:sandbox 變成承重元件(load bearing),一旦掛掉,所有狀態就沒了,也沒有外部地方可以恢復↳ 問題一:sandbox 變成承重牆(load bearing),一掛掉,整個任務的進度和狀態全部消失,外面也沒有備份能救回來。
- 07:42 綁在一起的問題二:secrets 很難管理。sandbox 上最好不要放任何 secret,否則可能遭受 prompt injection 攻擊或資料外洩(exfiltration)↳ 問題二:secrets(密碼、金鑰這類機密)很難管理。sandbox 裡最好什麼機密都不放,否則可能被惡意指令操控(prompt injection),把機密偷傳出去(exfiltration)。
- 08:13 拆開之後,sandbox 可以當成完全 ephemeral 的東西,不用在意它存活或過期。harness 可以跑在 Temporal job、AWS 或既有的基礎設施上,負責 rehydration 和 snapshotting↳ 拆開後,sandbox 可以用完就丟(ephemeral),掛掉也無妨。harness 改放在 Temporal(跑長流程的工具)、AWS 或你現有的系統上,負責存檔(snapshotting)和還原(rehydration)。
- 08:13 Agents SDK 原本就有 web search、file search、agent memory,以及文字和語音等模態↳ 原本就有的能力:網路搜尋、檔案搜尋、代理人記憶,還有文字、語音等不同的輸入輸出形式。
- 08:44 新增功能:first class 支援 skills、containers(API 和 SDK 都有),以及 agent memory,讓任務可以隨時間進步↳ 新增的部分:skills 和 containers(容器)在 API 和 SDK 都有正式支援。還有代理人記憶,讓它做同類任務時能越做越好。
- 09:14 sandbox use 讓模型在虛擬化環境裡處理檔案、長時間工作,可以寫 bash、Python 等來完成任務↳ sandbox use 就是讓模型在一台虛擬的隔離電腦裡處理檔案、長時間工作,需要時自己寫 bash(終端機指令)或 Python 程式來完成任務。
- 09:14 從 Codex 帶進 Agents SDK 的東西包括:auto compaction,以及透過 shell 的 computer use,也就是模型可以寫 shell 指令↳ 從 Codex 搬過來的功能有 auto compaction(這段沒細講),以及透過 shell 的 computer use。shell 就是打指令操作電腦的地方,模型可以直接寫指令來做事。
- 09:44 Codex 風格的 loop 是非同步 shell 互動迴圈:下指令後如果還沒跑完,可以先去做別的事再回來,並記錄目前有哪些指令在執行↳ 這個迴圈是非同步的:模型下了一個指令,還沒跑完就先去做別的,回頭再看結果,同時記得哪些指令還在跑。就像燒水的時候先去切菜。
- 09:44 把這套帶進 Agents SDK,是為了讓 coding agent 能在任何領域、任何基礎設施上工作↳ 把這套搬進 Agents SDK,是為了讓原本寫程式用的代理人,換到任何領域、架在任何基礎設施上都能工作。
- 10:15 sandbox 很關鍵,因為現代工作需要處理大量檔案,例如大型 codebase、PDF、Word、PowerPoint。agent 也需要能存取、建立和儲存檔案的地方↳ sandbox 很關鍵,因為現在的工作大量牽涉檔案,像大型程式碼庫(codebase)、PDF、Word、PowerPoint。代理人必須有地方讀檔、產檔、存檔。
- 10:15 sandbox 的定義:一個隔離環境,模型在裡面可以存取檔案、做事,並產出有意義的結果↳ sandbox 的定義:一個隔離的空間,模型在裡面能拿到檔案、動手做事,最後交出真正有用的成果。
- 10:45 Agents SDK 從第一天就開源,而且 model agnostic:可以用其他模型供應商,只要使用 responses API 格式的都能順利接上↳ 它從第一天就開源,而且是 model agnostic,也就是不綁特定模型。別家模型只要用 responses API 的格式,就能接上來用。
- 10:45 很容易做成 multi-tenant,可以同時處理很多使用者的請求↳ 很容易做成 multi-tenant,也就是同一套系統同時服務很多使用者的請求。
- 10:45 session 管理很簡單:SDK 會處理任務的 snapshotting 和 rehydration,可以從上次中斷的地方繼續↳ session(一次工作階段)管理很省事。SDK 會幫你存任務進度,環境消失後也會幫你還原,讓你從中斷的地方接著做。
- 11:15 高度可設定,可以帶入自己的工具和自己的 MCP↳ 設定彈性很高,可以加入自己寫的工具,也能接上自己的 MCP 服務。
- 11:15 API 新功能一:responses API 的 hosted shell tool。一個 API 呼叫附上檔案,後台就會啟動容器載入檔案,讓模型在裡面寫程式、做事,再把結果回傳↳ API 新功能一:responses API 的 hosted shell tool。你發一次請求並附上檔案,OpenAI 後台就會開一個容器放進檔案,讓模型在裡面寫程式做事,再把結果回傳給你。
- 11:45 hosted shell tool 可以想成 Agents SDK 的輕量版,用的是 ephemeral 容器,可以放幾個檔案進去↳ 可以把它想成 Agents SDK 的輕量版。容器用完就丟,放幾個檔案進去就能用,不必自己架設環境。
📘 術語
Agents SDK(Agents 開發套件):開源、可客製化的框架,提供 model native harness,讓 agent 能長時間做事
harness(執行框架):包住模型的迴圈與工具層。Agents SDK 提供 Codex 風格的 harness
sandbox(沙盒):隔離環境,模型在裡面可以存取檔案、做事並產出結果
compute(運算環境):agent 實際操作檔案和執行指令的地方。SDK 把它和 harness 分開
agent loop(agent 迴圈):呼叫 LLM、執行工具、更新 context,重複到模型不再呼叫工具為止
orchestration layer(協調層):圍繞 agent 迴圈自己搭建的那一層,以前要花大部分時間在這裡
load bearing(承重的):sandbox 一旦掛掉,所有狀態就跟著消失
ephemeral(短暫的、用完即丟的):sandbox 可以過期或消失,不用擔心它的死活
rehydration(狀態恢復):容器消失後把狀態恢復回來,由 harness 或 SDK 處理
snapshotting(快照):保存任務狀態,讓任務可以從中斷處繼續
prompt injection(提示注入攻擊):sandbox 上有 secret 時可能遭受的攻擊之一
exfiltration(資料外洩):sandbox 上放 secret 可能面臨的風險
auto compaction(自動壓縮):從 Codex 帶進 Agents SDK 的功能之一(字幕未進一步解釋)
MCP(MCP):可加進 agent 的功能之一,SDK 內建支援,也可以帶入自己的 MCP
skills(技能):可以自己加入的能力,SDK 新增 first class 支援
model agnostic(不綁定特定模型):可以用其他模型供應商,使用 responses API 格式的都能接上
multi-tenant(多租戶):同一個系統同時處理很多使用者的請求
hosted shell tool(託管 shell 工具):responses API 的新工具,後台啟動容器讓模型處理你提供的檔案
responses API(responses API):OpenAI 的 API。SDK 可以接上使用這個格式的其他模型
harness(執行框架):包住模型的迴圈與工具層。Agents SDK 提供 Codex 風格的 harness
sandbox(沙盒):隔離環境,模型在裡面可以存取檔案、做事並產出結果
compute(運算環境):agent 實際操作檔案和執行指令的地方。SDK 把它和 harness 分開
agent loop(agent 迴圈):呼叫 LLM、執行工具、更新 context,重複到模型不再呼叫工具為止
orchestration layer(協調層):圍繞 agent 迴圈自己搭建的那一層,以前要花大部分時間在這裡
load bearing(承重的):sandbox 一旦掛掉,所有狀態就跟著消失
ephemeral(短暫的、用完即丟的):sandbox 可以過期或消失,不用擔心它的死活
rehydration(狀態恢復):容器消失後把狀態恢復回來,由 harness 或 SDK 處理
snapshotting(快照):保存任務狀態,讓任務可以從中斷處繼續
prompt injection(提示注入攻擊):sandbox 上有 secret 時可能遭受的攻擊之一
exfiltration(資料外洩):sandbox 上放 secret 可能面臨的風險
auto compaction(自動壓縮):從 Codex 帶進 Agents SDK 的功能之一(字幕未進一步解釋)
MCP(MCP):可加進 agent 的功能之一,SDK 內建支援,也可以帶入自己的 MCP
skills(技能):可以自己加入的能力,SDK 新增 first class 支援
model agnostic(不綁定特定模型):可以用其他模型供應商,使用 responses API 格式的都能接上
multi-tenant(多租戶):同一個系統同時處理很多使用者的請求
hosted shell tool(託管 shell 工具):responses API 的新工具,後台啟動容器讓模型處理你提供的檔案
responses API(responses API):OpenAI 的 API。SDK 可以接上使用這個格式的其他模型
✏️ 小考一題
Steve 說 Agents SDK 這次更新中他最興奮的是哪一點?
A. 改成只支援 OpenAI 自家模型B. 讓 sandbox 固定跑在本機筆電上C. 新增語音模態D. 把 harness 和 compute 拆開看答案
答案:D。[06:41] Steve 說他最興奮的是 "we've split the harness from the compute"。語音是原本就有的模態 [08:13];SDK 是 model agnostic,可以用其他供應商 [10:45];sandbox 的執行位置由使用者自己決定 [04:40]
💛 覺得有幫助?支持一下


課本免費、沒有廣告,支持與否都能照常讀 🐰