章节 01
导读 / 主楼:Kortecx-core:面向AI Agent的分布式运行时内核
Kortecx-core是一个用Rust编写的AI Agent分布式运行时,专注于解决Agent工作流中的精确一次执行(exactly-once orchestration)问题,为非确定性、会改变外部世界的Agent步骤提供可靠的故障恢复机制。
正文
Kortecx-core是一个用Rust编写的AI Agent分布式运行时,专注于解决Agent工作流中的精确一次执行(exactly-once orchestration)问题,为非确定性、会改变外部世界的Agent步骤提供可靠的故障恢复机制。
章节 01
Kortecx-core是一个用Rust编写的AI Agent分布式运行时,专注于解决Agent工作流中的精确一次执行(exactly-once orchestration)问题,为非确定性、会改变外部世界的Agent步骤提供可靠的故障恢复机制。
章节 02
章节 03
当前大多数Agent框架在处理故障恢复时存在根本性缺陷。Agent工作流与传统数据流水线不同:Agent步骤会调用模型采样,并可能改变外部世界——调用工具、访问API、写入外部系统。这些操作无法安全地重新计算:如果工作节点在执行过程中崩溃,可能导致重复支付、重复发送邮件或产生静默错误的数据。
现有框架通常采用简单的重试机制,或者根本不处理,导致隐藏状态泄漏到工作节点内存中,通过消息队列进行脆弱的协调,没有持久化的尝试记录与成功记录。当出现问题时,开发者只能通过阅读日志来调试。
Kortecx-core采取了完全相反的立场:每一次Agent尝试都是追加日志中的一个持久化事实。恢复时从不重新运行已提交的步骤——而是重新读取结果。
章节 04
Kortecx-core将Agent工作流视为一组需要精确一次执行(exactly-once semantics)的原子操作。这与Spark等数据流处理系统类似,但针对Agent场景进行了根本性调整:
章节 05
Mote是运行时调度、移动和恢复的最小不可分割单元。它是一个已持久化的尝试执行某事的记录,而非可重新计算的描述。已提交的Mote是日志中的一个事实,恢复时从不重新运行。
每个Mote携带一个非确定性标签:
运行时根据标签使用不同的恢复策略:对安全标签采用积极恢复,对危险标签采用操作员门控恢复。
章节 06
日志是追加写的,运行时的依赖图是从日志折叠出的投影(事件溯源),从不作为可变图存储。这使得从单节点到分布式的跳跃只是连线问题,而非重写。
章节 07
日志只携带32字节的内容哈希(ContentRef),实际负载存储在内容存储中,采用内容寻址命名。自动去重是免费的副作用。本地文件系统实现随核心开源发布,S3和复制实现遵循相同的trait。
章节 08