Cordis:时空可组合性
现代软件——从插件系统到自进化的 Agent Harness——越来越依赖动态组合,但其形式化基础仍待完善。《时空可组合性编程范式》(A Programming Paradigm for Spatiotemporal Composability)提出了这一问题的完整理论,并由 Cordis 元框架落地。DeepSeek Harness 正是构建在 Cordis 之上。
为什么需要动态组合
插件系统需要即插即用、即卸即净;自进化的 Agent Harness 需要在运行中加载、替换、重组能力。这要求组件在时间与空间两个维度上都能被安全地组合与撤销——这正是论文要形式化的核心问题。
两个正交维度
时间可组合性
组件被移除时,其产生的副作用能够被完全撤销的能力。插件即插即用只是开始,即卸即净才是难点。
空间可组合性
声明并响应式地管理组件间依赖关系的能力。组件之间的协作不应依赖脆弱的手工装配。
从效应与协效应到运行时机制
论文将经典的效应(Effect)与协效应(Coeffect)概念提升为运行时机制,从而同时解决时间与空间两个维度。
可逆效应
每一次上下文变换都携带一个逆变换,由运行时跟踪记录。移除组件时,运行时沿记录反向执行,完整撤销其副作用。
响应式协效应
上下文的每一次变更都会依据组件声明的协效应规约通知相关组件。依赖关系因此是声明式且响应式的。
统一的上下文类型
效应上下文与协效应上下文被统一为单一的上下文类型——这一统一定义了一种新的编程范式。
组件与动态组合演算
上述机制被合并为组件(Component)的概念,并给出动态组合演算。其元理论将时空可组合性从单个组件扩展到交错组件构成的完整系统。
Cordis 元框架
理论由 Cordis 落地:一个时空可组合性元框架,为 DeepSeek Harness 提供内核能力。
核心库
提供效应跟踪(effect tracking)与协效应解析(coeffect resolution),实现可逆执行与响应式依赖管理。
声明式组件加载器
提供配置协调(configuration reconciliation)与热模块替换(hot module replacement),组件按配置声明式装载。
插件生命周期管理
Cordis 内核负责插件的加载、卸载与依赖关系。Agent 能力全部生活 在插件之中,内核不承载具体能力。
上下文变换及其逆
在 Cordis 中,每一次上下文变换都会被运行时跟踪,携带其逆变换:
// 概念示意:可逆的上下文变换
ctx.apply({
forward: () => mountPlugin(plugin), // 变换:挂载插件
inverse: () => unmountPlugin(plugin), // 逆变换:卸载并撤销副作用
});
// 移除组件时,运行时按记录反向执行
ctx.revert(plugin); // 副作用完全撤销,依赖方收到通知阅读论文
《A Programming Paradigm for Spatiotemporal Composability》为预印本(2026 年 8 月 13 日草案),由 Shigma 撰写,内容仍在持续修订。引用前请以最新版本为准。
A Programming Paradigm for Spatiotemporal Composability
cordiverse/paper · github.com/cordiverse/paper · github.com/cordiverse/cordis
深入了解
常见问题
Cordis 和 DeepSeek Harness 是什么关系?
Cordis 是时空可组合性元框架,提供插件加载、卸载、依赖管理与效应跟踪等内核能力;DeepSeek Harness 构建在 Cordis 之上,把模型、工具、技能、沙箱等所有 Agent 能力实现为插件。
什么是时空可组合性?
由论文提出的概念:时间维度指组件移除时副作用可被完全撤销;空间维度指组件间依赖可声明并被响应式管理。两个维度正交,共同构成动态组合的形式化基础。
什么是可逆效应与响应式协效应?
可逆效应指每次上下文变换都携带逆变换并由运行时跟踪;响应式协效应指上下文变更会依据组件声明的协效应规约通知相关组件。二者统一为上下文类型,构成新的编程范式。
热模块替换对插件开发有什么意义?
配合配置协调,你可以在不重启服务的情况下替换、重组插件,实时试验新的 Agent 能力组合——这正是创造模式(Creator mode)插件实验能力的基础。