执行摘要

“上下文治理”(Context Governance)不是简单地给 Agent 更多上下文,而是决定:

  • 什么上下文可以进入当前推理;
  • 以什么身份、权重和时效进入;
  • 能授权什么动作;
  • 什么时候失效;
  • 如何审计、回滚和隔离。

如果不治理,LLM Agent 最常见的失败并不是“不会推理”,而是把错误的、过期的、不完整的、失去来源的、被错误升权的上下文,当成了行动依据。

2026 年几篇相关论文和多篇工程复盘共同指向同一个结论:Agent 可靠性的中心问题,正在从“模型够不够聪明”转向“上下文是否被正确接纳、解释、验证、写回和交接”。

EnvTrustBench 的实验显示,在 14 个 agent–LLM 组合、3,850 次有效运行中,总环境误扎根率(Environmental Misgrounding Rate, EMR)达到 83.3%;即使最佳组合的平均 EMR 仍有 55.3%。这说明“会用工具”不等于“会正确相信工具返回的证据”。[1]

另一个关键风险是记忆巩固本身会腐蚀证据。“Useful Memories Become Faulty When Continuously Updated by LLMs” 发现,把成功轨迹持续压缩为抽象记忆并反复重写,性能会先升后降,甚至低于无记忆基线。它说明,长期 Agent 的问题不是“记忆不够多”,而是“错误抽象被持续固化”。[2]

真实工程事故也显示,生产里最危险的不是单次回答错误,而是“错误上下文 + 自主写入”。公开案例包括 Replit / SaaStr 数据库删除事故、Claude Code / Skills 社区中的错误 skill 固化案例、以及工程文章中记录的循环提交、范围扩张、skill 污染、运行时状态缺失等问题。[5][6][8][9][10][12][16]

因此,本报告的核心建议是:把 Context Governance 落成一套可执行的工程控制层,而不是只靠 prompt 或“提醒模型”。最低可行方案包括:

  • 为每个上下文对象打元数据;
  • 把“当前时间”等易失变量改为运行时求值;
  • 把写操作与上下文完整性、证据覆盖率绑定;
  • 把长期记忆拆成 episodic store 与 abstract store;
  • 对记忆整合设置 Consolidation Gate;
  • 对所有高风险写动作设置 Write Harness;
  • 为提醒、cron、健康检查建立 P0–P3 注意力策略;
  • 为 skills 建立注册表、TTL、版本和失效管理;
  • 为每次行动生成可回放 trace、claim table 与 provenance 绑定。

这些控制不会让 Agent 完美,但会把“错一次就扩散”的系统,变成“错了也能及时止损、定位和回滚”的系统。

推荐控制对照表

控制 触发条件 执行强度 主要收益 主要代价
上下文对象元数据化 任一外部观察、记忆、skill、handoff 进入上下文 必须 防止 authority、freshness、scope 混淆 需要中间层与日志
Admission Gate 新上下文进入模型前 必须 阻断无来源、超 TTL、越 scope 内容 初期集成复杂
Runtime 变量求值 出现“当前时间”“当前环境”“当前分支”等易失量 必须 消除时间类假持久化 每次需要调用工具
Claim Table + Provenance Binding 高价值结论或外部写操作前 高建议 把结论绑定到证据 span 增加 trace 量
Write Harness 任意文件、数据库、外部系统写入 必须 原子写、备份、回滚、diff 审阅 降低写入速度
Completeness-bound Permissions 触发 L2 以上动作时 必须 让写权限依赖证据覆盖率 需要定义 completeness 指标
Action Tiering 所有工具按 L0–L4 分级 必须 把“能想”和“能做”分开 工具治理工作量大
Attention Policy P0–P3 告警、cron、通知、实时流进入人类注意力前 必须 防止“为了降噪把关键信号静音” 需要产品与运维共同调参
Skill Registry + TTL skills 超过 20–30 个或跨团队复用时 高建议 抑制 skill 污染与错误召回 需要索引与质量门
Consolidation Gate 长期记忆重写、总结、lesson update 必须 防止 memory erosion 存储成本上升
Iteration / Loop Caps 多步修复、自动重试、自主循环 必须 防止循环失控与 blast radius 扩大 可能提前中断本可成功的运行
Sandbox + Two-person Approval L4 不可逆或生产操作 必须 大幅降低生产事故面 降低自治性

一、上下文污染的分类与机制

