先简单概括一下Harness
以我的理解,Harness即是一个“将主体与环境隔离”的技术,它通常包括一套调度、约束、环境与管控系统,从而达到将主体的强大能力在可控的环境中使用的目的。
简单来说,可以把Harness当成一个带有安全审计和调度功能的沙箱。
为什么聊DeepSeek harness
我喜欢给做的每件事情找个理由,当然刷颤音这种纯撩闲的事情除外。
首先自然是因为它是热点事件。其次是DeepSeek harness仓库的readme写很吸引人——一切皆插件,并提供了一篇展示设计架构的论文https://github.com/cordiverse/paper/blob/main/paper.pdf。
Cordis
cordis是deepseek harness架构的核心。在本节中,我们将通过上文中的论文了解它的设计理念,进而了解deepseek harness的设计理念。
设计理念
一言以蔽之,让组件从时间上的所有操作保持可逆、空间上的所有行为保持一致。
时间上指的是组件运行时对系统产生的修改,比如读写文件、注册函数、修改上下文等。时间上的行为可逆指的是AI的任何操作及其带来的任何对环境的修改都是可复原的。
空间上指的是组件与组件之间的依赖关系及组件间共享资源的关系。空间上的行为保持一致指的则是当组件及环境(由于一切皆组件,环境也是组件)发生变动时,其它组件能够立刻接收并更新。
公式证明
总得来说是这个:
We formalize the paradigm via effect-coeffect algebra and categorical compositional semantics, proving closure under arbitrary component nesting and hot reconfiguration.
不愧是论文,还有数学环节。我们先简单解释一下里面的数学名词,然后捋逻辑。
效应代数(effect algebra)
这玩意的定义太长了。简单来说,在效应代数体系中,存在E(全体事件的总集)、零元(空操作)、全集终态(系统原始完整状态)、正交关系(简单来说A正交关系B代表A和B可以安全的先后执行,其执行不会对系统的状态造成破坏,也不会互相冲突)、oplus(运算符号,A oplus B 代表A、B先后执行)。
在效应代数中,对于任意事件A(操作),必然存在且仅存在唯一补元A`(撤销操作),其二者存在正交关系(可以先后安全执行),也就是说如果按照效应代数构建一个系统,我们可以对系统中所有执行写撤销函数->系统中发生的所有操作都能够保持可逆,因为它们全部存在可以安全执行的撤销函数。
协效应代数(coeffect algebra)
简单来说,协效应代数是关于依赖的规则集。在协效应代数中,存在C(依赖的总集)、幺元(空依赖,可以当做0)、合并/分解/交(运算符号)、偏序关系(存在A的依赖la,B的依赖lb,如果la是lb的子集,则A 偏序关系 B)。
我们假设列表[abcde…]符合协效应代数。由于符合协效应代数的系统能够根据偏序关系构建一个有向无环拓扑图(简单来说,就是一个不会发生死循环的依赖加载顺序),则其①一定存在一个可执行的加载顺序②当图中任意一成员发生更新时,只需要沿着图向上更新所有依赖的组件即可。
categorical compositional semantics(范畴论的组合语义)
以下内容快速讲,我们不是来上数学课的。
这玩意不是一个专有名词,我只能推测一下是啥意思。
我们使用范畴论角度对系统进行归纳,其组件为Object,操作、依赖等所有行为为Morphism。由于系统中所有行为要么满足效应代数、要么满足协效应代数,(经过论文节4的证明),无论系统中存在多少组件和行为,这两个代数系统仍然成立,也就是它是封闭的。
范畴论在论文里主要用于证明系统在极大的情况下仍然遵循上面两条定理。
实现方式
论文太长了,很难逐代码行给出详实的实现方式(论文第5节给了一些范例)。我会给出我的总结。
时间可逆性
假设我们维护了一个栈C。当操作A发生时,我们向栈中存入操作c及其补元c`,以及所有输入args,然后执行c(args)。当需要还原操作时,从栈中取出最近的一个操作,执行c`(args)。
空间一致性
假设我们拥有一个依赖加载图G(图是一个复杂的结构,可以考虑使用Map<Object,List>来表示,其中List为左侧Object依赖的所有节点或依赖Object的所有节点)。当组件E更新时,我们会通知E上方的所有组件(也就是图从E上方数的所有内容)。
G=Map<Object,List<Object>>={[a,[]],[b,[a]],[c,[b]]} #这是一张反向索引表,其中list为依赖其的所有节点
def update():
self.update
foreach i in G[self]:
i.update
when c.update:
c.update
{G[c]=b}.update
{G[b]=a}.update
{G[a]=None}
最后
本系列其他帖子可见:
前言
我一直很好奇——技术如此简单,危害如此严重,难道要出一次类似魏则西事件才有人来管吗?
当然在你行业这种事司空见惯了。
1.1 SEO
要讲GEO,我们恐怕得先从SEO说起。经营过个人博客的读者应该对SEO这个词并不陌生。简单来说,SEO是一种“搜索引擎优化技术”,它旨在通过一系列手法1.提升特定网站与特定搜索词的关联性;2.提高特定网站的搜索排名。SEO本身并不是灰产,但使用不当手法…