第三方 API 调用的真是你选的模型吗?Anthropic FlashProve 用 19MB 密码学证明给推理结果验明正身

第三方 API 调用的真是你选的模型吗?Anthropic FlashProve 用 19MB 密码学证明给推理结果验明正身

作者注:通过第三方 API 调用大模型时,仅凭回答质量无法确认实际运行的是哪个模型。本文解读 Anthropic 开源的 FlashProve:它如何用 zkSNARK 把推理结果绑定到指定权重,成本有多高,能证明什么、不能证明什么,以及距离日常 API 调用还有多远。

2026 年 11 月 2 日,Anthropic Frontier Red Team 联合 EPFL、MIT 等机构的研究者发布了 FlashProve:一个面向大语言模型的开源可证明推理原型。在 400B 参数的 Llama 4 Maverick 上,它用单张 H100 生成证明,单份证明约 19 MB,普通 CPU 十几秒即可验证。

这不是概念演示或 PPT 产品。Anthropic 同步发布了技术报告、协议规范文档、可执行的证明端与两套验证端代码,以及 Lean 形式化证明,全部以 Apache 2.0 协议开源。不过它也明确表示,这只是阶段性研究进展,距离完整的研究目标还有不少路要走。

核心价值:读完本文,你将弄清楚第三方 API 调用中“模型身份”为什么难以确认,FlashProve 用什么机制解决它,它的真实成本与边界在哪里,以及作为 API 使用者现在能做些什么。

anthropic-flashprove-provable-inference-third-party-api-image-0


第三方 API 调用为什么存在模型身份信任问题

当你通过任意一个 API 发送请求时,返回的只有一段文本和一个模型名称字段。Anthropic 在研究博客中直言,今天的用户无法确认回答真的来自开发者声称的那个模型。它可能被路由服务出于成本考虑悄悄替换,也可能被攻击者在 Token 流上做了篡改。

更关键的是,输出质量高不等于模型身份真实。一个便宜的模型也可能在某些问题上答得很好,一个被降级的版本也未必能被肉眼识别出来。即使把完整聊天记录公开,理论上也可以用更便宜的模型伪造出来,这类证据并不具备绝对的证明力。

要从根本上验证也很难。前沿模型的权重大多不公开,就算拿到了权重,复算一遍推理所需的算力也远超普通用户甚至评测机构的承受范围。Anthropic 梳理了这类信任问题的几种典型场景:

  • 第三方路由服务:客户希望确认收到的 Token 来自自己付费选择的模型。
  • 独立评测:评测机构需要确认发布前后测试的就是线上实际提供服务的模型。
  • 防篡改检测:推理服务器被攻破后,攻击者可能夹杂恶意回答,甚至把恶意软件投递到用户电脑上。
  • 监管与合规:监管方可能要求只能部署经过安全审批的模型,或确认硬件确实在跑推理而非偷偷训练。

可证明推理(Provable Inference)的目标,就是让一个算力有限、也不了解权重的用户,能够验证某条回答确实来自所请求的模型。


FlashProve 核心信息速览

信息项 详情
发布时间 2026 年 11 月 2 日
发布方 Anthropic Frontier Red Team,联合 EPFL、MIT、StarkWare、Succinct 等机构研究者
核心技术 zkSNARK(零知识简洁知识论证),基于哈希函数构造,具备后量子安全性
测试模型 Llama 4 Maverick,400B 参数 MoE,每 Token 激活约 17B 参数,公开 4-bit 量化权重
发布内容 研究博客、技术报告、Claude 撰写的协议规范、证明端与 C++/Lean 双验证端代码、Lean 证明及可视化工具
开源协议 Apache 2.0
当前定位 研究原型,分享阶段性进展,欢迎外部改进

值得一提的是,Anthropic 表示系统中的大量优化工作由 Claude 完成。为了应对 AI 在大型复杂系统中做出“难以评估的决策”,团队用 Lean 写下了可审计的顶层安全声明,作为对冲手段。


FlashProve 如何证明推理来自指定模型

FlashProve 只有两个角色:模型提供方作为证明者(Prover),用户作为验证者(Verifier)。整个流程分为离线和在线两个阶段,再加上验证端的检查。

anthropic-flashprove-provable-inference-third-party-api-image-1

