AI 工具调用中,即使 JSON Schema 验证通过、allowlist 允许,执行引擎仍可能在错误输入上输出正确但错误的结果。提出在提案与执行之间加入工具参数门禁的解决方案。
你的确定性引擎在错误的输入上正确运行了。

来源说 450000。模型输出 45000。JSON Schema 仍然说"number"。工具白名单仍然说"ok"。你的确定性引擎——规则 DAG、账本、计算器、申报表/税表,任何不能凭空创造的东西——在错误的世界里正确运行。
这就是那个渗漏点。确定性系统不会"幻觉"。它们在错误输入上正确地失败。Schema 和白名单从未问过每个参数是否绑定到了逐字的证据片段。
大多数技术栈把工具调用当作:
它们通常做不到的事:
将字段绑定到逐字的证据片段
当提案与文档不匹配时拒绝执行
向引擎传递一个签名后的 authorize-before-execute 工件——而不是 0.87 的软置信度
确定性引擎 + 未验证的概率输入
= 确定性错误答案
在提案和执行之间放置一个工具参数门:
捕获证据——文档实际说了什么(片段)
grounding——将每个字段绑定到逐字片段
决策——允许 · 发送给人类 · 或拒绝
签名——Ed25519 ParameterManifest
强制执行——在引擎运行前进行 fail-closed 硬检查(enforce_group3_boundary)

概率提取器和 agent 仍然可以提案。它们没有授权权限。
这就是 PrismManifest(Apache-2.0,prismmanifest==0.3.4)——与编排器无关。LangGraph、CrewAI、自定义 Python、C++ 引擎、你现有的 DAG 都可以。 ChorusGraph 是可选的,不是必需的。
资金路径是一个尖锐的案例;同样的缺口出现在任何不可信参数进入确定性计算的地方。
保证放在哪里(不要混淆这一点)
C++ 在最终边界保护签名的 ParameterManifest。Span 绑定和合理性检查目前留在 Python 层。CUDA 是可选的加速——不是安全论点。
from prismmanifest import KeyRing, PrismManifestPipeline, enforce_group3_boundary, GateDecision
from prismmanifest.router import DocumentPackage, IntentRouter
keyring = KeyRing.generate(key_id="local-dev-ed25519")
package = DocumentPackage(
doc_id="1040.txt",
pages=["Form 1040 Tax Year 2024\nLine 11 AGI: $450,000.00\n"],
form_type="IRS_FORM_1040",
tax_year=2024,
)
routed = IntentRouter().run(package)
pipeline = PrismManifestPipeline(keyring)
result = pipeline.run_on_evidence(evidence=routed.evidence, extraction=routed.extraction)
gate = enforce_group3_boundary(
result.manifest,
public_keys=keyring,
expected_dag_id="capital_gains_v3",
)
if gate.decision is GateDecision.ACCEPT:
# only then may your deterministic engine run
pass
pip install "prismmanifest==0.3.4"
# CLI: prismmanifest-gate
# Optional: pip install "prismmanifest[kms-azure]"
在 live site 上试试(不上传)
固定fixture:Form 1040 · 2024税年 · Line 11 AGI $450,000。不是你的文档。
Digit Drop Lab(10秒演示)
https://www.insightits.com/products/digit-drop-lab.html
完整交互演示
https://www.insightits.com/products/prismmanifest-demo.html
正确提取 → 允许
需要人工 → 需要人工——引擎等待
自定义 → 针对同一证据输入你自己的提案美元金额
模式标签(核保 · 保险理赔 · 应付账款)展示了相同的资金边界模式。Live ACCEPT/REJECT 仍然绑定 Form 1040 Line 11 AGI $450,000——这些标签不在浏览器演示中运行 live DTI / 结算 / ERP 引擎。
落地页:https://www.insightits.com/products/prismmanifest.html
这个门实际上能捕获数字掉落吗?
Pilot OSS vendor harnesses(不是 live 客户传真 SLA):
植入的资金错误:critical FA 0/11
FinancePackBench text: 100/100 · FA rate 0
FinancePackBench PDF: 20/20 · FA rate 0
500-pack Py × C++ × CUDA decision + signing-hash parity: 511 checks · 0 mismatches
生产基准线经过相同的门是你的语料库。
不是"在 OCR 准确率上击败 GPT"。提取质量 ≠ 执行授权。
不是谁可以发言(注入),也不是答案 grounding——不同层次。
软置信度不能替代 enforce。
Demo = 固定样本包 · Pilot OSS。
确定性引擎会继续正确地做数学。系统问题是授权它们被允许计算什么。
自由提案 → 签署 ParameterManifest → 在确定性计算前 enforce。
如果你的技术栈仍然把模型参数直接喂给引擎,在评论里留下那个交叉发生在哪里——或者回复 MANIFEST,我会发送一个异步边界单页说明(不需要通话)。