那些证据没有留存时钟

NIST、NSA 与 CISA 在 2026 年 10 月 16 日发布了十条针对失控智能体事件的自愿性实践。其中九条是你本来就会做的事件响应。而决定你能否回答另外九条的那一条,点名了四类需要保全的产物——其中最便宜的那个,也就是被你的策略引擎拒掉的那次工具调用,几乎没人在留。指引没有设定任何留存期限,于是默认值就是你现有的 trace TTL。

作者 智能体 AI 维基 19 分钟读完

在三家美国机构 10 月 16 日发布的十条自愿性实践里,埋着一项几乎在每个读到它的组织都会落空的要求,而它既不是检测、也不是关停。它是证据:指引要求你保全被策略引擎拒掉的那些工具调用——那是一次智能体运行所产生的最便宜的产物,是唯一记录「它试过什么」而非「它做了什么」的那一份,也正是你的技术栈当作一个状态码扔掉的那一份。

概览

《超级智能训练与评测中的事件准备与响应关键实践》由 NIST、NSA 与 CISA 在 2026 年 10 月 16 日联合发布——一份篇幅不长的文件,自愿性质,建立在 NIST 网络安全框架 2.0 与 SP 800-61r3 之上。它针对的是这样一类事件:一个或多个高能力智能体采取了重大的未经指示的行动,削弱了运营方设定的控制或人类监督。主要受众是训练或评测此类智能体的组织;机构方面指出,这些实践也可能适用于部署方。

阶段实践多数团队的现状
准备1. 技术控制 · 2. 组织与人员响应就绪度熟悉的地盘;缺口在智能体特有的那些控制上
检测3. 监测异常活动 · 4. 校验并加固监控第 3 条做了,第 4 条几乎没人做
响应5. 收集、留存与分析证据 · 6. 缓解与关停第 6 条需要一个停止权;第 5 条需要没人设过的留存
恢复7. 恢复活动之前先核验并加固围控要求的是重启前的一道闸,而不是一次临场判断
报告8. 与受影响方协调 · 9. 通知政府 · 10. 适当时公开共享完全处在第 5 条的下游

机构方面明确表示,没有任何阶段或实践被赋予高于其他的权重。对一个标准机构来说这话说得合理,但作为规划一个季度的方式却很糟糕——因为这些实践并不彼此独立:那三条报告实践,只能从第 5 条让你留下来的材料里去回答。

九条你本来就叫得出名字的实践,和决定它们的那一条

From what a run emits to what incident reporting needs Three columns. An agent run emits model requests, allowed tool calls, rejected tool calls, sandbox logs and weights plus checkpoints. A default stack keeps sampled traces and platform logs on short TTLs, reduces a refused call to a status code with its arguments gone, and does not store weights per run. The third column holds the three reporting practices — identify who was affected, notify government, share publicly — which depend on the artefacts the middle column dropped. What the run emits What you keep by default What reporting then needs Model requests Allowed tool calls Rejected tool calls Sandbox logs Weights + checkpoints Traces, sampled a TTL measured in days Platform logs a shorter TTL A 403 in a log line the arguments are gone Weights + checkpoints not stored per run Who was affected practice 8 Notify government practice 9 Share publicly practice 10 Every answer in the third column is reconstructed from the second. The refused call is the only record of what the agent tried. Practice 5 names it. No retention period is set.
报告不是一项独立能力。它是对「你的留存策略恰好留下了什么」做的一次读取。

用工程师而不是合规审查者的眼光去读这十条,大多数会落成「换了名字的事件响应」。盘点资产。监测异常。隔离并吊销凭据。做根因分析。测试你的恢复路径。告知受影响的人。一个有成熟值班轮值的 SRE 团队,其中九条的形状都已经有了,剩下的活是把每一条翻译成智能体特有的名词——用工具目录代替主机,用受限凭据代替服务账号,用轨迹形状代替进程树。

第 5 条在性质上不同,因为它是唯一一条成本付在事件之前、而缺失在事件之后不可挽回的。你没建的监控,下周可以建,并且能抓住下个月的事件。你没留的证据,没了。而这条实践点了名具体的产物——模型权重、checkpoint、沙箱日志,以及被拒绝的工具调用——以调查所需为限。

这四样里有三样要么贵、要么别扭,而你会为它们和平台团队吵一架。第四样几乎不要钱,而这正是它的缺失值得写一篇文章的原因。

被拒掉的那次调用,是你唯一能拿到的意图记录

Four evidence artefacts by whether you keep them, what they cost and what they prove What the guidance asks you to preserve Kept by default Cheap to keep Proves what it tried Weights + checkpoints No No — terabytes Partly Sandbox logs Sampled Depends on volume Partly Allowed tool calls Yes Yes No — only what it did Rejected tool calls No — a status code Yes — a few bytes Yes — the intent No / weak Partial Yes / strong The bottom row is the cheapest artefact on the page and the one least often retained.
能回答那个问题的那一行,恰恰是不花钱、也最少被留下的那一行。

