Claude Code 学习站

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

依据 Anthropic 关于定义工具以引导模型正确行为的指导,下列哪些属于推荐做法?(选择所有适用项。)

  1. A写极其详尽的描述(目标为 3-4 句以上),说明该工具做什么、什么时候应该用和不应该用,以及每个参数的含义。
  2. B把相关操作合并成更少、能力更强的工具(例如带一个 action 参数的单个工具),而不是为每个动作各建一个工具,比如 create_prreview_prmerge_pr
  3. C当工具跨越多个服务时,在工具名中使用有意义的命名空间(例如 github_list_prsslack_send_message)。
  4. D在合适的地方用 JSON Schema 的 enum 把参数约束在一组固定的允许值上。
  5. E设计响应时返回所有可用的原始字段和不透明的内部引用 ID,让 Claude 获得最大量的信息。

正确答案:A B C D(多选)

解析

四个被标记的选项都直接得到了 Anthropic“Define tools”文档(platform.claude.com)以及“Writing tools for agents”工程指南的确认。

  • A文档的“Best practices for tool definitions”清单指出,极其详尽的描述是“by far the most important factor”,建议至少 3–4 句,说明该工具做什么、什么时候应该用和不应该用、以及每个参数的含义。
  • B文档建议把相关操作合并进带 action 参数的单个工具,而不是像 create_pr/review_pr/merge_pr 那样每个动作一个工具。
  • C文档建议在工具跨越多个服务时使用有意义的命名空间,例如 github_list_prsslack_send_message
  • D在合适之处用 JSON Schema 的 enum 把参数约束到一组固定允许值,在文档中随处可见示范(例如把 unit 限制为 celsius/fahrenheit),在指南的 response_format enum 中也有。
  • E是明确的反模式:响应应当“return only high-signal information”,使用语义化、稳定的标识符(slug/UUID)而非不透明的内部引用,并且只包含 Claude 需要的字段,因为臃肿的响应会浪费上下文。

延伸阅读

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