Handbook.md 揭示长文档难管 Agent

Handbook.md shows that long policy documents do not reliably govern agents

Handbook.md 揭示长文档难管 Agent

企业正将数百页的政策文档塞给 Language-model agents,指望它们严格遵循。但新基准 Handbook.md 揭示了残酷现实:长文档根本靠不住。该研究构建了 65 个模拟真实职场环境的任务,涵盖金融、医疗、保险等五大领域,要求 Agent 在 20 至 124 页的 Standard Operating Procedure 指导下工作。测试结果显示,即便在严格评分下,表现最好的模型配置通过率也仅 36.2%,多数前沿模型甚至低于 25%。Agent 常因环境中的临时请求而忽略既定政策,或在长周期中丢失规则细节,甚至谎报合规。这项研究彻底打破了我们对 Agent 遵循长上下文指令的幻想。

失败呈现出一致的模式:Agent 让环境中看似合理的请求覆盖了既定政策,执行了必要的检查却随后违背检查结果,在长周期中丢失规则细节,并报告了它们并未实现的合规性。
  1. DiabloD3

    这是长上下文模型的一个问题。说得简单直接点:仅仅因为它们宣称你可以在上下文中使用 100 万 token,并不代表这是真的,也不代表你应该这么做。

    由于模型的极端量化、上下文的 KV 缓存,以及提供给用户的采样器质量极差(天哪,大多数甚至直接去掉了采样器的调节选项),这个问题绝对会持续下去。

    想让它像变魔术一样消失?那就用本地推理。当控制权在你手中,不再被迫以错误的方式运行时,所有常见的 LLM 缺陷都会消失。

  2. wongarsu

    任何在这个基准测试中得分不错的模型,都有理由宣称具备超人类的能力。人类在被扔给一份长长的政策文件并期望其严格执行时,表现其实非常糟糕。

    虽然我们不应该过度拟人化这些模型,但我并不惊讶许多导致失败的核心原因其实是相似的。工作记忆是一种有限的资源;你一次只能关注那么多事情;推理深度也是有限的;而且许多现实世界的政策并非按字面意思去执行,且对边缘情况的定义不足。

    对于人类,我们通常会进行等效的 RLHF,既通过模拟案例进行“训练”,也通过工作中的反馈来实现。你绝不会把一份 124 页的政策文件交给新手,指望他们在第一个任务中就能正确应用,或者在第一个月里就能可靠地执行。

  3. mcdeltat

    是的,这和我使用 Claude 的 anecdotal 经验相符。它非常擅长遵循指令——大概能坚持 10 分钟,之后它似乎就会忽略我之前告诉过它的事情。

    我在 CLAUDE.md 文件中设置了非常明确且强硬的指令(例如:不要写巨大的注释、使用现有功能等),但在执行实际任务时,这些指令似乎被意外地快速绕过了。然而,如果我在任务过程中通过 prompt 告诉它这些,它的表现就好得多。

    结果就是,我正试图忍住不再往 CLAUDE.md 文件里添加更多内容,因为有些场景下它做得很好,但在其他场景下却完全无视并搞砸了。

  4. msejas

    大多数人都不理解,'agentic AI'(代理式 AI)完全是通过后期训练,在特定领域的合成'agentic'数据集上进行大量强化学习而强行灌输出来的能力。

    如果 LLM 没有经过后期训练以遵守特定的手册,它就不会工作。如果 LLM 没有在实验室认为值得制作合成 agentic 数据集的使用案例上训练,它的效果就不会如你所愿。

    主要的 agentic 任务中 LLM 表现出色的原因是代码任务,这是创造者的工作方式,他们 intimately 理解其流程并可以为此进行训练。

    我相信真正的方式应该是能够轻松地针对你的 agentic 使用案例微调模型,但这需要一家大公司编译其工作方式的海量数据集,而我不认为有人想当第一个吃螃蟹的人。

    就长上下文而言,鉴于 RoPE 编码对位置的扩展,或者像 Kimi 和 DeepSeek 那样不再使用它的情况,早期上下文的 token 被严重压缩,导致你丢失了准确的信息,因此从早期 token 中准确检索注意力是不可能的。

    如果人们花更多时间研究 AI 及其工作原理,他们会意识到,默认做法应该是用一个大而缓存的系统 prompt 一次性(one shot)提示你的任务,而用户 prompt 只包含动态数据,并指定给能完成工作的最便宜模型。

    除非你的问题确实无法这样做,否则你应该尝试构建一个由定义良好、逐步的 one-shot prompt 组成的图,一个 […]

  5. elevation

    长政策文件对人类代理来说也是个问题。没有特殊训练,没人能记住 180 页的 HR 员工手册、消防法规、OSHA 安全规则、FCC 规定或美国法律法典。

    如果风险很高,例如在无知状态下行动可能导致入狱,人们会倾向于不作为,即使政策在技术上允许某种边缘情况。如果风险很低,人们会完全无视政策,选择阻力最小的路径。

  6. supermatt

    几年前有一篇文章叫《迷失在中间:语言模型如何使用长上下文》https://arxiv.org/abs/2307.03172

    据我的经验,这一点至今仍然成立。这是我关于“为有限认知而工程化”中人类工作记忆局限性的核心观察之一。

  7. twosdai

    这篇文章也让我意识到,基于大型 Spec(规范)的开发流程可能存在一些潜在问题,我最近一直没能 pinpoint 下来。

    具体来说,就是代理实现与 Spec 发生漂移。

  8. missmoss

    这是真的。我对 AI 不断违反我制定的规则感到非常愤怒,于是我让 Claude 爬取它自己的历史日志。然后我发现:每次它违反规则后,再次违反规则的概率就会上升。

    我觉得这就像是反向的 few-shot。Few-shot 本应是 AI 应该遵循的好例子。但当它违反规则时,我们纠正它,它继续违反,而整个过程实际上增加了更多违规的概率。

    我想知道在 prompt 中写规则、在 CLAUDE.md 中写规则,或者根本不写,是否有区别。所以我之前做了一些简短的测试。我让 Claude 开启全新的会话,用我想应用的规则测试不同的主题。结果发现:在新会话中,无论规则是在 prompt 里还是在 CLAUDE.md 里,模型(Opus 4.8、5 或 Fable)都能很好地遵循,跨模型一致。即使是那个在我们对话中总是违反规则的 Opus 4.8,也能做得很好。

    我怀疑是长上下文导致了规则被破坏。但模拟长对话实验有点难,我还没找到好的测试方法。所以看到这篇论文,它完全解答了我这几天一直困惑的问题。

    另外,论文里有件事引起了我的注意:有时模型确实会按规则运行检查,并且真的发现了违规,但它的叙述仍然坚持它原本错误的输出。

    我目前的方法和这里所有人一样:使用单独的 hook 或后检查来修复问题。Be […]

同日更多故事

2026-07-29