新闻详情

新闻详情

首页 / 资讯中心 / 详情

vm0幂等交付设计:单调状态机与收据日志的3个技巧,让AI Agent交付不重复执行

发布时间:2026/9/18 3:54:18来源:尧图网络
vm0幂等交付设计:单调状态机与收据日志的3个技巧,让AI Agent交付不重复执行
vm0幂等交付设计单调状态机与收据日志的3个技巧让AI Agent交付不重复执行【免费下载链接】okouOkou connects to the tools your team already uses and does the work — across marketing, sales, engineering, and operations, under your control.项目地址: https://gitcode.com/GitHub_Trending/vm/okou本文以 Okouvm0——一个连接团队已有工具、跨营销/销售/工程/运维自动执行工作的 AI Agent 平台——为例讲解保障幂等交付的两个核心机制单调状态机与收据日志Receipt Journal回答一个工程常见痛点任务重试、进程重启之后如何保证工作只执行一次。为什么幂等交付对 AI Agent 很重要Okou 会把团队日常使用的工具接进来自动完成跨领域的工作。这类任务天然带有大量外部副作用调用外部 API、写文件、产生计费记录。而网络抖动、进程崩溃又让重试成为必然于是最容易翻车的三件事随之而来 重复计费、重复上报用量 同一条消息/事件被消费两次 同一份产物被重复写入幂等交付的目标只有一句话同一个请求被重复投递任意多次结果必须与投递一次完全相同。技巧一单调状态机——执行状态只前进不回头把一次交付建模成一条只能向前的状态线未投递 → 已送达 → 已入账。状态机遵守两条纪律状态不回退已经进入已入账的投递身份delivery id后续任何重试都不会重新执行它集合只增不减恢复流程读取的是已接受集合新快照必须包含此前全部已接受的 id而不是在旧状态上打补丁。这意味着崩溃恢复后系统不是从头再来一遍而是先问一句这些活哪些我已经确认干完了技巧二收据日志Receipt Journal——用 64KiB 小文件防重复执行收据日志就是把上面那个已接受集合持久化到磁盘的一小段记录结构极其克制约束取值目的单轮最多保留投递身份1,024 个防止日志无限膨胀编码后文件大小上限64 KiB越界立即拒绝而不是截断投递 id 格式规范化 UUID拒绝重复、拒绝畸形 id文件权限0600私有文件拒绝符号链接与特殊文件写日志的关键在 active_input_receipts.rs先完整校验、再原子替换整个快照。读者任何时刻读到的要么是旧的完整日志、要么是新的完整日志绝不会读到写了一半的内容。文件缺失则等价于空集合——冷启动天然安全。这套读写经由 runtime_paths.rs 的私有文件原子替换边界完成安全细节符号链接拒绝、FIFO 拒绝在测试 active_input_receipts.rs 中逐条验证。技巧三幂等键——从内容派生稳定 UUIDv5除了记录做过什么还要能证明同一件事。用量上报模块的做法见 usage/idempotency.py每个来源连接器事件、模型用量、聚合批次使用独立的 UUIDv5 命名空间相同输入字符串跨来源永不冲突输入采用长度前缀编码拼接彻底消除分隔符歧义平台端按唯一索引去重而不是重算输入——所以这个键必须字节级稳定任何顺手重构都会破坏对账。这是幂等键设计的经典范式身份来自内容去重交给存储的唯一约束。失败时怎么办不回滚靠收敛值得注意的一个反直觉决策存储清单应用不是事务。部分下载成功、部分失败时不做全局回滚而是留下部分生效的现场由下一轮执行基于清单清理陈旧路径、向目标状态收敛语义见 lib.rs 的失败语义说明。这体现了幂等与事务的区别幂等不要求全有或全无只要求第 N 次执行最终收敛到同一状态。如何在源码中阅读这套设计收据日志契约Guest 与 Runner 共享crates/guest-contracts/src/active_input_receipts.rsGuest Agent 侧消费crates/guest-agent/src/active_input_receipts.rsRunner 执行侧crates/runner/src/executor/active_input.rs线协议定义crates/guest-control-proto/配套文档docs/active-input-delivery.md、docs/storage-apply-resource-diagnostics.md写在最后幂等交付的三条通用经验稳定身份 只增状态 原子持久化是幂等三件套缺一不可给一切设上限1,024 个 id、64KiB失败时快速拒绝比尽力挽救更安全不需要全局事务——允许部分成功让下一轮执行自己收敛系统反而更简单、更好恢复。这套单调状态机与收据日志的组合是 vm0 让 AI Agent 放心多跑几遍的工程底气。【免费下载链接】okouOkou connects to the tools your team already uses and does the work — across marketing, sales, engineering, and operations, under your control.项目地址: https://gitcode.com/GitHub_Trending/vm/okou创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

告别PPT模板感:用InDesign打造电影级交互式PDF演示文档 2026/9/18 4:33:22

告别PPT模板感:用InDesign打造电影级交互式PDF演示文档

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Modbus RTU读寄存器耗时全解析:从帧结构到轮询周期估算 2026/9/18 4:33:22

Modbus RTU读寄存器耗时全解析:从帧结构到轮询周期估算

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Agent-Reach:多智能体可达性与注册路由治理实践 2026/9/18 4:33:22

Agent-Reach:多智能体可达性与注册路由治理实践

Agent-Reach 这个项目最早诞生在一个挺尴尬的场景里:我们内部做了七八个智能体,有的负责文档问答,有的负责数据自查,有的负责工单分类,每一个单独跑起来都挺像样。可一旦想让它们互相配合、或者让外部的业务系统按需调…

阅读更多 →
Linux常用命令场景化实战:文件、权限、网络与性能排查 2026/9/18 4:33:22

Linux常用命令场景化实战:文件、权限、网络与性能排查

收藏几十条“Linux常用命令大全”却依然不会用的人,我见过太多。坦白讲,Linux命令不是“背”出来的,是“按场景”用出来的——文件操作、权限管理、网络排查、日志分析、服务部署,每个场景下真正高频的就那么十来条,你…

阅读更多 →
嵌入式MCU开发实战路径:从最小系统验证到车规级交付 2026/9/18 4:33:22

嵌入式MCU开发实战路径:从最小系统验证到车规级交付

1. 这条学习路线不是“速成指南”,而是我带过23个嵌入式新人后画出的实战地图你搜“嵌入式软件开发MCU方向学习路线”,刷出来的大多是三段式:先学C语言,再学单片机,最后搞RTOS——听起来很完整,但实际带徒弟…

阅读更多 →
Android教学管理系统开发:从Room数据库到MVVM架构与定位签到实践 2026/9/18 4:30:21

Android教学管理系统开发:从Room数据库到MVVM架构与定位签到实践

简介:一份基于Android的教学管理系统设计与实现文档,主要面向高校计算机相关专业学生及需要完成教学管理类毕业设计或课程设计的开发者。文档从系统背景、开发工具、总体设计到功能模块展开,设计语言采用Java,结合Android客户端与…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