AI 安全 · 科学运行时 · 试点预印本

验证下限

在以证据为根基的运行时中,弱模型推导事实,而非猜测事实。模型能力决定完成多少工作;一个确定性的验证边界决定什么可以被算作"已验证"——在 14 倍的模型规模区间与七种科学真理上,这条边界保持了零次错误接受。

↓ validate.py 自包含 · 无需网络、无需模型即可复现核心的"零次错误接受"不变量
试点预印本 · 工作草稿 1737 个对抗样本中 0 次错误接受 七种真理 · 四种模型规模 一处被自身抓出并修复的漏洞
摘要

AI 处理事实性工作的默认姿态是模型思考 → 模型作答:事实存于权重之中,由模型报告。弱模型在此失败得既严重又隐蔽——一个小模型会自信地报告错误的血红蛋白链长度,被拒绝后只会再猜一个数。我们研究另一种姿态。一个以证据为根基的运行时从不要求模型去知道某个科学事实;在一个被拒绝的断言上,它返回一张机读的可供性卡片(affordance card),只暴露当前状态下有效的操作,模型通过从源头锁定的证据中推导抵达该事实。这将三种能力分离,我们称之为下限:导航——模型能否从卡片中选出正确的操作?弃权——它能否识别证据不足并停下?验证——一个错误的断言能否被提交为"已验证"?前两者是模型的性质;第三者是运行时的性质,模型无法左右它。我们对三者都进行测量。在从 70 亿参数到 5 亿参数的阶梯上,已验证完成率与弃权准确率下降——弃权从 7B 到 1B 保持 100%,在 0.5B 处跌至 67%——而验证下限岿然不动:每一种模型规模下均为零次错误接受。随后我们用一个无模型的对抗性模糊测试器直接攻击该边界:跨七种认知操作类型的 1995 个断言。1737 个明显错误与陷阱断言被接受零次——包括最能区分科学运行时与"作答机器"的两种攻击:两个冲突来源的伪造"平均值",以及为一个不存在的实体编造任意值。在此过程中,模糊测试器攻破了我们自己的验证器——一处数值强制转换漏洞让一个小数被当作整数通过——我们修正了它、将其固定为一个永久的回归测试、再次攻击直至干净通过。结论只有一句:模型能力决定完成多少工作;运行时结构决定什么可以被算作"已验证"——而后者不随前者退化。

试点预印本——未经同行评审。验证下限结果(零次错误接受)是一个经过规模化压力测试的确定性性质,是本文的强主张。能力下限数据(不同模型规模下的完成率、弃权率)是一个小型试点——单一面板、模型家族配对、每格个位数样本——仅作为方向性结论报告,而非对模型的排名。我们不主张小模型比大模型"更聪明"。确切范围见 §8。

1 · 隐蔽的失败

人类血红蛋白有两条一年级学生会混淆的链:α 链(UniProt P69905)为 142 个残基,β 链(P68871)为 147 个残基。问一个小型本地模型 α 链的长度,它答 146——两个真实数字都不是,却听上去像那么回事。拒绝后失败会累积:模型再猜 147、145、141。它不知道这个事实,也没有确立它的程序,于是在似是而非的整数邻域里游荡。这就是弱模型事实性错误的寻常而危险的形状:自信、具体、错误,且其拒绝循环产出更多错误答案,而非一个正确答案。

本能的修复是换更大的模型——买到足够的能力,让事实可靠地存于权重之中。我们采取相反的一步。我们让模型保持弱小,转而改变它推理所处的环境,使确立事实成为一段模型可以执行的短程序,而非一段它必须拥有的记忆。

模型没有变得更聪明。是环境变得可被导航了。

2 · 可供性卡片:推导,而非猜测

该运行时是一个带类型、源头锁定的证据库——Peel 的符号地板——外加一个修复层。一个断言被提出,地板对照证据验证它,被拒绝时地板并不交出答案。它返回一张可供性卡片:一个机读对象,写明被违反的约束、存在何种证据,以及——关键地——只列出当前状态下有效的操作。数字本身保持隐藏。模型必须通过选择一个操作来挣得它。

