第 92 章 AI Agent 服从性工程(让 AI 真正干活)
2025-2026 年 AI 编码/分析 Agent 大规模落地后出现的新问题:Agent 读了指令但不执行(只确认不干活/跳过步骤/找借口)。"服从性工程"(Agent Obedience Engineering)= 用系统化方法让 AI Agent 真正执行工作流。这是"AI 安全"的镜像——第 52-53 章是攻击视角,本章是让 AI 按指令干活的工程学。
📍 知识点地图 | 主题:Agent服从性 | 前置:第53章 | 后续:— | 核心概念:八大技术、借口反驳、执行模板
92.1 问题本质(为什么 AI 不干活)
Agent "偷懒"的典型形态:
□ 只读不干: 读完指令只回"已理解/好的"
□ 跳过步骤: 说"先做 X"但直接跳到结论
□ 找借口: "这需要确认""缺少信息""超出范围"
□ 半途而废: 中间卡住就停下等确认
□ 泛泛而谈: 输出解释但没实际执行命令
根因(认知模型):
□ 模型默认"对话优先"(以为用户在聊天)
□ 指令是"建议性"而非"命令性"(语义强度不够)
□ 缺少执行锚点(没有明确的"必须做"清单)
□ 缺少后果约束(不执行的代价不明确)
□ 任务模糊(不知道第一步干什么)
92.2 八大技术(方法论核心)
技术 1: 指令强度原则(Critical-First Pattern)
把"必须执行"放在最前面,用强语义词:
"CRITICAL: 读完本文件后必须立即执行以下步骤,不允许只回复'已读'"
→ 位置靠前 + 强度词 + 明确禁止
技术 2: 命令式替代建议式(Directive Over Suggestive)
错误: "可以尝试运行这个命令"
正确: "运行以下命令,输出结果后继续下一步"
→ 动词开头 + 无商量余地
技术 3: 借口反驳表(Excuse Rebuttal Table)
预判 Agent 的借口 → 给出反驳:
| Agent 借口 | 反驳 |
|-----------|------|
| "需要更多信息" | 基于现有输入先执行可确定步骤 |
| "这需要确认" | 已授权/常规操作,立即执行 |
| "超出范围" | 本任务已包含此步骤 |
| "等待用户下一步" | 工作流已定义下一步,继续 |
技术 4: Skill 加载模式(Anthropic 2026 官方模式)
把方法写成 Skill 文件 → 明确要求 Agent 加载并遵守
"加载 SKILL.md,按其工作流执行"(有实体文件的指令更强制)
技术 5: In-Band 强制校验(Steering Hooks)
在每个阶段插入"校验点":
"完成此步后输出: ✓ 已执行 X,结果是 Y"
→ 让执行痕迹可见,无法跳过
技术 6: 代码词/信号词(Code Words)
用特定触发词表示"命令级别":
"NOW:" / "MUST" / "DO IT" / "⏩"
→ 模型更容易识别为命令而非建议
技术 7: 双 AI 验证(Dual Validation)
一个 AI 执行,另一个 AI 检查是否真的执行了
→ 交叉验证执行真实性
技术 8: 上下文窗口布局优化
关键指令放开头+结尾(首尾效应)
中间放参考材料(模型注意力分布)
92.3 实战模板(直接可用)
模板 A:强制启动模板(嵌 RULES 头部)
# CRITICAL: 读完本文件后必须立即执行,不允许只回复"已读"
1. NOW: 执行第 1 步(读取目标文件)
2. NOW: 输出你的执行计划(3 步以内)
3. THEN: 按计划执行,每步输出真实命令和结果
4. MUST NOT: 跳过步骤/等待确认/只输出解释
5. 若卡住: 基于现有信息执行可确定步骤,不要停下
完成后自检:
- [ ] 我执行了每一步(不是只阅读)?
- [ ] 我有真实输出(命令/文件/结果)?
模板 B:每 Skill 头部模板
## ACTION REQUIRED(读完后立刻执行)
1. NOW: 读取 <必需文件>
2. NOW: 确认任务命中适用范围
3. NEXT: 检查工具可用性
4. THEN: 进入工作流第一步并执行
5. ACT: 执行任务,不要停在确认状态
模板 C:任务收尾自检模板
## 任务完成自检(声称完成前 MUST 通过)
- [ ] 我执行了工作流中的每一步(而不是只阅读)?
- [ ] 我产出了可复现证据(命令/脚本/截图/报告)?
- [ ] 我完成了 Checklist 要求项?
92.4 实践要点(怎么落地)
1. 项目级: RULES.md 放根目录(Agent 读项目时强制加载)
2. Skill 级: 每个 Skill 头部放 ACTION REQUIRED 块
3. 任务级: 每次任务开头明确"NOW/THEN/ACT"执行链
4. 校验: 每阶段要求输出"执行证据"(命令/结果)
5. 反馈: Agent 偷懒时立即纠正("执行,不要解释")
6. 固化: 把成功的"强制模板"沉淀成团队标准
92.5 检查清单
□ 指令强度(Critical-First)
□ 命令式表达
□ 借口反驳表(预埋)
□ Skill 文件化(实体指令)
□ 阶段校验点(Steering Hooks)
□ 代码词(NOW/MUST)
□ 自检清单(收尾)
□ 双 AI 验证(关键任务)
□ 上下文布局(首尾放指令)
动手练习
- 用模板 A 给一个 Agent 发任务,对比"无模板"和"有模板"的执行差异。
- 写下你遇到的 5 个"Agent 借口",设计反驳话术(技术 3)。
- 把一个重复任务改造成 Skill 文件(含 ACTION REQUIRED 头),验证执行一致性。
- 用双 AI 验证:AI-A 执行,AI-B 检查"是否真的执行了",记录差异。
深入阅读
- 仓库:
skills/llm-security/references/agent-obedience-engineering.md(本仓库核心参考:8 大技术+借口反驳表+三模板) - 仓库:
skills/llm-security/SKILL.md(LLM 安全测试) - 仓库:
skills/SKILL.md(主控 Skill 的 ACTION REQUIRED 实践) - 仓库:
skills/routing.md(路由矩阵的 MUST/NOW 风格)