考点1:智能体架构与编排(27%)
1.1 为自主任务执行设计智能体循环
关键知识:
- 智能体循环生命周期:发送Claude请求,检查
stop_reason("tool_use"vs"end_turn"),执行工具,返回结果进入下一次迭代 - 工具结果被追加到对话历史中,以便模型决定下一步行动
- 模型驱动的决策(Claude选择下一个工具)vs 硬编码决策树
关键技能:
- 流程控制:当
stop_reason = "tool_use"时继续循环,在"end_turn"时停止 - 在迭代之间将工具结果追加到上下文中
- 需避免的反模式:解析助手文本以判断完成,将任意迭代次数限制作为主要停止机制
1.2 编排多智能体系统(协调者-子智能体)
关键知识:
- 中心辐射架构:协调者负责所有智能体间通信、错误处理和路由
- 子智能体在隔离的上下文中运行——它们不会自动继承协调者的历史记录
- 协调者职责:任务分解、委派、结果汇总、动态选择子智能体
- 协调者分解过于狭窄的风险
关键技能:
- 在子智能体之间分配研究覆盖范围以最小化重复
- 实现迭代细化循环(协调者评估综合结果并重新路由任务)
- 通过协调者路由所有通信以保证可观测性
1.3 配置子智能体调用、上下文传递和生成
关键知识:
Task工具生成子智能体;协调者的allowedTools必须包含"Task"- 子智能体上下文必须在提示词中明确包含;子智能体不继承父上下文
AgentDefinition配置:描述、系统提示词、工具约束- 通过
fork_session进行会话管理以探索替代方案
关键技能:
- 在子智能体提示词中包含先前智能体的完整输出
- 使用结构化格式在传递上下文时分离数据和元数据
- 通过在协调者的单个轮次中进行多次
Task调用来生成并行子智能体 - 用目标和质量标准而非逐步指令来编写协调者提示词
1.4 实现带有强制执行和交接模式的多步骤工作流
关键知识:
- 程序化强制执行(钩子、前提条件)和提示词指导在工作流排序上的区别
- 当需要确定性保证时(例如,金融操作前的身份验证),仅靠提示词是不够的
- 升级时的结构化交接协议(客户ID、原因、推荐操作)
关键技能:
- 在先前步骤完成之前阻止下游调用的程序化前提条件(例如,在
get_customer返回经过验证的ID之前阻止process_refund) - 将多方面的客户请求分解为独立项
- 升级到人工时产生结构化摘要
1.5 用于拦截工具调用和规范化数据的智能体SDK钩子
关键知识:
- 钩子模式(例如
PostToolUse)在模型消费工具结果之前拦截它们 - 拦截出站调用的钩子以强制执行合规规则(例如,阻止超过阈值的退款)
- 钩子提供确定性保证,而提示词指令提供概率性合规
关键技能:
PostToolUse钩子用于规范化数据格式(Unix时间戳、ISO 8601、数字状态码)- 拦截钩子以阻止违反策略的操作并重定向到升级
- 当业务规则需要保证合规时,选择钩子而非提示词
1.6 复杂工作流的任务分解策略
关键知识:
- 固定管道(提示词链)vs 基于中间结果的动态自适应分解
- 提示词链:顺序步骤(分别分析每个文件,然后运行集成检查)
- 根据发现的内容生成子任务的自适应调查计划
关键技能:
- 对可预测的多方面审查使用提示词链;对开放式调查使用动态分解
- 将大型代码审查拆分为每文件分析加上独立的跨文件集成检查
- 分解开放式任务:先映射结构,再构建优先计划
1.7 会话状态、恢复和分叉
关键知识:
--resume <session-name>用于继续命名会话fork_session从共享上下文创建独立的调查分支- 恢复会话时告知智能体文件变更的重要性
- 包含结构化摘要的新会话比恢复过时结果的会话更可靠
关键技能:
- 使用
--resume继续命名调查会话 - 使用
fork_session并行比较不同方法 - 在恢复(上下文仍为最新)和开始新会话(结果过时)之间做出选择