PROPOSAL P69905 sequence_length = 146 VERDICT REJECTED FAILED proposed_length != verified_sequence_length EVIDENCE sequence_available: true · sequence_length: hidden (derive it) NEXT VALID OPERATIONS [1] inspect_sequence 查看已验证的规范序列 [2] count_residues 通过数序列来推导长度 [3] read_canonical_length 读取 UniProt 规范长度字段 [4] inspect_receipt_field 查看来源凭据(provenance) [5] revise_claim 以由证据推导出的值重新提交 DO NOT 再猜一个数 · 从同源蛋白估计

拿到卡片后,弱模型选择 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——不是任一来源的值,也不是它们的平均。这正是科学运行时与作答机器之间的界线:运行时被允许得出"答案尚未确定"的结论。

三条下限 vs. 模型规模 100% 50% 0% 0.5B 1B 3B 7B 已验证完成率 弃权准确率 错误接受率
图 1. 能力下限(绿、琥珀)随模型缩小而下降——弃权从 7B 到 1B 保持水平,在 0.5B 处开裂。验证下限(红)在每一种规模下都钉在零。1B 与 3B 之间的完成率折点在试点噪声范围内,不作为排名解读(§8)。每个模型十二个任务实例,其中三个为弃权陷阱。

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 7B42%100%100%0100%
llama3.2 3B25%75%100%0100%
llama3.2 1B25%83%100%0100%
qwen2.5 0.5B25%67%67%0100%

两样东西分离开来。弃权从 7B 一路到 1B 保持 100%,在 0.5B 处跌至 67%:约十亿参数以下,模型开始失去识别何时该停的能力,并在没有答案的问题上朝某个答案导航。错误接受在每一档都为零——包括在 0.5B 处,那里模型的弃权判断已经失效。0.5B 模型在一个陷阱上不断提出数字;运行时全部拒绝,于是结果是未解决,绝非错误。失败模式从被当作真理接受的编造变成了被拒绝的编造。这正是全部要点所在。

对抗模糊测试。跨七种操作类型的 1995 个断言。结果:

类别样本数被接受要求
恰好正确(值 · 布尔 · CONFLICT · INSUFFICIENT)108108全部接受
明显错误与陷阱1,7370全部拒绝
强制转换(真理的畸形拼写)15024仅鲁棒性

被接受零次的这 1737 个明显错误样本,包含专门针对科学诚信的攻击:在一处冲突上,提出任一来源的值、提出它们的伪造平均值、或弃权以躲开分歧——全部被拒绝;唯一被接受的状态是 CONFLICT_NOT_RESOLVED。对一个不存在的实体,提出任何值都被拒绝;唯一被接受的状态是 INSUFFICIENT_EVIDENCE。被接受的 24 个"强制转换"样本是被空白包裹的精确整数(" 142 ")——它们指称正确的值,因此接受它们是正确的,并非漏洞。

我们的验证器在最初声称安全时并不安全。第一轮模糊测试发现了一处数值强制转换漏洞:一个小数断言(142.9)被整数强转截断,作为 142 被接受。我们修正了接受语义,使小数永远不能指称整数;将这处失败作为永久回归测试固定下来;并重跑测试直至归零。我们报告这一点不是因为修复了它,而正是因为修复了它:一个可证伪的安全主张、一个被我们自己的对手找到的反例、以及一个因此更强的架构。快乐路径测试通过并非安全性质;一个经受住攻击的接受边界才是。
验证下限 —— 两条轴上的错误接受 每格是抵达已验证状态的错误断言数 7B3B1B0.5B模糊器 值 / 长度 类别 关系 A>B 区间 冲突 缺失实体 00000 ····0 ····0 ····0 ····0 ····0
图 2. 验证下限在两条独立轴上都保持不变:模型规模(阶梯各列,来自完成/弃权实验)与认知操作类型(模糊器列,1737 个对抗样本)。点号表示该格未被该方法覆盖;每个被覆盖的格都是零。两条轴下这条下限都没有移动。