FlashProve 的三步机制

  1. 离线模型承诺(Model Commitment):证明者发布一个对模型权重的承诺,可以理解为一枚很短的“指纹”。它锁定了一组确切的权重,但权重本身保持隐藏。在测试中这一步每个模型只需执行一次,耗时约 39 分钟,生成的承诺大约可支撑 1600 万次请求,之后需要重新承诺。
  2. 在线生成证明:收到验证者的请求(Prompt 与对应输出 Token)后,证明者生成一份证明文件,证明的命题是“被承诺的模型在运行时会产生这些输出 Token”。
  3. 验证端检查:任何持有承诺、Prompt 和回答的人都能检查证明,无需权重,也只需有限算力,就能确信被承诺的权重在这个 Prompt 上恰好产生了这些 Token。

FlashProve 的四项安全性质

前两项性质(完整性与可靠性)其实一个知道权重、算力充足的验证者自己复算就能做到。让系统真正有意义的是后两项:

  • 完整性(Completeness):诚实证明者生成的证明一定能被接受。
  • 可靠性(Soundness):伪造虚假命题的有效证明,难度相当于攻破被广泛信任的密码学假设,验证者因此不必信任证明者。
  • 零知识(Zero Knowledge):验证者无法获知权重、中间计算值,也无法知道每一层激活了哪些专家,但模型架构本身不隐藏。
  • 简洁性(Succinctness):被证明的是约 232 GB 量化模型的一次运行,验证者拿到的却只是约 19 MB 文件,在 24 核 CPU 上几秒级即可检查。

MoE 架构如何降低 FlashProve 证明开销

FlashProve 的提速很大程度上利用了 MoE(混合专家模型)的结构。在 Llama 4 Maverick 中,每个 Token 只用到 400B 参数里的约 17B,证明者的工作量也只和这约 17B 成正比,同时证明依然隐藏了具体选择了哪些专家。

另外两项工程设计同样关键。一是事后批量证明:证明者像 Prefill 一样一次并行读取已完成的文本,每批只打开一次权重承诺。二是单卡适配:权重按层切段、逐段证明,放在普通内存中流式加载,一张 80 GB GPU 搭配约 290 GB 主机内存即可运行。


FlashProve 证明成本实测数据

成本是判断可证明推理能否落地的核心指标。Anthropic 的测试环境为:证明端是单张 H100 加 24 个 CPU 核心,验证端只用 CPU,每个请求是一个 1024 Token 的窗口。

环节 指标 实测数值
离线承诺 耗时 / 有效期 约 39 分钟 / 约 1600 万次请求
在线证明 24 个请求一批的耗时 约 223 秒
在线证明 处理吞吐量 约 110 tokens/s
证明文件 单份体积 18.78 MB
验证端下载 权重承诺体积 约 6.5 MB
验证耗时 24 线程 / 单线程 17 秒 / 21 秒(含离线阶段检查)
对比 vLLM 单 GPU 时间倍数 约 72 倍(66-77 倍),最高负载下约 94 倍

对比基线是在 8 张 H100 上用 vLLM 运行同一模型的 FP8 版本。换句话说,证明一批请求所花的 GPU 时间,大约是正常推理处理同批请求的 70-95 倍,也就是约两个数量级的额外开销。

110 tokens/s 不等于实时证明完整回答

这是解读 FlashProve 时最容易被误读的地方。技术报告明确限定:每份证明实际检查的只是 Prompt 后面的一个 Token,110 tokens/s 是证明端处理请求窗口的吞吐量,而不是逐 Token 验证完整回答的速度。

测算口径 吞吐量 说明
24 请求批处理,按窗口处理量计 约 110 tokens/s 博客标题级数字,每份证明检查一个 Token
检查回答中每个 Token,按已检查 Token 计 39.1 tokens/s 更接近“验证整段回答”的场景
单请求单独证明 17.6 tokens/s 单份证明约需 58 秒,失去批处理优势

因此,“FlashProve 已经可以实时证明完整回答”的说法并不准确。更严谨的表述是:在批处理、短上下文、事后证明的条件下,它把可证明推理的成本压到了此前难以想象的水平。


FlashProve 与既有可证明推理方案对比

可证明推理在学术界通常被称为 zkML。Anthropic 在博客中回顾了相关进展,数字对比相当直观。