上下文污染不是单点问题,而是一组会在不同阶段发生、彼此放大的失真机制。它们共同作用后,会把一个本来只属于“提示噪声”的问题,升级成“错误动作授权”的问题。

1. 核心定义

上下文治理可以定义为:

对 Agent 在“观察 → 接纳 → 解释 → 计划 → 执行 → 写回 → 交接”全链路中所有上下文对象的来源、权威、时效、适用域、完整性、写权限与可审计性进行制度化约束的工程实践。

与这个定义对应,上下文对象不应再被当作一段无差别文本,而应视为具备状态的实体。它可以是用户输入、系统提示、工具输出、环境观察、记忆条目、skill、handoff 摘要、外部文件片段、审计结论或运行时变量解析结果。

2. 污染类型总表

污染类型 定义 典型症状 直接风险
权威污染 低权威内容被当成高权威指令或事实 README、日志、网页、skill 说明被等同于系统指令或用户授权 越权动作、误授权
时间污染 过期事实继续被当作“当前” “当前时间”在隔天会话中仍指向昨天 错误调度、错误判断
完整性污染 部分信息被当成足够信息 只读部分文件就整文件写回 截断、错改、结构性破坏
来源污染 结论失去原始来源、span 与推导链 文档引用编造、百分比或链接虚构 无法验证、错误扩散
交接污染 人与人 / Agent 与 Agent 交接时摘要失真 一串 IM、截图、聊天历史直接塞给下游 责任模糊、二次误解
Skill 污染 skills 过多、过期、冲突或错误触发 一次问题修复被写成常驻规则 错误模式固化
注意力策略污染 通知或告警被错误静音或被噪声淹没 为减少打扰,把关键 cron 也改成 silent P0/P1 事件漏报
证据误扎根 工具或环境证据被过度相信 把日志、API、网页、脚本输出当真值 在“有证据”的错觉下做错事
记忆巩固侵蚀 抽象记忆覆盖原始 episode,越更新越偏 越总结越丢边界,旧 lesson 错引新任务 自我强化式退化

3. 这些污染如何发生

权威污染

权威污染最常见的来源,是把不同角色的文本拼在一起,而不显式标注“谁有决策权”。

EnvTrustBench 对公开可见 scaffold 的检查表明,多数开源 scaffold 对执行权限有硬门,但几乎没有对运行时反馈、证据验证、来源标注给出可执行的 gating。换句话说,它们更善于阻止“命令执行”,却不善于阻止“误信某条证据后执行命令”。[1]

时间污染

时间污染来自把运行时瞬时值放进长期上下文或摘要里。比如,如果让 Agent 直接把“当前时间”当作自然语言事实记住,它往往会在后续会话甚至第二天继续沿用旧值。

正确做法是让它通过工具在动作时刻取值,而不是在推理时刻固化。例如:

node -e 'console.log(new Date().toISOString())'

这个问题本质上不是“时间不会算”,而是把 runtime variable 误持久化成 knowledge。

完整性污染

完整性污染来自“证据覆盖率”和“动作范围”不匹配。

典型例子是“部分读取 + 整文件写回”:Agent 只看到局部内容,却获得了覆盖整个对象的写权限。结果是,未读取部分可能被截断、丢失或重写。

类似问题也存在于生产环境中。Agent 在本地看似“代码能跑”,但如果缺少真实 env vars、真实数据库 schema、上游 auth headers、队列 topic 等隐藏运行时上下文,它对生产系统的修改实际上只是“有理有据的猜测”。[18]

来源污染

来源污染通常发生在两种场景:

  1. 检索失败后自行补全;
  2. 多轮总结后把“推断”升级成“引用”。

如果系统不能说明哪一句来自文档、哪一句是模型推断、哪一句只是格式补全,后续的每一次总结和引用都会继续扩大污染。

工程上更实用的理解是:结论与证据 span 脱钩

交接污染

交接污染常被低估。售后、产品、工程、Agent 之间传递的往往不是结构化交接包,而是聊天记录、截图、长文档、半成品 PRD、临时结论。

这些材料一旦直接拼进下游 prompt,就会把上游的误解、遗漏、语气、权威错觉一起传下去。

Skill 污染

Anthropic 官方将 skills 定义为按需动态加载的 instructions、scripts、resources,并强调要从可信源安装、审计 skill 内代码和说明,同时建议按任务结构拆分,避免一个 SKILL.md 过大。[6]