7 · 什么被保证,以及为什么

这个经验上的零有一个结构性成因。我们精确陈述之。

命题 1(验证的模型无关性)。对固定的地板 \(F\),映射 \(\mathrm{verify}(t,e,\cdot)\) 及其接受集 \(\mathcal A(t,e)\) 与产生该断言的模型无关。
\(\mathrm{verify}\) 被定义为 \((t,e,p)\) 与 \(F\) 的纯函数(§4);没有任何项引用提出者。模型只能通过选择 \(p\) 来影响交互。因此对任意两个提交相同 \(p\) 的模型 \(M,M'\),裁决相同,且二者都无法向 \(\mathcal A(t,e)\) 添加元素。
命题 2(正确谕示下无错误接受)。若 \(c(\cdot)\) 从 \(F\) 计算出正确的认知状态,则每个被接受的断言都指称该状态;特别地,一个其主张状态或值不同于 \(c(t,e)\) 的断言绝不会被接受。
由定义,\(\mathrm{verify}=\mathrm{ACCEPT}\) 要求 \(s(p)=\mathrm{state}\,c(t,e)\),且对值状态还要求 \(p\equiv v\)。错误状态的断言不满足第一个合取项;错误值不满足第二个。二者皆被拒绝。

命题 2 以 \(c(\cdot)\) 正确为条件——而这正是对抗模糊器所要攻击的假设。强制转换漏洞是值相等关系 \(\equiv\) 中的一处缺陷,一个错误值在那里指称了正确值;修复 \(\equiv\) 恢复了前提。这就是该保证的诚实形状:定理凭构造成立,构造可以有错,而唯有持续的对抗压力——而非证明——才能告诉你它当下是否有错。

命题 3(下限次序)。设 \(V,N,A\) 分别为使验证、导航、弃权三条下限不失效所需的最小模型能力。则 \(V=0\le N\le A\)。
由命题 1,\(V=0\):保持验证不需要任何模型能力,因为模型不参与其中。\(N\le A\),无论经验上还是结构上:识别证据不足(弃权)必须先解析卡片及其操作(导航);一个无法导航的模型也无法正确弃权,因此弃权阈值至少等于导航阈值。试点将 \(N\le 0.5\text{B}\)(每一种测试规模下导航都完好)与 \(A\approx 1\text{B}\)(弃权到 1B 完好,在 0.5B 退化)定位下来。

模型能力决定完成多少工作。运行时结构决定什么可以被算作"已验证"。

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 科学运行时之中。

出处。本文中没有任何分子生物学事实是凭记忆断言的。血红蛋白链长度(P69905 = 142,P68871 = 147)是运行时数出的已验证 UniProt 规范序列长度;§6 中每个数字都由冻结基准与对抗套件产出。作者:Perslis Research。这是一份试点预印本;强主张(零次错误接受)是确定性且可复现的,试点主张(能力下限)是方向性的。

参考文献与延伸阅读

  1. Perslis Research. Peel —— 倒置:一个带类型的符号库作为事实的唯一作者。 2026.
  2. Perslis Research. 编排鸿沟 —— 面向可热插拔模型运行时的链级不变量。 2026.
  3. Perslis Research. 先验证再行动 —— 带因式化授权的行动前对抗认知循环。 2026.
  4. Perslis Research. 检索不是记忆 —— 记忆即对经验的治理。 2026.
  5. Perslis Research. 在符号系统中遍历数据 —— 路径即证明的检索。 2026.
  6. UniProt Consortium. UniProt:通用蛋白质知识库。登录号 P69905(HBA_HUMAN)、P68871(HBB_HUMAN)。
@techreport{perslis2026verificationfloor, title = {The Verification Floor: scientific integrity that does not degrade with model scale}, author = {{Perslis Research}}, year = {2026}, month = {9}, institution = {Perslis Research}, note = {Pilot preprint. research.perslis.com/verification-floor.html} }