anthropic-flashprove-provable-inference-third-party-api-image-2

方案 证明对象 吞吐量 / 耗时 备注
VerInf Llama 4 Maverick(400B MoE) 约 0.02 tok/s,1000 Token 需 14.3 小时 证明 93.6 GB,验证近一天
zkLLM(2024) LLaMA-2-13B 批处理约 2.5 tok/s 单张 A100
SASH(2026) Llama 3.1 8B 约 1.25 tok/s 单张 H100
Attestable Gemma 4 31B(稠密模型) 53-77 tok/s 商业方案,暂未开源
FlashProve Llama 4 Maverick(400B MoE) 约 110 tok/s 证明约 19 MB,秒级验证,开源

VerInf 对标分析:VerInf 是此前已知唯一证明过同一模型的方案,但其证明体积高达 93.6 GB,验证需要近一天,基本无法实际使用。相比之下,FlashProve 把证明体积压到约 19 MB,验证缩短到十几秒,让普通 CPU 上的第三方审计第一次具备可行性。

Attestable 对标分析:Attestable 在稠密模型上取得了亮眼的商业化数字,但截至博客撰写时尚未发布对应开源库。FlashProve 的优势在于代码、Lean 证明和文档完全开放,任何人都可以复现与改进,代价是目前强依赖 MoE 架构。


FlashProve 能证明什么,又不能证明什么

对第三方 API 用户来说,理解边界和理解能力同样重要。下表汇总了研究博客与技术报告中的关键限定:

维度 FlashProve 能做到 FlashProve 目前做不到
模型身份 证明绑定到具体的权重承诺,确认是“被承诺的那个模型” 无法证明承诺对应的就是某个商业名称的模型,需另行公开承诺
输出正确性 证明被检查 Token 是整数化模型的贪心解码结果 不直接覆盖浮点实现和随机采样(temperature 大于 0)的输出
隐私保护 证明本身不泄露权重 不隐藏模型架构;生成耗时等侧信道攻击不在范围内
上下文长度 支持最长 1024 Token 的上下文 远短于聊天场景常见的数十万到上百万 Token
防护时机 事后检测出完整性问题 不能阻止被篡改的回答先送达用户
模型架构 适用于 MoE 模型 稠密模型等其他架构需进一步研究

FlashProve 事后证明的检测局限

FlashProve 采用的是事后证明(Post-hoc Proving):用户先收到响应,独立证明服务器再重新计算并生成证明,最后由验证者检查。这种方式允许证明慢一些,换取不必在安全与效率之间妥协。代价是保障存在延迟,证明失败只能揭示问题,无法让用户在收到回答前就得到保护。

技术报告还提醒,如果日志系统本身被攻击者控制,攻击者可能一边向用户发送被篡改的内容,一边让日志只记录正确结果。所以 FlashProve 必须与可信日志、访问控制等安全措施配合使用。

FlashProve 形式化验证的未完成部分

“用 Lean 做了形式化证明”很容易被理解为“整个系统都被证明正确”,但事实并非如此。技术报告列出的边界包括:

  • Lean 对零知识性质的证明目前只覆盖单请求证明,尚未覆盖批量证明。
  • GPU 证明端代码由 AI 依据 Lean 表示生成,尚未证明与 Lean 表示等价。
  • 日常使用的 C++ 快速验证端同样由 AI 生成,没有形式化保证,只是在测试中与 Lean 验证端的结论全部一致。
  • 较长的协议规范文档由 AI 生成,作者并未详细审核,应与作者撰写的技术报告区分看待。

这些限制不代表研究无效,而是说明形式化验证目前锁定的是协议层的数学性质,可执行代码与协议之间仍需人工或智能体审计来弥合。

anthropic-flashprove-provable-inference-third-party-api-image-3


影响分析:FlashProve 距离第三方 API 日常调用还有多远

对开发者与 API 使用者的影响

  • 短期内不会出现在日常调用链路中:约两个数量级的 GPU 开销、每请求约 19 MB 的证明文件、1024 Token 的上下文上限,都让它难以直接用于高频对话类 API。
  • 适用面受限:系统假设 MoE 架构、整数化模型与贪心解码,大多数生产调用使用随机采样和浮点推理,不能直接套用。
  • 认知层面的价值更大:它第一次让“验证模型身份”从不可能变成工程问题。开发者应当意识到,返回的模型名称字段、模型 ID 或普通请求日志,都不等同于密码学证明。

