智能体工具设计中,动作空间构建最具挑战性。Claude通过工具调用执行操作,API提供bash、skills及代码执行等原语工具。
设计工具时需平衡能力匹配:过多工具增加复杂度,单一工具可能局限功能。可类比解题场景——工具选择取决于智能体能力:基础计算用纸笔,高效运算需编程,关键在于提供适配其水平的工具集。
以下是Claude Code工具设计的核心经验:
改进启发与AskUserQuestion工具
为提升Claude提问效率,团队历经三次迭代:
尝试1:扩展ExitPlanTool
初始方案在ExitPlanTool中新增问题参数,但导致计划制定与提问逻辑冲突,模型易混淆操作流程。
尝试2:调整输出格式
修改输出指令要求结构化markdown提问格式,但模型输出不稳定,常出现格式偏差或内容遗漏。
尝试3:专用工具开发
最终创建独立AskUserQuestion工具,在计划模式触发时弹出模态框。该设计使:
- 提问格式标准化
- 用户多选项响应更高效
- 模型主动调用意愿显著提升
任务系统取代待办事项
早期采用TodoWrite工具管理待办事项,需周期性系统提醒防止模型偏离目标。但随着模型能力提升,该机制反成限制:
- 模型过度依赖固定事项清单
- 子智能体协调因共享清单失效
现升级为任务系统,支持依赖关系管理、跨智能体协同及动态调整,更好适配高阶模型自主性。
智能搜索界面设计
Claude Code工具体系中,自主构建上下文能力尤为关键:
1. 初期依赖RAG向量数据库提供上下文,但需预索引且适应性有限
2. 现通过Grep工具实现代码库自主搜索
3. 引入渐进式披露机制,支持技能文件递归加载,模型可嵌套搜索多层级文件定位精确上下文
渐进式披露应用实例
面对Claude Code使用指南查询需求,采用子智能体方案:
- 传统方案:将全部文档塞入系统提示,导致上下文冗余
- 优化方案:构建专用指南子智能体,按需精准检索并返回答案
该方法避免新增工具,显著提升信息获取效率。
工具设计本质
工具设计无固定公式,需动态适配:
- 模型能力演进(如Opus 4.5更适配任务系统)
- 智能体核心目标
- 环境交互复杂度
关键原则:持续验证工具必要性,避免功能冗余;深入理解模型行为模式,保持工具集精简高效。

