2026-08-01T18:29:09.605Z
AI代理可观察性:每次运行都有指纹
一项六次审计显示了编辑的配置指纹如何在未改变的记录代理系统下将释放漂移与故障分开.
最短的有用答案是:将 run表现的指纹 添加到每个代理运行,然后只在你知道运行时间,模型快照,提示,政策,工具方案和部署图像是否相同后,将健康进行比较. 一个痕迹告诉你一个逃跑是什么. 这份文件告诉你系统的哪个版本做了. 这张指纹不是健康评分,也不证明了跑步失败的原因. 这是一个分支钥匙. 如果在新的指纹下出现回归,首先检查配置漂移. 如果它出现在旧指纹下,请查找未记录的环境,依赖性,提供商,数据或许可变更. 一个稳定的代理名字可以隐藏一个不同的系统 假设 support triage 周五完成了两张门票, 两场比赛都有相同的代理名字. 两者都发出心跳. 两个电话工具. 组合它们似乎是自然的,而且可能是错误的. 在这两次运行之间,其中任何一个可能发生了变化: 显而易见的组成部分 记录 避免记录 运行时间 名称和准确版本或承诺 主机路径,访问符号 模型 提供商和可用时附加的快照 关键 API,全响应 快速 审查的提示包的SHA 256 原始客户或系统提示 政策 哈希或不可改变的修改 在政策中嵌入的秘密价值观 工具 规范式方案哈希 凭证,工具有效载荷 部署 图像消化或源提交 登记密码 这跟着一个既定的可观见性观念而不是发明第二个痕迹格式. 在开放Telemetry资源 SDK中,资源描述为生产远程测量实体不可变的表示. 执行配置是该身份的一部分. 保存一个执行的追踪身份证,并保留其生成的版本的明确指纹; 一个有用的宣言是故意无聊的. 它包含稳定的标识符,而不是像延迟,代币数量,退出状态或结果等观测. 他们确是与明确的. 如果把它们混合到哈希中,就会给每次运行创造新的指纹, 还有一个隐私界限: 按本地提示或政策, 如果输入来自一个微小的可猜测集合, Hash仍然可以泄漏信息,所以当威胁重要时,使用不透明的释放ID或键盘的本地消化. 永远不要把凭据放入表格中,甚至在把整个对象入之前. 在化之前加нони化 哈希原始的JSON是一个陷,因为对象键顺序和微不足道的序列化选择可能不同,而表示的配置保持相同. 在RFC 8785中,JSON可нони化方案定义了确定性序列化,包括递归属性分类. 在具有互操作性问题时,生产代码应使用经过审查的JCS实施. 对于一个紧的本地实验,以下Node.js函数为普通有限的JSON值足: 实验使用了Node.js v22.23.1 . 它是故意比RFC 8785更窄的:它以递归的方式排序对象键,并拒绝无限数量,但它并不是完全跨语言JCS合规的要求. 这种限制是代码旁边的,而不是读者复制后的脚注. 表格本身可以保持小: 上面的位置持有值是设备标识符,而不是供应商索赔. 在一个真正的收藏器中,将它们从固定的版本中取出主机. 更广泛的原则类似于SLSA来源:保留有关某种产品在哪里,何时和如何生产的可验证信息. 运行表借鉴了这种诊断原则;它不是自动的SLSA证书. 六次重播显示了值和限值 我测试了这项规则,对一个特工进行了六个合成NDJSON记录. 运行 101 和 102 在不同的JSON关键顺序中包含相同的表值. 运行 103 只会改变提示哈希, 104 只会改变模型快照, 105 只会改变工具方案哈希. 运行 106 由于依赖性中断而失败. 审计指令是: 确定性结果: 两个观察比数值更重要. 首先,一个代理的名字隐藏了四个记录的配置. 其次,两个不同排序的基线对象产生了相同的SHA 256指纹,因此序列化顺序不会产生虚假漂移. 重要的是反示例: run 106 未能使用基线指纹. 一个不变的指纹并没有使跑步健康,也没有证明环境没有改变. 它只显示记录的配置字段没有变化. 下一项调查应检查在该表供应商的可用性,输入数据,网络路线,许可状态和依赖度之外的证据. 这种装置是合成的,因此它证明了机械和伪造过度声称;它不估计配置漂移会导致实际事件的频率. 这将需要控制的排放和验证结果的生产数据. 将指纹转化为分类决定 运行结果可观察后才使用指纹. 仅仅活动发行的代币,调用的工具,或者还活着的过程都没有建立有用的进展. 结果证据 指纹比较 第一个分支 通过 同基线相同 保持作为可比较的健康参考 失败 改变 区分已删除的表格字段;考虑限制的回滚或重播 失败 同样. 检查依赖性,权限,输入,提供商状态和缺失的表格覆盖 不知名 任何一个 在诊断漂移之前收集或定义预期可交的产品 只有三个操作规则让我们保持诚实: 1. Freeze the comparison point. 选择一个已验证的成功运行,不仅仅是最新的绿色状态. 2. 保持编辑的场面级地图. 整体表达式哈希表示 不同. 单个组件消化器显示在哪里可以检查,而不会披露内容. 3. 验证干预后的结果. 顺利执行的反弹命令是活动. 恢复意味着预期的交付值出现,测试通过,或其他确定性接受验证通过. 不要自动将每一个改变的指纹翻回. 释放可能是故意的,故障可能来自输入而不是释放. 用此变化作为审查证据,保留人类对后续行动的批准,并记录之后发生的事情. 在监测代理健康的过程中, 运行指纹连接了三个健康问题,仅仅是痕迹无法清洁地解决:是否改变了决策政策,是否改变了工具合同,以及在同一记录系统下是否降低了结果质量? 它还改善了事件交付,因为另一个运营商可以比较准确的释放身份,而不需要收到提示,秘密或原始工具有效载荷. Sidewisp的健康模型包括执行,内存和环境,工具,结果,可用性和成本. 未来的主机端适应器可以使用编辑的明示作为支持这些诊断的证据, Sidewisp 目前处于私密预览阶段。 公共网站和文章系统是现场;生产代理健康收集,运行时间适配器和自动恢复通常不提供. 如果这个证据模型与你今天操作的故障相匹配, 下一步是加入私人预览等待列表,并描述你需要不假设Sidewisp已经收集了运行时间和结果检查.