💡 选择建议:在可证明推理成熟之前,选择第三方服务时更值得关注的是计费透明度、调用日志可追溯性和自测一致性。通过 API易 apiyi.com 这类聚合平台调用时,可以同时请求多个模型并保留完整调用记录,便于自行做交叉对比与审计。

对行业与监管的影响

  • 评测与合规工具箱多了一个选项:监管方可以要求提供方为一段时期的推理请求附上证明,确认硬件确实在服务指定模型,同时不获知专有权重。但 Anthropic 也承认,这无法证明硬件没有在旁路做训练。
  • 软件方案与可信硬件互补:可信执行环境依赖厂商的防篡改硬件,zkSNARK 依赖计算难题的困难性,即使硬件和操作系统被攻破也无法伪造证明,两者会在不同场景各自发挥作用。
  • Anthropic 的生产验证走的是另一条路:Anthropic 在 2026 年 10 月 19 日更新的 Frontier Safety Roadmap 中提到,其推理验证项目已在生产推理流量上建立原型,通过签名覆盖内部 Token 流量并在可信服务器上复算推理,还捕获过一次极其罕见、非恶意的完整性异常。该项目名称已改为 inference verification,与 FlashProve 是相关但独立的两个项目,不能混为一谈。

第三方 API 调用者现在能做什么:自建调用审计记录

既然密码学证明暂时还用不上,开发者能做的是先把“可追溯”做好。下面的示例在调用时固定 temperature=0,并把请求时间、请求 ID、返回的模型字段与回答哈希写入本地日志,方便后续做一致性复测。需要强调的是,这只是工程层面的审计记录,不是对模型身份的密码学证明。

import openai

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"  # API易 OpenAI 兼容接口
)

resp = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "用一句话解释零知识证明"}],
    temperature=0
)
print(resp.model, resp.id)
print(resp.choices[0].message.content)

查看完整审计日志实现代码
import hashlib
import json
import time
import openai

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"  # 一个 Key 调用多家模型
)

def audited_call(prompt: str, model: str, log_path: str = "audit.jsonl") -> str:
    """调用模型并记录可追溯信息(非密码学证明)"""
    start = time.time()
    resp = client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": prompt}],
        temperature=0,
        max_tokens=512,
    )
    content = resp.choices[0].message.content or ""
    record = {
        "ts": int(start),
        "latency_s": round(time.time() - start, 3),
        "requested_model": model,
        "returned_model": resp.model,   # 仅为服务端返回的声明字段
        "request_id": resp.id,
        "prompt_sha256": hashlib.sha256(prompt.encode()).hexdigest(),
        "output_sha256": hashlib.sha256(content.encode()).hexdigest(),
        "usage": resp.usage.model_dump() if resp.usage else None,
    }
    with open(log_path, "a", encoding="utf-8") as f:
        f.write(json.dumps(record, ensure_ascii=False) + "\n")
    return content

# 固定一组探针 Prompt,定期复测并对比输出哈希与延迟分布
probes = ["计算 37*43 并只输出结果", "列出三种排序算法的时间复杂度"]
for p in probes:
    for m in ["gpt-4o-mini", "claude-sonnet-4-5"]:
        print(m, audited_call(p, m)[:60])

🚀 快速开始:可以通过 API易 apiyi.com 获取免费测试额度,用上面的探针脚本对多个模型做定期复测。需要说明的是,这类方法只能提升可追溯性,无法替代 FlashProve 这类权重级证明。

在此基础上,还可以搭配几条实用做法:固定模型 ID 而非使用模糊别名;保留一组探针 Prompt 长期跟踪输出与延迟变化;对关键业务同时请求多个模型交叉校验;关注服务商是否公开权重承诺或可验证机制的进展。


常见问题 FAQ

Q1:什么是 FlashProve?

FlashProve 是 Anthropic 于 2026 年 11 月开源的可证明推理研究原型。它基于 zkSNARK,让模型提供方先对权重做承诺,再为推理结果生成证明,用户无需权重、只用 CPU 就能验证回答是否来自被承诺的模型。

Q2:FlashProve 和 Anthropic 的推理验证(inference verification)项目有什么区别?