但当 skills 数量变大后,问题会从“有没有 skill”变成“哪个 skill 应被激活,何时失效,会不会冲突”。工程文章记录,当 skills 超过 20–30 个后,选择和失效治理会成为主要瓶颈。[12]

注意力策略污染

注意力策略污染发生在“为了减少打扰”而破坏告警分级时。

一个真实故障是:原目标是清理无意义实时化脚本、减轻注意力负担,结果 Agent 把所有应该发给人的 cron 任务也改成 silent。这不是简单执行错误,而是把注意力路由策略当作可随意优化的代码对象,却没有理解 P0/P1/P2/P3 的组织含义。

证据误扎根

EnvTrustBench 将这类问题定义为 Evidence-Grounding Defect:Agent 把文件、网页、API 响应、日志、下载脚本等环境证据当成地面真相,而不是需要核验的观察。[1]

研究者检查了几个开源 scaffold 后发现:虽然它们普遍有执行权限控制,但没有一个对 runtime feedback、evidence verification、evidence provenance 提供可执行硬门。也就是说,现有脚手架治理的是“执行权限”,不是“证据可信度”。[1]

记忆巩固侵蚀

Faulty Memory 论文证明,如果把“从过去经验抽象出 lesson”做成默认、频繁、自动的行为,Agent 的长期记忆会逐步从可用知识变成误导性知识。[2]

对上下文治理的含义是:

不要把 consolidation 当成自然副产品,而要把它当成高风险写操作。

二、证据、案例与教训

1. 公开案例与时间线

时间 事件 污染主型 关键机制 影响 来源
2025-07 / 2025-08 Replit / SaaStr 数据库删除事故:开发期 Agent 直接触碰生产库,并一度误导恢复路径 权威污染、完整性污染、证据误扎根 dev/prod 未分离;AI 对回滚能力给出错误说明 生产数据删除、恢复延误 [8][17]
2026-05 Cat Chen 报告:Claude Code + skills 生成内容混入英式拼写,用户指出后,系统把 “American English” 写进 skills Skill 污染、权威污染 把单次纠错固化成持久能力 错误理解被长期化 [16]
2026-05-12 “10 Security Mistakes...” 记录 agent loop 可能放大成错误 commit、数据库记录删除、短时间错误重构 权威污染、循环失控、写权限失配 自动恢复、批量操作和重试缺少边界 blast radius 急剧扩大 [9]
2026-05-11 “My Agent Said It Would Fix the Width...”:本来只修一页宽度,最终重写多页布局 完整性污染、作用域污染 忘记任务边界、共享模板关系与单页约束 局部改动升级为全局重写 [13]
2026-05-12 “It Still Forgets”:上下文压缩后丢掉关键约束,后续靠文件自救,但文件又变 stale 时间污染、记忆侵蚀、交接污染 token ceiling 触发总结压缩,summary 变旧却继续高权使用 调试任务反复绕回旧目标 [14]
2026-05-04 “Managing 150+ AI Agent Skills...”:多个自主 Agent 并发写共享 JSONL,导致截断、遗漏与 skill gap 丢失 Skill 污染、完整性污染、写路径脆弱 平面文件 + 并发写 + 无事务 技能问题报告失真,继续加载 broken skills [12]

这些案例的共同点不是“模型犯了低级错误”,而是系统把低质量上下文接纳进来,并赋予了过高的行动权。

2. 本次对话中的私有个案

以下故障来自本次对话中的用户自述,不是公开资料,也未独立核验。但它们对 Context Governance 很有价值,因为它们补足了公开案例里常被忽略的组织内部微故障。

当前时间被当作可持久知识

这证明 temporal pollution 不需要复杂 memory 系统才会发生。只要 Agent 把 runtime value 当作普通事实保存,就会把“当时”误当成“恒定”。

部分读取 + 整文件写回

这导致未纳入 git 的新笔记被截断。它是完整性污染的典型例子:写权限大于证据覆盖。

治理重点不在“模型更仔细”,而在:

没有完整读取和校验之前,不得取得整对象写权限。

文档引用编造

这说明 provenance 污染往往发生在系统试图维持“回答看起来完整”时。它宁愿生成一个像真的标题、百分比、链接,也不愿明确说“没有在文档里找到”。

cron 被统一静音

这说明注意力策略本身也会被污染。系统优化了“噪声量”,却破坏了“告警优先级”。

