白皮书
让任何模型都变得有用的那个身体。
模型是罐中之脑。Perslis 是赋予智能一个身体的框架、外壳与循环——以及让它得以蓬勃发展的符号护栏。第二部分从二进制层面加以证明。
过去三年几乎把所有精力都倾注在一个变量上:模型智能。这个变量如今已充裕且被商品化——众多实验室都能交付接近前沿的推理能力。然而单凭智能并不能完成操作性工作。一个没有身体的模型无法感知系统、对系统采取行动、记忆、从失败中恢复,也无法证明一个结果。本文主张,约束性瓶颈已经从智能转移到具身:模型周围的框架、外壳与循环。我们介绍 Perslis,一个模型无关的操作运行时,它提供了这个身体——一个从调研到部署的循环、一个我们称为 Captain 的符号护栏层、一个持久记忆的进化系统,以及一个对"完成"的验证优先契约。随后,在第二部分中,我们在可能最艰难的底层介质上——已死的遗留二进制文件——用一个自进化的兼容性引擎证明这一论点,并按每项主张是如何被赢得的来为其贴上标签。
第一部分 — 论点
1 · 论点:智能已不再是瓶颈
让一个前沿模型去改动一套生产系统,它会自信地回答——而它凭一己之力,却对此无能为力,一件事也做不成。它无法读取文件、运行代码、观察哪里出了问题、记住昨天做过的决定,也无法触碰那台真正要紧的机器。这不是一道靠更聪明的模型就能弥合的小缝隙,而是一道范畴性的鸿沟:一个没有身体的头脑产出的是观点,而非结果。
我们把话说白:模型就是一颗罐中之脑。才华横溢、有意识,却无能为力。把那份智能转化为可靠行动的工作——感知、行动、记忆、协调与证明——是身体的工作,而其中几乎没有一项靠的是模型智商。一颗略弱的头脑装在一副强健的身体里,在每一项真实任务上都会胜过一位罐中的天才,因为真实任务是重复的、操作性的、毫不留情的——就像一份每天靠双手完成的人类工作那样毫不留情。
2 · 相关方向:自我改进的智能体
前沿领域已开始意识到,杠杆所在的是模型周围的那个智能体。Sakana AI 的 Darwin Gödel Machine 展示了能够改写并以实证方式改进自身代码的智能体,随时间演化出一系更优秀的编码智能体谱系 [Sakana AI, "Darwin Gödel Machine," 2025]。我们将该工作解读为对同一主张的有力佐证,只是视角不同:持久的能力来自模型周围的操作系统——它行动、评估与适应的能力——而非仅仅来自权重。Perslis 采取的是互补立场。它不是去演化单个自我改写的智能体,而是任何模型都能插入的那个运行时,它围绕操作者演化,并在每一个行动交付之前用一份符号契约加以约束。
3 · 循环:从意图到已部署的结果
身体的脊柱是一个循环,它把一个大白话描述的目标转化为一个经过证明的结果。你来指挥;模型在运行时内部,跨八个阶段执行:
调研
在动手之前,先弄清系统真正的行为方式。
规划
把结果转化为一个有序、可检视的方案。
分析
结合真实项目权衡方案、风险与契合度。
决策
判断正确性——验证优先,而非信任优先。
构建
针对真实系统做出改动。
测试
运行它;证明结果成立。
部署
交付经过验证的结果;保持其运转。
连接
把遗留系统接到现代 API 应用。
图 1 — 操作循环。失败与新证据会回流到方案中,而不是终结这次运行。
分工正是重点所在:操作者掌握判断(构建什么、是否正确),运行时掌握执行(调研、构建、测试、部署)——两者都不假装成对方。正是这一点,让一个人能够以架构师的高度运作,而不是当一个码农。
4 · 符号护栏:Captain
一个概率性模型产出的是看起来最可能的答案,而这有时是自信地错误。信任那个答案,正是糟糕决策得以交付的方式。Perslis 在提议与结果之间放置了一个符号层——即 Captain——它只在一个主张确实成立时才会说"是"。
- 规则与事实:Captain 把必须为真的东西——关于你系统的不变量、约束、契约与既定事实——编码为可检验的逻辑,而非散文。
- 有据可依的裁决:一个决策所携带的裁决与证据绑定——已经跑过的测试、已经成立的不变量、已经搜寻但未发现的矛盾。若缺乏证据,裁决就是未经证明,而运行时对待它的方式与没问题截然不同。
- 神经负责提议,符号负责定夺:模型处理开放式的部分;Captain 对必须正确的部分把关。当两者不一致时,Perslis 不予交付。
同样的符号肌肉也驱动着遗留重建。一个 32 位 Windows 二进制文件是一个 PE32 文件;Perslis 解析它的头部,重建导入树与调用图,解析每一个被导入的 API,并重构出该程序所期望的运行环境——一个无人记录过的二进制文件的符号模型,在一条指令被信任去运行之前就已产出。护栏与理解是同一门功夫:先在符号层面确立什么为真,然后再行动。
5 · 进化:身体学会它的操作者
一个现成的模型对所有人都一模一样,会话结束时便把你忘得一干二净。Perslis 会积累一份关于你系统与决策的持久记忆,基于真正奏效的做法调整自己的规划与选路,并让自己的默认设置向你的操作方式偏移。两位各自运行 Perslis 一个月的操作者,握有的是两个可测量地不同的运行时。模型明天可以被换成更好的一个;而运行时与操作者之间积累起来的契合度却换不掉——它历经数百次决策才赢得,并且会复利累积。
6 · 模型无关的编排
因为 Perslis 是身体而不是头脑,它对自己戴哪颗头脑并不在意。它把每一步选路到最适合的模型上——按能力、成本、延迟或隐私——横跨 OpenAI、Anthropic、Google、Qwen、DeepSeek 或本地模型。我们不与模型提供商竞争;我们编排它们。明天出现一个更好的模型,是 Perslis 无需改动架构就能吸收的一次升级。这一注押在互操作性上,而非押在某一颗头脑永远胜出上。
7 · 安全:以构造方式失败即关闭
自主性与安全性通常此消彼长;Perslis 把它们分开。自由在于决策;杀伤半径固定于权限。每一个行动都在默认拒绝的主机控制之下、在一个操作系统沙箱内运行,且按可逆性分类的操作在执行前都会被检查。自主性——直至完全的 YOLO 模式——提升的是运行时自行决策的多少,而绝非它被允许触碰的多少。在不确定时,默认答案是"否"。
第一部分是论证。本文其余部分是证据——同一副身体,被施加于存在的最不留情的底层介质之上,且每一项主张都按它是如何被赢得的来贴上标签。
第二部分 — 证明 · kist × Perslis 技术报告
证明即产品
从二进制层面为遗留软件选路、修复并验证——一个能感知、诊断、修复、验证并学习的自进化兼容性引擎,而这个领域的其余部分只会往上查表。
观测自本机上一次真实命令运行或一次通过的测试。有命令、提交或产物可供引用。
已构建并演示到某个程度,但尚未做到无人值守。边界已明确陈述。
用于解释结构的示意图。并非对一个可用结果的主张。
8 · 楔子:这个领域只往上看,从不往里看。
拆开每一款主流兼容性工具里的自动化,你会发现同样的机制。protonfixes 把一个 Steam AppID 映射到一个 Python 模块并运行它;成功的定义是该模块导入时没有抛出异常。winetricks 交付了 556 个声明式动词,每一个都是一个固定的 URL 与 SHA——业界最丰富的修复词汇表,而且完全是静态的。Lutris 与 Bottles 精选人工编写的安装脚本。GOG 逐个标题手工预打补丁。新的映射只以 git pull request 的形式到来。已测量 — 机制级拆解,2026-07-07。
这不是对那些项目的抱怨——它们非常出色,而它们精选的数据正是我们所摄取的。这是对整个领域都坐落其后的一条能力边界的观察。这里的贡献在于跨越它,并且是去证明这次跨越,而非断言它。
9 · 一个循环,六个阶段,扎根于字节之中
这个系统是一个 Darwin–Gödel 风格的引擎:它不只是施加修复,还会积累一份自进化档案,记录哪个修复对哪个失败签名奏效,并基于已测量的适应度进行选择。这个循环就是整个产品。
图 2 — 循环。验证是承重的一个阶段:一个修复只有在一帧被捕获的画面按亮度判断为非全黑时才算数,而不是在一个进程以零退出时才算数。每一个结果都成为自进化档案中一次按适应度加权的试验。已测量 — 每个阶段都对应一条实时的 CLI 命令。
| 阶段 | 它做什么 | 实现 |
|---|---|---|
| 感知 | 从二进制文件本身重构一个被剥离过的二进制的架构——头部类别(MZ/PE/NE/LE)、导入依赖树、区段,以及一条向关键 OS API 回溯的 capstone 调用图。 | map + compatScanImports |
| 路由 | 仅凭指纹就选取一个运行时层:NE→拆包、DOS/LE→DOSBox-X、Glide→Win98-VM、legacy-D3D→wine+dgVoodoo2、DDraw-only→cnc-ddraw、modern-D3D→wine+DXVK。 | compat-route |
| 诊断 | 把一段崩溃日志 + 一次显示探测转化为一个失败签名,再将其匹配到一条修复规则。 | compat-diagnose |
| 修复 | 把一条规则编译成一个可运行的 exec+argv 方案——不用 shell——并配上已解析、加了守卫的 shim 资源。 | compat-apply / compat-autofix |
| 验证 | 在监督下重新启动;一个修复只有在显示确实映射并渲染时才算数——由一帧被捕获画面的亮度来判断,而不是靠退出码。 | liveWineRerun + compatProbeDisplay |
| 学习 | 每一次修复的施加都是一次实证试验;经拉普拉斯平滑的适应度驱动选择;失败的规则被保留为可以繁衍出变体的垫脚石。 | recordCompatTrial + compatFitness |
10 · 证据,已贴标签
compat-autofix --execute 接过一个损坏的 Heavy Gear 运行时,从它自己的启动中读到了 glide2x.dll not found,部署了 dgVoodoo2 的 glide2x 包装器,重新启动,验证了显示,并记录了一次奏效的试验——全程无人介入。已测量。边界:这是 wine 层;同一款游戏的 3D 任务关卡在 wine 之下并未解决,需要 VM 层。
硬件 3D 之墙,以三种方式证明
对于 Final Fantasy VII,capstone 调用图回溯独立地重新推导出了初始化路径——sub_402275 读取注册表键并调用 sub_41CD14,后者再调用 DirectDrawCreate。同一条依赖被对该二进制的三次独立读取所确认:字符串、导入表,以及重建出的调用图。已测量 — perslis map(capstone + graphviz)。感知扎根于字节之中,而非一次标题查表;一条路由之所以可信,恰恰在于三次独立读取彼此一致。
图 3 — 三角定位。FF7 的硬件 3D 依赖以三种独立方式抵达。调用图路径是由回溯重新推导出来的,而非从数据库读取。
pefile、capstone 和 graphviz 是通用的第三方 oracle——与 COBOL 纵向领域和 GnuCOBOL 的关系相同。我们不声称写过一个反汇编器。我们声称构建了那个使用它去决策、修复、验证并学习的智能体。
11 · 这个领域,并排对照
从每个项目的源码去读,而非从它的营销文案。这几列是把循环与查表区分开来的四件事。
| 系统 | 从二进制选路 | 诊断失败 | 验证修复 | 学习映射 |
|---|---|---|---|---|
| kist × Perslis | ● | ● | ● | ● |
| protonfixes / umu | — | — | — | — |
| winetricks | — | — | — | — |
| Lutris | — | — | — | — |
| Bottles | — | — | — | — |
| GOG | — | — | — | — |
12 · 对抗性审查
修复路径在真实介质上执行真实命令。它经过了多道 Codex 停止门和一个 4 模型评审团(Codex + Grok + DeepSeek)。Codex 一再抓到其他模型漏掉的那个 bug。承重的几项发现:
- HIGH
compatStageFromPath把一个提供方脚本的 shell 字符串暂存命令喂给了一个朴素的分词器;一个/Volumes路径生成了rm -rf X && mkdir Y && find…|cpio…,其中未被解析的&&把暂存根目录变成了/bin/rm的字面操作数——在可写介质上造成一次工作区之外的删除。已修复:对 shell 控制操作符做失败即关闭的拒绝,外加一份 exec 允许清单(排除 rm)。 - HIGH
legacy_app只对绝对路径做允许清单检查,因此一个相对路径../../etc/x逃逸了出去。已修复:拒绝任何..分量;经ConfinedRoot映射输出;对无法规范化的根目录失败即关闭。 - MED
compatLaunchDetached在pid > 0时就报告成功,因此一个启动即崩溃的旧版运行时进程伪造出了"已启动"。已修复:先让其安定下来,再要求该进程仍在运行。
修复路径中的每一个子进程都是 exec+argv——不用 shell。写操作以构造方式被限制在项目根目录之内;外部根目录(挂载介质)为只读。审查门已开启。已测量 — 每一项发现都可追溯到一个具体的提交与一个回归测试。
13 · 局限,不加软化
- 原型 VM(T2)层能启动,但尚不能自我安装。Win98 升级会暂存一个写时复制覆盖层,并在 Perslis 私有控制下启动一个真实来宾系统,对任何未知层失败即关闭——但它尚不能无人值守地驱动来宾系统内的安装程序。升级到一个不可用的层会返回
launched=false并附上原因然后停止;它绝不伪造一个修复。 - 已测量 Apple Silicon 上的 3Dfx/Glide 在 wine 之下受制于 CPU。持久的路径是 Perslis 加速旧版图形运行时,它以一个黄金 VM 镜像为前提,尚未构建。在 ARM 上把 Glide→OpenGL 选路是一条已知的死路,路由器明确避开它。
- 已测量 在领域厚实之处我们单薄。约 11 条规则对阵 winetricks 的 556 个动词,约 12 个精选标题对阵数以千计的标题。护城河是那个循环;差距是它们的数据——而 469 个动词已被解析且可寻址。语料摄取是收官之着。
这一节之所以存在,是因为一个标签一旦变成好高骛远,它就一文不值。这个系统是 PILOT-READY:wine 层的循环已测量;VM 层是一个能启动的原型;语料很小。这就是从此处通往下一层之间的那三件事,被点名,好让它们能被逐一关闭。
结论
业界优化了头脑,却把身体抛在身后。但操作可靠性——企业真正掏钱买的那样东西——是一个身体问题:感知、行动、记忆、协调与证明,由一个循环维系在一起,并由符号护栏加以约束。第一部分提出了那个论证;第二部分在别人无法选路、诊断、验证或从中学习的已死二进制上加以证明。Perslis 不交付任何模型,也不与任何模型竞争。它取用今天最好的那份智能,赋予它双手、一份记忆与一份良知,把它转化为你能倚靠的工作。头脑会继续变得更聪明。它们仍将需要一个身体。
参考文献与引用
- Zhang et al., "Darwin Gödel Machine: Open-Ended Evolution of Self-Improving Agents," 2025 — arxiv.org/abs/2505.22954。(承 Schmidhuber 的 Gödel Machine 而来;另见 Sakana AI。)
- Open-Wine-Components / umu-protonfixes — 按 AppID 的 Python 兼容性修复。
- Winetricks — 带固定 URL+SHA 的声明式 w_metadata 动词。
- Lutris — 社区编写的安装脚本。
- Bottles — 面向 wine prefix 的精选依赖程序。
- dgVoodoo2 — Glide / DirectX 1–9 到 Direct3D 11 的包装器。
- cnc-ddraw — DirectDraw 替代实现。
- Capstone — 反汇编框架;pefile — PE 解析。