考试域 × 书系覆盖对照
D1
Agentic 架构与编排
Agentic loop · 多智能体编排 · Hooks · 会话管理 · 任务分解
25%
反模式 1–5 重点考察
D2
工具设计与 MCP 集成
工具描述规范 · 结构化错误响应 · MCP 配置 · 内置工具
20%
反模式 6–9 重点考察
注意:${ENV_VAR} 密钥管理
D3
Claude Code 配置与工作流
CLAUDE.md 层级 · 自定义命令 · Plan Mode · CI/CD · 批处理
20%
反模式 10–12 重点考察
D4
Prompt 工程与结构化输出
明确评判标准 · Few-shot · tool_use · JSON schema · 校验重试循环
20%
反模式 13–15 重点考察
tool_use ≠ 语义正确性
D5
上下文管理与可靠性
渐进式摘要风险 · 上下文定位 · 升级模式 · 错误传播 · 信息溯源
15%
反模式 16–18 重点考察
注意:不可变 case facts 块
六个考试情景
考试从 6 个情景中选 4 个呈现。每个情景测试跨域的架构决策能力。
情景 01 · D1 · D5
客服解析智能体
设计一个处理客户咨询、解决问题、升级复杂案例的 AI 客服智能体。
关键架构决策
- 循环终止:监控
stop_reason(tool_use = 继续,end_turn = 退出)
- 退款限额:用 PostToolUse hook 阻断超过 $500 的调用
- 升级触发:客户请求 / 策略缺口 / 能力边界 / 业务阈值
- 上下文保留:对话开头放不可变 case facts 块
常见反模式
解析文本判断循环结束 · 仅靠 prompt 强制规则 · 基于情绪升级 · 摘要丢失关键信息
情景 02 · D3
Claude Code 团队配置
为开发团队配置 Claude Code,涵盖 CLAUDE.md 体系、Plan Mode 和迭代改进流程。
关键架构决策
- 规范位置:
.claude/CLAUDE.md(项目级、版本控制、团队共享)
- Plan Mode:多文件变更用;简单修复直接执行
- 复杂重构:用 skills 做上下文隔离 + 工具权限限制
- 迭代节奏:TDD——先写失败测试,再实现,再验证
常见反模式
个人偏好放项目级 · 永远/从不用 Plan Mode · 指令过于模糊
情景 03 · D1 · D5
多智能体研究系统
构建协调者–子智能体系统,支持并行研究、上下文隔离和错误处理。
关键架构决策
- 架构:Hub-and-spoke,各子智能体在隔离上下文中运行
- 上下文传递:每个子智能体只获取任务相关信息
- 数据冲突:追踪信息溯源(来源、置信度、时间戳)
- 失败处理:结构化错误报告,区分访问失败和空结果
常见反模式
扁平架构 · 全量历史共享 · 任意选择冲突结果 · 静默失败
情景 04 · D2
开发者效率工具
使用 Agent SDK 和 MCP 服务器构建代码库探索开发者工具。
关键架构决策
- 工具过多:把 18+ 工具分配到 4–5 个专用子智能体(每个 4–5 个工具)
- 读取配置文件:用 Read 工具(目的明确)而非 Bash
- MCP 配置:在
.mcp.json 用 ${ENV_VAR} 存储密钥
- 文件修改:Edit 做定向修改;Write 替换整个文件
常见反模式
堆长描述代替分发 · 用 Bash 做文件操作 · 硬编码 API 密钥
情景 05 · D3
Claude Code 接入 CI/CD
将 Claude Code 集成到 CI/CD 流水线,包含非交互模式和批处理。
关键架构决策
- CI 执行:
-p flag 非交互模式 + --output-format json
- 代码审查:单独会话防止确认偏差(不能同会话审查)
- 夜间审计:Message Batches API(省 50% 成本,24h 异步处理)
- 结构化输出:
--json-schema flag 强制输出格式
常见反模式
CI 中用交互模式 · 同会话代码审查 · 同步请求非紧急任务 · 正则解析输出
情景 06 · D4
结构化数据提取
从非结构化文档构建提取流水线,使用 JSON schema、校验循环和 few-shot prompting。
关键架构决策
- 保证结构:
tool_use + JSON schema + tool_choice 强制指定工具
- 正确性校验:tool_use 只保证结构,语义正确性需单独校验
- 提取失败:在重试消息里附上具体错误(字段 + 问题 + 期望值)
- 模糊文档:加
other enum + document_type_detail + 2–4 个 few-shot 示例
常见反模式
不用 schema 的 JSON 提示 · 假设 tool_use 保证语义 · 模糊重试消息 · 刚性枚举
18 条反模式清单
严重度:Critical 必须避免 High 强烈建议避免 Medium 注意场景
Domain 1 · Agentic 架构与编排(5 条)
01
解析自然语言判断循环是否终止
文本内容是给用户的,不是控制流。模型每次完成时的措辞可能不同,依赖文本解析会导致循环误判。
检查 stop_reason 字段(tool_use = 继续,end_turn = 退出)
Critical
02
用固定迭代上限作为主要停止机制
可能在任务中途强制停止,或允许无意义循环;不反映任务是否真正完成。
让 agentic loop 通过 stop_reason 自然终止
Critical
03
用 Prompt 强制执行关键业务规则
Prompt 是概率性的。模型有时会忽略关键指令——尤其在边界案例中。
用 PreToolUse / PostToolUse hook 做确定性强制执行
Critical
04
基于情绪判断是否升级到人工
情绪激动但需求简单的客户不一定需要人工介入;纯情绪判断会导致过度升级。
基于策略缺口、能力边界、明确请求或业务阈值来触发升级
High
05
用模型自报置信度分数做决策
模型的置信度分数在生产决策中缺乏可靠校准,不能作为升级判据。
用结构化标准和程序化检查做升级判断
High
Domain 2 · 工具设计与 MCP 集成(4 条)
06
通用错误消息("操作失败")
智能体在缺乏细节的情况下无法判断是重试、换方案还是升级。
返回结构化错误:isError、errorCategory、isRetryable、context 字段
Critical
07
访问失败时静默返回空结果
智能体会把"无法检查"误判为"确实没有",导致错误结论。
明确区分访问失败和结果为空两种情况
Critical
08
给单个智能体配备 18+ 个工具
工具数量超过 5 个后,工具选择准确率迅速下降;相似工具会造成歧义。
每个智能体保留 4–5 个工具,其余分配给专用子智能体
High
09
在 .mcp.json 中硬编码 API 密钥
配置文件一旦提交到 git,硬编码的密钥就会泄露。
在 MCP 配置中使用 ${ENV_VAR} 环境变量展开
Critical
Domain 3 · Claude Code 配置与工作流(3 条)
10
把个人偏好放进项目级 CLAUDE.md
个人偏好不应强加给整个团队,会造成团队成员之间的摩擦。
个人偏好放 ~/.claude/CLAUDE.md,团队规范放 .claude/CLAUDE.md
Medium
11
用 commands 处理需要上下文隔离的复杂任务
Commands 在当前会话运行,会把探索噪音带入主上下文。
改用 skills 做上下文分叉(context forking)并限制 allowed-tools
High
12
CI/CD 流水线中同会话自我审查
审查者带着生成者的推理上下文,产生确认偏差——审查流于形式。
代码生成和代码审查使用单独的会话
Critical
Domain 4 · Prompt 工程与结构化输出(3 条)
13
模糊指令("要彻底" / "找出所有问题")
导致过度标记、误报和告警疲劳——开发者最终停止信任工具输出。
提供明确、可量化的评判标准
Critical
14
假设 tool_use 保证语义正确性
tool_use 只保证结构合法;JSON 内的值可能仍然语义错误。
tool_use 后额外做业务规则校验
High
15
通用重试消息("有错误,请重试")
没有具体错误细节,模型缺乏足够信号来修正——重试依然失败。
附上具体错误:字段名、出错原因、期望值 vs 实际值
High
Domain 5 · 上下文管理与可靠性(3 条)
16
渐进式摘要导致关键客户细节丢失
每轮摘要都会丢失具体信息——姓名、ID、金额、日期——最终造成错误决策。
在上下文开头放置不可变的 case facts 块,不参与摘要
Critical
17
只看聚合准确率指标(如"整体 95%")
聚合指标会掩盖特定类别的严重失败——某个文档类型可能只有 40% 准确率。
按文档类型分层追踪准确率(stratified metrics)
Critical
18
多智能体数据无溯源追踪
子智能体数据冲突时,无法判断哪个来源更可信。
为所有数据追踪:来源 · 置信度 · 时间戳 · 智能体 ID
High
考前速查
D1 · Agentic 控制流核心
- 终止判断 →
stop_reason
- 业务规则 → Hook,不是 Prompt
- 升级触发 → 策略缺口 / 能力边界 / 明确请求
- 每智能体工具数 → 4–5 个上限
- 数据冲突 → 追踪溯源(来源+时间戳)
D2/D3 · 配置与工具核心
- MCP 密钥 →
${ENV_VAR},不硬编码
- 访问失败 → 明确区分,不静默空结果
- 个人偏好 →
~/.claude/CLAUDE.md
- 团队规范 →
.claude/CLAUDE.md
- 复杂任务 → Skills(上下文隔离)
- CI 审查 → 独立会话,不同会话
D4/D5 · 输出与可靠性核心
- tool_use → 只保证结构,语义需另行校验
- 重试消息 → 具体错误(字段+期望值)
- 评判标准 → 明确可量化,不用模糊词
- 关键信息 → 不可变 case facts 块
- 准确率 → 分层指标,不看聚合
- CI 输出 →
-p + --output-format json