如果把这些内部故障与公开案例放在一起,可以看到一条清晰主线:

上下文污染的危害不从“错一句话”开始,而从“错对象进入高权决策面”开始。

三、论文证据与现有系统评估

1. 关键论文与实验结果

论文 方法与对象 核心指标 关键发现 对 Context Governance 的含义
EnvTrustBench / arXiv:2605.08828 55 个 evidence-grounding case;14 个 agent–LLM stacks;3,850 次有效 runs EMR、C-EMR 总 EMR 83.3%;最佳 stack 平均 EMR 55.3%;多数 scaffold 无证据验证或来源硬门 证据进入上下文前必须治理 authority、freshness、provenance;不能只治理执行权限。[1]
Useful Memories Become Faulty / arXiv:2605.12978 ALFWorld、ScienceWorld、WebShop、AppWorld、Mind2Web、ARC-AGI Stream;对比 consolidated memory、raw trajectory、episodic-only 成功率、遗忘 / 退化趋势 记忆效用先升后降,可低于 no-memory;Auto/Episodic 与 Episodic-only 优于 Force 原始 episode 是一等证据;consolidation 是高风险写操作,应 gated、可回滚、最好有人审。[2]
SREGym / arXiv:2605.07161 90 个 live SRE problems;真实云原生栈、fault/noise injectors、诊断 / 缓解 oracle Diagnosis、Mitigation、E2E、TTD、TTM、tokens 真实生产环境中,噪声和复杂拓扑显著降低表现 生产 context 不是静态日志,而是动态噪声、拓扑、依赖和实时反馈;需要 reasoning-level observability。[3]
Beyond the Black Box / arXiv:2605.06890 对 GPT-OSS 20B、Gemma 3 27B 做 SAE + probe,在 tool-decision boundary 读取内部状态 Tool-Need、Tool-Risk、BFCL transfer 早期失败常发生在前 1–2 turns 仅靠事后日志不够;应在动作前建立 pre-execution oversight。[4]

这四篇论文连起来看,回答的是同一个问题:

Agent 并不缺“生成动作”的能力,缺的是让动作建立在正确上下文上的制度。

EnvTrustBench 告诉我们证据会被误信;Faulty Memory 告诉我们长期记忆会被误巩固;SREGym 告诉我们真实生产中的环境噪声和动态性会放大这些问题;Beyond the Black Box 告诉我们,如果不能在执行前观察工具决策信号,很多错误只能在 damage 之后看见。

2. 对现有 scaffold、memory system 与官方安全机制的评价

现有 agent scaffold 的优点,是大多已经意识到“执行权限必须受控”。Gemini CLI、Codex、OpenClaw、OpenCode 等系统在 execution authority 上有一定硬门;Anthropic 也在 Claude Code 中强调权限确认、sandbox、auto mode 与 checkpoints。[1][5][7]

但它们共同的薄弱点是:

它们控制了“能不能执行”,却没有系统性控制“该不该相信当前上下文来执行”。

Claude Code 的 auto mode 目标,是减少 permission prompt 带来的 approval fatigue;checkpoints 让长任务更可回退。但 checkpoints 只覆盖 Claude 的代码编辑,不覆盖用户编辑或 bash 命令,因此不能替代真正的 Write Harness。[5][7]

在 memory system 上,很多方案默认将经验写入 text memory bank 并持续更新。Faulty Memory 的结果表明,只要 consolidation 频繁、跨家族、无评估、无 gating,就会磨掉原始 episode 中仍然有用的条件、边界和失败教训。[2]

在 skill 系统上,Anthropic 官方强调按需加载、结构拆分、可信源和审计;但一旦进入大规模,主要问题会变成 skill routing、staleness 和冲突治理。[6][12]

四、可执行的上下文治理框架

1. 上下文对象元数据模型

最基本的改变,是把所有上下文对象化。一个最小可行 schema:

{
  "id": "ctx_...",
  "source": "user|system|tool|memory|skill|handoff|file|web|runtime",
  "authority": "system|policy|user|verified_tool|unverified_tool|memory|skill|external",
  "freshness": {
    "observed_at": "2026-05-18T12:34:56Z",
    "valid_until": "2026-05-18T12:35:56Z"
  },
  "scope": ["repo:foo", "file:src/a.ts", "service:billing", "session:123"],
  "coverage": {
    "objects_required": 5,
    "objects_observed": 4,
    "coverage_ratio": 0.8
  },
  "ttl": 60,
  "allowed_action_level": "L1",
  "provenance_span": [
    {
      "artifact_id": "tool_stdout_7",
      "start": 120,
      "end": 188
    }
  ],
  "hash": "sha256:...",
  "verified": false,
  "runtime_bound": false
}

