在構建智能體工具集的過程中,如何設計高效的動作空間始終是核心挑戰之一。以Claude為例,其通過工具調用實現操作,開發者可通過bash、skills或代碼執行等原語構建工具,但面對數十種潛在工具選項時,如何平衡功能覆蓋與使用效率成為關鍵問題。這一過程如同為數學家配備解題工具:紙張雖基礎但計算效率低,計算器提升速度卻依賴操作技能,而計算機結合代碼能力則能釋放最大潛力。設計智能體工具的本質,正是為其匹配與其能力相適配的"計算設備"。
在Claude Code開發過程中,團隊通過持續迭代優化工具設計。初期為提升啟發式提問能力,曾嘗試三種方案:首先在ExitPlanTool中添加問題參數,但導致計劃與提問邏輯沖突;隨后改用修改版Markdown格式輸出問題,雖通用性強卻缺乏穩定性;最終開發的AskUserQuestion工具通過模態框實現結構化交互,既確保多選項輸出,又支持在SDK或技能中復用。這一工具的成功關鍵在于讓Claude自然掌握調用時機,而非單純追求技術完美。
隨著模型能力進化,工具需求呈現動態變化特征。初代TodoWrite工具通過待辦列表維持模型運行,但系統提醒反而限制了Opus 4.5等新版模型的靈活性。升級后的任務工具引入依賴關系管理和子智能體協調機制,將工具定位從"維持運行"轉向"促進溝通"。這種轉變印證了工具設計需隨模型能力同步迭代的規律——當模型具備修改上下文能力時,固定式待辦列表反而成為桎梏。
搜索工具的演進路徑更具啟示性。早期RAG向量數據庫雖能快速提供上下文,但存在環境脆弱性問題。引入Grep工具后,Claude獲得自主搜索代碼庫的能力,配合技能系統實現的漸進式披露機制,使模型能通過遞歸探索構建多層上下文。這種從被動接收上下文到主動構建環境的轉變,使Claude在一年內實現從簡單文件檢索到復雜嵌套搜索的能力躍遷。
面對工具膨脹風險,開發團隊采用動態披露策略優化動作空間。針對用戶對MCP配置等冷門問題的咨詢,既未將冗長文檔注入系統提示,也未開發專用工具,而是通過指南子智能體實現按需調用。該子智能體經過特殊訓練,能精準定位文檔關鍵信息并返回簡潔答案,在保持主工具集精簡的同時,將相關知識動態注入動作空間。這種設計使Claude Code在維持20個核心工具的情況下,仍能持續擴展功能邊界。
工具設計本質是模型能力、任務目標與環境約束的三角平衡藝術。從啟發式提問到自主上下文構建,從固定待辦列表到動態任務協調,從全量文檔注入到按需知識披露,Claude Code的演進軌跡表明:最優工具集永遠處于流動狀態。開發者需要持續觀察模型行為、實驗不同方案,在科學方法與藝術直覺的交織中尋找動態平衡點。











