用 Claude Managed Agents 打造可上線的 production-ready agent(第 1/2 段)


🏦 台灣Pay 銀行轉帳 💙 PayPal
介紹 Claude Managed Agents 的核心元件與事件類型,並開始實作 Deal Desk 範例
- 00:47 本場定位為技術深入講解,會實際寫程式,並提供一個 starter repo 帶大家一起做;目標是聽完就能開始用 Claude Managed Agents 開發
- 06:56 講者表示 outcomes 非常強大,是讓 agent 成功的好方法
- 13:05 遇到的第一個問題是「列出所有 sessions」的 endpoint 只是 stub,講者開始實作這個函式
💡 你可以怎麼用:想用 AI agent 自動化某個流程時,可以照四大積木列一張清單:它要用哪些工具、哪些步驟一定要你按同意、完成標準(outcome)怎麼寫。就算不寫程式,拿這張清單跟工程師或 AI 工具溝通需求,也會清楚很多。
看全部 43 條重點
🧑🏫 這支是 Anthropic 的實作講座,介紹 Claude Managed Agents:官方幫你處理好大部分底層工作的 AI agent 服務。前半段先說明它有哪幾塊積木、會傳回哪些訊息,然後用一個虛構的投資評估產品開始實作。就算你不寫程式,看完也能了解一個可以上線的 AI agent 要考慮哪些事。
- 00:47 本場定位為技術深入講解,會實際寫程式,並提供一個 starter repo 帶大家一起做;目標是聽完就能開始用 Claude Managed Agents 開發↳ 這場不只講概念,講者會邊寫程式邊示範。他準備了一個 starter repo,也就是已經搭好骨架、等你補完的程式專案,讓大家跟著做,目標是聽完就能自己動手。
- 00:47 議程:先概覽 Claude Managed Agents,再從頭實作一個可以部署到 production 的東西,最後談進階主題與可組合的用法↳ 流程分三段:先介紹 Claude Managed Agents 的全貌,再從零做出一個能上線給真實用戶用(production)的東西,最後聊進階玩法和各元件怎麼組合。
- 01:17 Claude Managed Agents 是一組已發布的 API endpoints,任何 API key 都能用,提供可擴展、production ready 的 agents 及相關 primitives↳ Claude Managed Agents 是 Anthropic 開放的一組 API 入口(endpoints,程式用來呼叫服務的網址),有 API key 就能用。它提供現成的 agent,也就是能自己動手做事的 AI。
- 01:49 可以只挑需要的 primitives、其他不用,再往上打造自己要的產品體驗↳ primitives 就是基本積木。你可以只拿用得到的幾塊,其他不碰,再往上蓋出自己產品的樣子,不必整套照官方的設計走。
- 01:49 平台已處理:讓 Claude 使用電腦、credential vaults(可為終端使用者注入 MCP 驗證,例如存取他們的 Linear MCP)、tool calling harness↳ 有幾件麻煩事平台已經包辦:讓 Claude 操作電腦;用 credential vaults(帳密保險箱)替用戶登入他們的 MCP 服務(MCP 是 AI 連接外部工具的標準);還有呼叫工具的整套底層機制。
- 02:21 也處理 production 可能發生的重試與錯誤復原,並提供 memory、context 管理、multi-agent 等 primitives,讓你能隨每一代新模型推出而受益↳ 上線後常見的出錯和重試也由平台處理。它另外提供記憶(memory)、控管 Claude 眼前資訊量(context)、多個 agent 分工等積木,新模型推出時你的產品也能直接受益。
- 02:52 developer console 內建 observability 檢視畫面,可即時 debug agent 正在做什麼↳ 開發者後台(developer console)有 observability 畫面,意思是讓你看得到 agent 在做什麼的監控視窗。它能即時顯示 agent 的每一步,出問題時比較好抓原因。
- 02:52 第一個構成元素是 agent:可視為範本,定義 system prompt、可用的 skills 與 tools↳ 第一塊積木是 agent,像一張設定範本:寫好它的角色和指示(system prompt),並設定它會哪些 skills(打包好的做事方法)、能用哪些 tools(可以呼叫的功能)。
- 02:52 可挑選工具:有的 agent 給 bash tool 和 web search;有的刻意不給上網,避免被 prompt injection↳ 工具可以自己挑。有的 agent 會給它 bash(直接對電腦下指令)和網路搜尋;有的刻意不讓上網,因為網頁裡可能藏著騙 AI 的惡意指令,這叫 prompt injection。
- 03:22 agent 也能設定要連接哪些 MCP servers↳ 也可以指定 agent 要連哪些 MCP servers,就是提供特定外部服務的連接點,例如專案管理工具或資料庫。
- 03:22 可針對每個工具設定權限:例如 file read 自動執行,但執行 bash 或呼叫資料庫 MCP server 需要終端使用者明確核准↳ 每個工具可以分開設權限:讀檔這類低風險的動作自動執行;下指令、動資料庫這類有風險的動作,要使用者先按同意才會執行。
- 03:53 第二個元素是 environment:定義 Claude 使用的 sandbox 範本,例如容器是否有網路存取、預先安裝 NPM 或 pip 套件↳ 第二塊是 environment,用來設定 Claude 工作用的 sandbox(隔離的虛擬電腦,弄壞也不影響外面):能不能上網、要先裝好哪些套件(NPM、pip 是常見的安裝工具)。
- 03:53 當天宣布 self-hosted environments 與 sandboxes,可自帶 sandbox,不必只跑在 Anthropic 的基礎設施上↳ 當天新宣布 self-hosted(自己架設)的 environment 和 sandbox:Claude 工作的那台虛擬電腦可以放在你自己的地方,不一定要用 Anthropic 的機器。
- 04:23 可使用 Cloudflare、Modal、Vercel 等現成服務,或自己的 sandbox 機群↳ 你可以用 Cloudflare、Modal、Vercel 這類雲端服務提供的 sandbox,也可以用公司自己維護的一批機器。
- 04:23 有了 agent ID 和 environment ID 就能開始一個 session↳ 前兩塊設定好後,各自會拿到一個 ID(編號)。有了這兩個編號,就能開一個 session 正式開工。
- 04:23 session 可想成你和 Claude 之間持續進行的對話,等同在 claude.ai 按「新對話」或從終端機進入 Claude Code↳ session 就是一段持續中的對話,跟你在 claude.ai 按「新對話」、或工程師在終端機(打指令的視窗)開 Claude Code 一樣。
- 04:53 在 session 中可送出終端使用者的事件,例如要求開一個 PR↳ 在 session 裡,你的應用程式可以把用戶的要求轉給 Claude,例如「幫我開一個 PR」。PR 是提出一份程式修改,請別人審核後合併。
- 04:53 建立 session 時可指定 Claude 能存取的 GitHub repositories,或要預載進容器的檔案,平台會代為下載與佈建↳ 開 session 時可以指定 Claude 能讀哪些 GitHub repositories(放程式碼的專案庫),或要先放進虛擬電腦的檔案,平台會幫你下載、擺好。
- 04:53 第四個元素是 events:session 是持續的事件串流,client 送訊息、平台回傳 Claude 處理中的回應↳ 第四塊是 events(事件)。session 其實是一條不斷流動的訊息串:你這端(client)送訊息進去,平台把 Claude 邊做邊產生的回應一則則傳回來。
- 05:24 四大主要 primitives:agent、environment、session、events↳ 總結四大積木:agent 是範本,environment 是工作環境,session 是一次對話,events 是對話中來回傳遞的訊息。
- 05:24 User events:由你的應用程式送出,可能是使用者說的話或平台自動送出,可包含圖片、文件、文字↳ User events 是你這端送出的事件,可能是用戶打的話,也可能是系統自動送出的;內容可以是文字、圖片或文件。
- 05:54 可從平台送出 interrupt,在 Claude 偏離方向或做錯時中斷並導正,防止危險動作↳ 你可以送出 interrupt(中斷):發現 Claude 走偏或做錯時立刻叫停、給它新指示,避免它做出危險的動作。
- 05:54 User events 也可送出:自訂工具(在你平台執行)的 tool results,以及 server 端執行工具的 human-in-the-loop 確認↳ User events 還有兩個用途:把你平台上自訂工具的執行結果(tool results)交回給 Claude,以及送出使用者的同意,也就是 human-in-the-loop(關鍵步驟由人把關)。
- 06:25 Outcomes:傳入檔案或一段文字當作規格(spec),Claude 先做第一版,再反覆對照 rubric 檢查、迭代,直到滿足為止↳ Outcomes:你給一份規格(spec,說明成品要長什麼樣),它就被當成評分標準(rubric)。Claude 先交初稿,再自己對照標準檢查、修改,直到全部達標。
- 06:56 講者表示 outcomes 非常強大,是讓 agent 成功的好方法↳ 講者特別推薦 outcomes。先講清楚「做到什麼程度才算完成」,agent 就有明確目標可以自我檢查,講者認為這是讓 agent 把事做好的好方法。
- 06:56 Agent events:Claude 做的所有事,包括回給使用者的訊息、context window 太大時的 compaction、執行的工具(MCP tools 或預設 agent tools)↳ Agent events 是 Claude 做的每件事:回給用戶的話、context window(一次能處理的內容上限)快滿時做的 compaction(壓縮成摘要),以及它呼叫了哪些工具。
- 07:27 Agent events 也包含 multi-agent 協調事件,即 Claude 決定生成其他 agent 協助工作時↳ Claude 如果判斷需要幫手,另外叫出其他 agent 來分工,這些協調過程也會以 agent events 傳回來,讓你看得到誰在做什麼。
- 07:27 Session events:生命週期事件,告知 session 狀態變化,如進入重試循環、發生錯誤、idle、終止↳ Session events 回報這段對話的狀態變化:正在重試、出錯了、閒置(idle,做完在等)或已經結束,方便你的畫面顯示對應的狀態。
- 07:57 另有 outcome 處理事件,讓你知道 Claude 何時進入對照 outcome rubric 迭代的模式↳ 還有一種事件會告訴你 Claude 已經進入「對照 outcome 標準反覆修改」的階段,讓你知道它還在打磨成果,不是當掉。
- 07:57 Span events:標示長時間任務的開始與結束(例如 Opus 4.7 產生很長的文件),避免你以為卡住了↳ Span events 標示一段長時間工作的開始和結束,例如 Opus 4.7 在寫很長的文件。中間就算一直沒有新訊息,你也知道它還在做,不是卡住了。
- 08:27 Self-hosted sandboxes:很多人已有 Cloudflare、Vercel、Modal 帳號,私有資料不想離開自己的 VPC 或邊界,可原生連接自己的 sandbox↳ 很多公司本來就有 Cloudflare、Vercel、Modal 帳號,機密資料不想離開自己的 VPC(公司在雲端圈起來的私人網路),現在可以直接把自己的 sandbox 接上來。
- 08:59 使用自有 sandbox 時,運作方式由你決定;平台只在 Claude 需要新 sandbox 時通知你,你生成一個並連上即可↳ 用自己的 sandbox 時,要怎麼架、怎麼管都由你決定。平台只在 Claude 需要新的工作環境時通知你,你開一台接上去就好。
- 08:59 MCP tunnels:為私有網路中的 MCP servers 建立安全通道,Claude 能直接安全連線,而不必把這些 servers 暴露在網路上↳ MCP tunnels 是一條加密的專用通道。公司內網裡的 MCP 服務不用開放到公開網路上,Claude 也能安全地連進去使用。
- 10:00 實作使用一個公開 repo,可 clone 下來;裡面也有其他 workshop 講者的內容與許多有趣模式↳ 實作用的是一個公開的程式專案,可以 clone(整份複製到自己電腦)。裡面還有其他講者的 workshop 內容和許多值得參考的做法。
- 10:00 本場聚焦 production-ready agents 目錄,內含 web app 的 starter 版與 solution 版(可直接看完整做法)↳ 這場只用其中的 production-ready agents 資料夾,裡面有網頁應用的兩個版本:starter(待完成)和 solution(完整解答),卡住時可以直接對答案。
- 10:30 範例是虛構的 Deal Desk 產品:做併購,資料可能在 Linear 或私有資料來源,用 Claude 協助決定是否投資或收購公司↳ 範例是虛構產品 Deal Desk:幫做併購的團隊從 Linear(專案管理工具)或內部資料找資訊,讓 Claude 協助判斷值不值得投資或收購某家公司。
- 11:00 完成版介面:基本聊天 UI,左側列出所有 sessions,右側顯示 session 資訊,主體是使用者與 Claude 的對話↳ 完成品長得像一般的聊天介面:左邊列出所有 session(歷史對話),右邊是這段 session 的資訊,中間是使用者和 Claude 的對話。
- 11:00 Deal Desk 使用兩週前推出的 multi-agent 功能,讓不同 agent 各有自己的 persona 與做事方式↳ Deal Desk 用上兩週前推出的 multi-agent(多個 agent 分工)功能,每個 agent 有自己的 persona(角色設定)和做事方式。
- 11:32 例如一個 agent 負責產業總體趨勢,另一個擅長財務分析、可能有更多工具或 MCP 服務;這些 threads 由主 agent thread 發起來回答問題↳ 例如一個 agent 專看產業大趨勢,另一個擅長財務分析、配有更多工具。主 agent 接到問題後,會派它們各開一條工作線(thread)去查,一起回答問題。
- 12:03 範例中的公司都是虛構的,Deal Desk 也不是真實產品↳ 範例裡的公司都是虛構的,Deal Desk 也不是真的產品,純粹拿來示範。
- 12:34 在 starter 目錄用 Bun 啟動本機 server;因為是 starter 版,一開始就會遇到「not implemented」錯誤,這是刻意設計來帶大家認識 API↳ 在 starter 資料夾用 Bun(執行 JavaScript 的工具)在自己電腦啟動伺服器。一開就會跳出「not implemented(還沒做)」錯誤,這是故意的,要你邊補程式邊認識 API。
- 12:34 第一步:做出列出所有 sessions 的側邊欄↳ 第一個任務:做出左側欄,把所有 session 列出來。
- 13:05 遇到的第一個問題是「列出所有 sessions」的 endpoint 只是 stub,講者開始實作這個函式↳ 一動手就發現「列出所有 session」這個 endpoint 只是 stub(先留著的空殼,還沒寫內容),於是講者開始把這個功能補寫出來。
📘 術語
Claude Managed Agents(Claude 託管 agent 服務):一組 API endpoints,提供可擴展、production ready 的 agents 與相關 primitives
primitives(基本元件):可自由挑選組合的構成單元,如 agent、environment、session、events
credential vaults(憑證保管庫):可為終端使用者注入 MCP 驗證,例如存取他們的 Linear MCP
tool calling harness(工具呼叫框架):平台已代為處理的工具呼叫機制
observability(可觀測性):developer console 中的檢視畫面,可即時 debug agent 在做什麼
prompt injection(提示注入):字幕提到:不讓某些 agent 上網,以避免被 prompt injection
environment(環境):定義 sandbox 行為的範本,如網路存取、預裝 NPM/pip 套件
sandbox(沙箱):Claude 使用的容器;可用 Anthropic 的,或自帶 Cloudflare、Modal、Vercel 等
session(工作階段):你和 Claude 持續進行的對話,等同 claude.ai 按新對話
interrupt(中斷):從平台送出以打斷偏離方向或做錯事的 Claude 並導正
human-in-the-loop(人工介入確認):server 端執行的工具需要使用者確認才執行
outcomes(成果目標):傳入 spec 當 rubric,Claude 反覆迭代檢查直到滿足
rubric(評分標準):Claude 用來對照檢查自己成果的規格
compaction(上下文壓縮):context window 太大時,Claude 壓縮其內容
span events(區段事件):標示長時間任務的開始與結束,避免誤以為卡住
VPC(虛擬私有雲):字幕提到私有資料不想離開自己的 VPC 或邊界
MCP tunnels(MCP 通道):安全通道,讓 Claude 連到私有網路的 MCP servers 而不暴露於網路
stub(佔位實作):starter 版中先留空、尚未實作的 endpoint
primitives(基本元件):可自由挑選組合的構成單元,如 agent、environment、session、events
credential vaults(憑證保管庫):可為終端使用者注入 MCP 驗證,例如存取他們的 Linear MCP
tool calling harness(工具呼叫框架):平台已代為處理的工具呼叫機制
observability(可觀測性):developer console 中的檢視畫面,可即時 debug agent 在做什麼
prompt injection(提示注入):字幕提到:不讓某些 agent 上網,以避免被 prompt injection
environment(環境):定義 sandbox 行為的範本,如網路存取、預裝 NPM/pip 套件
sandbox(沙箱):Claude 使用的容器;可用 Anthropic 的,或自帶 Cloudflare、Modal、Vercel 等
session(工作階段):你和 Claude 持續進行的對話,等同 claude.ai 按新對話
interrupt(中斷):從平台送出以打斷偏離方向或做錯事的 Claude 並導正
human-in-the-loop(人工介入確認):server 端執行的工具需要使用者確認才執行
outcomes(成果目標):傳入 spec 當 rubric,Claude 反覆迭代檢查直到滿足
rubric(評分標準):Claude 用來對照檢查自己成果的規格
compaction(上下文壓縮):context window 太大時,Claude 壓縮其內容
span events(區段事件):標示長時間任務的開始與結束,避免誤以為卡住
VPC(虛擬私有雲):字幕提到私有資料不想離開自己的 VPC 或邊界
MCP tunnels(MCP 通道):安全通道,讓 Claude 連到私有網路的 MCP servers 而不暴露於網路
stub(佔位實作):starter 版中先留空、尚未實作的 endpoint
✏️ 小考一題
根據影片,Claude Managed Agents 的「outcomes」功能是做什麼的?
A. 標示長時間任務的開始與結束B. 傳入 spec 當 rubric,讓 Claude 反覆迭代檢查直到滿足C. 讓 Claude 連到私有網路中的 MCP serversD. 在 context window 太大時自動壓縮對話看答案
答案:B。[06:25] 講者說 outcomes 可傳入檔案或文字當 spec,Claude 會反覆對照 rubric 檢查直到滿足;其他選項分別是 compaction、MCP tunnels、span events
💛 覺得有幫助?支持一下


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