Claude Code 学习站

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

你的客服 agent 有一个 lookup_order 工具,调用时机是对的,但经常返回错误。日志显示 agent 传入的是像“order from last Tuesday”这样的自由文本描述,而不是所要求的 ISO-8601 时间戳格式。该工具的描述写着:“Retrieves order details given a date or identifier.”。没有提供任何示例或格式约束。对工具定义做哪项改动能最直接地减少这类输入格式错误?

  1. A在工具描述中加入输入格式约束、可接受的取值格式和示例输入,让模型确切知道该如何组织它的调用。
  2. B加一条 system prompt 指令:“Always use ISO-8601 format when calling lookup_order.”,放在 prompt 靠前的位置,使其覆盖每一轮。
  3. C加入输入 schema 校验,在调用时就拒绝格式错误的输入并向 agent 返回错误,让它下一轮换一个值再试。
  4. D把 lookup_order 拆成 lookup_order_by_id 和 lookup_order_by_date,各自只留一个必填参数,让模型去选查询路径,而不是猜参数该填什么。

正确答案:A

解析

  • A正确,因为根本原因是工具描述没有提供任何格式约束或示例,导致模型在构造调用时无从知道所要求的 ISO-8601 格式;把可接受的取值格式和示例输入加进工具定义,正好在模型需要的位置和时刻提供了这一指引,而且它是唯一一个真正如题目所问那样改动了工具定义的选项。
  • B把指引挪到 system prompt,更脆弱、属于全局开销,而且并非对工具定义的改动。
  • C纯属被动应对 —— schema 校验是在事后拒绝格式错误的调用,而不是降低模型发出这类调用的倾向。
  • D处理的是 id 与 date 的消歧,而非时间戳格式化,所以模型仍会把“last Tuesday”传给按日期查询的那个工具。

延伸阅读

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