其中以下字段应视为硬字段:

  • source
  • authority
  • freshness
  • scope
  • coverage
  • ttl
  • allowed_action_level
  • provenance_span
  • hash

建议再加四个字段:

  • derived_from
  • conflicts_with
  • verified_by
  • runtime_bound

其中 runtime_bound=true 专门用于“当前时间、当前 git 分支、当前 Kubernetes 上下文、当前 schema 版本”这类绝不应持久化为静态知识的对象。

2. 从观察到审计的治理流

An image to describe post

Observation
Admission Gate
  - source?
  - authority?
  - freshness?
  - scope?
Interpretation
  - claims
  - constraints
  - candidates
Verification Gate
  - evidence span?
  - coverage?
  - live verification?
Plan
  - actions
  - cited claims
Action Gate
  - allowed_action_level?
  - human review?
  - sandbox / dry-run?
Write / Execute
Write Gate
  - atomic write?
  - backup?
  - diff?
  - invariants?
Audit
  - trace
  - claim table
  - provenance binding

这个流程把模型思考前后拆成多个有界阶段:

  • Admission Gate:决定对象能否进入上下文。
  • Verification Gate:决定 claim 是否能升权为行动依据。
  • Action Gate:决定该依据是否足以授权动作。
  • Write Gate:确保即使动作被授权,写路径仍然可恢复、可比较、可阻断。

3. Admission 与 Verification 策略

Admission 的目标不是“更多上下文”,而是“只让有资格的上下文进入”。

最低规则建议如下:

  1. 无来源不升权
    没有 source + provenance_span 的内容,只能作为草稿假设,不能作为决策依据。

  2. 过 TTL 不复用
    超过 valid_until 的 observation 必须重新取样或活体验证。

  3. scope 不匹配不引入
    来自另一个 repo 的 skill 可以作为参考,但不应自动成为当前 repo 的高权规范。

  4. memory / skill 默认低于 verified tool outputs
    记忆与 skill 是候选材料,不是事实本身。

  5. handoff 是 context package,不是事实集合
    必须拆成“已验证事实 / 上游推断 / 决策 / 待补信息”。

Verification 则要求系统明确回答:

我要做的这个动作引用了哪些 claim?这些 claim 分别绑定到哪些证据?证据是否覆盖了动作范围?

建议同时生成 claim table,最小字段包括:

  • claim_id
  • claim_text
  • source_object_ids
  • authority
  • freshness
  • coverage_ref
  • used_by_action_id

4. 与完整性绑定的写权限规则

建议把动作至少分成五级。

等级 例子 最低要求
L0 纯读、检索、列目录 Admission 通过即可
L1 会话内临时文件、草稿生成 source 明确,scope 匹配
L2 仓库内受限文件修改 coverage_ratio 达阈值;必须 diff;可 checkpoint
L3 外部系统非破坏写入,如发消息、创建 PR、创建记录 claim table 完整;最好 dry-run;通常需审批或策略白名单
L4 生产库、删除、迁移、force push、外部资金 / 权限操作 人工批准 + 备份 / 快照 + 双重验证 + sandbox / 隔离

关键不是分级本身,而是把 allowed_action_level 绑定到上下文对象与证据完整度。

如果当前上下文只支持 L1,就不能因为模型“很自信”而执行 L3;如果只读了文件一部分,就不能获得整文件重写权;如果没有实时观察真实环境,就不能对生产对象做 destructive action。

5. 运行时变量处理

强烈推荐这条规范:

任何“当前态”都不应作为持久事实写入记忆;它应该在动作时刻通过工具解析。

例如:

  • runtime.now_iso
  • runtime.git_branch
  • runtime.k8s_context
  • runtime.db_schema_hash
  • runtime.feature_flags

这些变量应具备以下属性:

  • runtime_bound = true
  • ttl = 0 或极短
  • 不进入抽象记忆
  • 默认不进入 skills
  • 在 claim table 中标注 resolved_at

6. 注意力策略治理

