2026-08-01T20:01:24.152Z
AI 代理 休息时间健康:制定最后期限预算
扩大一个端到端的截止日期,保留清洁和验证时间,并区分截止日期风险与停滞的AI代理进展.
一个AI代理需要一个 absolute运行截止日期 , 在每个昂贵阶段之前,计算: 只要剩余预算覆盖所需预算,并且有用的进展仍在发生变化. 如果跑步剩下75秒,但需要90秒的工作加上15秒的取消,调整副作用,验证结果,它已经在 timeout risk , 这就是截止日期知情的AI代理可观测性的实际作用:表明当前运行是否仍然可以在其时间界限内提供验证结果. 一次通话的时间仅仅是局部限制. 这并不证明儿童工作停止了,重新尝试是安全的,或者所需的结果存在. 给整个运行一个缩短时间预算 gRPC确定了最后期限 作为客户不愿意等待的时刻. 它的文件建议明确,现实的截止日期,因为没有截止日期可以让客户无限期等待. 截止日期与截止日期的区别:截止日期是绝对的时间点,而截止日期是可以转换为电话开始时截止日期的最大持续时间. 在代理运行中,这种区别很重要. 考虑一个用户截止日期为5分钟的工作: 1. 计划需要40秒. 2. 一次模特电话需要55秒. 3. 一个工具在排队里等待70秒. 4. 经纪人开始了另一种工具,通常的两分钟时间. 第四阶段可能是本地配置正确的,但在计算结果验证和清理之前只剩下135秒. 两分钟的新电话已经默默地分配了几乎全部剩余预算. 在此之后,重新启动一次休息时间将延长工作, 在运行过程中携带一个 deadlineAt 值. 在每个孩子的边界,从剩余的预算中获得更短的当地时间. 永远不要重新设置原始截止日期. gRPC的繁殖指南描述了对RPC树的可靠性原理:将调用者截止日期推迟并减去已经过的时间,而不是给每个孩子一个新的完整间隔. 保持健康记录小且可检查: 领域 它所确定的 它不能证明的 deadlineAt 最新可接受的比赛结束 孩子们的工作将尊重取消 estimatedRemainingSeconds 剩下的有用工作的当前估计 估计覆盖一个隐形的分支 cleanupMarginSeconds 取消和验证的保留时间 清理的范围在每个供应商都限于 lastProgressAt 具体任务运动的新鲜性 这项活动带来了正确的结果 progressChanged 可检查的里程碑或指纹改变 最终结果是正确的 terminal 运行时间结束了它的道路 交付的存在 outcomeVerified 通过外部接受检查 没有任何预期都得到了满足. 进步领域应该反映工作,而不是通用流量. 一个定律的文物消化,测试结果,目的物体ID,排列数量或单调的里程碑可以显示有用的运动. 代币数量,日志量和工具调用总数显示活动,但在循环中可能增加. 测试截止日期规则与六个边界案件 随之而来的文物设定了观察时间,并通过确定性分类器运行了六张合成快照: 产生的运行: fresh build 剩下180秒. 预计其剩余工作时间为90秒, 清理时间为15秒, 任务指纹发生了30秒前的变化. 所需预算为105秒,因此运行仍然可行,分类器返回 working . 现在, slow export 的进展也发生了变化, 同样的90秒工作估计加上15秒差距需要105秒. 活动是健康的,可行性却不是. 正确的判决是 timeout risk ,不是 working ,还不是 deadline exceeded . quiet retry 显示出不同故障. 它还有300秒,只需要150,所以它的最后期限通过了数学. 然而,它的有用进步证据是1200秒的,并且在设备的600秒的停机窗口之后没有改变. 它返回了 stalled . 增加更多的时间不会解决运行没有运动的重复的证据. legacy task 没有截止日期或剩余工作估计. 新活动不能修复缺失的时间证据,所以它仍然是 uncertain . expired call 超过了10秒的绝对截止日期,并返回 deadline exceeded . 仅因为终端执行与独立的结果检查相结合,因此 published report 才成为 complete . 决策命令是故意的: 1. 接受 complete 只有终端执行和验证结果. 2. 返回 deadline exceeded ,绝对期限已过去了. 3. 返回 timeout risk 当剩余时间无法覆盖工作加上利率时. 4. 返回 stalled 当时间剩下,但进展是陈旧和不变的. 5. 只有当运行可行且证据在移动时,才能返回 working . 6. 保持缺失或矛盾的时间证据 uncertain . 这种顺序使得前进的运行不健康,因为它不能按时完成,同时将停滞的运行与时间预算失败分开. 这种装置是可检查的决策测试,而不是证明这些状态发生的频率相同. 它的600秒的停机窗口和时间估计是政策值的示例. 一个真正的适配器必须从任务类和观察到的时间分布中提取它们. 推广取消以及最后期限 一个限制父母等待的最后期限并不证明孩子工作停止了. gRPC明确指出,服务器应用程序在取消后停止产生的活动是负责的. 对于代理人来说,这个界限特别重要:一个过期的工具可能仍然将数据出口,写文件,收费账户或锁定后的管家已经移动了. 谷歌对级故障的SRE指导将错过的RPC截止日期描述为浪费的工作,这可能导致重试和进一步的过载. 它还解释说,在呼叫树中取消其他工作会防止资源用于无法提供的结果. 代理运营商应应用同样的原则,而不假设每个工具都支持合作取消. 每个儿童阶段: 通过协议支持的绝对期限; 其他来源: childTimeout = deadlineAt now reservedMargin ; 拒绝启动,当所衍生的时间限为不积极或不可思议的短暂时; 传播中断或取消信号; 记录孩子是否承认取消; 在重新尝试之前调整外部可见的效应; 为独立的结果检查提供足够的时间. 一个紧的事件可以免受提示和响应: 一个不透明或按键引用比原始用户标识符或文件系统路径更安全. 不要发送提示,回复,凭证,工具的有效载荷或敏感的目的地名称,仅仅是为了计算截止日期的健康. 取消也需要一个结果界限. 如果在离开主机后,写入请求停机,远程服务可能在响应消失之前就已经完成了. 只有检查无效键或查询目的地后再尝试. 在剩余预算内进行的第二次尝试仍然可能是错误的. 估计预算,而不假装它是确定的 合理的默认是根据观察到的高百分比持续时间估计每个任务类,然后为排队延迟,取消,调整和结果验证添加明确的边缘. 当计划分支机构发生变化时,请更新估计. 一个文件检查和整个存储库测试组不应共享一个通用时间. 在证据中保存估计版本,以便运营商可以解释判决. 警报时时的变化,如 working → timeout risk ,而不是每次时钟的变化. 如果收藏器钟在运行时间之前,负年龄可以逆转决定;记录观测时间和源时间,拒绝不可能的值,并在一个过程中偏爱单调的持续时间. OpenTelemetrys AI代理可观测性概述通过新兴的语义公约提出可互操作的轨迹,指标和日志. 这些信号是有用的输入,但标准跨度不知道用户承诺的完成时间,哪个文物被视为进步,或者需要多长时间验证结果. 这些仍然是任务级合同. 这种模式也有严格的限制. 在新的任务形状上,时间估计失败. 提供商可能会忽略取消. 孩子可能在父母的最后期限后完成. 时钟偏差,排队,速率限制,或一个未观察到的分支可能消耗了边缘. 因此,最后期限的健康是新鲜和自信的证据,而不是保证. 可重复使用的规则是狭的: 扩大一个绝对的运行截止日期,在每个阶段之前使用它,保留清洁和验证时间,并单独分类陈旧的进展与不够的时间. 完成仍然需要预期的结果,而不仅仅是停止的时钟. Sidewisp 目前处于私密预览阶段。 它的公共网站和文章库是现场的,但生产代理 健康收集,运行时间适配器,最后期限监测和恢复通常没有运送. Sidewisp旨在与现有运行时间相结合,并使人权可见. 如果终端到终端的健康截止日期是你需要出现的失败,