工具約束原則

Vercel 的反直覺實戰發現:移除 80% 工具並約束 Agent 的解決空間,反而帶來更快的響應、更低的消耗、更高的成功率。給 Agent 越多工具選項,效果越差。

反直覺的發現

直覺上,Agent 擁有的工具越多越好——工具越全面,解決問題的能力越強。

然而 Vercel 發現,過於全面的工具庫會讓 Agent 困惑

  • Agent 在選擇工具時產生歧義和冗餘調用
  • 工具越多,Agent 越容易「迷路」——試遍所有工具而非直奔目標
  • 大量工具定義本身佔用 context 空間

Vercel 發現:移除 80% 工具 + 約束解決空間 → 響應更快、消耗更低、成功率更高。

為什麼少即是多

Agent 的決策品質取決於解決空間的清晰度,不是工具數量:

情況結果
工具多 → 選項多Agent 困惑,冗餘調用,耗 token
工具少但精準 → 選項清晰Agent 高效,直達目標

類比:給初學者一本 1000 頁工具書,不如給他 10 條精選原則。

約束解決空間的方法

  1. 只保留任務真正需要的工具——按任務類型動態載入,不全量提供
  2. Progressive Disclosure(漸進式揭露)——先只給基本工具,任務深入後再開放進階工具(見 Harness Engineering §漸進式揭露)
  3. Deterministic Constraints(確定性約束)——用 Linter / 測試取代讓 Agent 自行判斷的工具,減少 Agent 的選擇負擔

在 vault 的對應

vault 的 CLAUDE.mdCLAUDE.md(專案手冊))只列出8 種 type 詞彙、6 個 domain——正是工具約束原則的知識管理版本。限制 type / domain 數量,讓 LLM 在有界的詞彙空間內做決策,而不是在無限的選項中迷路。

相關概念

強連結(原文明確提及)

  • Harness Engineering — 工具約束是 Harness 設計的核心原則之一
  • 3A 架構 — Evaluator 也是一種約束——限制 Generator 只做生成不做評估

推斷連結(LLM 認為相關,待確認)

  • Agent Loop ?? — 工具約束直接影響 Agent Loop 的工具調用行為
  • SKILL.md 規範 ?? — Skill 的設計本身就是對 Agent 能力的約束和封裝

深入閱讀

← 回到 wiki