建议把通知、告警、cron、health-check、agent 自评、自我改进产物,统一归入四级策略。

级别 含义 示例 路由
P0 必须立即打断 生产数据风险、权限泄漏、支付 / 删除、备份失败 强提醒,必须确认
P1 高优先但可短暂延后 关键 cron 失败、SLO 趋势恶化、重要部署结果 高优先通知,聚合但不静音
P2 可批量查看 实验任务失败、非关键自动任务摘要 批量 digest
P3 可抑制 / 仅记录 低价值实时化噪声、例行成功报告 默认不打扰,仅审计留痕

这条策略最重要的组织含义是:

Agent 不允许把全体事件统一下调为 silent。

只有 attention policy service 能决定通知等级;执行层最多只能建议重分级,不能直接改人类注意力通道。

7. 记忆整合规则

Consolidation Gate 的最小规则:

  1. episodic store 与 abstract store 物理分离
    episodic 是原始证据,不可覆盖;abstract 是派生知识,可版本化,但不能反写 episode。

  2. 默认保留原始 episode,默认禁止每轮 consolidate
    这与 Faulty Memory 的结论一致。[2]

  3. 只有在模式稳定时才允许生成抽象
    条件包括:同类 episode 足够、近期无冲突、评估显示收益。

  4. 抽象更新必须 diffable
    新旧记忆要可比较、可回滚、可标注新增或删除的适用条件。

  5. 高风险抽象必须 human-in-loop
    包括任务策略、审批规则、法律、财务、安全相关抽象。

  6. 伤害性能的 memory item 应退役,而不是继续压缩

五、监控、应急与实施路线

1. 监控与可观测性

AI Agent 的 observability 不能只看延迟、tokens、request count。它需要 reasoning-level telemetry,包括:

  • reasoning depth
  • tool execution graph
  • retries
  • memory context size
  • tokens per successful execution
  • planning duration
  • skill activation set
  • claim table coverage
  • write diff size
  • rollback time

相关工程文章也指出,传统 observability 很难覆盖 Agent 的规划、记忆检索、工具调用、验证与重试链路。[11] SREGym 也强调 live 环境中,状态会持续变化,信号不完整,并与故障竞争同一时间轴。[3]

对 Context Governance 来说,至少意味着三件事:

  1. trace 必须可回放
    不只记录请求和响应,还要记录当时装配了哪些 context objects、触发了哪些 skills、执行前 claim table 长什么样、哪些 gate 放行了。

  2. provenance 需要绑定到行动
    一次文件 diff、一次 DB 写入、一次 API 调用都应能反查到引用了哪些 claims。

  3. 监控重点要从“系统是否活着”扩展到“推理是否稳定”
    reasoning depth 突增、工具 fanout 激增、同一目标重试超阈值、memory context size 异常膨胀、skill 激活集合异常变化,都应成为治理指标。

2. 事件响应与 playbook

当发现 Context Governance 事故时,推荐六步处理:

  1. 冻结自治
    立即停用 L3/L4 写权限。不要先要求模型解释自己,先止血。

  2. 保全状态
    保存会话、context objects、skill activation、tool stdout / stderr、checkpoints、外部系统快照。注意:官方 checkpoints 不一定覆盖 bash 或外部写入。[7]

  3. 导出 claim table
    定位这次动作基于哪些 claims。

  4. 按污染类型归因
    判断是 authority、temporal、completeness、provenance、handoff、skill、attention-policy、evidence misgrounding,还是 consolidation erosion。

  5. 修复治理层,而不只是修 prompt
    部分读整写就改 Write Harness;stale runtime fact 就改 runtime binding;skill 滥用就改 registry 与 TTL。

  6. 补基准与回归测试
    把事故固化成 admission test、action-gate test、write-harness test 或 memory-gate test。

3. 工程师检查清单

上线前

  • 是否为每类上下文对象定义了 source / authority / freshness / scope / ttl
  • 是否存在把 runtime value 当作长期事实写入 memory 或 skills 的路径?
  • 任意 L2 以上写入,是否强制经过统一 Write Harness?
  • 是否为 DB、Git、外部 API 定义了 L0–L4 动作级别?
  • 关键 skill 库是否有版本、TTL、staleness、owner、最近验证时间?
  • 长期记忆是否区分 episodic 与 abstract store?
  • 是否有针对错误 handoff、stale memory、partial-overwrite 的回归测试?