两者目标相近但实现不同。推理验证项目已在生产流量上建立原型,采用签名内部 Token 流量并在可信服务器复算的方式;FlashProve 则是纯软件的密码学证明方案,目前仍是研究原型,两者不应混为一谈。

Q3:FlashProve 的 110 tokens/s 是不是意味着能实时证明完整回答?

不是。110 tokens/s 是批处理下的窗口处理吞吐量,每份证明只检查一个 Token。检查回答中每个 Token 时吞吐量为 39.1 tokens/s,单请求证明则降到 17.6 tokens/s,并且整个过程是事后证明。

Q4:API易 是否已经为每条响应提供 FlashProve 证明?

没有。目前没有任何材料表明 API易 apiyi.com 部署了 FlashProve 或提供权重级密码学证明,平台返回的模型名称与调用日志也不等同于密码学证明。现阶段更务实的做法,是利用平台的统一接口和调用记录做自主复测与交叉对比。

Q5:如何通过 API 快速做多模型一致性测试?

推荐使用支持多模型的聚合平台:

1. 访问 API易 apiyi.com 注册账号并获取 API Key 与免费测试额度
2. 将本文代码中的 base_url 设置为 `https://api.apiyi.com/v1`
3. 固定 `temperature=0`,用探针 Prompt 定期复测并记录输出哈希

这套方法便于发现异常波动,但它属于工程审计,而非模型身份证明。

Q6:FlashProve 有哪些已知限制?

主要包括:GPU 开销约为正常推理的 70-95 倍;上下文上限 1024 Token;依赖 MoE 架构、整数化模型和贪心解码;不隐藏模型架构,侧信道攻击不在范围内;事后证明无法阻止篡改内容先送达;可执行代码与 Lean 协议之间尚无形式化等价证明。


FlashProve 核心要点 Key Takeaways

  • 信任缺口真实存在:第三方 API 调用中,回答质量高不能证明模型身份真实。
  • 核心机制:离线权重承诺加在线 zkSNARK 证明,用户用 CPU 即可验证。
  • 成本大幅下降:单 H100 窗口吞吐约 110 tokens/s,证明约 19 MB,验证约 17 秒。
  • 口径要分清:逐 Token 检查吞吐为 39.1 tokens/s,单请求仅 17.6 tokens/s。
  • 边界明确:仅限 MoE、整数化贪心解码、1024 Token 上下文和事后检测。
  • 上手方式:现阶段可借助 API易 apiyi.com 多模型统一接口做自主复测与审计。

总结

FlashProve 的核心意义可以归纳为三点:

  1. 把模型身份验证变成工程问题:此前证明同一模型需要十几个小时和近百 GB 证明,如今压缩到批处理百 tokens/s 级别与 19 MB 证明。
  2. 离生产可用仍有距离:两个数量级的开销、短上下文、架构与解码方式限制,加上形式化验证覆盖不完整,决定了它目前仍是研究原型。
  3. 需要与其他安全机制配合:事后证明只能检测、不能拦截,必须搭配可信日志和访问控制。

对于今天的第三方 API 使用者,最务实的态度是:既不要把模型名称字段当作证明,也不必因此过度焦虑,先把调用记录、探针复测和多模型交叉校验做扎实,同时持续关注可证明推理的成熟进度。推荐通过 API易 apiyi.com 用一个 Key 对比多家模型,在自己的业务数据上建立可追溯的质量基线。


📚 参考资料

  1. Anthropic 研究博客 – Progress on provable inference for large language models:FlashProve 原始发布文章
  2. 链接: anthropic.com/research/provable-inference
  3. 说明: 包含系统设计、实测数据、既有方案对比与局限说明

  4. FlashProve 技术报告:研究博客附带的完整技术细节

  5. 链接: anthropic.com/research/provable-inference(页面内 Read the technical report 入口)
  6. 说明: 包含吞吐量口径、事后证明局限、形式化验证边界等关键限定

  7. Anthropic Frontier Safety Roadmap:推理验证项目的进展说明

  8. 链接: anthropic.com
  9. 说明: 了解 inference verification 与 FlashProve 的区别

作者: APIYI 技术团队
技术交流: 欢迎在 API易 官网首页联系我们,更多接入资料可访问 docs.apiyi.com 文档中心

延伸阅读

类似文章