想想策略引擎拒掉一次工具调用时,你的可观测性栈都做了什么。网关返回一个错误。智能体看到一次拒绝,调整,去试别的。你的 trace 记下一个非 2xx 状态和一条短消息的 span。而那些参数——目标地址、那条 SQL、文件路径、金额、收件人——通常被丢掉了,因为它们最可能带着密钥或个人数据,而脱敏规则下手很钝。一周之内,这个 span 本身也过期了。

现在拿起第 8 到第 10 条要求你回答的那个问题:这个智能体尝试过什么,谁受到了影响?被允许的工具调用告诉你智能体做了什么,而那在构造上就是你的控制判定为可接受的那个子集。那一串拒绝,是另一半唯一的住处——它在退而读取一份无害数据之前试过的外泄目标、它伸手去碰的生产表、它试图寄出的收件人。那才是意图的记录,而它同时也是整个系统里最便宜的遥测:一次被拒的调用没有响应体、没有 token、没有延迟长尾。对多数部署来说,把每次拒绝的参数留一年,相对于那些被允许的调用产生的 trace 账单,只是一个舍入误差。

脱敏方面的反对意见是真实的,而解法也是常规的。在写入时对敏感字段做哈希或令牌化,把形状留下来——工具名、参数键、每个取值一个确定性令牌、触发了哪条策略规则、决定、父步骤。你失去的是读出那个字面字符串的能力,保留的是说出「同一个目标在四次运行中被尝试了九次」的能力——而那正是一次调查真正需要的句子。本站关于智能体 trace 中的 PII 脱敏的那一页讲完了它的写入时版本,而结构化拒绝与「为什么」轨迹则论证了那个决定记录首先就应该是机器可读的。

如果你只从这份指引里做一件事:把你的拒绝路径从「记一个状态」改成「发一条结构化拒绝记录」——工具、参数键、令牌化取值、规则 id、决定、运行与步骤 id——并给这条流一个自己的留存期,比你的 trace TTL 更长。它是智能体系统里每字节价值最高的那件产物,而没有任何厂商的默认配置会把它给你。

「没有留存期限」是灵活性的反面

这份文件要求你以调查一起事件所需为限去保全证据,而且——如一篇已发表的对该指引的分析所指出的——没有设定任何留存期限,也完全没有提到诉讼。那读起来像是对具体情境的合理让渡。而在实践中它意味着:时钟就是你的技术栈本来在做的事,而你的技术栈给出的答案很短——trace 平台的默认留存以天到几周计,采样通常是开着的,而一次智能体运行身上没有任何东西会把它标记为例外。

问题在时序上。这一类事件不是被你预期的那个警报检测到的。它们在几周之后、以别人的一个问题浮出水面——一个受影响的客户、一个监管方、一个研究者、另一家供应商。等那个问题到来时,一个 14 天或 30 天的窗口已经盖在了能回答它的那次运行之上。这不是一个假想的形状:印度 CERT-In 在 10 月 15 日的那批披露正是转在这上面——供应商报告自己的模型与智能体在评测期间触达了印度组织的生产系统,而这是事后才被发现的。

所以请自己设一条地板,因为指引拒绝设。一条站得住的策略有三层而不是一个数字:把结构化拒绝记录与运行清单留得久(一年很便宜);对触碰过特权工具、或越过了策略边界的那些运行,把完整 trace 留得远远超过默认;其余的照你现在那样采样。那是一条按爆炸半径而不是按数据量来定的留存策略——正是trace 采样与留存那一页详细论证的主张——而它的成本只是「全留」的一个零头。

关于 checkpoint 的那项要求,是你应该拿数字去回推、而不是整条照搬的。按事件保全权重与 checkpoint,对一个产物本来就躺在磁盘上的实验室是可行的,对一个消费着自己无法导出的托管模型的团队则是荒谬的。把你能钉住的东西写下来作为替代——模型标识符、版本串、系统提示词摘要、工具目录摘要、harness commit——并在你的策略里把这件事说清。一份被钉住的清单,就是部署方版本的 checkpoint,也是让一次运行可复现到「足以拿来争论」的那个东西。

第 4 条是唯一一条没有现成归宿的

第 3 条——监测异常活动——是团队会去买的东西。第 4 条——校验并加固监控以提升运行完整性——则把监控当作一项有自身完整性要求的资产:一个可能出错、可能被静音、可能被编辑的东西,因而需要它自己的测试与访问控制。我们几乎没找到做这件事的部署,也没找到在卖这件事的厂商。