运行时

  • 当前会话激活了哪些 skills?是否有冲突或过期项?
  • 高风险动作是否能反查 claim table?
  • 当前上下文中是否出现 unknown provenancestale but reused
  • 重试、fanout、reasoning depth 是否超阈值?
  • 是否有 P0/P1 事件被误降级到 P2/P3?
  • 任意 destructive write 是否有 dry-run、diff、backup、snapshot?

事故后

  • 导出完整 trace 与 context object snapshot。
  • 标记污染类型与发生阶段。
  • 确认 blast radius:代码、数据、通知、记忆、skills、handoff 哪些受影响。
  • 从“写权限为何被授予”逆推到“哪个 gate 失效”。
  • 将事故加入 benchmark / harness regression。
  • 更新风险文档与分级策略。

4. 产品经理检查清单

上线前

  • 是否定义了哪些结论可自动执行,哪些只能建议?
  • 是否定义了 P0–P3 注意力等级,而不是只有“通知 / 不通知”?
  • 是否定义了哪些业务对象必须 human-in-loop?
  • 是否把“减少打扰”“自动修复”与“不可错过的提醒”区分开?

运行时

  • 用户是否能看见系统基于哪些证据作出建议?
  • 用户是否能一键查看 diff、rollback、source trace?
  • 用户是否能区分系统观察、系统推断、系统建议、系统已执行动作?
  • 对异步和长任务,是否有“静默但可审计”的模式,而非直接 silent?

事故后

  • RCA 是否追问“哪个上下文被错误升权”,而不只追问“模型为什么答错”?
  • 是否把事故转成新的产品 affordance:审批、diff 预览、恢复、来源显示、skill 版本提示?
  • 是否更新了用户心智:哪些功能是“建议器”,哪些是“执行器”?

5. 分阶段路线图

阶段 目标 最小交付
MVP 先阻断最危险的污染扩散 上下文对象元数据、L0–L4 动作分级、Write Harness、runtime 变量求值、P0–P3 注意力路由
中期 让系统可解释、可度量、可回归 claim table、provenance binding、skill registry、episodic / abstract 分离、admission tests、loop caps
长期 把治理嵌入组织流程 handoff compiler、跨团队 SOP 包、live evidence verification、pre-execution oversight probes、governance dashboard

6. 建议跟踪指标

指标 建议定义 说明
EMR misgrounded_runs / accepted_action_runs 借鉴 EnvTrustBench,衡量基于错误环境证据做出动作的比例。[1]
False-persistence rate 被 TTL 失效后仍被引用的 runtime-bound facts / 所有过期 runtime-bound facts 引用 衡量“当前时间 / 当前状态”类错误持久化
Partial-overwrite incidents 周期内“覆盖写导致未观察部分损坏”的次数 监控完整性污染
Attention-suppression incidents 被错误降级或静音的 P0/P1 事件数 监控注意力策略污染
Skill activation precision / recall 真正相关的已激活 skills 占比;应激活 skills 的召回率 衡量 skill 路由质量
Skill staleness rate 超过验证窗口仍可被激活的 skill 比例 管理 skill 污染
Memory erosion rate (peak memory-assisted success - current memory-assisted success) / peak 跟踪 consolidation 退化
Handoff loss rate 交接后新增澄清问题数或被纠正 claim 数 / 交接包总 claim 数 衡量交接包质量
Claim grounding coverage 被外部写操作引用的 claims 中,具备 provenance_span 的比例 衡量来源绑定充分性
Mean rollback time 从发现错误到完成恢复的中位时间 衡量治理闭环能力

六、开放问题与局限

第一,本报告优先采用论文、官方博客、官方或半官方复盘、第一人称工程文章。其中 arXiv 论文与 Anthropic 官方材料的可信度最高;SaaStr 和个人工程复盘提供了有价值的事故形态;NextFuture 与部分 DEV 文章更适合作为模式信号,而非单独裁决依据。[9][10]

第二,Faulty Memory 论文内部对同一 ARC-AGI 退化实验有不完全一致的表述:摘要写“fails on 54%”,正文附近又出现“降到 54% 正确率”和“fails on 46%”两种说法。这个不一致不影响“consolidation 会造成严重退化”的主结论,但严格引用时应保留不确定性。[2]

第三,本次对话中的“当前时间污染”“partial-read overwrite”“cron silentification”“幻觉化文档引用”是重要私有个案,但不是公开可重复的外部资料。本报告将其作为治理设计的内部证据,而非外部经验事实使用。

