The Agent Development Lifecycle 101 by Harrison Chase
學習筆記:Agent Development Lifecycle 101
TL;DR
Agent 的開發週期是系統性迭代的過程,涵蓋建置、測試、部署、監控和治理,目標是確保 Agent 的可靠行為與效能,並透過追蹤、評估和自動化工具來不斷優化。
快速結論
Agent 開發最核心的挑戰在於如何讓 Agent 行為穩定可靠,尤其是在大規模應用時。為了解決這個問題,業界發展出了一套系統性的「Agent 開發生命週期」,包含五個主要階段:建置 (Build)、測試 (Test)、部署 (Deploy)、監控 (Monitor) 及治理 (Govern)。
在這個生命週期中,建置階段關注如何選擇適合的框架或工具來創造 Agent,測試階段則著重於驗證 Agent 的效能與正確性。部署階段的重點在於如何讓 Agent 在生產環境中穩定運行,而監控階段則透過追蹤與回饋來了解 Agent 的實際表現。最後,治理階段則整合了成本控制、存取權限與審計追蹤等,以確保 Agent 的安全與合規。
透過系統化的生命週期管理,開發者可以更有效率地迭代和優化 Agent,從本地演示推進到大規模、可靠的生產應用,並藉由工具與平台的輔助,降低營運負擔,實現 Agent 的自我改進。
這支影片在說什麼
這支影片介紹了 Agent 開發的完整生命週期,旨在幫助開發者理解如何系統性地建置、測試、部署、監控和治理 AI Agent。影片解決了 Agent 在實際應用中,行為不可靠、效能不穩定等痛點,並提出了一套解決方案。此內容適合希望開發或部署 AI Agent 的開發者、產品經理及技術決策者。
最重要的 3-5 個重點
- Agent 的核心挑戰是可靠性與穩定性:從本地演示到大規模部署,Agent 的效能與行為是否可靠是最大的難關。
- Agent 開發生命週期是系統性優化的關鍵:透過建置、測試、部署、監控、治理五大階段,能系統性地迭代與優化 Agent。
- 測試與監控是確保 Agent 品質的重要環節:特別是收集使用者回饋、進行線上評估,以及追蹤 (Tracing) 確保 Agent 的行為可被理解與修正。
- 治理貫穿整個生命週期,確保安全與合規:成本控制、工具存取權限、審計追蹤等是 Agent 規模化應用時不可或缺的考量。
- 自動化工具與平台能大幅降低營運負擔:如 LangSmith Engine 等工具,能協助 Agent 自動化優化、提升效率。
知識架構
- Agent 開發生命週期
- 建置 (Build)
- Agent Frameworks (e.g., LangChain, LlamaIndex)
- Runtimes (e.g., LangGraph, Temporal)
- Harnesses (e.g., DeepAgent, CLIO Agent)
- No-code / Low-code 平台
- 測試 (Test)
- Inputs (Tasks, Edge Cases)
- Datasets (Inputs + Outputs/Criteria)
- Metrics (Correctness, Criteria Checks, Policies)
- Experiments & Version Comparison
- Sandboxed Environments (e.g., Harbor)
- 部署 (Deploy)
- Durable Execution & Resumption
- Persistence & Memory Management
- Streaming (Tokens, Tool Calls)
- Human-in-the-Loop
- Sandboxes (Co
- 建置 (Build)
de Execution) * Virtual File Systems * 監控 (Monitor) * Tracing (Steps, Inputs, Outputs, Tool Calls) * Feedback Collection (User Thumbs Up, Signals) * Online Evaluation (Running Evaluators on Production Traces) * Perceived Error Detection * Dashboards (Latency, Time to First Token, Feedback Aggregation) * 治理 (Govern) * Cost Controls & Visibility * Tool Access & Permissions * Audit Trails * Human-in-the-Loop Approval * Discoverability (Tools, Agents) * Sharing (Contexts, Skills)
- 規模化考量
- Frameworks for Reusability & Onboarding
- Shared Evaluation Frameworks
- Centralized Deployment Infrastructure
- Tracing, Feedback & Dashboards
- LangChain Ecosystem
- Open Source Libraries (Deep Agent, LangChain, LangGraph)
- No-code Platform (LangSmith Fleet)
- Platform (LangSmith: Datasets, Evals, Deployments, Sandboxes, Context Hub)
- Self-Improving Agent (LangSmith Engine)
關鍵概念
- Agent Frameworks: 提供開發 Agent 的結構和抽象,例如處理模型輸入輸出、工具、提示詞 (prompts) 和檢索 (retrieval) 的標準化方式。
- Runtimes: 處理 Agent 運行時的考量,如狀態管理、持久化執行和人類介入。
- Harnesses: 更高層次的抽象,特別是為特定類型的 Agent(如編碼 Agent)設計,涵蓋狀態管理、檔案系統存取、子 Agent 支援等。
- Tracing: 記錄 Agent 在執行過程中所有步驟、輸入、輸出和工具調用的過程,對於除錯至關重要。
- Online Evaluation: 在生產環境的 Agent 執行記錄 (traces) 上運行評估器,以進行即時評分和監控。
- Perceived Error: 透過分析使用者與 Agent 的互動,偵測 Agent 可能出現錯誤的跡象,例如使用者直接指出錯誤。
- Virtual File Systems: 將儲存在資料庫或其他位置的資料,模擬成檔案系統介面,供 Agent 存取。
- Governance: 涵蓋成本控制、工具存取權限、審計追蹤等,確保 Agent 的安全、合規與高效運行。
- LangSmith Engine: 一個自動化工具,能在背景分析 Agent 的 traces,識別問題,並提出或自動執行修正建議(如提示詞或程式碼變更),以實現 Agent 的自我改進。
重要例子與細節
- Frameworks 的弊端: 早期 LangCh
ain 的鏈 (chain) 進行五次 LLM 調用,使用者卻不清楚原因,這顯示了框架可能模糊底層運作,需要更好的文件或更輕量化的設計。
- 測試中的輸入來源: 可以從真實使用記錄 (traces)、文件犬 (dogfooding) 或合成生成 (generating them synthetically) 中獲取。
- 測試中的評分標準:
- Ground Truth: 對於分類任務,可以直接比較輸出是否與預期一致。
- Criteria-based Judging: 對於開放性任務(如編碼),則運行單元測試來驗證結果,例如 Terminal Benchmark 2。
- 部署時的 sandboxes: 對於 Agent 產生並執行未受信任程式碼的情況,沙盒是確保安全執行的重要機制。
- Virtual File System 實例: 使用 Notion 或 Box 作為虛擬檔案系統,或將 LangChain Context Hub 的檔案掛載為虛擬檔案系統。
- Perceived Error 的偵測訊號: 使用者說「你搞砸了」、「不,你應該做 X」、「你弄錯了」,或在程式碼執行失敗後貼回有錯誤的程式碼片段。
- 治理中的工具存取: 需明確 Agent 使用 Notion 時,是代表個人、同事還是服務帳戶。
- LangSmith Engine 的運作: 每六小時運行一次,將 traces 集群成問題,產生 issue board,並建議程式碼或提示詞變更,同時也會嘗試添加資料集範例及創建線上評估。
- Token 數控制的技巧:
- 將過長的工具回應存入檔案,只顯示最後一部分給 Agent。
- 對於寫入檔案的超長輸入,可以移除,Agent 需要時再從檔案讀取。
- 這些操作需謹慎,以避免破壞 Prompt Caching。
可學習的洞察
- Agent 的可靠性是規模化的關鍵:再炫酷的功能,若無法穩定運行,就難以大規模應用。
- 開發流程應系統化,而非隨機嘗試:建置、測試、部署、監控、治理的生命週期提供了一個可預測且可優化的路徑。
- 使用者回饋是持續改進的寶貴資產:透過收集和分析使用者回饋,可以更精準地發現 Agent 的問題。
- 「人類在環」是必要且有效率的協作模式:Agent 可以處理大部分工作,但由人類進行最終審核或批准,能平衡效率與準確性。
- 自動化工具是提升 Agent 營運效率的關鍵:尤其是處理複雜、耗時的監控與優化工作。
可行動的整理
- 評估現有 Agent 的開發流程:是否遵循了建置、測試、部署、監控、治理的生命週期?
- 導入 Tracing 機制:無論是否使用特定工具,都應建立 Agent 執行過程的追蹤與記錄。
- 收集並分析使用者回饋:建立機制,讓使用者能輕鬆提供對 Agent 表現的意見。
- 探索虛擬檔案系統的應用:研究如何利用現有儲存服務,為 Agent 提供檔案系統的介面。
- 關注 Agent 的自我改進工具:持續關注 LangSmith Engine 等自動化優化工具的發展,並研究如何在自身專案中應用。
- 實驗 No-code/Low-code 平台:對於非開發者,可以嘗試使用 LangSmith Fleet 等平台來建置 Agent。
複習問題
- Agent 開發生命週期包含哪五個主要階段?
- 為什麼 Agent 的可靠性被視為最核心的挑戰?
- 在 Agent 的測試階段,除了明確的輸出外,還有哪些評分標準?
- 「Perceived Error」是什麼意思?並舉例說明偵測的訊號。
- LangSmith Engine 的主要功能是什麼?它如何幫助 Agent 實現自我改進?
待確認資訊
- 影片中提到 LangChain 的 Runtime 和 Harness 的區別,但定義較為口語化,需要更清晰的劃分標準。
影片中提及 LangGraph,並將其歸類為 Runtime,但也在架構圖中將其與 Framework 並列,其確切定位和功能需要更細緻的釐清。
- 對於「No code」Agent 的定義,影片中提到可以透過 Markdown 文件來定義 Agent,但具體如何實現、其能力邊界為何,需要進一步的說明。
- 影片中提到 "Laying Graph" 是 Runtime,但在 LangChain Ecosystem 中又將其與 Deep Agent、LangChain 並列為 Open Source Libraries,這部分關係需要釐清。
- 影片中提到"Cloud Agent"、"CSTK" 等 Harnesses,但未提供具體細節,若要深入了解,需另尋資料。