Zing 论坛

正文

Kortecx-core:面向AI Agent的分布式运行时内核

Kortecx-core是一个用Rust编写的AI Agent分布式运行时,专注于解决Agent工作流中的精确一次执行(exactly-once orchestration)问题,为非确定性、会改变外部世界的Agent步骤提供可靠的故障恢复机制。

AI Agent分布式运行时Rustexactly-once容错事件溯源工作流编排
发布时间 2026/05/23 17:14最近活动 2026/05/23 17:21预计阅读 3 分钟
Kortecx-core:面向AI Agent的分布式运行时内核
1

章节 01

导读 / 主楼:Kortecx-core:面向AI Agent的分布式运行时内核

Kortecx-core是一个用Rust编写的AI Agent分布式运行时,专注于解决Agent工作流中的精确一次执行(exactly-once orchestration)问题,为非确定性、会改变外部世界的Agent步骤提供可靠的故障恢复机制。

2

章节 02

原作者与来源

3

章节 03

项目背景与动机

当前大多数Agent框架在处理故障恢复时存在根本性缺陷。Agent工作流与传统数据流水线不同:Agent步骤会调用模型采样,并可能改变外部世界——调用工具、访问API、写入外部系统。这些操作无法安全地重新计算:如果工作节点在执行过程中崩溃,可能导致重复支付、重复发送邮件或产生静默错误的数据。

现有框架通常采用简单的重试机制,或者根本不处理,导致隐藏状态泄漏到工作节点内存中,通过消息队列进行脆弱的协调,没有持久化的尝试记录与成功记录。当出现问题时,开发者只能通过阅读日志来调试。

Kortecx-core采取了完全相反的立场:每一次Agent尝试都是追加日志中的一个持久化事实。恢复时从不重新运行已提交的步骤——而是重新读取结果。

4

章节 04

核心设计哲学

Kortecx-core将Agent工作流视为一组需要精确一次执行(exactly-once semantics)的原子操作。这与Spark等数据流处理系统类似,但针对Agent场景进行了根本性调整:

  • 不是可重新计算的描述:传统RDD是可重新计算的,而Mote(Kortecx的最小执行单元)是已持久化的尝试记录
  • 追加日志作为协调机制:调度器、执行器和恢复机制都通过提交到日志的事实进行协调,而非直接消息传递
  • 投影作为读视图:依赖图、就绪集、血缘关系等都是对日志的查询投影,而非持久化的可变图
5

章节 05

Mote:原子执行单元

Mote是运行时调度、移动和恢复的最小不可分割单元。它是一个已持久化的尝试执行某事的记录,而非可重新计算的描述。已提交的Mote是日志中的一个事实,恢复时从不重新运行。

每个Mote携带一个非确定性标签:

  • PURE:纯函数,无副作用
  • READ-ONLY-NONDET:只读非确定性操作
  • WORLD-MUTATING:会改变外部世界的操作

运行时根据标签使用不同的恢复策略:对安全标签采用积极恢复,对危险标签采用操作员门控恢复。

6

章节 06

日志:同步基底

日志是追加写的,运行时的依赖图是从日志折叠出的投影(事件溯源),从不作为可变图存储。这使得从单节点到分布式的跳跃只是连线问题,而非重写。

7

章节 07

内容存储:负载分离

日志只携带32字节的内容哈希(ContentRef),实际负载存储在内容存储中,采用内容寻址命名。自动去重是免费的副作用。本地文件系统实现随核心开源发布,S3和复制实现遵循相同的trait。

8

章节 08

构建要求

  • Rust 1.94.0(通过rust-toolchain.toml固定,rustup自动安装正确通道)
  • just(cargo install just或包管理器安装)