Anthropic 打造高效能 LLM 智慧代理:模式與實踐
本文根據實務經驗,總結出打造高效能大型語言模型 (LLM) 智慧代理的最佳實踐。它探討了從簡單工作流程到自主代理等不同的代理系統架構,並提供何時使用每種方法的指引。此外,本文也深入探討框架的角色,並強調簡潔、透明度和精心設計的代理-電腦介面 (ACI) 的重要性。
圖片來源: chatgpt 4o
重點摘要
1. 什麼是智慧代理 (Agents)?
- 工作流程 (Workflows): LLM 和工具透過預先定義的程式碼路徑進行協調。
- 智慧代理 (Agents): LLM 動態指導自身流程和工具使用,掌控任務執行方式。
關鍵區別: 工作流程遵循固定路徑,而智慧代理則能靈活應變。
2. 何時 (以及何時不) 使用智慧代理
- 優先考慮簡單性: 許多情況下,優化單一 LLM 呼叫就已足夠。
- 工作流程適用於可預測任務: 當一致性和可預測性至關重要時,工作流程是理想選擇。
- 智慧代理適用於需要靈活性的任務: 當需要模型驅動的決策和規模化彈性時,智慧代理更勝一籌。
3. 何時以及如何使用框架
- 框架的優勢: 簡化標準的低階任務,例如呼叫 LLM、定義和解析工具以及串連呼叫。
- 框架的劣勢: 可能增加抽象層,使除錯更困難,並誘使過度複雜化。
- 建議: 優先直接使用 LLM API,許多模式只需幾行程式碼即可實現。如果使用框架,請務必了解底層程式碼。
4. 建構模塊、工作流程和智慧代理
a) 建構模塊:增強型 LLM
- 檢索 (Retrieval): 存取外部知識。
- 工具 (Tools): 與外部系統互動 (例如 API、資料庫)。
- 記憶 (Memory): 跨互動保留資訊。
重點: 根據特定使用情境調整增強功能,並確保其為 LLM 提供清晰、完善的文件介面。
b) 工作流程:提示鏈接 (Prompt Chaining)
簡述: 將任務分解為一系列步驟,每個 LLM 呼叫處理前一個步驟的輸出。 適用時機: 適用於可明確分解為固定子任務的任務,以延遲換取更高的準確性。
使用案例範例:
- 內容創作和本地化:
- 先生成英文行銷文案
- 檢查文案是否符合品牌調性
- 將通過審核的文案翻譯成目標語言
- 調整翻譯以符合當地文化習慣
- 技術文件撰寫:
- 基於需求生成文件大綱
- 檢查大綱是否涵蓋所有必要主題
- 依據審核後的大綱撰寫詳細內容
- 進行技術準確性審查
- 產品描述生成:
- 提取產品關鍵特點
- 生成吸引人的產品標題
- 撰寫詳細描述
- 優化 SEO 關鍵字
c) 工作流程:路由 (Routing)
簡述: 對輸入進行分類並將其導向專門的後續任務,實現提示專業化和關注點分離。 適用時機: 適用於具有不同類別的複雜任務,這些類別最好分開處理,並且可以準確分類。
- 客戶服務查詢分類:
- 退款請求 → 財務部門專用提示
- 技術問題 → 技術支援提示
- 產品諮詢 → 銷售部門提示
- 投訴處理 → 客戶關係提示
- 內容審核分流:
- 一般內容 → 基本審核流程
- 敏感內容 → 強化審核流程
- 緊急內容 → 優先處理流程
- 多語言支援:
- 簡單查詢 → 直接翻譯
- 技術問題 → 專業翻譯人員
- 文化相關 → 本地化專家
d) 工作流程:平行化 (Parallelization)
簡述: LLM 同時處理一項任務,並以程式設計方式彙總其輸出。 兩種主要變體: * 分段 (Sectioning): 將任務分解為獨立的子任務並平行執行。 * 投票 (Voting): 多次執行相同的任務以獲得不同的輸出。 適用時機: 當可以平行處理子任務以提高速度,或者當需要多個角度或嘗試以獲得更高信賴度的結果時,此方法非常有效。
分段使用案例:
- 內容審核:
- 同時檢查:
- 內容適當性
- 事實準確性
- 語法正確性
- 品牌一致性
- 同時檢查:
- 代碼審查:
- 平行評估:
- 安全性漏洞
- 效能問題
- 代碼風格
- 文檔完整性
- 平行評估:
投票使用案例:
- 內容分級:
- 多個模型同時評估內容等級
- 根據多數決定最終分級
- 不一致時升級人工審核
- 翻譯質量:
- 生成多個翻譯版本
- 交叉評估各版本品質
- 選擇最佳或合併優點
e) 工作流程:協調者-工作者 (Orchestrator-Workers)
簡述: 中央 LLM 動態分解任務,將其委派給工作者 LLM,並整合其結果。 適用時機: 適用於無法預測所需子任務的複雜任務 (例如,在程式設計中,需要變更的檔案數量和每個檔案中變更的性質可能取決於任務)。
使用案例範例:
- 網站內容更新:
- 協調者分析更新需求
- 分配任務給專門工作者:
- SEO 優化
- 內容撰寫
- 圖片說明生成
- 標籤管理
- 研究報告生成:
- 協調者規劃報告架構
- 工作者負責不同部分:
- 數據分析
- 文獻回顧
- 趨勢分析
- 建議撰寫
f) 工作流程:評估者-優化者 (Evaluator-Optimizer)
簡述: 一個 LLM 產生回應,而另一個 LLM 在迴圈中提供評估和回饋。 適用時機: 當有明確的評估標準,且迭代改進能帶來可衡量價值時,此工作流程特別有效。
使用案例範例:
- 文章優化:
- 生成初始文章
- 評估者檢查:
- 可讀性
- 邏輯流暢度
- 論點支持
- 優化者根據回饋改進
- 廣告文案優化:
- 創建多個文案版本
- 評估關鍵指標:
- 說服力
- 目標相關性
- 行動召喚效果
- 迭代改進最佳版本
g) 智慧代理 (Agents)
簡述: 智慧代理在接收命令或與使用者進行互動討論後自主運作。它們獨立規劃和執行,並可能尋求人工輸入以進行澄清或判斷。 適用時機: 適用於步驟數量難以預測且無法硬編碼固定路徑的開放式問題。需要對 LLM 的決策有一定的信任。
使用案例範例:
- 研究助理:
- 自主執行文獻搜索
- 總結關鍵發現
- 識別研究缺口
- 生成研究建議
- 數據分析師:
- 自動清理數據
- 執行統計分析
- 生成視覺化
- 提供見解報告
- 內容策展:
- 監控內容趨勢
- 篩選相關內容
- 組織內容主題
- 生成內容建議
5. 結合與自訂模式
這些模式並非硬性規定,而是可以根據特定需求進行組合和調整的起點。關鍵在於衡量效能並進行迭代,只有在能明顯改善結果時才增加複雜度。
6. 總結
- 簡潔性: 維持簡潔的設計。
- 透明度: 明確顯示智慧代理的規劃步驟。
- 精心打造的 ACI: 徹底記錄和測試工具。