2026-08-01T17:27:16.708Z

AI 复试剂可观察性:捕获重复效果

一项确定性四操作审计显示了稳定操作身份,有效载荷哈希和效果收据如何停止不安全的重复试验.

一个代理人不应该重新尝试一个工具调用,仅仅是因为它的痕迹在时间里结束. 要求可能已经到达提供商,实际状态发生了变化,并且只丢失了答案. 第二次尝试可以两次发送消息,创建两个门票,或提供两个资源, 有效的健康规则更严格: one逻辑操作不得产生超过一个验证效果 . 给操作一个稳定的身份,在尝试中保持这种身份,记录供应商侧效果收据,并且阻止自动重新尝试,当效果无法安全检查时. 试验数量和HTTP状态仍然有助于诊断, 这篇文章将该规则构建成一个小效果账本,并对四个操作进行测试. 该装置包含8次尝试和4次供应商观察. 只有尝试的政策将会有时间过关, 效果意识的审计发现一个健康的重复,一个重复效果事件,一个无能关键冲突, 暂停时间并不是证明没有什么发生 危险的窗口位于远程执行和本地确认之间. 提供者可以产生影响,然后在回来时失去反应. 从代理人的角度来看,这两个历史是观测上相似的: 1. 要求从未到达提供商; 2. 申请完成,但答案未到达代理人. 只有第一段历史才能安全地重复, 第二个创建复制,当操作自然不无力时. HTTP语义提供了一个有用的边界. 在多次相同的请求后,其预期服务器效应与一次请求相同的RFC 9110 定义了一个无效的方法. 它允许自动重复在无能方法的通信故障后,但说客户端不应该自动重新尝试一个非无能请求,除非他知道操作是有效无能或可以检测原始从未应用. 这种区别属于代理人的健康. 一个取代已知记录的 PUT 和发送电子邮件的 POST 都可以取消时间,但它们并没有相同的重试界限. 一个通用的"timeout →重试"政策消除了最重要的语义事实. 提供商支持有助,但必须准确读取合同. 条纹文件 存储第一个请求的状态代码和机体,然后将该结果返回以后的请求,使用相同的密钥. 它还将参数进行比较,并拒绝与不同的参数重复使用. 因此,关键不是随机标签, 它代表一个稳定的逻辑操作. 亚马逊EC2文件类似的客户端代币模式:使用相同的代币和参数进行成功的重新尝试不会执行进一步的操作,而改变参数可以产生 IdempotentParameterMismatch . EC2还涵盖了一些区域或区域性保证. 有代币不够;健康记录需要代币的范围,有效载荷身份,保留窗口和提供商行为. 合理的缺陷是: 在所有尝试中重复使用一个操作身份; 仅用于相同的法规有效载荷的供应商的免费钥匙; 在模糊结果后,在重新尝试之前,该身份进行查询; 如果提供商不提供免费权或搜索权,则需要人为决定后果. 后退降低了失败服务的压力. 它不会使一个不具有无力的行为变成无力的行为. 记录效果,而不仅仅是尝试 一个普通的追踪答案 经纪人试图做什么? 一个效果账本回答不同的问题 我们可以证明什么持久变化? 保持两个记录的联系,因为尝试仍然是有用的证据,但不要把尝试的终端时间作为业务结果. 一个最小的账本需要这些字段: 领域 目的 它暴露的健康缺陷 operationId 用户预期操作的稳定身份 每次重新尝试都会产生新的身份证 attemptId 一次运输尝试的身份 错过或重叠的尝试 idempotencyKey 如果支持,提供商的减倍身份 在重试中发生了关键变化 payloadHash 一个正规的,编辑的有效载荷 同样的钥匙重复用于不同的目的 effectRef 实际效应的提供者或目的地身份 多个持久效果 result 运输观察,如 timeout 或 success 不明确的承认 observedAt 收集证据的时间 已旧的证据被误认为是现状 不要把秘密,电子邮件地址,完整的提示,或原始工具的有效载荷放在这些字段中. 在移除波动值后,哈希是可行表示的. 在调查要求时,保持敏感原材料在原产地. 当意图变得持久时,应打造操作身份,而不是在重试循环中. 例如: 截图的设计不完整:抓住例外并继续并不是安全的证明. 呼叫者还必须保留提供商返回的对象ID或在模糊的回复后,使用相同的业务身份查询提供商. 计算独特的效果,而不是成功的反应. 两种成功的反应,两个名称是 ticket 908 ,描述了一个效果. 一个时间隔离后,一个名为 delivery a 和 delivery b 的成功描述了两个效果. 相反,当搜索道不存在时,零收据并不能证明零效应. 这种状态是 uncertain ,不健康,也不会自动被卡住. 运载身份是一个独立的门口. 如果两次尝试共享一个无效密钥,但具有不同的定律有效载荷哈希,在解释效果数之前停止. 调用者可能在改变请求区域,接收者,数量或资源形状后意外重新使用钥匙. 供应商方面的参数不匹配错误是这种错误的有用证据. 执行四次操作效果审计 在本文中使用的可检查装置是NDJSON. 每条线是 attempt 或 effect 观察. 整个本地文物包含四个逻辑操作: op ticket 42 :两次尝试共享一个钥匙和一个有效载荷;两次观测都指向 ticket 908 ; op webhook 77 :两次尝试没有无异能密钥,并显示 delivery a 加上 delivery b ; op vm 5 :两次尝试重复使用一个键,使用不同的有效载荷哈希; op email 3 :两次试用时间,没有效果收据,提供商没有搜索路径. 审计组根据 operationId 记录,在计算效果之前拒绝有效载荷漂移,并计算不同的 effectRef 值,而不是效果观察行: 运行存储器文物: 生产: 三项观察改变了运营决定. 首先, op ticket 42 有两个尝试记录和两个效果观测,但这两个观测都解决了一个供应商对象. 效线 1的警告将是假阳性. 稳定供应商的参考是证明减倍的证据. 第二, op webhook 77 包括成功的第二次尝试. 一个只运输仪表板可能会关闭事件. 两个效果引用证明恢复创造了第二次输出,所以正确状态是重复的,下一个任务是调整,而不是再次尝试. 第三, op vm 5 在装置中没有重复效果,但它仍然不安全. 重复使用的密钥涵盖了两个不同的有效载荷哈希. 如果等到第二个资源出现,就会发现问题太晚了;关键的冲突是预防性健康失败. 审计有一个重要的局限性:它只能分类提供的证据. 对于 op email 3 ,没有收据和搜索路径使得结果不可知. 账本不能制造确定性. 再试可能会完成缺失的工作或复制完成的工作,所以有限的反应是表现出模糊性并要求权威. 将结果转换为重复尝试的边界 使用分类来控制下一步的操作,而不仅仅是彩色仪表板: 类别 证据 安全默认 healthy 一个有效载荷的身份和一个独特的效果 停止重新试验;验证预期可交付的产品 duplicate 一个操作的多个独特效果 批量重试;通过批准调整或补偿 key conflict 连接到多个有效载荷哈希的单键 区块执行;只有经过审查意图后才能进行新的操作 uncertain 没有效果证明,没有可靠的缺席证明 再问,等待新的证据,或者问一个人 时间限制仍然是必要的. 供应商无权记录可能过期,搜索索引可能滞后,目的地可能不在供应商的交易边界之外. 存储记录的存储和范围在钥匙旁边. 在该边界过期后,即使原始代码路径没有改变,相同的请求可能不再安全. 恢复验证必须达到最初的结果. 一个供应商对象仍然可能是错误的:一个门票可能存在错误的项目,或者一个资源可能会创建,但永远不会准备好. 单效不变量防止重复;单独的结果合同验证了用户想要的生存效果. 为了解运营健康情况,汇报五项事实: 1. 逻辑操作和有效载荷指纹; 2. 试图和其运输结果; 3. 提供商的免费性范围和新鲜性; 4. 观察到的不同持久效应; 5. 对于重试,赔偿或和解的权限. 这使得"退休成功"成为证据而不是判决. 更健康的判决是有预期效果并已被验证,或,如果证据不完整,效果是不确定的;自动重新试验被阻止. Sidewisp 目前处于私密预览阶段。 它的公开文章系统和互动产品演示是现场的,但生产代理健康收集,运行时间适配器, cron管理,代币成本分析和恢复通常不出货. 上面的例子是运营模式,而不是Sidewisp目前检查或修复现场代理人的说法. Sidewisp不是替代运行时间,强制性门口,原始追踪产品,企业控制平面或自动固定器. 如果一个效果账本健康规则可以帮助你操作现有代理, 让再试验通过证据获得安全.