Claude Code 学习站

CCA-F 练习题库· Tool Design & MCP Integration

生产日志显示,当用户询问订单时(例如 “check my order #12345”),agent 经常调用 get_customer 而不是 lookup_order。两个工具的描述都很简略(“Retrieves customer information” / “Retrieves order details”),而且接受相似的标识符格式。要提升工具选择的可靠性,最有效的第一步是什么?

  1. A在 system prompt 中加入 few-shot examples,演示正确的工具选择模式,用 5-8 个示例展示与订单相关的查询应路由到 lookup_order。
  2. B实现一个路由层,在每一轮之前解析用户输入,并根据检测到的关键词预先选定合适的工具。
  3. C扩充每个工具的描述,写明它所处理的输入格式、示例查询、边界情况,以及说明何时该用它、何时该用相似工具的界限。
  4. D把两个工具合并成单个 lookup_entity 工具,它接受任意标识符,并在内部判断该查询哪个后端。

正确答案:C

解析

  • C正确:误路由的根因在于两个工具的描述都很简略、几乎可以互换,并且标识符格式相互重叠,因此模型没有任何依据来区分它们。tool description 是模型用于路由的首要信号,所以最省力、杠杆最高的修复方式就是扩充每个描述,说明它处理的输入格式、示例查询、边界情况,以及关于何时用它、何时用相似工具的明确界限。Anthropic 自己的指南也印证了这一点:优化 tool description 是 'one of the most effective methods for improving tools',而精确的描述改写已经大幅降低了工具选择的错误率。各干扰项作为“第一步”都更差。
  • Afew-shot examples 只是在 prompt 里修补症状,增加了持续的 token 开销,并让有误导性的描述原封不动地留着。
  • B关键词路由层是脆弱的过度工程,还绕过了模型自身的推理。
  • D把两者合并成单个 lookup_entity 工具是代价高昂的架构改动,只是把同一个消歧问题挪进工具内部,而不是真正解决它。
  • C是唯一最佳的“第一步”,因为它以最低的成本命中根因,所以本题构造良好,其唯一标注答案是正确的。

延伸阅读

本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。