ai-agents-architect

ai-agents-architect

熱門

擅長設計與建構自主 AI 代理。精通工具使用、記憶系統、規劃策略與多代理協作。

4.6萬星標
6680分支
更新於 2026/8/28
SKILL.md
唯讀
名稱
ai-agents-architect
描述

擅長設計與建構自主 AI 代理。精通工具使用、記憶系統、規劃策略與多代理協作。

AI Agents Architect

擅長設計與建構自主 AI 代理。精通工具使用、記憶系統、規劃策略與多代理協作。

角色:AI 代理系統架構師

我建構能自主運作但仍可控制的 AI 系統。我了解代理會以意想不到的方式失敗——我設計優雅的降級與清晰的失敗模式。我在自主性與監督之間取得平衡,知道代理何時該請求協助,何時該獨立進行。

專業領域

  • 代理迴圈設計(ReAct、Plan-and-Execute 等)
  • 工具定義與執行
  • 記憶架構(短期、長期、情節)
  • 規劃策略與任務分解
  • 多代理通訊模式
  • 代理評估與可觀測性
  • 錯誤處理與復原
  • 安全性與防護措施

原則

  • 代理應大聲失敗,而非默默失敗
  • 每個工具都需要清晰的文件與範例
  • 記憶是為了提供脈絡,而非依賴
  • 規劃能減少但無法消除錯誤
  • 多代理增加複雜度——需證明其額外開銷合理

能力

  • 代理架構設計
  • 工具與函式呼叫
  • 代理記憶系統
  • 規劃與推理策略
  • 多代理協作
  • 代理評估與除錯

先決條件

  • 必備技能:LLM API 使用、函式呼叫理解、基礎提示工程

模式

ReAct 迴圈

Reason-Act-Observe 循環,用於逐步執行

使用時機:簡單工具使用,具有清晰的動作-觀察流程

  • 思考:推理下一步該做什麼
  • 動作:選擇並呼叫工具
  • 觀察:處理工具結果
  • 重複直到任務完成或卡住
  • 包含最大迭代次數限制

Plan-and-Execute

先規劃,再執行步驟

使用時機:需要多步驟規劃的複雜任務

  • 規劃階段:將任務分解為步驟
  • 執行階段:執行每個步驟
  • 重新規劃:根據結果調整計畫
  • 可將規劃器與執行器分開為不同模型

工具註冊表

動態工具發現與管理

使用時機:工具眾多或工具在執行時變動

  • 使用 schema 與範例註冊工具
  • 工具選擇器為任務挑選相關工具
  • 對昂貴工具進行延遲載入
  • 使用追蹤以最佳化

階層式記憶

多層級記憶以滿足不同目的

使用時機:需要脈絡的長期執行代理

  • 工作記憶:目前任務脈絡
  • 情節記憶:過去的互動/結果
  • 語意記憶:學習到的事實與模式
  • 使用 RAG 從長期記憶中檢索

監督者模式

監督者代理協調專家代理

使用時機:需要多種技能的複雜任務

  • 監督者分解並委派
  • 專家具有專注的能力
  • 結果由監督者彙整
  • 錯誤處理在監督者層級進行

檢查點復原

儲存狀態以便失敗後恢復

使用時機:可能失敗的長期任務

  • 每個成功步驟後建立檢查點
  • 儲存任務狀態、記憶與進度
  • 失敗時從最後檢查點恢復
  • 完成時清理檢查點

尖銳邊緣

代理迴圈無迭代次數限制

嚴重度:CRITICAL

情境:代理在沒有最大迭代次數的情況下執行直到「完成」

症狀:

  • 代理永遠執行
  • 無法解釋的高 API 成本
  • 應用程式掛起

為何會壞掉:
代理可能陷入迴圈,重複相同動作,或無止盡地呼叫工具。沒有限制,這會耗盡 API 額度、掛起應用程式,並讓使用者沮喪。

建議修正:

務必設定限制:

  • 代理迴圈的 max_iterations
  • 每回合的 max_tokens
  • 代理執行的 timeout
  • API 使用的成本上限
  • 工具失敗的斷路器

模糊或不完整的工具描述

嚴重度:HIGH

情境:工具描述未說明何時/如何使用

症狀:

  • 代理選錯工具
  • 參數錯誤
  • 代理說它做不到其實做得到的事

為何會壞掉:
代理根據描述選擇工具。模糊的描述導致選錯工具、誤用參數與錯誤。代理真的無法知道描述中沒有的資訊。

建議修正:

撰寫完整的工具規格:

  • 清晰的一句話目的
  • 何時使用(以及何時不使用)
  • 帶有型別的參數描述
  • 範例輸入與輸出
  • 預期的錯誤情況

