AI 安全 · 科学运行时 · 试点预印本
验证下限
在以证据为根基的运行时中,弱模型推导事实,而非猜测事实。模型能力决定完成多少工作;一个确定性的验证边界决定什么可以被算作"已验证"——在 14 倍的模型规模区间与七种科学真理上,这条边界保持了零次错误接受。
AI 处理事实性工作的默认姿态是模型思考 → 模型作答:事实存于权重之中,由模型报告。弱模型在此失败得既严重又隐蔽——一个小模型会自信地报告错误的血红蛋白链长度,被拒绝后只会再猜一个数。我们研究另一种姿态。一个以证据为根基的运行时从不要求模型去知道某个科学事实;在一个被拒绝的断言上,它返回一张机读的可供性卡片(affordance card),只暴露当前状态下有效的操作,模型通过从源头锁定的证据中推导抵达该事实。这将三种能力分离,我们称之为下限:导航——模型能否从卡片中选出正确的操作?弃权——它能否识别证据不足并停下?验证——一个错误的断言能否被提交为"已验证"?前两者是模型的性质;第三者是运行时的性质,模型无法左右它。我们对三者都进行测量。在从 70 亿参数到 5 亿参数的阶梯上,已验证完成率与弃权准确率下降——弃权从 7B 到 1B 保持 100%,在 0.5B 处跌至 67%——而验证下限岿然不动:每一种模型规模下均为零次错误接受。随后我们用一个无模型的对抗性模糊测试器直接攻击该边界:跨七种认知操作类型的 1995 个断言。1737 个明显错误与陷阱断言被接受零次——包括最能区分科学运行时与"作答机器"的两种攻击:两个冲突来源的伪造"平均值",以及为一个不存在的实体编造任意值。在此过程中,模糊测试器攻破了我们自己的验证器——一处数值强制转换漏洞让一个小数被当作整数通过——我们修正了它、将其固定为一个永久的回归测试、再次攻击直至干净通过。结论只有一句:模型能力决定完成多少工作;运行时结构决定什么可以被算作"已验证"——而后者不随前者退化。
1 · 隐蔽的失败
人类血红蛋白有两条一年级学生会混淆的链:α 链(UniProt P69905)为 142 个残基,β 链(P68871)为 147 个残基。问一个小型本地模型 α 链的长度,它答 146——两个真实数字都不是,却听上去像那么回事。拒绝后失败会累积:模型再猜 147、145、141。它不知道这个事实,也没有确立它的程序,于是在似是而非的整数邻域里游荡。这就是弱模型事实性错误的寻常而危险的形状:自信、具体、错误,且其拒绝循环产出更多错误答案,而非一个正确答案。
本能的修复是换更大的模型——买到足够的能力,让事实可靠地存于权重之中。我们采取相反的一步。我们让模型保持弱小,转而改变它推理所处的环境,使确立事实成为一段模型可以执行的短程序,而非一段它必须拥有的记忆。
模型没有变得更聪明。是环境变得可被导航了。
2 · 可供性卡片:推导,而非猜测
该运行时是一个带类型、源头锁定的证据库——Peel 的符号地板——外加一个修复层。一个断言被提出,地板对照证据验证它,被拒绝时地板并不交出答案。它返回一张可供性卡片:一个机读对象,写明被违反的约束、存在何种证据,以及——关键地——只列出当前状态下有效的操作。数字本身保持隐藏。模型必须通过选择一个操作来挣得它。
拿到卡片后,弱模型选择 count_residues;运行时数出已验证的规范序列——142——模型重新提交,断言被接受。轨迹是 146 ✗ → count_residues → 142 ✓,一步,无螺旋。这是无障碍树(accessibility tree)的科学孪生:与其"这里是一条数据库记录的四千个 token,自己找出长度",运行时暴露的是 Button(count_residues, enabled)。而且由于运行时记录的是奏效的程序而非答案,同类的下一个问题靠提供认知程序来回答,而非事实本身。0.5B 模型无需把血红蛋白的长度存进权重;运行时持有如何获得它。
3 · 三条下限
要把"模型游荡了"与"模型被允许出错"分开,就必须分离单一准确率数字所混淆的三种能力。我们称之为下限,因为每一条都是一个模型能力阈值,低于它某种独特的行为便失效。
次序很重要。导航与弃权坐落在模型之上——它们随模型能力起落。验证坐落在模型之下,在其掌控之外。本文的论点是:这些下限处于不同高度,而最低的那条是固定的。
4 · 运行时的形式化
固定一个地板 \(F\)——一组源头锁定的证据边。一个任务 \(t\) 与一个实体 \(e\) 决定一个正确认知状态
\[ c(t,e) \;\in\; \{\, \mathrm{VALUE}(v),\ \textsc{insufficient},\ \textsc{conflict},\ \textsc{no\_entity} \,\} \]由 \(F\) 确定性地计算:当证据确立唯一值 \(v\) 时为 VALUE(v);当地板上无任何证据支撑该属性时为 INSUFFICIENT;当独立可信来源断言互不相容的值时为 CONFLICT;当 \(e\) 缺失(任务无法提出)时为 NO_ENTITY。模型提交一个断言 \(p\),其所主张的状态为 \(s(p)\in\{\mathrm{VALUE},\textsc{insufficient},\textsc{conflict}\}\)。验证器是纯函数
\[ \mathrm{verify}(t,e,p)=\mathrm{ACCEPT}\iff s(p)=\mathrm{state}\,c(t,e)\ \wedge\ \big(\mathrm{state}\,c\neq\mathrm{VALUE}\ \vee\ p\equiv v\big), \]其中 \(p\equiv v\) 是任务值类型(整数、布尔、类别)的精确指称相等,其余一切均为 REJECTED 并附一张与状态相符的卡片。因此对固定的 \((t,e)\),接受集是指称意义上的单点集:
\[ \mathcal A(t,e)=\{\,p : \mathrm{verify}(t,e,p)=\mathrm{ACCEPT}\,\}\ \text{恰为指称 }c(t,e)\text{ 的那些断言。} \]两点后果是结构性的。其一,模型从不出现在 \(\mathrm{verify}\) 中。它对世界的唯一影响是提交哪个 \(p\);它无法扩大 \(\mathcal A\)。其二,CONFLICT 状态是一等的已验证结果。当两个来源不一致时,\(c(t,e)=\textsc{conflict}\),而唯一被接受的断言是字面的 CONFLICT_NOT_RESOLVED——不是任一来源的值,也不是它们的平均。这正是科学运行时与作答机器之间的界线:运行时被允许得出"答案尚未确定"的结论。
5 · 两个实验
三条下限由两种互补方法测量,因为它们身处不同之处。能力下限用模型来测量;验证下限不用模型来测量,因为它是 verify 的性质。
实验 A —— 能力阶梯。冻结的运行时;一组已落地的蛋白质面板;四个任务类别,含弃权陷阱。对阶梯上从 7B 到 0.5B 的每个模型,我们跑两种条件:单独(直接问模型事实)与 +运行时(模型提出断言,被拒绝时自己读卡片并驱动修复循环,并带一个诚实的护栏:一个说不出有效操作的模型被计为导航失败——确定性策略绝不被替补,因此完成率衡量的是模型的导航,而非隐藏的答案表)。模型:qwen2.5-coder 7B、llama3.2 3B、llama3.2 1B、qwen2.5 0.5B。
实验 B —— 对抗模糊测试。由于 verify 不含模型,其安全性质可被直接攻击。对每个已落地任务,我们生成一大批预先标注的断言——恰好正确的答案、明显错误的值、同源混淆、以及畸形拼写——并断言:任何抵达错误认知状态的断言绝不被接受。这在七种性质迥异的操作类型上运行,特意纳入那些会攻破作答机器的类型。
6 · 结果
能力阶梯。每个模型单独作答都在陷阱面板上惨败;运行时把每一个都远远抬高到其单独得分之上,而这抬升并不需要大模型。
| 模型 | 单独 | + 运行时 | 弃权 | 错误接受 | 导航 |
|---|---|---|---|---|---|
| qwen2.5-coder 7B | 42% | 100% | 100% | 0 | 100% |
| llama3.2 3B | 25% | 75% | 100% | 0 | 100% |
| llama3.2 1B | 25% | 83% | 100% | 0 | 100% |
| qwen2.5 0.5B | 25% | 67% | 67% | 0 | 100% |
两样东西分离开来。弃权从 7B 一路到 1B 保持 100%,在 0.5B 处跌至 67%:约十亿参数以下,模型开始失去识别何时该停的能力,并在没有答案的问题上朝某个答案导航。错误接受在每一档都为零——包括在 0.5B 处,那里模型的弃权判断已经失效。0.5B 模型在一个陷阱上不断提出数字;运行时全部拒绝,于是结果是未解决,绝非错误。失败模式从被当作真理接受的编造变成了被拒绝的编造。这正是全部要点所在。
对抗模糊测试。跨七种操作类型的 1995 个断言。结果:
| 类别 | 样本数 | 被接受 | 要求 |
|---|---|---|---|
| 恰好正确(值 · 布尔 · CONFLICT · INSUFFICIENT) | 108 | 108 | 全部接受 |
| 明显错误与陷阱 | 1,737 | 0 | 全部拒绝 |
| 强制转换(真理的畸形拼写) | 150 | 24 | 仅鲁棒性 |
被接受零次的这 1737 个明显错误样本,包含专门针对科学诚信的攻击:在一处冲突上,提出任一来源的值、提出它们的伪造平均值、或弃权以躲开分歧——全部被拒绝;唯一被接受的状态是 CONFLICT_NOT_RESOLVED。对一个不存在的实体,提出任何值都被拒绝;唯一被接受的状态是 INSUFFICIENT_EVIDENCE。被接受的 24 个"强制转换"样本是被空白包裹的精确整数(" 142 ")——它们指称正确的值,因此接受它们是正确的,并非漏洞。
7 · 什么被保证,以及为什么
这个经验上的零有一个结构性成因。我们精确陈述之。
命题 2 以 \(c(\cdot)\) 正确为条件——而这正是对抗模糊器所要攻击的假设。强制转换漏洞是值相等关系 \(\equiv\) 中的一处缺陷,一个错误值在那里指称了正确值;修复 \(\equiv\) 恢复了前提。这就是该保证的诚实形状:定理凭构造成立,构造可以有错,而唯有持续的对抗压力——而非证明——才能告诉你它当下是否有错。
模型能力决定完成多少工作。运行时结构决定什么可以被算作"已验证"。
8 · 范围,以及我们不主张什么
这是一个试点。能力阶梯的各格是单一面板、个位数样本量,1B 与 3B 之间非单调的完成率是噪声而非信号——我们不主张 1B 模型胜过 3B 模型,也不主张任何小模型比大模型"更聪明"。试点所支持的更狭窄,也(我们认为)更有趣:在这些以证据为根基的任务类别上,一旦每个模型都在同一冻结运行时内运作,已验证完成率便不由模型规模决定,而正确弃权有一个约十亿参数的能力下限。验证结果更强——一个用跨七种操作类型的约 1700 个对抗样本攻击过的确定性性质——但它同样受"谕示 \(c(\cdot)\) 正确"这一假设的约束,未来工作必须在远多得多的任务类别(标识符解析、单位换算、多步推导、跨源一致性)与模型家族上攻击它,任何一般性主张方可成立。今天的诚实陈述是一个条件句:凡谕示正确、边界确定之处,科学诚信未随模型能力退化。
9 · 为什么这重要
若验证边界不变而能力可变,二者便成为可分离的采购决策。你按一项操作的完成需求来选模型规模——需完成多少工作、能容忍多少修复步——而"什么可以被算作已验证"的边界保持固定且廉价。7B 模型完成更多工作;0.5B 完成更少;二者都未被授予编造科学真理的许可。对一个承担不起伪造结果的实验室或诊所而言,这正是要紧的性质,而它由运行时供给,并非从模型中购得。
这项工作有其脉络:编排鸿沟(The Orchestration Gap)论证链级不变量无法安放在可热插拔的模型里;Peel 的符号著作权——一个带类型的库是事实的唯一作者,神经层被降格为必须通过符号抽取的生成器;先验证再行动(Verified Before Acting)中判断与提交的行动前分离;以及 检索不是记忆(Retrieval Is Not Memory)的"记忆即对经验的治理"论点。可供性卡片是拒绝之上缺失的那个修复层:地板不再是一个说"不"的门卫,而成为一个说"这是确立它的方法"的导航者。
10 · 复现核心
验证下限性质是最值得复现的一个,它既不需要模型也不需要网络。validate.py 提供一个针对四种认知状态的最小冻结验证器,以及一个模糊器——它提交恰好正确的答案外加一批明显错误与畸形的断言(包括攻破原始验证器的小数强制转换攻击)——并断言零次错误接受。它在数百毫秒内复现 §6 的形状并打印计数。完整运行时、可供性卡片、能力阶梯与 1995 样本对抗套件运行于 kist 科学运行时之中。
参考文献与延伸阅读
- Perslis Research. Peel —— 倒置:一个带类型的符号库作为事实的唯一作者。 2026.
- Perslis Research. 编排鸿沟 —— 面向可热插拔模型运行时的链级不变量。 2026.
- Perslis Research. 先验证再行动 —— 带因式化授权的行动前对抗认知循环。 2026.
- Perslis Research. 检索不是记忆 —— 记忆即对经验的治理。 2026.
- Perslis Research. 在符号系统中遍历数据 —— 路径即证明的检索。 2026.
- UniProt Consortium. UniProt:通用蛋白质知识库。登录号 P69905(HBA_HUMAN)、P68871(HBB_HUMAN)。