把规则文件放进 AI Agent 的 Context,只能让规则可见,无法保证规则生效。HANDBOOK.md 基准把这个差异量化了:30 种受测配置中,最佳配置的严格通过率只有 36.2%。工程上的应对方式,是把规则从提示信息改造成控制面:检索适用条款,执行前生成判定,提交时硬性拦截,执行后核验真实状态。
阅读时间: 约 8 分钟 · 约 2800 字
TL;DR
- HANDBOOK.md 用 65 个企业任务、20 至 124 页的流程手册和 824 条确定性标准测试 Agent。
- Agent 有时已经查到正确规则,随后仍会做出相反操作。继续增加 Context 无法单独解决这个问题。
- 将规则落成四层控制:规则检索、执行前判定、不可绕过的提交门控、事后状态核验。
- Agent 的合规报告属于声明,系统回读、确定性检查和操作凭据才是证据。
- 从一类高影响动作开始,用小型、版本化的 policy decision record 建立边界。
HANDBOOK.md 测了什么
HANDBOOK.md 针对一种常见部署方式:把长期有效的制度放进系统提示词、政策文件、手册或 Skill,然后相信 Agent 能在漫长的工具调用过程中持续遵守。
基准包含 65 个任务,覆盖财务、医疗账单、保险、物流和人力资源。每个任务运行在可重置的虚构企业环境中,包含文件以及通过 MCP 暴露的邮件、聊天、日历、工单和电商服务。Agent 需要遵守一份 20 至 124 页的操作手册。824 条程序化标准同时检查必做动作和禁止行为。
严格评分要求一次试验中的所有标准全部通过。最佳配置通过 36.2%,多数前沿配置低于 25%。论文还发现,只放宽一条标准,领先配置的成绩就接近翻倍。这意味着 Agent 经常完成了大部分任务,却遗漏一条决定合规性的授权、阈值或禁止动作。
论文归纳出四种反复出现的失败:
- 眼前一个合理请求压过了长期规则。
- Agent 做了必要检查,随后仍执行与检查结果相反的动作。
- 规则细节在长任务中逐步失真。
- 最终报告声称已经合规,外部状态却无法支持这一说法。
这四类失败发生在不同边界,需要分别处理。
Context 是概率控制,不是执行边界
政策文档会影响模型的下一步行为,同时还要与当前请求、工具输出、检索内容、历史对话和既有计划竞争。即使 Agent 正确找到了条款,它仍需解释规则、保持细节、绑定当前对象,并在真正执行动作时服从结果。
因此,Context 适合传递目标、例外和业务语义。它无法独立证明一项副作用获得了许可。
| 层级 | 要回答的问题 | 典型证据 |
|---|---|---|
| 指令 | Agent 应该怎么做 | 政策文本、示例、Skill |
| 判定 | 这个具体动作现在能否执行 | 结构化政策判定 |
| 执行 | 不合规动作能否抵达真实系统 | 网关、Hook、事务门控 |
| 核验 | 获批状态是否真的形成 | API 回读、测试、Diff、台账 |
许多系统只实现第一层,再把监控留到事故之后。HANDBOOK.md 说明中间两层也属于基础设施。
把四种失败改造成四层控制
第一层:检索适用规则,而不是把整本手册塞给模型
长文档继续作为权威来源。每次动作只生成一个紧凑的规则包,其中包括政策版本、条款编号、判定输入、阈值、审批人和禁止结果。
规则检索也要进入测试。测试集需要覆盖相似条款、变化阈值、例外规则和分散在多处的关联要求。碰巧做对动作,同时引用错误条款,仍属于脆弱成功。
第二层:生成副作用之前先做结构化判定
将政策判定与动作生成分开。Agent 在发送邮件、修改记录、变更权限或提交代码之前,先输出一份结构化决策:
{
"policy_version": "claims-sop@2026-07-29",
"action": "approve_claim",
"subject_id": "claim_8421",
"decision": "require_human_approval",
"rule_ids": ["4.2.3", "7.1"],
"evidence": {
"amount_cny": 128000,
"medical_review": "complete"
},
"missing": ["manager_approval"]
}
这份记录给确定性程序提供了验证对象,也能暴露自然语言推理容易掩盖的问题:金额查对了,动作却与阈值规则相反。
第三层:把提交门控放在模型推理循环之外
真正产生副作用的执行器,应拒绝缺失、过期、格式错误或结论不允许的政策判定。Agent 可以提出动作并修正参数,无权自行取消门控。
判定还要绑定具体动作,包括对象 ID、规范化参数、政策版本、执行身份、有效期和动作哈希。否则,为一个客户、金额、文件或环境签发的许可,可能被重放到另一个对象上。
门控结论保持简单,例如 allow、deny、require_approval 和 need_more_evidence。LLM 可以协助解释模糊条款,最终执行器仍应验证一个版本化、结构化的结果。
第四层:执行后回读真实状态
工具调用返回成功只说明传输成功。系统还要从记录源回读对象,并检查后置条件:目标字段是否正确,禁止字段是否保持不变,审批引用是否存在,副作用数量是否与请求一致。
最终报告应根据这些证据生成。Agent 说已经合规,只构成一个声明。政策判定、事务凭据、API 回读和不变量检查共同构成审计链。
最小提交门控合同
团队无需先开发通用政策语言。可以围绕已经上线的高风险动作定义一份窄合同:
policy_decision:
run_id: run_0198
policy_version: hr-handbook@7f3c
action_type: terminate_employee
target_id: employee_204
normalized_arguments_sha256: 64f1...
verdict: require_approval
rule_ids: [termination.3, authority.2]
evidence_refs: [case_991, approval_missing]
expires_at: 2026-08-02T03:15:00Z
执行器校验 Schema、动作哈希、时效和结论。高影响动作可以要求人工签名审批,并引用同一动作哈希。幂等键负责防止重试产生重复副作用。
系统同时保存拟执行动作、门控响应、执行凭据和事后核验。这样一场事故发生时,可以直接回答四个问题:用了哪条规则,判定依赖什么证据,动作为何通过门控,最终形成了什么状态。
把合规当成一条流水线测量
一个总通过率无法定位失败层。至少分别记录:
- 规则检索召回率和条款准确率;
- 允许、拒绝、需审批三类判定的准确率;
- 门控绕过率,目标值必须为零;
- 误拦截率和错误放行率;
- 事后核验覆盖率;
- 政策版本不一致和过期判定率;
- 重试后的重复副作用数量;
- 严格端到端任务通过率。
优先写负向测试:眼前请求与长期规则冲突;检查正确但动作错误;政策版本过期;审批凭据被重放;证据缺失;最终报告与系统状态不一致。这些测试直接对应论文里最典型的失败。
36.2% 不代表所有生产系统
HANDBOOK.md 是一份预印本和评测基准。它使用虚构企业、模拟服务、特定 Harness 和为了评测设计的手册。36.2% 不能直接预测任何一套模型、规则或企业流程的生产合规率。
它支持一个更窄且证据充分的结论:当前 Agent 即使获得了长期规则,仍可能在长工具调用链上违反规则。任何把规则存在等同于规则生效的系统,都在依赖一项已被基准证明并不稳定的能力。
实施顺序
先选一类后果明确的动作,例如退款、授权、生产发布或对外消息。冻结 10 至 20 个代表性政策案例,同时编码必做动作与禁止副作用。增加结构化执行前判定,把门控放在最靠近真实执行器的位置。先运行影子模式,将结果与现行流程比较;再对最清晰的规则启用阻断。每一次分歧和事故都进入回归测试集。
政策文档继续承担业务语义和工作指导。提交门控给政策提供执行力。可靠的 Agent 治理需要两者配合。
FAQ
更大的上下文窗口能解决 Agent 合规问题吗?
它能改善规则细节的可访问性,仍无法让规则自动变成执行边界。系统还需要判定接口、门控点和事后证据。
政策引擎可以使用另一个 LLM 吗?
LLM 适合解释模糊文本,尤其适合在政策编译阶段提供帮助。阈值、身份、必需证据和最终门控应尽量采用确定性 Schema 与规则。含糊结论需要记录不确定性并转人工审批。
提交门控应该放在哪里?
放在能够授权真实副作用的最窄组件:工具包装器、运行时 Hook、API 网关、事务服务、CI 规则或数据库过程。日志记录发生在决策之后,无法承担门控功能。
人工审批是否足够?
审批需要绑定具体动作和证据包。脱离参数、政策版本与事后核验的一次点击,仍可能批准错误操作。
它与 Prompt Guardrail 有什么区别?
Prompt Guardrail 引导模型生成。提交门控评估一个具体动作,并能阻止执行器应用它。两者针对不同失败模式,适合组合使用。
参考资料
- HANDBOOK.md:长上下文 Agent 指令遵循基准
- HANDBOOK.md 基准仓库
- Runtime Governance for AI Agents: Policies on Paths
- 站内关联:AI Agent 评测缺口
- 站内关联:用 Eval 安全精简 Prompt
- 站内关联:长任务 AI 安全
下一步只做一件事:挑出一个不可逆动作,把它的政策判定显式化,在模型之外阻断无效提交,并回读最终状态。这个小边界带来的控制力,通常高于再写一页规则。