Perslis Symbols
PERSLIS SYMBOLS · 试点 1.1.2

只问模型一次。
留下一个永远作答的符号。

符号是把一个关于你数据的问题,变成一段签名过的、精确的过程,由你的 AI 助手通过 MCP 调用。模型只编写一次;floor 证明它;由人批准;你的机器运行它。每个答案都带有 model_calls: 0 和产生它的推导。

你提问→模型编写规格→floor 证明→人批准→你的机器运行

看它运行 阅读工作原理 加入测试版 ▸

PERSLIS FLOOR · MCP STDIO● 记录于
you> How much have we paid, by vendor region?

→ tools/call derive_demo_paid_by_region
← DERIVED · model_calls: 0
  Central  11215.45
  East     21576.59
  South     4800.25
  West     32996.02

rows -> filter(status equals 'paid') -> join(vendors on vendor_id=id) -> group_by(vendors.region) -> sum(amount)

记录自 1.1.2 运行时通过 MCP stdio 在下载包自带的虚构演示数据上的运行。本页没有任何一行输出是手工敲出来的。

什么是符号

一个问题。一条过程。两重签名。回答时没有模型。

过程

由封闭词汇表组成

不是代码。是一条由命名步骤组成的流水线——rows → filter → join → group_by → reducer → top——执行器只认这些,别的一概不认。没有通往 Python 的后门,没有 eval,没有网络。

证明

先由 floor 准入,再由人审核

十项机械检查(列是否存在?是否确定性?验证器是否拒绝错误答案?是否扎根于数据?),证明三次,然后由人阅读并把批准签名进工具。

答案

精确,并附带推导

全程十进制算术——9,007,199,254,740,992 + 1 保持精确。每个答案都指明产生它的过程。当数据无法支持精确答案时,工具按名称拒绝,而不是返回一个貌似合理的数字。

反转

模型提议。floor 裁决。人批准。你的机器执行。

软件里大多数“AI 决策”,其实是对你已经持有的数据做算术。把它们送给模型,意味着为一件本来就可以核对的事按 token 付费、每次都付——还拿回一个无法核对的数字。Perslis Symbols 把模型留在它有用的地方:把问题读一次。

