上線你的第一個 Managed Agent(第 3/3 段)


🏦 台灣Pay 銀行轉帳 💙 PayPal
SRE agent 實作收尾,並講解 Managed Agents 的底層原理與進階功能
- 24:47 Demo 結果:agent 找出根本原因是 builder 加了一個 query,把 pool 資源耗盡;它也排除了其他可能的原因,並給出建議處置
- 30:32 串流給使用者的 event 都是使用者在意的內容,agent 也能把一切記錄到 observability console
- 36:09 總結:建立 Managed Agents 底層運作的心智模型,並完成一個 site reliability agent,替開發者省下凌晨 2、3 點被叫起來處理事故的時間
💡 你可以怎麼用:如果你想請 AI 代辦重複性的工作,可以照這個順序準備:先寫清楚它的角色和能做的事,再給它需要的工具和資料,然後寫下「做到什麼程度才算好」的標準。一開始只讓它給建議,確認可靠之後再慢慢多給權限。
看全部 36 條重點
🧑🏫 這是 Claude 官方工作坊的最後一段。前半段看 SRE agent 查事故的結果:SRE 指負責讓網站穩定運作的維運工作,agent 是能自己決定步驟、自己叫用工具來完成任務的 AI。後半段拆解 Managed Agents 的運作方式,這是 Anthropic 幫你在雲端代管、代跑 agent 的服務。想知道交給雲端代管能省掉哪些麻煩、還有哪些進階功能可以加,這段講得最完整。
- 24:47 Demo 結果:agent 找出根本原因是 builder 加了一個 query,把 pool 資源耗盡;它也排除了其他可能的原因,並給出建議處置↳ agent 找出 root cause(事故真正的起因):有位開發者加了一個資料庫查詢(query),把 pool 用光了。pool 是事先準備好、大家共用的一批資料庫連線。它也排除了其他可能,並給出處理建議。
- 24:47 很多 incident response agent 還會讓 agent 自己修問題。例如給它 Cloud Code 的存取權,它就能進 code base、提出修正、開 PR↳ 很多處理事故(incident response)的 agent 還會自己動手修。例如開放 Claude Code 權限給它,它就能進程式碼庫(code base)改程式,再開 PR,也就是送出修改、請人審核的申請。
- 25:19 Demo 只做到給建議處置。如果給 agent 更多工具和權限,人類開發者只要負責監督,不必再照著步驟手動修 root cause↳ 這次示範只做到給建議。工具和權限給得越多,agent 能包辦的事就越多。人類可以從「照步驟自己修」改成「在旁邊監督、把關」。
- 25:50 Session persistence:硬重新整理頁面後,先前所有 session 的內容都還在,全部保存在雲端↳ Session 是你和 agent 一次完整的對話與工作過程。硬重新整理網頁後,之前每個 session 的內容都還在,因為資料存在雲端,不是存在你的瀏覽器裡。
- 26:20 不用自己處理資料庫,也不用自己把 agent 從筆電搬到 production,一切都在 server side 維護↳ 存資料要用的資料庫,還有把 agent 從自己電腦搬到正式上線環境(production)這些苦工,都由 Anthropic 在伺服器端(server side)處理,你不用自己架。
- 26:20 示範刪除 session:執行 delete 後,該 session 會從清單中移除↳ 講者示範刪除 session:下了 delete 指令後,那個 session 就從清單上消失,感覺跟刪掉一則聊天紀錄差不多。
- 26:20 Session 有狀態:執行中是 running,結束後變成 idle↳ 每個 session 都有狀態(state):agent 正在工作時顯示 running,做完、在等下一個指令時顯示 idle(閒置)。
- 26:50 再問 agent「Who are you?」就能在同一個 session 繼續執行。講者強調 state 管理是 Managed Agents 底層運作的關鍵↳ 在已經停下來的 session 裡再問一句「你是誰?」,agent 會在同一個 session 接著回答。講者強調,把這些狀態記好、管好,是 Managed Agents 運作的關鍵。
- 27:20 回顧建置步驟:從空的 agent 開始,定義 agent definition(persona、能力),再給它 environment,以及可以操作的資料與 context↳ 回顧建置流程:先開一個空白 agent,寫好 agent definition(設定它的角色 persona 和能做的事),再給它 environment(工作環境),以及可以用的資料和背景資訊(context)。
- 27:20 Session 把 agent definition 和 environment 結合起來,讓 agent 在 agent loop 中決定要呼叫哪些工具,並代替我們採取行動↳ Session 把 agent 的設定和工作環境組在一起。agent 在 agent loop 裡自己決定要用哪些工具、替我們動手。agent loop 是「想一步、做一步、看結果再想」的循環。
- 27:51 另外還把回應串流到 log、實作 local tools 和刪除 session,並在 Streamlit app 看到前端的呈現方式↳ 工作坊裡還做了幾件事:把回應即時寫進 log(紀錄檔)、做了在自己電腦上跑的工具、刪除 session。最後用 Streamlit(用 Python 快速做網頁介面的工具)看前端長什麼樣子。
- 28:22 Session 以 event 溝通,不像 Messages API 那樣一次 request/response、tokens in/tokens out;event 會 append 到 session log 裡↳ Messages API 是直接呼叫 Claude 的基本介面,一問一答,送文字進去、拿文字回來。Session 則用 event(一筆一筆的事件)溝通,每件事都依序追加到 session log 裡。
- 28:52 Event 附加在 log 上,所以很容易從中斷處恢復 session,也方便從 log 檢視一切。講者說這是 CMA 可靠又安全的重要原因↳ 每件事都照順序記在 log 裡,中斷之後照著紀錄就能接著做,出了問題也能回頭查。講者認為這是 CMA(Claude Managed Agents 的縮寫)可靠又安全的關鍵。
- 28:52 Agent 的 hands(手)和 brain(腦)是分開的:container 掛了就重新啟動它,不必連整個 agent loop 一起重跑↳ Agent 的「手」和「腦」是分開的。手是實際執行工具的環境,例如 container(隔離的小型執行空間);腦是負責思考的 agent loop。手壞了重開一個就好,腦不用從頭來。
- 29:26 Workshop 裡的 local tools 用 JSON 定義、從本機檔案載入;工具在本機執行,agent loop 則在 Anthropic 管理的雲端基礎設施上跑↳ 工作坊裡的 local tools 用 JSON(一種常見的資料格式)寫好定義,從自己電腦讀進來,也在自己電腦上執行。agent 負責思考的循環則在 Anthropic 的雲端跑。
- 29:26 剛推出 bring your own compute 和 bring your own sandboxing,可以自己決定工具在哪裡執行:自己的基礎設施,或 Anthropic 管理的基礎設施↳ 新推出 bring your own compute 和 sandboxing(sandbox 是隔離的安全執行空間):工具要在哪裡執行由你決定,可以放在自己公司的機器,也可以交給 Anthropic 代管。
- 29:57 工具可以從 JSON 載入,改成放在任何地方執行(例如 Data Dog client),用的是同一套 wire protocol,從原型到 production 很容易↳ 工具一樣從 JSON 讀進來,只是改到別的地方執行,例如接上 Datadog(常見的系統監控服務)。雙方溝通的規則(wire protocol)不變,所以從試做版改成正式版很順。
- 30:32 串流給使用者的 event 都是使用者在意的內容,agent 也能把一切記錄到 observability console↳ 串流給使用者看的 event,都是使用者真正在意的內容。agent 也能把所有細節記到 observability 主控台,observability 就是讓人看得到系統內部發生了什麼。
- 31:03 CMA 的 session 狀態:idle、running;需要重試時是 rescheduling;session 失敗時是 terminated↳ CMA 的 session 有四種狀態:idle(閒置)、running(執行中)、rescheduling(出錯後排隊重試)、terminated(失敗結束)。看狀態就知道 agent 現在的情況。
- 31:03 可以搭配 webhook:agent 收到外部 webhook event 後,可以恢復 session,或依外部事件啟動特定 state↳ 可以接 webhook,也就是外部系統發生事情時主動發通知的機制。例如監控系統發出警報,agent 收到後可以接續原本的 session,或依這個事件進入特定狀態開始處理。
- 31:34 Event 和 session 是核心概念,所以 agent 很容易自由組合,能監聽內部與外部(webhook)事件來採取行動或恢復執行↳ 一切都以 event 和 session 為單位運作,所以 agent 很好組裝。內部事件或外部 webhook 通知都能用來觸發它行動,或讓它接著做下去。
- 32:04 從 agent loop 的角度來看,一切都在雲端。對話會被保存,離開再回來也不必管資料庫或 agent 存放在哪↳ 從 agent 的角度看,所有運作都在雲端。對話會保存下來,你離開之後再回來也能接著用,不用管資料庫在哪、agent 放在哪台機器上。
- 32:36 這次只做了最基本的形式,compaction、caching、tool calling 都由 Claude Managed Agents 代勞↳ 這次只做了最基本的版本。compaction、caching(影片沒細講,一般指壓縮過長的對話、重複利用處理過的內容)和工具呼叫的處理,都由 Managed Agents 代勞。
- 32:36 想讓 agent 更強,可以加入 skills、subagents、memory、outcomes,這些都是開箱即用的核心元件↳ 想讓 agent 更強,可以加上 skills(技能包)、subagents(子 agent)、memory(記憶)、outcomes(成果目標)。這些都是內建的元件,拿來就能用,後面幾點會分別說明。
- 33:06 講者鼓勵大家看官方文件,並參加下一場談 dreaming 的 session↳ 講者建議大家去看官方文件,也推薦下一場講 dreaming 的分享。dreaming 是讓 agent 整理自己記憶的功能。
- 33:06 Subagents/multi-agents:由 orchestrator agent 分派工作給其他 agent,每個 subagent 有自己的 context window,做完回報主 agent↳ Subagents/multi-agents:由一個負責總指揮的 orchestrator agent 分派工作給其他 agent。每個子 agent 有自己的 context window(一次能讀進和處理的內容量),做完再回報。
- 33:37 Subagents 的好處是有利於平行化,也方便做 context 管理↳ 好處有兩個:幾件事可以同時分頭進行,比較快;每個子 agent 只處理自己那份資料,主 agent 不會被資訊塞爆,比較好管理。
- 33:37 Memory:回應怎麼做自我改進、從使用者的糾正中學習、記住使用者偏好等問題,提供開箱即用的 memory 與 dreaming 服務↳ Memory 要解決的問題是:agent 怎麼越用越好、記住你糾正過的錯、記得你的偏好。Managed Agents 直接提供現成的 memory 和 dreaming 服務,不用自己開發。
- 34:07 Dreaming:Claude 會翻閱自己的 memory log,決定要保留什麼,準確記住哪些偏好與糾正要留給同一個 agent 之後的 session↳ Dreaming 有點像事後整理筆記:Claude 回頭翻自己的記憶紀錄,挑出值得保留的偏好和糾正,讓同一個 agent 下次開新的 session 時還記得。
- 34:07 Outcomes:可以為 agent 的成果定義 rubric,讓它朝期望結果努力,而不只是執行呼叫↳ Outcomes:你可以寫一份 rubric,也就是評分標準,說明怎樣才算做好。agent 會朝這個結果努力,而不只是照指令呼叫工具。
- 34:38 有了 outcomes,agent 會依 rubric 自己摸索要呼叫哪些工具、要做哪些事,才能達成最終結果↳ 設好 outcomes 之後,agent 會對照評分標準,自己想要用哪些工具、走哪些步驟,才能交出符合要求的成果。你只要講清楚想要什麼結果。
- 34:38 Vaults:管理使用者憑證在存取管理上很麻煩。憑證存放在獨立的 endpoint,和 agent 能存取的部分之間經過加密↳ Vaults(保險庫):幫使用者管理帳密、金鑰這類憑證(credentials)很麻煩。Vaults 把憑證放在獨立的服務端點(endpoint),和 agent 碰得到的部分之間用加密隔開。
- 35:08 Vaults 可以依每個使用者、每個 session 管理憑證,靠的是 brain 與 hands 分離的架構,不必自己架 secret store↳ Vaults 可以替每位使用者、每個 session 分別管理憑證。能做到這點,是因為腦和手分開了。你也不用自己架一套專門存密碼的系統(secret store)。
- 35:39 其他沒時間細講的功能:webhooks、細粒度的 permission policies、MCP servers(剛推出新的 MCP server controls)↳ 還有幾項沒時間細講:webhooks、細部的權限規則(permission policies)、MCP servers。MCP 是讓 AI 接上外部工具和資料的標準介面,現在也新增了管控 MCP server 的功能。
- 35:39 Console agent builder:在 developer console 內建功能,有 observability dashboard,也能直接在 console 定義 agent↳ Console agent builder 是開發者主控台(developer console)裡內建的功能。它有 observability 儀表板(dashboard,一頁看完各項狀況),也能直接在主控台上定義 agent。
- 36:09 總結:建立 Managed Agents 底層運作的心智模型,並完成一個 site reliability agent,替開發者省下凌晨 2、3 點被叫起來處理事故的時間↳ 總結:這段幫你建立 Managed Agents 底層怎麼運作的概念,也做出一個 SRE agent,讓工程師少被凌晨兩、三點的事故叫起來。
📘 術語
root cause(根本原因):事故的真正起因;本例是 builder 加的 query 把 pool 資源耗盡
PR (pull request)(合併請求):agent 在 code base 裡提出修正後,可以開 PR 來提交修改
session persistence(session 持久化):所有 session 保存在雲端,重新整理頁面後內容仍然保留
session state(session 狀態):包含 idle、running、rescheduling(重試)、terminated(失敗)
event(事件):session 以 event 溝通,不是 request/response,event 會附加到 session log
agent loop(agent 迴圈):agent 在其中思考要呼叫哪些工具,並採取行動;它在雲端執行
hands / brain(手/腦):執行環境與 agent loop 分開,container 掛了不必重跑整個 agent loop
local tools(本機工具):用 JSON 定義、從本機檔案載入,在自己的筆電上執行的工具
bring your own compute / sandboxing(自備運算/沙箱):剛推出的功能,可以自選工具要在自己還是 Anthropic 管理的基礎設施上執行
wire protocol(傳輸協定):換成 Data Dog client 等工具時,仍使用同一套 wire protocol
webhook(webhook):agent 接收外部事件後,可以恢復 session 或啟動特定 state
compaction / caching(壓縮/快取):字幕只提到這兩項由 Claude Managed Agents 代為處理,沒有進一步解釋
subagent / orchestrator(子代理/協調者):orchestrator 分派任務給 subagent,各自有 context window,完成後回報主 agent
context window(上下文視窗):每個 subagent 都有自己的 context window,有助於 context 管理
memory(記憶):讓 agent 記住使用者偏好、從使用者的糾正中學習
dreaming(dreaming):Claude 翻閱自己的 memory log,決定要保留哪些記憶
outcomes / rubric(成果/評分準則):定義 rubric 描述期望的產出,agent 自己想辦法達成
vaults(保管庫):憑證加密存放在獨立的 endpoint,可依每個使用者、每個 session 管理
permission policies(權限政策):字幕只提到有細粒度的 permission policies,沒有細講
console agent builder(Console agent 建構器):內建在 developer console,有 observability dashboard,可直接定義 agent
observability(可觀測性):agent 能把一切記錄到 observability console/dashboard
PR (pull request)(合併請求):agent 在 code base 裡提出修正後,可以開 PR 來提交修改
session persistence(session 持久化):所有 session 保存在雲端,重新整理頁面後內容仍然保留
session state(session 狀態):包含 idle、running、rescheduling(重試)、terminated(失敗)
event(事件):session 以 event 溝通,不是 request/response,event 會附加到 session log
agent loop(agent 迴圈):agent 在其中思考要呼叫哪些工具,並採取行動;它在雲端執行
hands / brain(手/腦):執行環境與 agent loop 分開,container 掛了不必重跑整個 agent loop
local tools(本機工具):用 JSON 定義、從本機檔案載入,在自己的筆電上執行的工具
bring your own compute / sandboxing(自備運算/沙箱):剛推出的功能,可以自選工具要在自己還是 Anthropic 管理的基礎設施上執行
wire protocol(傳輸協定):換成 Data Dog client 等工具時,仍使用同一套 wire protocol
webhook(webhook):agent 接收外部事件後,可以恢復 session 或啟動特定 state
compaction / caching(壓縮/快取):字幕只提到這兩項由 Claude Managed Agents 代為處理,沒有進一步解釋
subagent / orchestrator(子代理/協調者):orchestrator 分派任務給 subagent,各自有 context window,完成後回報主 agent
context window(上下文視窗):每個 subagent 都有自己的 context window,有助於 context 管理
memory(記憶):讓 agent 記住使用者偏好、從使用者的糾正中學習
dreaming(dreaming):Claude 翻閱自己的 memory log,決定要保留哪些記憶
outcomes / rubric(成果/評分準則):定義 rubric 描述期望的產出,agent 自己想辦法達成
vaults(保管庫):憑證加密存放在獨立的 endpoint,可依每個使用者、每個 session 管理
permission policies(權限政策):字幕只提到有細粒度的 permission policies,沒有細講
console agent builder(Console agent 建構器):內建在 developer console,有 observability dashboard,可直接定義 agent
observability(可觀測性):agent 能把一切記錄到 observability console/dashboard
✏️ 小考一題
根據影片,Claude Managed Agents 的 session 在 agent 需要重試時會進入哪個狀態?
A. terminatedB. idleC. reschedulingD. paused看答案
答案:C。[31:03] 講者說 session 狀態會從 idle 變成 running,agent 需要重試時是 rescheduling,session 失敗時則是 terminated。
💛 覺得有幫助?支持一下


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