Claude Code 学习站

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

一次工具调用因参数无效而失败。正确的错误响应设计是什么?

  1. A返回 null,让模型看到一个空结果,再自己决定下一步怎么做
  2. B返回一个结构化对象:{ error_type, message, invalid_field, recovery_hint }
  3. C把通用的 HTTP 400 Bad Request 状态行当作纯错误字符串返回
  4. D抛出未捕获的异常,让 agent 进程崩溃,整个循环随之停下

正确答案:B

解析

  • B正确:失败的工具调用应该返回一个结构化的错误对象(例如 { error_type, message, invalid_field, recovery_hint }),而不是崩溃或返回不透明的值。结构化、可据以行动的错误让模型能够就这次失败进行推理并自我纠正——例如用改正后的参数重试——这与 Anthropic 的 tool use 指南一致:工具错误应当返回给模型(例如用 is_error: true 加上描述性内容),而不是抛出。干扰项各有明显缺陷。
  • A返回 null 丢弃了诊断信息,而且与空结果无法区分。
  • C通用的 HTTP 400 字符串没说明是哪个字段无效、该如何修复,迫使模型去猜。
  • D抛出未捕获的异常导致 agent 崩溃,会中断整条流水线,使任何恢复都无从谈起。

延伸阅读

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