2026-08-21:读 Cordis 论文,理解动态插件系统

2026-08-21:读 Cordis 论文,理解动态插件系统

From 行之的实践笔记

今天主要在学习 Cordis 的 paper:《A Programming Paradigm for Spatiotemporal Composability》,并整理了一篇解读文章。

之前我已经看过 DeepSeek Harness 和 Cordis 的一些官方文档。跟着教程,可以写出一个插件,也能把它跑起来,但一直不知道为什么要这样设计。

所以,今天我决定直接去看论文。

这篇 paper 足足有 88 页,再加上为了建立理论基础而出现的大篇幅数学公式,确实让人望而却步。我最后还是选择从工程视角入手,不去硬啃所有理论,而是先弄清楚 Cordis 想解决什么问题,以及它的核心概念怎么对应到实际的动态插件系统。

我现在的理解是,Cordis 主要在解决动态组合中的两个问题:

  • 时间可组合性:组件卸载时,能够安全、完整地撤销它对环境产生的影响;
  • 空间可组合性:组件可以声明自己需要的依赖,并随着依赖的出现、消失和替换,自动加载、卸载或重载。

对应到 Cordis 里的概念,就是 effectRevertible EffectscoeffectReactive coeffects

这套设计放到 Agent Harness 里就很有意思。Agent 执行任务时,可能临时发现自己缺一种能力,于是现场生成一个插件并在运行时装载。V1 有问题,就清掉 V1,再换上 V2。整个过程不需要重启 Agent Loop,也不用提前把所有工具都塞进 Harness。

所以,Cordis 解决的是 Agent 在运行时长出一种能力以后,怎么还能把它干净地摘掉。

今天还只是先把论文里的核心概念过了一遍。实际的 Cordis 源码细节比论文中的抽象结构复杂得多,之后还需要继续结合 DeepSeek Harness 源码,看看 profile、cordis.yml 等概念具体是怎么运行的。

完整记录看这里:Cordis 解读