零知识证明如何为AI Agent构建可验证的行为护栏
1. 项目概述:当AI意图被“上锁”
最近在AI Agent的圈子里,一个叫NiyamAI的项目引起了我的注意。它试图解决一个我们做AI应用时,尤其是涉及敏感决策或自动化流程时,最头疼的问题: 如何确保AI的行为,百分百符合我们预设的规则,并且这个“符合”的过程能被任何人、在任何时候、无需信任地验证?
简单来说,NiyamAI是一个“意图绑定”的AI智能体。它的核心创新点在于,利用零知识证明(Zero-Knowledge Proofs,特别是zk-SNARKs)技术,为AI Agent的行为构建了一套 密码学上可验证的护栏 。你可以把它想象成给一个能力强大的AI司机(Agent)装上了一套无法篡改的行车记录仪和交规验证器。AI可以自由驾驶(执行任务),但它的每一个转向、每一次加速,都必须符合事先编程好的“交通规则”(意图约束)。最关键的是,任何第三方(比如监管方、用户)不需要看到AI内部的思考过程(保护隐私),只需要检查AI最终生成的那个简短的“证明”,就能确信它全程没有违规。
这解决了什么痛点?举个例子,你部署了一个AI客服Agent,规定它绝对不能承诺“保证退款”。传统的做法是靠模型微调或提示词工程,但这存在“越狱”或意外偏离的风险,且事后难以审计。而NiyamAI的方案是,让AI在生成每一条回复时,都附带一个密码学证明,证明“我生成这条回复的整个推理逻辑,都符合‘不承诺保证退款’这条规则”。这个证明本身不泄露推理细节,但任何人都能快速验证其真实性。
对于开发者、企业法务、以及对AI可审计性有高要求的领域(如金融、医疗、内容审核)从业者来说,这是一个从“概率信任”走向“确定信任”的关键尝试。接下来,我将深入拆解它的设计思路、核心技术实现,并分享如何基于现有工具链进行概念验证和开发。
2. 核心架构与设计哲学拆解
NiyamAI不是一个单一的模型,而是一个融合了AI推理与密码学验证的 系统架构 。理解它的设计,需要先跳出纯AI的视角,从“可验证计算”的角度来看。
2.1 “意图绑定”的本质:从软约束到硬约束
在传统AI Agent开发中,我们通过提示词(Prompt)、思维链(Chain-of-Thought)以及工具调用规范来引导AI行为。我称之为“软约束”。它的有效性依赖于大语言模型对指令的理解和遵循程度,但这种遵循是概率性的。模型可能会产生“幻觉”,或在复杂推理中无意偏离轨道。
NiyamAI提出的“意图绑定”,是一种“硬约束”。它将用户的意图或业务规则,形式化为一组可计算的 逻辑断言或电路约束 。例如,规则“回复中不得包含金融建议”可以被转化为对AI输出文本的语义检查逻辑。这个逻辑被编码进一个zk-SNARK电路(可以理解为一个特殊的、可生成证明的程序)。AI Agent在运行过程中,其关键决策步骤的输入、输出和中间状态,都需要作为这个电路的输入。只有完全满足所有约束,电路才能生成一个有效的证明。
设计考量 :为什么选择这种复杂的方式?因为它在“可控性”和“隐私性”之间取得了平衡。企业既需要AI遵守规则(可控),又可能不希望公开其提示词模板或知识库细节(隐私)。零知识证明恰好能证明“我知道一个满足规则的秘密信息”,而无需透露秘密本身。
2.2 密码学护栏的工作流程
整个系统的工作流可以分解为离线和在线两个阶段,我结合一个内容审核Agent的例子来说明:
离线阶段(规则编译与电路生成):
- 规则定义 :业务方定义规则,如“生成的文章摘要长度必须在100-200字之间,且不得出现特定负面关键词列表{A, B, C}”。
- 逻辑形式化 :将上述自然语言规则转化为精确的、可执行的形式化逻辑。例如,计算输出文本长度函数
len(text),检查100 <= len(text) <= 200;构建关键词匹配函数,确保输出文本中不包含子串A、B、C。 - 电路编写 :使用zk-SNARK领域专用语言(如Circom、Noir或Cairo),将形式化逻辑编写成算术电路。这个过程就像把一段Python验证代码,“翻译”成一种只有加法和乘法运算的特殊语言。这是整个系统最需要密码学专业知识的环节。
- 信任设置 :为生成的电路执行一次性的“可信设置”(Trusted Setup),生成后续用于证明和验证的密钥对(Proving Key & Verification Key)。这是zk-SNARK的一个必要步骤,现代方案如Groth16要求每个电路一次。
在线阶段(AI执行与验证):
- AI Agent执行 :用户发起请求,AI Agent(如基于LangChain或AutoGPT构建)开始工作,读取资料,生成文章摘要。
- 证据收集 :在AI运行的同时(或事后),系统需要收集构成证明所需的“证据”(Witness)。这包括:AI的初始提示词(可选哈希)、检索到的上下文片段(可选哈希)、最终生成的摘要文本
text_output。 - 证明生成 :将收集到的证据(如
text_output, 以及事先约定的规则参数如长度范围、关键词哈希)输入到之前编译好的zk-SNARK电路中。运行证明生成算法,利用Proving Key,生成一个非常简短的证明文件(通常几百字节到几KB)。 关键点 :生成证明的计算开销可能很大,是性能瓶颈之一。 - 行为输出与证明提交 :AI Agent将生成的摘要
text_output返回给用户。同时,系统可以附上那个简短的证明proof,以及对应的Verification Key的标识或本身。 - 第三方验证 :任何验证者(可以是用户客户端、监管服务器)拿到
text_output、proof和Verification Key后,运行极快的验证算法(通常毫秒级)。如果验证通过,则 cryptographic guarantee 地确认了“text_output这个结果,是由一个知晓秘密输入(即完整的推理上下文,但已哈希隐藏)且整个过程严格遵守了长度和关键词限制规则的程序所产生的”。
注意 :这里有一个精妙之处。电路验证的通常是“结果满足规则”,而不是“AI的思考过程合理”。因此,规则的设计必须周密,要能通过输出反推出输入必然满足某些条件。例如,仅验证输出长度不足以防止AI胡言乱语,但结合对输出文本语义哈希的验证(证明其源于某段特定上下文),就能构建更强的约束。
2.3 技术栈选型解析
构建一个类似NiyamAI的原型,需要融合多个技术栈:
- AI Agent框架 :这是“驾驶员”。常见选择有LangChain、LlamaIndex、AutoGPT或更轻量的自定义框架。选择取决于任务复杂度。对于快速验证概念,LangChain因其丰富的工具集成和清晰的流水线而受青睐。
- 大语言模型 :这是“引擎”。需要选择具有较强推理和指令遵循能力的模型,如GPT-4、Claude 3系列,或开源的Llama 3、Qwen系列。模型的稳定性直接影响证据的可重复性。
- 零知识证明框架 :这是“护栏生成器”。这是核心。
- Circom + snarkjs :目前最流行的组合之一。Circom用于编写电路,snarkjs用于JavaScript环境的证明生成和验证。生态成熟,教程多,适合Web集成。
- Noir :由Aztec开发,语法更像传统编程语言(Rust风格),旨在简化ZK开发。与区块链集成友好。
- Cairo :StarkWare的技术,用于生成STARK证明,无需可信设置,但证明体积可能更大。适合需要极高可扩展性的场景。
- 选型考量 :对于新手,从Circom入手资料最全。如果团队有Rust背景,Noir可能更易上手。如果极度厌恶可信设置,可以研究STARK方案。
- 规则形式化工具 :这是“翻译官”。目前缺乏标准工具,通常需要自行开发或使用中间表示。一种实践是将业务规则用Python写成验证函数,再手动或通过工具(如zkscript的早期概念)翻译成电路语言。这是当前的主要开发瓶颈。
3. 从零搭建一个可验证的AI Agent原型
理论说了很多,我们来点实际的。我将带你搭建一个极度简化的原型,实现一个“可验证的摘要生成Agent”。规则是:生成的摘要必须介于50到150字之间,且不能包含“绝对成功”和“稳赚不赔”这两个词。
3.1 环境准备与依赖安装
我们假设使用Python作为主语言,AI部分用LangChain和OpenAI API,ZK部分用Circom和snarkjs。
# 1. 创建项目目录并初始化
mkdir verifiable-ai-agent && cd verifiable-ai-agent
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 2. 安装AI相关依赖
pip install langchain langchain-openai python-dotenv
# 3. 安装Node.js环境(snarkjs需要)
# 请确保系统已安装Node.js (>=16) 和 npm
# 安装snarkjs和circom编译器(这是一个简化步骤,实际可能需要从源码编译circom)
npm install -g snarkjs
# Circom的安装相对复杂,建议参考其官方GitHub仓库,使用Rust包管理器cargo安装
# cargo install --locked circom
# 由于环境差异,这里假设已安装好circom命令行工具。
# 4. 创建环境变量文件
echo "OPENAI_API_KEY=your_key_here" > .env
3.2 设计并实现约束电路
这是最核心的密码学部分。我们要创建一个Circom电路,它接受一个文本摘要作为输入(实际上电路处理数字,所以我们需要先将文本哈希),并证明其满足约束。
首先,电路无法直接处理字符串长度和内容。因此,我们需要在链下(Python端)先进行预处理,将需要证明的 声明 转化为电路能验证的 数字声明 。
预处理逻辑(Python端):
- 计算摘要文本的字符数
len。 - 验证
50 <= len <= 150。这个布尔结果(是/否)需要被证明。 - 检查摘要中是否包含违禁词。我们可以计算摘要的哈希(如SHA256),并证明“我知道一个摘要,其哈希是H,且这个摘要中不包含子串S1和S2”。直接证明字符串不包含子串在电路里极其复杂。一个 可行的简化方案 是:我们改为证明“用户收到的摘要文本”与“AI提交给电路的文本”是一致的。而“不包含违禁词”的检查,由电路外的公开验证来完成(因为摘要文本最终是公开的)。这样,电路的核心作用就变成了“一致性证明”和“长度范围证明”。
基于简化方案,我们设计一个电路,它证明:
- 公开输入:摘要的哈希值
commitment、长度下限min_len、长度上限max_len。 - 私有输入:原始的摘要文本
text。 - 电路逻辑:
- 计算
text的哈希,确保等于公开的commitment。 - 计算
text的长度actual_len。 - 断言
actual_len >= min_len且actual_len <= max_len。
- 计算
创建电路文件 circuits/summary_verifier.circom :
pragma circom 2.1.6;
include "node_modules/circomlib/circuits/comparators.circom";
include "node_modules/circomlib/circuits/sha256/sha256.circom";
template SummaryVerifier() {
// 公开输入
signal input commitment[2]; // SHA256哈希(256位,用两个128位信号表示)
signal input min_len;
signal input max_len;
// 私有输入
signal input text[32]; // 假设文本被填充到32个字节(256位)用于简化,实际需要更复杂的编码
// 1. 计算文本哈希
component sha = SHA256(256); // 输入256位
for (var i = 0; i < 32; i++) {
sha.in[i] <== text[i];
}
// 验证计算的哈希等于承诺的哈希
commitment[0] === sha.out[0];
commitment[1] === sha.out[1];
// 2. 计算文本长度(简化:这里我们假设私有输入直接提供了长度值,实际需按字符计算)
// 为了极度简化,我们假设私有输入中也包含了长度值 `actual_len`
signal input actual_len;
// 3. 验证长度范围 (使用GreaterEq和LessEq)
component ge = GreaterEq(32);
ge.in[0] <== actual_len;
ge.in[1] <== min_len;
ge.out === 1; // 断言 actual_len >= min_len
component le = LessEq(32);
le.in[0] <== actual_len;
le.in[1] <== max_len;
le.out === 1; // 断言 actual_len <= max_len
}
component main = SummaryVerifier();
重要说明 :这是一个 高度简化、用于概念演示 的电路。真实的文本长度计算和字符串处理在电路中非常昂贵。生产级实现会采用更优化的方案,例如将文本编码为数字数组,并使用Merkle树等技术来高效证明子串关系。
接下来,编译电路并生成密钥:
# 在项目根目录
mkdir -p circuits/build
cd circuits
# 1. 编译电路
circom summary_verifier.circom --r1cs --wasm --sym -o build
# 这会生成 summary_verifier.r1cs (约束系统)、 summary_verifier.wasm (计算witness的wasm模块)等文件
# 2. 执行可信设置(这里用Powers of Tau仪式,生产环境需要更安全复杂的设置)
snarkjs powersoftau new bn128 12 build/pot12_0000.ptau -v
snarkjs powersoftau contribute build/pot12_0000.ptau build/pot12_0001.ptau --name="First contribution" -v -e="some random text"
# ... 可以多次contribute
snarkjs powersoftau prepare phase2 build/pot12_0001.ptau build/pot12_final.ptau -v
# 3. 生成证明和验证密钥
snarkjs groth16 setup build/summary_verifier.r1cs build/pot12_final.ptau build/summary_verifier_0000.zkey
snarkjs zkey contribute build/summary_verifier_0000.zkey build/summary_verifier_0001.zkey --name="1st Contributor" -v -e="another random text"
snarkjs zkey export verificationkey build/summary_verifier_0001.zkey build/verification_key.json
3.3 构建AI Agent与证据生成
现在,我们构建AI部分。创建一个Python脚本 agent.py :
import os
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from dotenv import load_dotenv
import hashlib
import json
import subprocess
load_dotenv()
class VerifiableSummaryAgent:
def __init__(self):
self.llm = ChatOpenAI(model="gpt-3.5-turbo")
self.prompt = ChatPromptTemplate.from_messages([
("system", "你是一个专业的文章摘要生成器。请为以下文章生成一个简洁的摘要。摘要长度必须严格控制在50到150字之间。绝对不要在摘要中使用‘绝对成功’和‘稳赚不赔’这两个词。"),
("user", "文章内容:{article}")
])
self.chain = self.prompt | self.llm | StrOutputParser()
def generate_summary(self, article_text):
"""生成摘要,并返回摘要文本和相关的验证证据"""
summary = self.chain.invoke({"article": article_text})
# 1. 收集证据
actual_len = len(summary)
# 计算SHA256哈希作为承诺
commitment = hashlib.sha256(summary.encode('utf-8')).digest()
# 将256位哈希拆分为两个128位整数(模拟电路中的两个信号)
commitment_int_high = int.from_bytes(commitment[:16], 'big')
commitment_int_low = int.from_bytes(commitment[16:], 'big')
# 2. 检查业务规则(链下,公开可验证部分)
if not (50 <= actual_len <= 150):
raise ValueError(f"摘要长度{actual_len}不符合要求(50-150字)。")
if "绝对成功" in summary or "稳赚不赔" in summary:
raise ValueError("摘要中包含违禁词。")
# 3. 准备电路输入(Witness)
# 注意:电路中的`text`是私有输入,在生成证明时使用,不公开。
# 公开输入是:commitment, min_len=50, max_len=150
witness = {
"commitment": [str(commitment_int_high), str(commitment_int_low)],
"min_len": "50",
"max_len": "150",
"text": [str(b) for b in summary.encode('utf-8').ljust(32, b'\0')[:32]], # 填充到32字节
"actual_len": str(actual_len)
}
return {
"summary": summary,
"evidence": {
"commitment_hex": commitment.hex(),
"actual_len": actual_len,
"witness": witness # 用于生成证明的私有数据
}
}
def generate_proof(self, evidence, circuit_dir="./circuits/build"):
"""调用snarkjs生成ZK证明"""
witness_data = evidence["witness"]
# 1. 将witness写入input.json
with open(os.path.join(circuit_dir, "input.json"), "w") as f:
json.dump(witness_data, f)
# 2. 使用WASM生成witness文件
subprocess.run([
"node", os.path.join(circuit_dir, "summary_verifier_js", "generate_witness.js"),
os.path.join(circuit_dir, "summary_verifier_js", "summary_verifier.wasm"),
os.path.join(circuit_dir, "input.json"),
os.path.join(circuit_dir, "witness.wtns")
], check=True, capture_output=True)
# 3. 使用snarkjs生成证明
subprocess.run([
"snarkjs", "groth16", "prove",
os.path.join(circuit_dir, "summary_verifier_0001.zkey"),
os.path.join(circuit_dir, "witness.wtns"),
os.path.join(circuit_dir, "proof.json"),
os.path.join(circuit_dir, "public.json")
], check=True, capture_output=True)
# 4. 读取生成的证明和公开输入
with open(os.path.join(circuit_dir, "proof.json"), "r") as f:
proof = json.load(f)
with open(os.path.join(circuit_dir, "public.json"), "r") as f:
public_signals = json.load(f)
return proof, public_signals
if __name__ == "__main__":
agent = VerifiableSummaryAgent()
sample_article = """
人工智能是当今科技领域最炙手可热的方向之一。许多创业者涌入AI赛道,希望开发出颠覆性的产品。
然而,成功并非一蹴而就。它需要扎实的技术积累、清晰的市场定位和持续的迭代优化。
投资者应保持理性,认识到任何投资都有风险,不存在所谓的稳赚不赔的买卖。
"""
try:
result = agent.generate_summary(sample_article)
print("生成的摘要:")
print(result["summary"])
print(f"\n长度:{result['evidence']['actual_len']}")
print(f"承诺哈希:{result['evidence']['commitment_hex']}")
# 生成证明(这步比较耗时)
print("\n正在生成零知识证明...")
proof, public_signals = agent.generate_proof(result["evidence"])
print("证明生成成功!")
# 在实际应用中,可以将proof、public_signals和verification_key一起提交给验证方
except ValueError as e:
print(f"生成失败:{e}")
3.4 验证环节的实现
验证方(可以是另一个服务或客户端)在收到摘要、证明和公开信号后,可以进行验证。创建一个 verify.py :
import json
import subprocess
import sys
def verify_proof(proof_path, public_signals_path, vkey_path):
"""使用snarkjs验证证明"""
try:
result = subprocess.run([
"snarkjs", "groth16", "verify",
vkey_path,
public_signals_path,
proof_path
], capture_output=True, text=True, check=True)
return "OK" in result.stdout
except subprocess.CalledProcessError as e:
print(f"验证过程出错:{e.stderr}")
return False
if __name__ == "__main__":
# 假设我们从某处收到了这些文件
proof_file = "./circuits/build/proof.json"
public_file = "./circuits/build/public.json"
vkey_file = "./circuits/build/verification_key.json"
is_valid = verify_proof(proof_file, public_file, vkey_file)
if is_valid:
print("✅ 零知识证明验证通过!密码学上保证了该摘要生成过程遵守了长度约束,且与承诺哈希一致。")
# 可以进一步公开验证违禁词(因为摘要文本已公开)
with open(public_file, 'r') as f:
public = json.load(f)
# 注意:public_signals里包含的是承诺哈希,不是原文。原文需从发布方获取。
# 此处演示逻辑:我们信任发布方提供的摘要文本,然后手动检查违禁词。
print("(请结合公开的摘要文本,人工或程序化检查违禁词‘绝对成功’和‘稳赚不赔’)")
else:
print("❌ 零知识证明验证失败!该摘要的生成过程可能未遵守规则。")
4. 关键挑战、优化与实战心得
走通这个原型,你已经摸到了NiyamAI理念的门道。但在真实生产环境中,我们会面临一系列严峻挑战。
4.1 性能瓶颈与优化策略
证明生成时间 :这是最大的瓶颈。即使是我们的简单电路,在普通笔记本电脑上生成证明也可能需要几秒到十几秒。对于需要实时交互的AI Agent,这是不可接受的。
- 优化策略1:电路最小化 。只将最核心、必须验证的断言放入电路。例如,将复杂的语义检查放在链下公开进行,电路只证明“链下检查所用的输入”与“最终输出”是一致的。这就是我们原型中采用的方法。
- 优化策略2:采用更快的证明系统 。Groth16(我们用的)验证极快,但证明生成慢。可以考虑PLONK、STARK等更新且可能更快的系统,但生态和工具链成熟度需要权衡。
- 优化策略3:聚合证明 。不必为每个AI动作都生成证明,可以批量处理多个动作,生成一个聚合证明,分摊开销。
- 优化策略4:专用硬件 。最终,ZK证明生成是高度并行化的计算,使用GPU或FPGA可以带来数量级的提升。
电路设计的复杂性 :将业务规则(尤其是涉及自然语言、图像识别的规则)翻译成算术电路极其困难且容易出错。
- 心得 :不要试图在电路里跑一个AI模型。正确的范式是“AI计算,ZK验证”。即,AI模型在“黑箱”中运行,产生结果和一系列“计算轨迹”或“关键断言”。ZK电路只验证这些“断言”之间的关系是否成立。例如,AI输出“这篇文章是积极的”,同时输出“情感得分=0.8”。电路可以验证“情感得分>0.7 => 标签=积极”这个简单逻辑,而不需要知道情感得分是如何算出来的。
4.2 隐私与透明度的平衡
NiyamAI的一个核心价值是能在不泄露隐私(如提示词、知识库数据)的情况下证明合规性。但这需要精细设计。
- 什么该隐藏? 私有输入(
private signals)可以是模型的权重、用户的私有数据、专有的提示词模板。电路可以证明“使用某个私有数据D和模型M,得到了输出O,且O满足规则R”,而无需公开D和M。 - 什么该公开? 公开输入(
public signals)通常是最终输出、规则参数、以及一些公开的承诺值。验证者需要知道他们验证的是什么。 - 实操陷阱 :如果公开信号设计不当,可能会间接泄露私有信息。例如,如果规则过于具体,通过多次的公开输出和证明,可能反推出私有输入的某些特征。需要进行隐私分析。
4.3 集成到现有AI Agent框架
将ZK证明生成无缝嵌入到LangChain或AutoGPT这样的框架中,意味着要拦截Agent的执行流程。
- 钩子(Hooks)与回调 :最优雅的方式是利用框架提供的回调系统。在Agent的最终输出(
FinalAnswer)阶段,或者在每个工具(Tool)调用返回后,插入一个“证明生成”回调函数。这个函数收集必要的输入输出数据,调用证明生成服务(可能是一个独立的微服务),然后将证明附加到响应中。 - 状态管理 :生成证明需要完整的“证据链”。这意味着Agent的整个思考过程(或关键步骤)需要被结构化的记录下来。这可能会改变你设计Agent提示词和流程的方式,要求思考过程更加模块化和可记录。
- 错误处理 :如果证明生成失败(如电路约束不满足),是让Agent回滚重试,还是直接向用户报错?这需要业务逻辑来决定。
5. 典型应用场景与未来展望
理解了技术和挑战,我们来看看NiyamAI这类技术能用在哪儿。
5.1 高价值且高风险的应用场景
- 去中心化金融(DeFi)与链上AI :这是最直接的应用。一个链上的AI投资顾问Agent,其投资建议必须符合预设的风险管理规则(如“不推荐超过X%仓位的单一资产”)。通过ZK证明,该建议可以被任何人验证是合规的,而无需公开其内部的财务模型或用户数据。
- 合规与审计自动化 :在医疗、法律、金融领域,AI生成的报告、诊断或合同草案需要符合严格的行业规范。可验证的护栏能提供自动化的、不可抵赖的合规证明,极大降低审计成本和法律风险。
- 内容创作与版权 :一个AI视频生成Agent,可以证明其生成的视频中没有使用未授权的版权素材(通过证明其检索的素材库哈希值均在白名单内)。或者,一个写作助手证明其输出没有抄袭特定的受保护文本。
- 对抗性测试与安全 :对AI系统进行红队测试时,测试方可以证明他们成功让AI违反了某条规则(生成了有害内容),而无需公开具体的“越狱”提示词,保护了安全研究的方法论。
5.2 当前局限与演进方向
目前,这项技术仍处于早期阶段,像NiyamAI这样的项目更多是提出愿景和原型。
- 可用性门槛高 :需要同时精通AI和密码学的人才,这类人才凤毛麟角。工具链的抽象和简化是未来发展的关键。可能会出现更高级的DSL(领域特定语言),让AI工程师用接近Python的方式声明规则,然后自动编译成电路。
- 证明开销 :尽管验证很快,但证明生成的耗时和成本仍然是阻碍大规模应用的核心。硬件加速和算法改进是持续的方向。
- 规则的形式化 :将模糊的人类规则转化为精确的、可证明的逻辑语句,本身就是一个AI难题(LegalTech和合规AI正在研究)。未来可能会出现“规则解释器”,能将自然语言规则半自动地转化为约束条件。
从我个人的实践来看,短期内最可行的落地路径是“关键断言证明”模式。不要试图证明整个AI推理的完整性,而是聚焦于证明几个最关键、最不容有失的业务规则。例如,在自动交易Agent中,只证明“本次交易指令的价格未超过预设阈值”;在客服Agent中,只证明“回复中未包含敏感词列表中的词汇”。这样可以将电路的复杂性控制在可管理范围内。
这项技术真正的魅力在于,它首次为AI的行为提供了一种 可编程的、密码学强度的信任基础 。它不是在试图让AI变得更“准”(那是模型本身的任务),而是在让AI变得更“可信”。当AI的决策开始直接影响资产、健康或法律权益时,这种可验证的信任就不再是奢侈品,而是必需品。虽然道路漫长,但NiyamAI所指的方向,无疑是构建未来可靠AI基础设施的关键一环。
更多推荐



所有评论(0)