2026-08-01T08:39:00.708Z
暂时AI代理:与健康代理的独立持久执行
使用 Temporal进行可恢复执行,然后在称呼AI代理健康之前添加进展,等待,效果和可交付的收据.
暂时是一个强大的答案: 工作人员毁,进程重新启动或外部依赖失败时,你如何让长期的执行恢复? 这本身并不是对另一个问题的答案: 药物是否健康,并且产生了用户要求的结果? 安全默认是使用临时工作流状态作为执行证据,然后在分配健康判决之前添加四份申请收据: 1. 一份 进步收据 显示一个有意义的里程碑或输出三角形; 2. 一份 wait收据 名称所有者,截止日期和续航条件; 3. 一份 effect收据 ,确定是否发生了工具侧操作; 4. 一份 可交付的收据 验证所需文物或状态. 这种区别很重要,因为Temporal自己的工作流程执行文件定义了 Running 作为能够在积极进步 或等待 时取得进展. 绿色开放的工作流程不能区分生产性工作,合法批准等待或沉默的停滞. 同样,一个关闭的 Completed 工作流证明其代码已经达到完成路径;它不会自动证明发票一次发送,拉动请求包含预期的变化,或者报道存在于承诺目的地. Temporal 证明了什么,以及它没有证明什么 时间的耐用执行模型为AI代理提供了宝贵的机械保证. 工作流程状态在失败中仍然存在. 再播放检查生成了对事件历史的命令. 活动将 LLM 请求,工具使用和外部API等易故障调用从确定性编排代码中隔离. 官方解释动态AI剂在 Temporal上明确了这一界限:工作流管应是确定性的,而LLM的决定和工具结果可以在活动中保持非确定性. 这些属性回答了几个运营问题: 工作者重新启动后,记录的管弦乐状态能否生存下来? 工作流可以从记录的历史中恢复,而不是重新计算之前的LLM决定? 一项活动是否仍在重新尝试,时间过期,失败或完成? 工作流是否开放,暂停,取消,完成,失败,终止或截止时间? 他们没有回答四个具体的代理问题: 计划是否接近用户的目标, 一个暂停是预期的,是属于的,是可以重新开始的吗? 特别是在休息时间或工人车后出现外部副作用吗? 终端交付物是否存在,并符合确定性接受性检查? 这不是对"时间"的批评. 这是一个责任的界限. 临时社区AI代理实施 展示了代理循环,工具调用,人类确认,信号,状态管理和工作流内测试. 它的笔记还提及了长时间的对话历史,重新尝试可见性和生产存储考虑. 应用语义仍然属于应用. 将四个收据置于工作流状态以上 一份紧的收据可能比转录要小得多. 它应该揭露证据,新鲜性和身份, 报表必须描述申请的里程碑,而不仅仅是心跳时刻. 暂时文件活动 心跳作为一个工人报告活力和进步的方法,保存进步细节再次尝试,并收取取消. 这种运输是有用的,但有效载荷必须携带一个有意义的三角形:处理记录计数,验证源集,完成的分支ID,文物消化或其他特定任务的不变. 一个代理人可以永远发出新的时间印记,同时重复相同的失败电话. 预期收据防止相反的错误paging一个健康的人在循环中暂停作为一个停滞. 需要三个字段: owner :能够解决依赖性的个人或系统; deadline :当等待过后时; resumeToken :信号,更新,批准身份证或其他身份证,恢复同样的工作. 没有三个人,这使得等待运作不完整. 等待获得批准没有所有者是废弃的工作. 没有最后期限的主人可以无限期消失. 没有简历身份的截止日期会导致复制或错误的延续. 收到效果是必要的,因为活动可以重新进行. 时间的 Python 错误处理指南描述活动至少一次,并建议免费:工人可以在服务记录完成之前完成外部行动和崩. 对于代理,关键状态是 none , attempted , verified 和 unknown . Unknown 没有允许再尝试. 首先将稳定运营身份与目的地相结合. 交付的收据将在另一端的差距缩小. 它应该将工作流程绑定并运行身份进行确定性检查:文件消化,数据库版本,HTTP资源识别器,合并承诺,测试结果或结构化接受判决. 自然语言的"做了"信息是指一个索赔的证据,而不是结果的证据. 一个六个案例的实验 在本文中使用的可检查装置以一个确定性规则来评估六次运行: 单独的工作流程状态将使前四个案例分为 RUNNING ,最后两个案例分为 COMPLETED . 收据改变了运营商的决定: 案例 具有决定性的证据 安全行动 工作 最近的里程碑改变了 放下它. 在等待 拥有者,截止日期,恢复代币 路线或等待截止日期 住了. 没有最近的特拉和没有有效的等待 调查,然后准备一个有限的恢复 不确定性效果 稳定运营身份证没有目的地判决 调和,不要再尝试. 错误的成功 工作流程完成,但输送量缺失 重新开启事件 健康完整 完成,效果和可交付的协议 用证据来关闭 这项规则是故意保守的. 没有使用LLM法官,如果可进行确定性检查. 在证据不一致的情况下,它保留了 uncertain . 它也避免每一次停顿:有效的等待仍然是等待,而不是失败. 经营重试和长期历史,没有虚假绿色 暂时处理重试机械,但应用程序仍然拥有重试预算和效果界限. 每次外部活动,在尝试中携带一个稳定的操作身份证. 当可用时,记录目的地的无权裁决. 隔离临时运输故障与永久输入故障,并在剩余运行截止日期无法容纳另一次尝试加上调和和可交付的验证时停止. 在长时间活动中,组合三个不同的信号: 活动心跳新鲜度:工人最近沟通吗? 里程碑新鲜度:有用的应用状态是否发生了变化? 试验和截止日期预算:目前的重试是否仍有权限,还能完成? 一个新鲜的心跳和一个不变的里程碑可能是一个循环. 一个最近收到的目的地收据,可能会导致不确定的报告失败. 如果预警时间和预算明确, 没有一个时间标签值得绿色判决. 历史增长是另一个界限. 目前的工作流程 执行限制硬件事件历史限制为51,200事件或50MB,警告为10,240事件或10MB. 不要把那些已过期的值转化为通用常数; 检查当前的文档和您的部署. 持久模式是在适当情况下将大量的对话数据留在工作流程历史之外,保留内容最小化的身份和不变量,并在历史压力成为停机之前使用继续 新. 这创造了实际的劳动分类: 暂时保存和恢复的管弦状态. 代理申请定义了里程碑,等待所有权,效果调整和接受检查. 运营商面向的健康层将两组证据结合在一起, 保持健康与调整分开 对于暂时AI代理,耐用执行是基础,而不是最终的健康成绩. 重播可以恢复发生事故后记录的决定. 活动重试可以恢复过渡性故障. 信号和更新可以传递人类的决定. 任何这些机制都不应该被延伸到说代理正在进步,副作用发生一次,或者用户的结果存在. 首先要从四个收据开始. 让它们小,新鲜,并与 workflowId , runId ,稳定的操作身份联系在一起. 在生产前,测试六种不舒服状态. 如果你的仪表板不能单独显示 waiting , stuck , uncertain 和 false success ,它将隐藏操作员实际上需要做出的决定. 每个工作流程都必须定义自己的有意义的里程碑和可实现的检查. 一个来源验证代理和一个支付代理不能分享相同的接受条件. 当没有确定性结果的检查时, 标签判断及其信心; 不要默默地将其转化为事实. Sidewisp 目前处于私密预览阶段。 它的产品方向是AI代理健康层,但生产时间适配器和现场代理健康系列并未作为出货功能介绍. 这种有用的近期行动是独立于任何产品的:保持 Temporal 的耐用性证据,添加四个申请收据,并要求他们同意之前称药物健康.