用途:本技能面向为智能体(agent)设计工具的场景,帮助构建代理能有效使用的工具,并涵盖架构削减(architectural reduction)模式。适用于为智能体系统创建新工具、调试工具相关失败或误用、优化已有工具集、从零设计工具 API、评估第三方工具集成,以及统一代码库中的工具约定。
主要能力与核心概念:工具被视为确定性系统与非确定性代理之间的契约。合并原则指出,若人类工程师都无法明确判断某情境该用哪个工具,代理更难做到,因此倾向用单一综合工具替代多个狭窄工具。架构削减把该原则推到极致:去掉多数专用工具,改用原始通用能力,例如以单一命令执行工具提供文件系统访问,让代理用 grep、cat、find、ls 等标准 Unix 工具探索系统。
工具描述工程:有效描述应回答四问——工具做什么、何时使用、接受什么输入、返回什么。描述本身会载入代理上下文并引导行为,相当于提示工程。默认值应贴合常见用例;响应格式可提供简洁与详细两种,以平衡完整性与 token 效率;错误信息需可操作,帮助代理恢复。
命名与集合:使用统一 schema 与命名约定(动词-名词、参数与返回字段一致)。工具描述重叠会造成模型混淆,一般建议 10-20 个工具,超出则用命名空间分组。使用 MCP 工具须用完全限定名,格式为 ServerName:tool_name,否则可能报 tool not found。
优化与测试:可用代理优化工具本身,给定工具与失败样例让其诊断并改进描述,形成反馈闭环。测试应针对无歧义、完整、可恢复、高效、一致等标准,并用代表性请求评估工具调用。
限制:合并并非普遍正确,行为差异大、上下文不同或可能被独立调用的工具应保持分离;数据混乱、领域需专门知识、安全约束或操作真正复杂时,削减会失败。仅当任务明确匹配上述范围时使用,输出不能替代环境特定验证、测试或专家评审;缺少必需输入、权限、安全边界或成功标准时应停下询问。