跳到主要內容
yoAkyoku
← Notes
Agents約 1 分鐘

設計一個能被控制的 Agent Runtime

模型負責提案,Runtime 負責決定。把工具能力放在後台設定與 Provider 邊界裡,而不是交給 Prompt。

yoAkyoku 夜明曲 看板角色
Contents

問題

一個能行動的 Agent,就是一個會做錯事的 Agent。多數風險來自同一個捷徑:讓模型直接呼叫工具。

在陪伴型 AI 平台裡,MCP、Tools、Skills、Knowledge Base 與外部搜尋不是每個情境都該開。如果這些能力散在 Prompt 裡,就沒有任何一個地方能回答「現在這個對話到底能做什麼」。

設計目標

  1. 模型不持有憑證。
  2. 每個動作都能追溯、能重放。
  3. 能力的開關在後台,不在 Prompt。
  4. 換掉一個 Provider,對話流程不用改。

架構

對話 ──▶ Agent Runtime ──▶ Provider 邊界
                │              ├─ MCP Servers(後台開關)
                │              ├─ Tools / Skills(參數先受限制)
                │              ├─ Knowledge Base
                │              └─ External Search(不綁死單一服務)
                └──▶ 事件紀錄(每一步都寫)

Provider 邊界

對話流程只知道「有一個搜尋能力」,不知道後面是哪個服務。搜尋服務換掉、暫停、限流,都在邊界內處理。工具參數也在這裡先做限制,模型給的值不直接下到外部系統。

建議:

判斷準則

如果復原一個動作的時間比批准它更久,這個動作就需要人來確認。

後台設定

哪些 MCP、哪些 Tools、哪些知識庫在哪個情境開啟,是設定資料,不是程式碼。改設定不需要重新部署,也不需要改 Prompt。

心得

  • 預設關閉。每一個開啟都是因為有真實的使用情境需要。
  • 把「能不能做」和「要不要做」分開:前者是邊界的事,後者才是模型的事。

接下來

每個工具的速率限制,以及一個 dry-run 的執行器,讓策略可以在不碰真實系統的情況下測試。