证据等级:B(工程设计提案)
本文不再把“长对话中必然遗忘 Prompt”写成 Transformer 物理定律,也不再宣称自动生成 Skill 可以把遵守率提升到 100%。核心问题是:当 Agent 发生可复现违规时,Harness 如何把一次失败转化为可审计、可测试、可回滚的系统改进。请先阅读 研究方法与事实校准。创新点索引:I-01
系列:LLM + Harness = Agent
下一篇:02 大脑主动驱动小脑
Agent 可能因为指令冲突、上下文遗漏、错误检索、工具结果噪音、模型行为波动或 Runtime 缺少强制检查而违反约束。
传统修复通常是:
发现一次错误
→ 在 System Prompt 里再加一句提醒
→ Prompt 越来越长
→ 同类错误仍可能出现
“Agent 免疫系统”应被定义为一条系统加固闭环:
违规事件
→ 固定证据
→ 根因分类
→ 提议修复
→ 选择正确控制层
→ 测试与审批
→ 小范围启用
→ 监控复发与副作用
→ 保留回滚
关键原则:
不是每次失败都生成 Skill;不可妥协的安全约束优先变成 Runtime Policy、Schema、测试或权限规则。Skill 只适合可复用、可解释、需要模型参与的流程知识。
观察到约束没有被遵守时,至少存在以下可能原因:
没有证据时,不能统一归因于“注意力稀释”或“Prompt 遗忘”。
不同模型、任务、Prompt 布局和工具链可能呈现不同曲线。重新检索规则、重建上下文、切换独立 Session 或下沉 Runtime Policy 都可能恢复质量。
错误 Skill 可能成为持久化供应链风险:
恶意或错误上下文
→ 生成 Skill
→ 跨任务自动加载
→ 权限扩大或错误流程被系统化
因此 Skill 必须经过来源记录、权限限制、测试、审批、版本化、有效期和回滚。
行业中已经存在 Policy、Guardrail、Verifier、Hooks、Skills、Memory、Incident Learning 和自动规则提议等不同机制。本文的价值不在于宣称唯一,而在于把这些能力连接成一条严格的失败加固闭环。
每次违规都保存结构化事件:
incident_id: inc-20260727-001
task_id: task-123
constraint_id: workspace-boundary@3
expected: 只允许修改批准的 Workspace
observed: 尝试写入 ../shared/config.yaml
blocked: true
source_refs:
- tool-call-882
- policy-event-991
model: deepseek-v4-pro
runtime_version: 0.1.1
context_fingerprint: sha256:...
severity: critical
status: investigating
至少记录:
incident_id
task_id
constraint_id / requirement_ref
expected behavior
observed behavior
model/provider/runtime version
context fingerprint
tool and artifact refs
whether side effect occurred
severity
不记录完整私有 Prompt、API Key 或原始 CoT。
候选修复:Context Compiler、Constraint Registry、Checkpoint、Retrieval Test。
候选修复:更明确的指令、结构化输出、独立 Reviewer、模型路由,但高风险动作仍应由 Runtime 阻断。
候选修复:Policy、Sandbox、Schema、状态机、幂等和 Hash 校验。
候选修复:澄清、版本化 Spec、冲突解决和用户审批。
候选修复:Held-out Tests、Evidence Trace、Verifier 多样性和失败样本复核。
修复必须进入正确层级:
| 问题 | 首选控制层 | 不推荐 |
|---|---|---|
| 禁止写出 Workspace | Runtime Policy | 只加 Prompt 提醒 |
| 输出必须符合 JSON Schema | Schema Verifier | 依赖模型自述正确 |
| 修改前必须审批 | ChangeSet 状态机 | Skill 清单 |
| 某框架升级固定步骤 | Governed Skill | 硬编码到核心 Runtime |
| 项目使用 Python 3.11 | Environment Check + Project Policy | 每轮重复长提示 |
| 用户偏好注释风格 | Project Memory / Style Rule | 系统级安全策略 |
判定原则:
能用确定性代码验证的,不只依赖 Prompt
涉及副作用的,不只依赖模型判断
需要跨任务复用但有情境变化的,才考虑 Skill
来源包括:
保存:
Diff Hash
Tool Call ID
Test Run ID
Policy Event
Artifact Hash
Runtime / Model Version
不得让同一个执行 Agent 仅凭自然语言自判根因。优先使用确定性证据;模型诊断必须标记置信度和备选解释。
修复类型:
policy_patch
test_patch
schema_patch
context_rule
skill_proposal
documentation_fix
model_route_change
每个修复至少包含:
审批强度按影响范围:
| 范围 | 审批 |
|---|---|
| 当前任务临时规则 | 用户或任务 Owner |
| 当前项目 Skill / Policy | 项目 Maintainer |
| 全局 Runtime Policy | 安全负责人 + Maintainer |
| 跨用户自动 Skill | 默认禁止,需更高等级审核 |
先限定:
workspace
project
user
model
runtime version
time window
观察误拦截、漏拦截、成本和任务成功率,再决定扩大范围。
记录:
incident recurrence rate
false-positive block rate
false-negative rate
rollback rate
first-pass success
human override
cost per successful task
所有自动加固项必须版本化,可禁用、可回滚,并保留原事故与修复关联。
skill_id: python-migrate-pyproject
version: 1.2.0
origin:
incident_ids: []
successful_task_ids:
- task-456
scope:
workspaces:
- project-a
permissions:
tools:
- read_file
- propose_patch
network: false
write_requires_approval: true
tests:
- fixture-basic
- fixture-custom-build
reviewed_by:
- maintainer@example
expires_at: 2026-10-27
content_hash: sha256:...
rollback_to: 1.1.0
要求:
包含:
incident detection precision / recall
root-cause classification accuracy
policy false positive / false negative
skill trigger precision / recall
regression pass rate
recurrence rate
human override rate
rollback success rate
比较:
只增加 Prompt
vs.
Prompt + Runtime Policy / Test / Governed Skill
必须报告副作用,不能只报告原事故是否消失。
因此系统必须保留人工接管、证据回放、Scope 限制、有效期和回滚。
Agent 免疫系统不是“模型忘了一次,就自动生成一个 Skill”。
更可靠的闭环是:
真正的自进化不是系统越来越复杂,而是同类失败复发率下降,同时误拦截、权限风险和维护成本保持可控。
← 返回全部 18 篇研究