跳到主要内容

你的智能体对话记录是可被取证的,且法务从未批准过

· 阅读需 10 分钟
Tian Pan
Software Engineer

你按照每一份可观测性指南的要求对代理(agent)进行了插桩。每一个回合都有一个 span:完整的 prompt、检索到的块(chunks)、模型的思维链、它考虑过的工具调用、它起草随后又放弃的计划,以及最终的行动。存储费用是每 GB 三分钱,而在事件响应期间,这些追踪(traces)已经救了你十几次。你保留了一切,因为保留一切几乎是免费的,而且偶尔还能立大功。

这是平台团队中没人建模过的部分:那个追踪记录是用流畅的英语写成的,它点名道姓地揣测你的客户,还起草了你从未实际执行的操作。它是你公司产生的最容易被引用的制品,而原告律师会对着幻灯片上印着的你公司 Logo,向陪审团宣读其中最“精彩”的 200 个单词。让你的系统具备可调试性的推理追踪(reasoning trace),正是让它承担法律责任的推理追踪。

这并不是关于未来监管体制的假设。法院已经对这一类别问题定性。在 2025 年和 2026 年,法官强制要求提供数百万份生成式 AI 日志——包括 prompt 和模型输出——其依据是一个简单的理论:它们和任何电子邮件或 Slack 消息一样,都是电子存储信息。在取证规则(discovery rules)面前,数据源的新颖性并不能为你带来任何好处。如果一份日志与索赔或辩护相关,且提供该日志符合案件比例原则,它就必须被公开。“这只是模型的调试追踪”并不是《联邦民事诉讼规则》所认可的类别。

为什么推理追踪比日志行更糟糕

传统的应用日志是简洁且机械的:状态码、延迟、堆栈追踪。它们很枯燥,而这正是它们安全的原因。陪审团读到 500 Internal Server Error 时会昏昏欲睡。在内存转储(heap dump)中,没有人的意图是清晰可读的。

代理对话记录则截然相反。模型经过微调,可以生成读起来像深思熟虑的人类在思考的文本,因为这正是让它变得有用以及让思维链提高答案质量的原因。所以你的日志现在充满了第一人称的散文,听起来就像一个人在权衡选项、对用户形成看法并选择行动方案。这种可读性是调试的超能力,却是法庭上的灾难。

考虑一个特定的失败模式:被放弃的计划。你的代理在推理过程中写道:“客户很可能试图利用退款政策;我可以拒绝索赔并标记该账户,但这可能违反公平准则,因此我将转交给人工处理。”你为这个追踪感到自豪。它显示了防护栏正在起作用。模型考虑了一个糟糕的操作并正确地拒绝了它。

现在换成对方律师的角度来读:你的系统断定客户是剥削者,并曾考虑拒绝他们,然后才退缩。那个被拒绝的分支,如果删掉拒绝它的那一句话,读起来就像是预谋。在你的事件处理工具中,放弃的计划是安全的证据。但在法庭的投影仪上,它是意图的证据。追踪记录并不自带上下文,而交叉质询的艺术就在于剥离上下文。

这就是代理可观测性核心那种令人不安的倒置:你为了调试而最看重的制品——模型未经审查的深思熟虑——正是你最不希望在宣誓证词中被大声朗读出来的制品。

别指望特权能救命

工程师的直觉是假设某种法律盾牌可以覆盖这一点。实际上大部分都没有。

律师-客户特权保护的是为了获得法律建议而与执业律师进行的沟通。模型不是执业专业人士,对话并非由你的法律顾问指导,而且供应商的条款通常保留与第三方共享数据的权利。研究过消费者 AI 聊天日志的法院正是基于这些理由拒绝给予其特权。拥有真正的保密合同和法律顾问指导用途的企业级部署可能会被区别对待,但那是你与法律团队深思熟虑后的博弈,而不是你通过使用 API 就能继承的默认属性。

工作成果保护(Work-product protection)稍微更有希望一些——它涵盖了为应对诉讼而准备的材料——但你生产环境中的代理流量几乎没有一个是为应对诉讼而准备的。它们是为了回答支持工单而准备的。这一原则并不能扩展到覆盖你的整个事件流,仅仅因为其中一小部分将来可能在诉讼中起到作用。

实际的结论是:假设你保留的每一条推理追踪都是可被强制提供的。设计时请当作没有任何盾牌,因为对于大部分日志来说,确实没有。

保留期限是你唯一能实际控制的杠杆