各部分所在的位置:闸门、密钥和审核人注册表留在 Perslis;数据、工具、运行时和 MCP 客户端留在你的机器;只有签名过的规格跨越边界。 PERSLIS 一侧 · 不分发 你的机器 · 无网络代码 模型编写规格,绝非代码 准入闸门10 项检查 · 证明 ×3 人审核复述 + 答案 签名密钥Ed25519 · 注册表 闸门、密钥与审核人身份有意留在这里——见论文第 8 节 签名规格 + 证明 tools/specs/*.json验证通过,否则拒绝 你的数据CSV · JSON · SQLite floor 运行时 · 标准库 Python精确执行流水线 · model_calls: 0 任何 MCP 客户端(Claude Code、IDE、脚本)· stdio
图 1 —— 信任边界。规格及其证明只跨越一次,且带签名。运行时只持有公钥,无法验证的一律拒绝。
看它运行

六个已审核的符号,作用于虚构发票。在这里运行它们。

选一个问题。先显示真实运行时记录的答案;按运行会用运行时执行器的 JavaScript 移植版在你的浏览器里重新计算,并告诉你两者是否一致。先修改数据,就能看到拒绝发生。

正在加载记录…

本站自己的测试(scripts/check_symbols.js)把移植版钉在与 Python 运行时逐例相等:数值、拒绝文本、推导与工具描述。它只执行,从不准入——闸门留在 Perslis。

运行时自己的检查,已记录

加载中…
改变了什么

冷数字,标注日期。

0准入之后每个答案的模型调用次数每个 DERIVED 答案都带有 model_calls: 0
10 + 1项机械检查,加上一个人的签名批准晋升前证明 3 次全部通过(记录的转录)
2⁵³ + 1保持为 2⁵³ + 1——十进制算术,无二进制浮点求和、最大、最小精确;平均值是唯一的舍入
1.3 秒 · 2.3 秒500,000 行(18 MB CSV)的加载与首次查询约 400 MB;重复查询缓存;默认上限 100 万行 · 2026 年 9 月 26 日
300+自动化测试,在 Python 3.9 与 3.13 上通过四轮对抗性审查;每项发现都由测试钉住
0行网络代码仅标准库;运行前可以先读一遍

来源:Perslis Floor 构建状态(2026 年 9 月 26 日)、论文的测量一节,以及上方演示背后的记录。

数学

按次付费永远增长。符号只付一次。

设一次模型回答成本为 c,编写一个符号(几次模型调用编写规格,加上人的审核)成本为 A。问过 N 个问题之后:

c=tinpin+toutpout106 Cmodel(N)=N·cCsymbol(N)=A+N·ε N*=Ac−ε

t = 每次调用的 token 数,p = 每百万 token 价格,ε = 一次本地执行的成本(几毫秒 CPU——实际上为零),N* = 盈亏平衡的调用次数。超过 N* 之后,每多问一个问题就节省 c − ε;模型账单随问题数线性增长,符号账单是平的。

填入你自己的数字。默认值是供修改的占位数字,不是任何服务商的报价。

正在加载计算器…

公式之外、无法诚实定价的一项:答错的代价。模型的数字无法核对;符号的答案带着产生它的过程,数据无法支持时就拒绝。

诚实之处

它还做不到的事。

尚未支持

相对日期(“最近 30 天”)、带参数的工具、直接连接数据库,以及自助闸门。词汇表之外的问题会被报告为无法映射——那个问题确实仍然需要模型,如实说出来就是输出。

工具通过试点获得

准入闸门和签名密钥有意留在 Perslis:一个错误却被签了名的工具会自信地、离线地、永远地作答,再没有东西来重新审视它。在测试版中,你发来导出数据和问题;我们构建、审核并签名每个工具;你运行工具包。

状态

试点。运行时可从 Perslis Floor 1.1.2 免费下载使用,包括商用。本页测量的一切都标注日期且可复现;不做超出范围的宣称。

常见问题

人们最先问的六件事。

什么是符号?
一个关于你数据的问题——“我们按供应商地区各付了多少?”——绑定到封闭词汇表中的一条过程(rows → filter → join → group → sum),由 floor 证明,由人批准并签名,作为 MCP 工具提供给你的 AI 助手,在本地运行,回答时没有模型参与。
还有模型参与吗?
只参与一次:根据你的问题编写规格。准入之后,答案由你机器上的运行时计算;每个答案都带有 model_calls: 0 和产生它的精确推导。
它拒绝做什么?
证据缺失时它不会猜(NO_EVIDENCE);签名或审核无法验证的工具它不会运行;数据无法支持精确答案时它不会作答——数字列里的 N/A、含糊的日期、无匹配或重复的查找键——每一种都按名称拒绝。
为什么每个符号都必须由人批准?
闸门能证明过程按其书写是正确的,却无法证明过程的含义就是问题的含义。一条标着“已付发票总额”却筛选 status = open 的规格能通过所有机械检查。因此必须有人把工具计算的内容用文字读一遍,对照它在真实数据上的答案,批准后签名进工具。
它如何改变使用模型的成本?
按次付费随每一个问题增长;符号只花一次编写加审核的成本,之后在本地执行,几乎为零。盈亏平衡点等于编写成本除以一次模型回答的成本——按本页的示例数字,是几千次调用,约两天。
演示是真的吗?
这些页面上所有运行时和闸门的输出,都是真实 1.1.2 运行时和真实准入闸门在虚构演示数据上的记录。“在浏览器中运行”按钮执行的是运行时执行器的 JavaScript 移植版,本站自己的测试把它钉在与 Python 运行时记录答案逐例相等。
测试版

发来导出数据和你的问题。拿回一个工具包。

我们只接纳少数拥有真实数据和真实问题的团队。你得到为你的数据审核并签名的符号,以及一个离线作答的运行时;我们得到缺口日志——那些还没有符号能回答的问题。

加入测试版 ▸ 工作原理——论文 下载 Perslis Floor 1.1.2