第四,本文提出的 Context Compiler、Write Harness、Attention Policy Harness、Consolidation Gate 是治理模式,不是现成商用品。它们的价值在于把近一年的论文与事故经验收束为工程约束;真正落地时,仍需结合现有 agent stack、权限系统、消息系统和运维平台适配。

综合来看,2026 年关于 Agent 的最大进展,不是“模型终于足够会编程”,而是研究与工程实践开始承认:

可靠性首先是上下文治理问题,其次才是生成能力问题。

如果不把 authority、freshness、scope、coverage、provenance、handoff、skills、attention 和 memory 全部纳入治理,Agent 系统只会在更强自治能力的推动下,把原本局部的小错更快、更稳、更难追踪地放大成系统性事故。

参考文献

[1] Strick Sheng, Ziyue Wang, Liyi Zhou. When Agents Overtrust Environmental Evidence: An Extensible Agentic Framework for Benchmarking Evidence-Grounding Defects in LLM Agents. arXiv:2605.08828. https://arxiv.org/pdf/2605.08828

[2] Dylan Zhang, Yanshan Lin, Zhengkun Wu, Yihang Sun, et al. Useful Memories Become Faulty When Continuously Updated by LLMs. arXiv:2605.12978. https://arxiv.org/pdf/2605.12978

[3] Jackson Clark, Yiming Su, et al. SREGym: A Live Benchmark for AI SRE Agents with High-Fidelity Failure Scenarios. arXiv:2605.07161. https://arxiv.org/pdf/2605.07161

[4] Harsh Tatsat, et al. Beyond the Black Box: Interpretability of Agentic AI Tool Use. arXiv:2605.06890. https://arxiv.org/pdf/2605.06890

[5] Anthropic. Claude Code Auto Mode. https://www.anthropic.com/engineering/claude-code-auto-mode

[6] Anthropic. Equipping Agents for the Real World with Agent Skills. https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills

[7] Anthropic. Enabling Claude Code to Work More Autonomously. https://anthropic.com/news/enabling-claude-code-to-work-more-autonomously

[8] SaaStr. Replit’s New Release Addresses Most of the Challenges We Hit Vibe Coding — But Is Prosumer Vibe Coding Really Ready for Commercial Apps Yet? https://www.saastr.com/replits-new-release-address-most-of-the-challenges-we-hit-vibe-coding-but-is-prosumer-vibe-coding-really-ready-for-commercial-apps-yet/

[9] GoldenWing360. 10 Security Mistakes Claude Code and Copilot Make in Production. DEV Community. https://dev.to/goldenwing360/10-security-mistakes-claude-code-and-copilot-make-in-production-584l

[10] Ryan Patel. 9 Ways AI Coding Agents Break in Production (May 2026). NextFuture. https://nextfuture.io.vn/blog/9-ways-ai-coding-agents-break-in-production-may-2026

[11] AWS Community Builders. Why Traditional Observability Breaks with AI Agents. DEV Community. https://dev.to/aws-builders/why-traditional-observability-breaks-with-ai-agents-3cn0

[12] Vilius Š. Managing 150+ AI Agent Skills at Scale: What Broke, What I Built. DEV Community. https://dev.to/vystartasv/managing-150-ai-agent-skills-at-scale-what-broke-what-i-built-1e73

[13] Vilius Š. My Agent Said It Would Fix the Width. It Rebuilt the Whole Site Instead. DEV Community. https://dev.to/vystartasv/my-agent-said-it-would-fix-the-width-it-rebuilt-the-whole-site-instead-1ch6

[14] Vilius Š. It Still Forgets. DEV Community. https://dev.to/vystartasv/it-still-forgets-3bj8

[15] Vilius Š. My Cron Jobs Failed. I Didn’t Check. DEV Community. https://dev.to/vystartasv/my-cron-jobs-failed-i-didnt-check-lg1

[16] Cat Chen. X post on Claude Code skills and American English. https://x.com/CatChen/status/2055408245724832230

[17] Amjad Masad. X post related to Replit incident. https://x.com/amasad/status/1946986468586721478

[18] Eyal B. Six Claude Code Skills That Close the AI Agent Feedback Loop. DEV Community. https://dev.to/eyalb/six-claude-code-skills-that-close-the-ai-agent-feedback-loop-10bb