CCA 领域 2 详解:Tool Design 与 MCP 集成
CCA 领域 2 tool design 与 MCP 详解:这个占 18% 的领域考什么,工具描述、isError、工具数量和 MCP 作用域怎么出题,附完整情景题推理和常见陷阱。
更新于
CCA-F 考试的领域 2 叫 Tool Design & MCP Integration,占总分 18%。它考的是四件事:你设计的工具 agent 能不能选对,返回的错误 agent 能不能从中恢复,工具数量有没有控制在可靠范围内,MCP server 有没有配在正确的作用域。贯穿始终的一个想法是:工具定义是给模型看的接口,不是给人看的文档。
这篇文章会讲领域 2 包含什么、为什么是这个权重、哪些概念必须烂熟、考试怎么出题、一道完整情景题的推理,以及常见陷阱。内容建立在我们 21 篇文章的领域 2 学习指南之上,下文每个概念都链到更深入的那篇。
CCA 领域 2 考什么?
五个任务。表格列出了每个任务的入门文章。
| 任务 | 考点 | 从这里开始 |
|---|---|---|
| 2.1 工具描述与选择 | 描述质量如何决定路由准确率;拆分职责过载的工具 | 简略描述 30% 误路由,详细描述接近零 |
| 2.2 错误处理与 isError | 结构化错误、错误分类、访问失败 vs 合法空结果 | 结构化错误:78-95% 恢复率 vs 通用”Operation Failed”的 15% |
| 2.3 工具数量与可靠性 | 准确率曲线、tool_choice 模式、最小权限工具集 | 3 个工具 = 97% 准确率,18 个 = 51%:工具数量曲线 |
| 2.4 MCP server 作用域 | .mcp.json vs ~/.claude.json、环境变量展开、resources vs tools | 项目级放 .mcp.json,用户级放 ~/.claude.json |
| 2.5 内置工具职责 | Read、Grep、Glob、Edit、Write、Bash 各自什么时候用 | 每个内置工具只干一件事 |
如果你对 MCP 本身还不熟,先读 Foundations 入门:MCP:一个协议连接一切和Tools、Resources、Prompts:MCP 的三大原语。领域 2 默认你已经掌握了那一层。
领域 2 为什么占 18%?
工具是 agent 触碰真实世界的地方,我们见过的大多数生产事故,扒开来看都是工具问题:模型调错了工具,对一个不可恢复的错误重试了五次,或者因为超时被当成空结果返回,就告诉客户”您的订单不存在”。Anthropic 把它定在 18%,略低于两个 20% 的领域,是因为概念数量偏少;但这里的题目非常具体,所以特别好学。按 60 题的试卷算大约 11 题(报名前请到官方页面核对最新权重)。
必须烂熟的概念
描述就是路由信号。 一段包含用途、输入格式、输出格式、示例用例,以及”不要用于 X,X 请用 Y”这条边界说明的描述,能带来接近完美的选择准确率。五个词的描述会让相似工具之间出现 30% 的误路由。两个工具老是被混淆时,针对这一对去修,别全部重写,做法见数据驱动修复描述:瞄准高误路由的工具对。另外,塞满关键词规则的系统提示(“用户说’搜索’就用工具 A”)往往让路由更糟,见去掉关键词规则后路由从 78% 提升到 94%。
isError: true 只是开头,结构才是主体。 工具失败时应该返回 isError: true,再加上足够的元数据让 agent 决定下一步:错误类别、可不可以重试、一条能转述给用户的消息,以及建议的后续动作。没有分类,agent 会在一个永远不会成功的权限错误上白白烧掉重试次数(没有分类,Agent 在权限错误上浪费 5 次重试)。本地重试还是向上传播的规则,在先本地重试,恢复失败再带上下文传播。
访问失败不是空结果。 超时必须是 isError: true。查询成功但零行结果是 isError: false。把两者混为一谈,agent 就会告诉客户他们已确认的订单不存在。这个点在领域 2 出现,在领域 5 还会再出现,所以一次学透:“您的订单不存在”——但它存在,只是数据库挂了。
工具数量有一条曲线。 三到五个工具时选择准确率接近完美,超过八个就陡降。一个 agent 需要十五个工具时,拆成每个四五个工具的专家 agent,由协调者路由。每个角色只给它自己的工具(最小权限:每个 Agent 只拿角色所需的工具)。四种 tool_choice 模式各自保证什么要记牢(tool_choice:auto、any、tool、none)。
MCP 作用域是个”文件放哪”的问题。 团队共享的 server 放在项目根目录的 .mcp.json,提交到 git,密钥用 ${ENV_VAR} 引用(${ENV_VAR}:让密钥远离版本控制)。个人 server 放 ~/.claude.json。在 CLAUDE.md 里写”使用 GitHub server”什么也配置不了。Resources 让模型不用工具调用就能浏览内容(MCP Resources:不用工具调用就能浏览内容),所有配置好的 server 在启动时连接(所有 MCP Server 在启动时连接)。
内置工具各司一职。 Grep 搜内容,Glob 搜路径,Edit 之前先 Read,Edit 精确匹配失败时用 Read 加 Write 兜底(Edit 失败时:Read + Write 做兜底)。
考试怎么考领域 2?
场景都很偏运维实操。题目会描述一套工具或一个 MCP 配置、一个已经测出来的症状,然后给四种修法。练习题里反复出现的模式:
- “合同老是被路由到发票抽取工具。“(描述只差一个词;补上区分文档特征的说明。)
- “agent 对一个 403 重试了五次才放弃。“(返回错误类别和
isRetryable: false,附建议动作。) - “新工程师克隆了仓库,发现 Jira MCP server 不见了。“(它被配在
~/.claude.json里;挪到.mcp.json,密钥用环境变量。) - “计费 agent 有 14 个工具,三分之一的时候选错。“(拆成按角色划分的专家 agent。)
- “哪个工具能找到所有 import 了
auth.ts的文件?“(Grep,因为它搜内容;Glob 只匹配文件名。) - “团队应不应该自己写一个 Slack server?“(不该;标准集成用社区 server,见标准集成用社区 Server。)
完整情景题:数据库故障期间的订单查询工具
背景。 一个客服 agent 有一个 lookup_order MCP 工具。数据库事故期间,工具的处理函数捕获了超时,返回 { isError: false, content: "No results found" }。于是 agent 告诉好几位客户他们的订单不存在。事后有工程师提议:所有异常一律返回 { isError: true, content: "Operation failed" }。
选项。
A. 保留空结果,但在系统提示里加一句”数据库可能宕机”。
B. 所有异常都返回 isError: true 加一条通用的”Operation failed”。
C. 返回 isError: true 加结构化载荷:类别 transient、isRetryable: true、尝试过的 order_id,以及一条可以给客户看的消息;真正零行的结果继续用 isError: false。
D. 去掉这个工具,让 agent 请客户稍后再打来。
推理。 A 把假阴性原样留着,指望提示词兜住。B 修好了静默吞掉的问题,却重新引入了”Operation Failed” × 5 次重试 × 30 秒 = 客户白等里的统一错误反模式:agent 分不清临时故障和权限错误,两者重试策略一模一样。D 直接放弃了这个能力。C 区分了访问失败和合法空结果,告诉 agent 该不该重试,还带上了尝试过的查询参数,重试可以精确复现。C 是最不坏的选项,也正是结构化错误:78-95% 恢复率 vs 通用”Operation Failed”的 15%这篇记录的模式。
领域 2 题目里的常见陷阱
- 照着后端 API 设计工具。 一个带
action参数的manage_calendar工具,跟 REST 端点一一对应,却逼着模型切换模式,参数错误随之而来。按用途拆分、各带定制 schema 的工具更好。三个字段的拆解见三个字段,全都关键:name、description、input_schema。 - “以防万一”多加工具。 多加七个工具,就能把一个三工具 agent 从接近完美拉到大约 80% 的选择准确率。每个工具都得配得上它的位置。
- 混淆 Claude API 和 MCP 的定义格式。 MCP 用
inputSchema(camelCase);Claude Messages API 用input_schema。Foundations 那篇camelCase 陷阱:MCP 工具定义 vs Claude API很短,值得再读一遍。 - 只有人类可读的错误文本,没有机器可读的字段。 “出了点问题,请稍后再试”对用户没问题,对一个要决定是否重试的 agent 毫无用处。
- 必须调用工具的场景却选了
tool_choice: auto。 Auto 允许模型直接用文本回答。any保证一定会调用某个工具;指定工具名则强制使用那一个 schema。 - 把凭据写进
.mcp.json。 它会被提交。用${TOKEN}引用,让每个开发者在本地自己设置。 - 有社区 server 却答自建。 考试鼓励对标准服务用成熟集成,只对专有系统才自建 server。
下一步
先过一遍上面五篇入门文章,再做领域 2 练习题。领域 2 的题目很具体,正确率应该会涨得很快;稳定之后,去做免费 CCA-F 模拟考,看看这个领域和其他四个混在一起是什么比例。领域 2 全部文章列表在领域 2 学习指南页,本文的复习计划版是CCA 领域 2 复习技巧。
常见问题
CCA-F 考试里领域 2 占多少?
expand_more
领域 2(Tool Design & MCP Integration)权重 18%,按 60 题的试卷算大约 11 题。报名前请到 Anthropic / Pearson VUE 官方页面确认最新考纲。
没有亲手写过 MCP server,能过领域 2 吗?
expand_more
写过更好,但不是必需。考试考的是设计决策:server 该配在哪里、错误该怎么返回、一个 agent 应该看到多少个工具。这些都能通过情景题和短篇参考文章学会。
领域 2 和 Foundations 里的 MCP 入门是一回事吗?
expand_more
不是。Foundations 入门讲 MCP 是什么、三大原语是什么。领域 2 默认你已经懂这些,考的是怎么设计工具和 server,让 agent 在生产环境里可靠地使用它们。
动手练起来
做一套免费 60 题 Claude Certified Architect 模拟考,或按领域逐个啃 CCA-F 学习指南。
Certified Architect 是社区独立搭建的备考站点。文中考试信息来自 Anthropic / Pearson VUE 的公开资料,随时可能调整,报名前请以官方页面为准。