一旦预见到了诉讼,你就不能让已产生的文件消失——那是证据损毁(spoliation),其制裁(不利推定指示,即法官告诉陪审团假设被删除的证据对你不利)比文件本身的影响要严重得多。法律保留(legal hold)是一项硬性覆盖:一旦诉讼合理可预见,你正常的删除计划就会针对任何相关内容冻结。

但在法律保留介入之前,保留期限完全由你决定,而大多数团队都是在无意中做出这个决定的。“永远保留一切”不是一项政策,而是政策的缺失。最高杠杆的举措是设定一个真实的、短期的、并且——至关重要的是——始终如一执行的保留计划,这样当一个追踪过期时,它是根据适用于每个人的常规政策过期的,而不是因为你闻到了诉讼的味道而选择性地删除它。

以下是一些作为可辩护实践出现的粗略数字:

  • 运营工具调用和审计账本: 12 个月或更久。这是你的代理实际了什么的记录——API 调用、状态更改、资金移动。你需要这个;它也是证明你履行了合理注意义务的证据。
  • Prompt 和最终响应: 通用企业用途为 90 天到一年。时间足够长以进行调试和评估,时间足够短以限制风险敞口。
  • 受监管的工作负载(金融、医疗): 三到七年,与你已经必须遵守的记录计划保持一致。
  • 原始深思熟虑——思维链、被拒绝的分支、中间草稿: 你在操作上能忍受的最短窗口。

一致性比确切的数字更重要。一个你实际执行的 90 天计划优于一个仅在方便时执行的 30 天政策,因为后者一旦法院审查其模式,看起来就像是在销毁证据。

分层追踪:保留台账,过期思考

解决这种紧张关系的工程原则是:停止将“智能体追踪(Agent Trace)”视为一个无差别的整体,而是根据其双重用途进行拆分。在当前的 Span 中,有两种截然不同的东西交织在一起:

  1. 行动台账 (Action ledger) —— 智能体做了什么、谁发起的、运行了哪个模型版本和提示词模板、调用了哪些工具及其参数、世界状态发生了什么变化。这是你的防线。它证明了系统拥有支出限制,遵循了可逆性分层,并将不可逆的操作升级交由人工处理。它是结构化的、低散文化的,你希望将其保留很长时间。
  2. 思考过程 (Deliberation) —— 自由文本的推理、对用户的推测、未选取的路径。这是你调试时的“金矿”,也是你的法律责任,且其效用衰减极快。八个月前的一个被拒绝的计划几乎没有调试价值,却具有巨大的证据开示(Discovery)价值。

将它们记录到具有不同保留周期的独立存储中。让台账保存一年或更久。让原始的思考过程在几周内过期。当你确实需要针对某个线上事件查看推理过程时,你可以将特定的追踪记录从短期存储提升到案例文件中——这是一个刻意的、有记录的操作,而不是消极地永久囤积每个人的思维链。

然后,从源头上减少记录的内容。2025 年底标准化的 OpenTelemetry GenAI 规范将完整的 Prompt 和 Completion 捕获设为一个开关,正是因为维护者知道这是一个治理风险。在全局开启它之前:

  • 写入时脱敏。在 Span 持久化之前,剥离或标记化客户姓名、账号和 PII,而不是依赖以后运行且可能遗漏内容的清理任务。
  • 对冗长内容进行采样。你不需要 100% 成功请求的完整推理追踪。在发生错误时和少量随机样本中进行丰富捕获;对于正常路径,只保留结构化的元数据。
  • 尽可能零存储。对于最高风险的流程,采用零数据保留的 API 层,这意味着思考过程永远不会落地到你的系统中,这是唯一一种真正无法被传唤的数据形式。

在传票到来前值得自问的问题

这是每个平台团队在不知不觉中做出的权衡:更丰富的追踪意味着更快的事件处理速度 以及 更大的法律风险面积,这两条曲线是同步移动的。不存在一个既能获得最大可观测性又能将法律责任降至最低的免费区。两年后看起来明智的团队,是那些有意识地为这一权衡的两端定价的团队,而不是仅仅因为调试端有仪表盘就只优化调试端的团队。

因此,在你的下一个智能体上线之前,请问一个可观测性指南中遗漏的问题:如果一位怀有敌意的律师必须向陪审团宣读这段追踪记录,我们记录了哪些并不需要保留的内容? 然后据此进行日志记录——台账长存,思考短存,PII 绝不记录。你最有用的可观测性产物和最大的法律责任往往是同一个文件。唯一真正的决策是你要把它放多久。

References:Let's stay in touch and Follow me for more thoughts and updates