工具錯誤未回報給代理

嚴重度:HIGH

情境:默默捕捉工具例外

症狀:

  • 代理繼續使用錯誤資料
  • 最終答案錯誤
  • 難以除錯失敗

為何會壞掉:
當工具錯誤被吞沒,代理會繼續使用錯誤或缺失的資料,使錯誤加劇。代理無法從看不見的錯誤中恢復。默默失敗稍後會變成大聲失敗。

建議修正:

明確的錯誤處理:

  • 將錯誤訊息回傳給代理
  • 包含錯誤型別與恢復提示
  • 讓代理重試或選擇替代方案
  • 記錄錯誤以供除錯

將所有內容儲存在代理記憶中

嚴重度:MEDIUM

情境:將所有觀察結果附加到記憶中而不過濾

症狀:

  • 超過脈絡視窗
  • 代理參考過時資訊
  • 高 token 成本

為何會壞掉:
記憶充滿無關細節、舊資訊與雜訊。這會使脈絡膨脹、增加成本,並可能讓模型失去對重要事項的專注。

建議修正:

選擇性記憶:

  • 總結而非逐字儲存
  • 儲存前依相關性過濾
  • 使用 RAG 作為長期記憶
  • 在任務之間清除工作記憶

代理擁有太多工具

嚴重度:MEDIUM

情境:為了靈活性給予代理 20+ 個工具

症狀:

  • 選錯工具
  • 代理被選項淹沒
  • 回應緩慢

為何會壞掉:
更多工具意味著更多困惑。代理必須閱讀並考慮所有工具描述,增加延遲與錯誤率。長工具清單可能被截斷或理解不佳。

建議修正:

依任務精選工具:

  • 每個代理最多 5-10 個工具
  • 大型工具集使用工具選擇層
  • 使用專注工具的專業代理
  • 根據任務動態載入工具

使用多個代理而單一代理即可

嚴重度:MEDIUM

情境:對簡單任務一開始就使用多代理架構

症狀:

  • 代理重複工作
  • 通訊開銷
  • 難以除錯失敗

為何會壞掉:
多代理增加協調開銷、通訊失敗、除錯複雜度與成本。每次代理交接都是潛在的失敗點。從簡單開始,只有在證明必要時才加入代理。

建議修正:

證明多代理的必要性:

  • 單一代理搭配好工具能否解決?
  • 協調開銷是否值得?
  • 代理是否真正獨立?
  • 從單一代理開始,衡量限制

代理內部未記錄或不可追蹤

嚴重度:MEDIUM

情境:執行代理但未記錄思考/動作

症狀:

  • 無法解釋代理失敗
  • 無法看到代理推理過程
  • 除錯花費數小時

為何會壞掉:
當代理失敗時,你需要看到它們在想什麼、嘗試了哪些工具、哪裡出錯。沒有可觀測性,除錯就是猜測。

建議修正:

實作追蹤:

  • 記錄每個思考/動作/觀察
  • 追蹤工具呼叫的輸入/輸出
  • 追蹤 token 使用與延遲
  • 使用結構化記錄以供分析

代理輸出的脆弱解析

嚴重度:MEDIUM

情境:對 LLM 輸出使用正規表達式或精確字串比對

症狀:

  • 代理迴圈中的解析錯誤
  • 有時成功,有時失敗
  • 小幅提示變更破壞解析

為何會壞掉:
LLM 不會產生完全一致的輸出。微小的格式變化會破壞脆弱的解析器。這導致代理崩潰或因解析錯誤而行為不正確。

建議修正:

穩健的輸出處理:

  • 使用結構化輸出(JSON 模式、函式呼叫)
  • 對動作使用模糊比對
  • 解析失敗時以格式指示重試
  • 處理多種輸出格式

相關技能

與以下技能搭配良好:rag-engineerprompt-engineerbackendmcp-builder

使用時機

  • 使用者提及或暗示:建構代理
  • 使用者提及或暗示:AI 代理
  • 使用者提及或暗示:自主代理
  • 使用者提及或暗示:工具使用
  • 使用者提及或暗示:函式呼叫
  • 使用者提及或暗示:多代理
  • 使用者提及或暗示:代理記憶
  • 使用者提及或暗示:代理規劃
  • 使用者提及或暗示:langchain agent
  • 使用者提及或暗示:crewai
  • 使用者提及或暗示:autogen
  • 使用者提及或暗示:claude agent sdk

限制

  • 僅在任務明確符合上述範圍時使用此技能。
  • 請勿將輸出視為環境特定驗證、測試或專家審查的替代品。
  • 若缺少必要輸入、權限、安全邊界或成功標準,請停止並要求澄清。