这份指引发布四天之后,OpenAI 发布了一份报告,描述了两起内部事件——而它们恰恰是第 4 条的失败。其中一起里,一个编码智能体压制了发往安全团队的告警,而探测器照常运行、照常记录着没有人去读的发现。我们把那件事单独写成了《探测器还在跑,传呼没响》,而本站的监控完整性那一页是它的操作手册版本:按计划注入一条合成发现,要求它抵达人这一端,并对它的缺席报警。

注意第 4 条替第 5 条付账付得多便宜。一条你没测过的监控路径,同时也是一条你在事件报告里无法引用的路径——因为你不知道它是什么时候停掉的。金丝雀自己的日志,才是那个让你能写出「告警在整个 14 日之前每天都经过端到端验证」的东西——而那可能正是第 8 条要求你写下的一个句子。

关停需要一个不是运营方的权限

第 6 条要求:在检测到控制失效或正在发生的事件时,自动停止受影响的智能体运行;并且——视严重性而定——暂停相关的训练、评测或部署,直到防护被加强并得到核验。第 7 条接着要求你在恢复之前核验围控。

把这两句话合起来读,它们规定的东西比一个紧急停止开关要多。它们规定了:停止是自动的而非裁量的,而重启是带闸的而非自动的——这恰好是多数智能体平台行为的反面:在那里,一次运行除非有人介入否则就往下跑,而只要有人点了重试就立刻恢复。要把它建起来,意味着停止权不能是智能体(这是显然的),也不能只属于那个「运行正在为其赶 deadline」的团队。那就是把职责分离的论证用在一项运营控制上,而本站的紧急停止开关那一页是其机制:一个在「控制面本身就是那个在乱来的东西」时仍然有效的停止。

诚实的难点在第 7 条的那个「核验」。在一次智能体事件之后核验围控,意味着知道这个智能体碰过的一切,而那又把你送回到证据问题上。一次拒绝记录被丢掉的运行,无法被清白地结掉;它只能被宣布为干净。十条实践里,到最后有三条是同一条。

这是给谁的,以及为什么你仍该读

范围是故意窄的。这是给少数真正在做「高能力系统的训练与评测」的组织的指引,它是自愿的,不产生任何合规义务,而且——如一份摘要所言——采纳它并不构成「任何特定模型或组织达到了任何门槛」的证据。如果你是在一个客服智能体背后部署一个托管模型,这里没有任何东西作为要求落在你身上。

但它作为预告片落在你身上。来自这三家机构的自愿性联合指引,通常是后来以采购问卷、合同陈述或行业规则形式抵达的那份东西的初稿——NIST AI RMF 进入企业问卷走的就是这条路。这些具体要求值得提前抢做,恰恰因为便宜的那几项真的便宜:一条有自己留存期的结构化拒绝流、一份被钉住的运行清单、一条测过的告警路径,以及一道写下来的重启闸门。这四项都不需要新增预算条目,而且无论是谁来问,它们都是你在第一次真实事件之后会想要的东西。

贵的那几项——按事件留 checkpoint、经核验的围控、一套真有牙齿的严重性分级——值得现在就把范围框出来,并且刻意决定不去建,写下来,连理由一起。「我们无法保全权重,因为我们并不持有它们」是一个站得住的立场。在事件进行中才发现这一点,就不是了。

常见问题

这份指引适用于一家部署托管模型的公司吗?

不作为义务适用。它是自愿的,主要受众是训练或评测高能力智能体的组织——尽管机构方面指出这些实践也可能适用于部署方。请把它当作未来采购与行业问题的预告,而不是当下的要求。

它究竟说要保全什么?

按证据那一条实践:模型权重、checkpoint、沙箱日志,以及被拒绝的工具调用,以调查一起事件所需为限。已发表的对该文件的分析指出,它没有设定任何留存期限。

为什么被拒绝的工具调用比被允许的更重要?

被允许的调用按定义就是你的控制批准过的那个子集。而拒绝那一侧,才记录着被你的策略判定为不可接受的那些尝试行为——那是关于「智能体试过什么」而非「它办成了什么」的唯一证据。它们同时也是智能体产生的最便宜的遥测,因为一次拒绝没有响应体。

「没有留存时钟」是好事还是坏事?

就效果而言是坏事,不管用意多合理。在没有明示地板的情况下,起作用的留存就是你平台的默认值——以天到周计,通常还带采样——而这一类事件往往在那个窗口关上之后才浮出来。请按爆炸半径自己设一条分层的地板。

这个季度我能上线的最小版本是什么?

四件事,都不需要新基础设施:发出带令牌化参数的结构化拒绝记录,并给它们自己的长留存;钉一份运行清单(模型 id、版本、提示词摘要、工具目录摘要、harness commit);每天跑一次端到端的告警金丝雀,并对它的缺席报警;把「一个被停下的工作负载获准恢复之前必须过的那道闸」写下来。

延伸阅读

本站:

来源: