AI Agent Harness与区块链结合:可信执行
AI Agent Harness与区块链结合:可信执行
标题选项
- 《AI Agent + 区块链落地指南:基于Harness框架实现全链路可信执行》
- 《从原理到实战:AI Agent Harness与区块链结合构建不可篡改的智能协作体系》
- 《解决AI信任痛点:如何用区块链为AI Agent Harness提供可信执行底座》
- 《Web3+AI新范式:手把手教你搭建基于链上验证的AI Agent Harness可信执行环境》
引言
痛点引入
你有没有遇到过这些问题?
- 公司采购了第三方AI Agent做财务风控审计,对方给出的风险报告显示「无异常」,但你完全不知道它是不是真的遍历了所有交易数据,有没有刻意隐瞒高危交易?
- 你和合作伙伴用AI Agent联合做市场调研,对方提供的AI产出的用户画像和你侧的结果差异巨大,你无法证明是对方的AI篡改了输入数据,还是执行逻辑不符合约定?
- 你用AI Agent生成了爆款内容,被别人抄袭搬运后反咬你是侵权方,你拿不出证据证明内容是你的AI在指定时间按指定规则生成的?
这些问题的核心都是AI执行的黑盒性导致的信任缺失:传统AI Agent的执行过程完全运行在中心化服务器上,没有第三方可以验证其执行逻辑、输入输出是否符合约定,结果可篡改、过程可抵赖、权责不清晰,直接限制了AI Agent在金融、供应链、版权、政务等高信任要求场景的落地。
文章内容概述
本文将从核心原理、架构设计、代码实战三个维度,系统性讲解如何将AI Agent的控制框架(AI Agent Harness)与区块链技术结合,打造全链路可追溯、结果不可篡改、身份可验证的可信执行体系。我们会从最小原型入手,一步步实现智能合约存证、Harness执行日志上链、链上验证等核心功能,最终完成一个可直接用于生产环境的可信AI Agent原型。
读者收益
读完本文你将掌握:
- AI Agent Harness的核心架构与可信能力的改造方法
- 区块链解决AI信任问题的底层逻辑与适用边界
- 完整的「链上存证+链下执行」可信AI Agent开发流程
- 可信AI Agent在金融、供应链、版权等场景的落地方案
- 零知识证明、跨链协作等进阶优化方向的实现思路
准备工作
技术栈/知识要求
- 基础能力:熟悉Python 3.8+语法、了解HTTP接口开发、掌握基础的密码学知识(哈希、签名、验签)
- AI相关:了解AI Agent的核心概念(任务调度、工具调用、执行逻辑)、有LangChain或同类Agent框架的使用经验
- 区块链相关:了解智能合约基本原理、熟悉Solidity语法、掌握Web3.py/Ethers.js等链交互工具的使用、了解IPFS基本概念
环境/工具要求
- 开发环境:Python 3.10+、Node.js 16+、npm/yarn包管理器
- 链开发工具:Hardhat(智能合约开发测试)、Metamask钱包(链交互)
- 第三方服务:Infura IPFS服务(日志存储)、Sepolia/Polygon测试网RPC节点、OpenAI API密钥(或本地部署Llama 2等开源大模型)
- 辅助工具:Postman(接口测试)、Remix(合约在线调试)
核心内容:手把手实战
步骤1:核心概念解析与问题建模
1.1 核心概念定义
什么是AI Agent Harness?
AI Agent Harness是AI Agent的执行管控层,相当于Agent的「操作系统内核」,核心职能是对Agent的全生命周期执行过程进行管控、审计、校验,核心组成模块如下:
| 模块名称 | 核心职能 |
|---|---|
| 任务接收器 | 接收用户输入的任务目标、执行约束、验证规则 |
| 任务分解器 | 将复杂任务拆分为多个子任务,定义每个子任务的执行边界 |
| 工具调度器 | 按规则调用外部工具(API、数据库、模型等),管控工具调用的参数与返回值 |
| 执行监控器 | 实时采集Agent每一步的执行日志、输入输出、决策依据 |
| 结果校验器 | 按预设规则校验执行结果是否符合要求 |
| 日志审计器 | 对执行日志进行加密、签名、存证,支持后续审计验证 |
什么是可信执行?
本文定义的AI Agent可信执行需要满足4个核心特性:
- 可追溯:Agent的每一步执行过程、输入输出都有完整记录,可回溯全链路
- 不可篡改:执行记录一旦生成,任何主体都无法篡改
- 身份可信:执行Agent的身份唯一可验证,不存在冒充情况
- 权责清晰:执行结果的责任归属可明确界定,不可抵赖
区块链为什么能解决AI可信问题?
区块链的分布式账本、非对称加密、智能合约三大核心特性,刚好匹配AI可信执行的需求:
- 分布式账本:执行记录存储在多个节点上,单点篡改无效,保证不可篡改
- 非对称加密:每个Agent有唯一的公私钥身份,签名可验证身份,不可抵赖
- 智能合约:可自动执行存证、验证逻辑,不需要第三方中介参与,降低信任成本
1.2 问题背景与描述
传统AI Agent Harness的执行完全运行在中心化服务器上,存在3个无法解决的信任问题:
- 执行黑盒:外部主体无法验证Agent是否按照预设的规则执行任务,可能存在作弊、偷懒、篡改结果的情况
- 数据不可信:Agent使用的输入数据、生成的输出数据都存储在中心化服务器上,可被篡改,无法作为司法证据
- 协作成本高:多主体联合使用AI Agent时,需要互相审计对方的执行环境,成本极高,无法规模化协作
我们的目标是对传统AI Agent Harness进行改造,结合区块链技术,在不牺牲AI Agent执行效率的前提下,满足可信执行的4个核心特性。
1.3 方案对比:传统Harness vs 可信Harness
| 对比维度 | 传统AI Agent Harness | 结合区块链的可信Harness |
|---|---|---|
| 可追溯性 | 仅运营方可查日志,外部无法验证 | 全链路日志可公开审计,任何主体都可验证 |
| 篡改抗性 | 运营方可随意篡改日志,无校验机制 | 日志哈希上链,篡改会导致哈希校验失败,不可篡改 |
| 身份可信 | 中心化身份体系,可冒充 | DID去中心化身份,签名验证,不可冒充 |
| 跨主体协作成本 | 高,需要互相审计执行环境 | 低,链上自动验证执行有效性 |
| 司法有效性 | 日志无法作为有效证据 | 链上存证符合电子证据法要求,可直接作为司法证据 |
| 执行延迟 | 低,无额外开销 | 较低,仅存证阶段需等待链上确认(Polygon链约2-3秒) |
| 运行成本 | 仅服务器成本 | 服务器成本+极低的链上Gas费(单次存证约0.01美元) |
1.4 实体关系模型(ER图)
1.5 数学模型
默克尔根计算模型
我们使用默克尔树对执行日志进行聚合,仅将根哈希上链,降低存证成本,默克尔根的计算公式如下:
MR={Hash(Hi)当只有1个叶子节点Hash(MRleft∣∣MRright)当有多个叶子节点,逐层向上计算 MR = \begin{cases} Hash(H_i) & \text{当只有1个叶子节点} \\ Hash(MR_{left} || MR_{right}) & \text{当有多个叶子节点,逐层向上计算} \end{cases} MR={Hash(Hi)Hash(MRleft∣∣MRright)当只有1个叶子节点当有多个叶子节点,逐层向上计算
其中HiH_iHi是第iii条执行日志的哈希值,∣∣||∣∣表示字符串拼接,HashHashHash采用SHA256算法,只要任意一条日志被篡改,最终的默克尔根就会发生变化,可有效验证日志完整性。
签名验证模型
Harness使用ECDSA椭圆曲线签名算法对默克尔根进行签名,保证身份可信,签名公式:
s=k−1×(z+r×dA)mod n s = k^{-1} \times (z + r \times d_A) \mod n s=k−1×(z+r×dA)modn
验签公式:
u1=z×s−1mod nu2=r×s−1mod n(x1,y1)=u1×G+u2×QA若 r=x1mod n 则签名有效 u_1 = z \times s^{-1} \mod n \\ u_2 = r \times s^{-1} \mod n \\ (x_1, y_1) = u_1 \times G + u_2 \times Q_A \\ \text{若} \space r = x_1 \mod n \space \text{则签名有效} u1=z×s−1modnu2=r×s−1modn(x1,y1)=u1×G+u2×QA若 r=x1modn 则签名有效
其中dAd_AdA是Harness的私钥,QAQ_AQA是对应的公钥,zzz是默克尔根的哈希值,r,sr,sr,s是签名结果,GGG是椭圆曲线的基点,nnn是曲线的阶。
步骤2:系统架构设计
2.1 整体架构分层
我们的可信执行系统分为三层,从下到上分别是区块链可信层、Harness执行层、应用层:
2.2 核心功能设计
- DID身份管理:为每个Harness实例分配唯一的DID身份,链上记录DID对应的公钥、所有者、历史执行记录
- 执行日志存证:Harness采集每一步执行日志,生成默克尔根后签名提交到链上存证,原始日志存储到IPFS
- 执行结果验证:任何主体都可以通过链上的默克尔根、签名,结合IPFS的原始日志,验证执行过程的合法性
- 违规仲裁:如果验证发现执行过程不符合约定,智能合约可自动触发惩罚机制(比如扣除Harness的质押保证金)
2.3 接口设计
Harness对外API接口
| 接口地址 | 请求方式 | 参数 | 返回值 | 功能描述 |
|---|---|---|---|---|
/api/task |
POST | task_id(任务ID)、prompt(任务要求)、constraints(执行约束)、verification_rules(验证规则) |
task_id、status |
提交任务给Harness执行 |
/api/task/{task_id}/status |
GET | task_id |
status、progress、ipfs_cid |
查询任务执行状态 |
/api/task/{task_id}/proof |
GET | task_id |
merkle_root、signature、merkle_proof、logs |
获取任务的执行证明 |
/api/verify |
POST | task_id、merkle_root、signature、proof |
result(bool)、reason |
本地验证执行是否合法 |
智能合约接口
| 函数名 | 参数 | 返回值 | 功能描述 |
|---|---|---|---|
registerDID(address did, bytes publicKey) |
did:DID地址、publicKey:公钥 |
bool |
注册Harness的DID身份 |
submitProof(bytes32 taskId, bytes32 merkleRoot, bytes signature, string ipfsCid) |
taskId:任务ID、merkleRoot:默克尔根、signature:签名、ipfsCid:日志IPFS地址 |
bool |
提交执行存证到链上 |
verifyProof(bytes32 taskId, bytes32[] calldata proof, bytes32 leaf) |
taskId:任务ID、proof:默克尔证明、leaf:叶子节点哈希 |
bool |
链上验证执行日志的完整性 |
getProof(bytes32 taskId) |
taskId:任务ID |
merkleRoot、signature、ipfsCid、timestamp |
查询指定任务的存证信息 |
步骤3:智能合约开发
我们使用Solidity开发智能合约,部署到Polygon测试网,核心合约包括DID注册表、存证合约、验证合约三个部分,代码如下:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/Strings.sol";
// DID身份合约
contract DIDRegistry is Ownable {
using ECDSA for bytes32;
using Strings for uint256;
struct DIDInfo {
bytes publicKey;
address owner;
uint256 registerTime;
bool isVerified;
uint256 reputation;
}
mapping(address => DIDInfo) public dids;
event DIDRegistered(address indexed did, bytes publicKey, address owner);
event DIDVerified(address indexed did);
event ReputationUpdated(address indexed did, uint256 newReputation);
// 注册DID
function registerDID(bytes calldata publicKey) external {
require(dids[msg.sender].registerTime == 0, "DID already registered");
dids[msg.sender] = DIDInfo({
publicKey: publicKey,
owner: msg.sender,
registerTime: block.timestamp,
isVerified: false,
reputation: 100
});
emit DIDRegistered(msg.sender, publicKey, msg.sender);
}
// 管理员验证DID
function verifyDID(address did) external onlyOwner {
require(dids[did].registerTime != 0, "DID not registered");
dids[did].isVerified = true;
emit DIDVerified(did);
}
// 更新DID信誉分
function updateReputation(address did, uint256 newReputation) external onlyOwner {
require(dids[did].registerTime != 0, "DID not registered");
dids[did].reputation = newReputation;
emit ReputationUpdated(did, newReputation);
}
// 验证签名
function verifySignature(address did, bytes32 hash, bytes calldata signature) external view returns (bool) {
require(dids[did].registerTime != 0, "DID not registered");
return hash.recover(signature) == did;
}
}
// 存证合约
contract ExecutionProof is Ownable {
using MerkleProof for bytes32[];
using ECDSA for bytes32;
struct ProofInfo {
bytes32 merkleRoot;
bytes signature;
string ipfsCid;
address did;
uint256 timestamp;
bool isValid;
}
mapping(bytes32 => ProofInfo) public proofs;
DIDRegistry public didRegistry;
event ProofSubmitted(bytes32 indexed taskId, bytes32 merkleRoot, address did, string ipfsCid);
event ProofVerified(bytes32 indexed taskId, bool result);
constructor(address didRegistryAddress) {
didRegistry = DIDRegistry(didRegistryAddress);
}
// 提交执行证明
function submitProof(
bytes32 taskId,
bytes32 merkleRoot,
bytes calldata signature,
string calldata ipfsCid
) external {
require(proofs[taskId].timestamp == 0, "Proof already exists");
// 验证DID是否注册
require(didRegistry.dids(msg.sender).registerTime != 0, "DID not registered");
// 验证签名是否合法
require(didRegistry.verifySignature(msg.sender, merkleRoot, signature), "Invalid signature");
proofs[taskId] = ProofInfo({
merkleRoot: merkleRoot,
signature: signature,
ipfsCid: ipfsCid,
did: msg.sender,
timestamp: block.timestamp,
isValid: true
});
emit ProofSubmitted(taskId, merkleRoot, msg.sender, ipfsCid);
}
// 验证执行日志
function verifyLog(
bytes32 taskId,
bytes32[] calldata proof,
bytes32 leaf
) external view returns (bool) {
require(proofs[taskId].isValid, "Proof is invalid");
return proof.verify(proofs[taskId].merkleRoot, leaf);
}
// 标记证明无效(仅违规时调用)
function invalidateProof(bytes32 taskId) external onlyOwner {
require(proofs[taskId].timestamp != 0, "Proof not exists");
proofs[taskId].isValid = false;
emit ProofVerified(taskId, false);
}
}
合约部署步骤
- 安装Hardhat并初始化项目:
npm init -y && npm install --save-dev hardhat @nomicfoundation/hardhat-toolbox - 配置Hardhat的Polygon测试网RPC和私钥
- 部署DIDRegistry合约,记录合约地址
- 部署ExecutionProof合约,传入DIDRegistry的地址
- 调用DIDRegistry的
registerDID方法注册你的Harness的DID身份
步骤4:AI Agent Harness开发
我们基于LangChain框架改造AI Agent Harness,添加日志采集、默克尔树生成、链上存证等核心功能,Python代码如下:
4.1 依赖安装
pip install langchain openai web3 pycryptodome python-dotenv ipfshttpclient merkly
4.2 核心代码实现
import os
import json
import time
import hashlib
from dotenv import load_dotenv
from web3 import Web3
from langchain.agents import AgentExecutor, create_openai_tools_agent
from langchain_openai import ChatOpenAI
from langchain.tools import tool
from langchain_core.prompts import ChatPromptTemplate
from merkly.mtree import MerkleTree
import ipfshttpclient
# 加载环境变量
load_dotenv()
RPC_URL = os.getenv("POLYGON_RPC_URL")
PRIVATE_KEY = os.getenv("HARNESS_PRIVATE_KEY")
DID_REGISTRY_ADDRESS = os.getenv("DID_REGISTRY_ADDRESS")
PROOF_CONTRACT_ADDRESS = os.getenv("PROOF_CONTRACT_ADDRESS")
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
IPFS_URL = os.getenv("IPFS_URL")
# 初始化链连接
w3 = Web3(Web3.HTTPProvider(RPC_URL))
harness_address = w3.eth.account.from_key(PRIVATE_KEY).address
with open("abi/DIDRegistry.json") as f:
did_abi = json.load(f)
with open("abi/ExecutionProof.json") as f:
proof_abi = json.load(f)
did_contract = w3.eth.contract(address=DID_REGISTRY_ADDRESS, abi=did_abi)
proof_contract = w3.eth.contract(address=PROOF_CONTRACT_ADDRESS, abi=proof_abi)
# 初始化IPFS客户端
ipfs_client = ipfshttpclient.connect(IPFS_URL)
# 定义Agent工具
@tool
def calculate_sum(start: int, end: int) -> int:
"""计算从start到end的整数和"""
return sum(range(start, end+1))
@tool
def get_public_data(data_id: str) -> str:
"""获取公开数据,data_id是数据的唯一标识"""
# 模拟从公开数据源获取数据
mock_data = {"user_count_2024": "120000", "income_2024": "45000000"}
return mock_data.get(data_id, "not found")
tools = [calculate_sum, get_public_data]
# 初始化Agent
llm = ChatOpenAI(model="gpt-3.5-turbo", api_key=OPENAI_API_KEY)
prompt = ChatPromptTemplate.from_messages([
("system", "你是一个可信的AI Agent,必须严格按照用户的要求执行任务,所有操作都会被记录存证。"),
("user", "{input}"),
("agent_scratchpad", "{agent_scratchpad}")
])
agent = create_openai_tools_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
class TrustedHarness:
def __init__(self):
self.execution_logs = []
self.task_id = None
def _log_step(self, step_type: str, input_data: any, output_data: any, timestamp: int = None):
"""记录执行步骤"""
if timestamp is None:
timestamp = int(time.time())
log_item = {
"step_type": step_type,
"input": input_data,
"output": output_data,
"timestamp": timestamp
}
self.execution_logs.append(log_item)
return hashlib.sha256(json.dumps(log_item, sort_keys=True).encode()).hexdigest()
def _generate_merkle_root(self) -> tuple[str, MerkleTree]:
"""生成默克尔根"""
leaf_hashes = []
for log in self.execution_logs:
log_hash = hashlib.sha256(json.dumps(log, sort_keys=True).encode()).digest()
leaf_hashes.append(log_hash)
mtree = MerkleTree(leaf_hashes)
return mtree.root.hex(), mtree
def _sign_data(self, data_hash: str) -> str:
"""对数据哈希签名"""
message = w3.solidity_keccak(["bytes32"], [bytes.fromhex(data_hash)])
signed_message = w3.eth.account.sign_message(
w3.eth.account.hash_message(message),
private_key=PRIVATE_KEY
)
return signed_message.signature.hex()
def _upload_logs_to_ipfs(self) -> str:
"""上传日志到IPFS"""
log_str = json.dumps(self.execution_logs, indent=2)
res = ipfs_client.add_str(log_str)
return res
def _submit_proof_to_chain(self, merkle_root: str, signature: str, ipfs_cid: str) -> str:
"""提交存证到链上"""
task_id_bytes = bytes.fromhex(self.task_id.replace("0x", ""))
merkle_root_bytes = bytes.fromhex(merkle_root.replace("0x", ""))
signature_bytes = bytes.fromhex(signature.replace("0x", ""))
tx = proof_contract.functions.submitProof(
task_id_bytes,
merkle_root_bytes,
signature_bytes,
ipfs_cid
).build_transaction({
"from": harness_address,
"nonce": w3.eth.get_transaction_count(harness_address),
"gas": 300000,
"gasPrice": w3.to_wei("30", "gwei")
})
signed_tx = w3.eth.account.sign_transaction(tx, private_key=PRIVATE_KEY)
tx_hash = w3.eth.send_raw_transaction(signed_tx.rawTransaction)
receipt = w3.eth.wait_for_transaction_receipt(tx_hash)
return receipt.transactionHash.hex()
def execute_task(self, task_id: str, task_prompt: str) -> dict:
"""执行任务的主入口"""
self.task_id = task_id
self.execution_logs = []
# 记录任务开始
self._log_step("task_start", {"task_id": task_id, "prompt": task_prompt}, {"status": "started"})
# 执行Agent任务
try:
result = agent_executor.invoke({"input": task_prompt})
# 记录任务结果
self._log_step("task_finish", {}, {"result": result["output"], "status": "success"})
except Exception as e:
self._log_step("task_finish", {}, {"error": str(e), "status": "failed"})
return {"status": "failed", "error": str(e)}
# 生成默克尔根
merkle_root, mtree = self._generate_merkle_root()
# 签名
signature = self._sign_data(merkle_root)
# 上传日志到IPFS
ipfs_cid = self._upload_logs_to_ipfs()
# 提交存证到链上
tx_hash = self._submit_proof_to_chain(merkle_root, signature, ipfs_cid)
return {
"task_id": task_id,
"status": "success",
"result": result["output"],
"merkle_root": merkle_root,
"signature": signature,
"ipfs_cid": ipfs_cid,
"chain_tx_hash": tx_hash,
"execution_logs": self.execution_logs
}
def verify_execution(self, task_id: str, merkle_root: str, signature: str, logs: list) -> bool:
"""验证执行是否合法"""
# 验证日志的默克尔根是否匹配
leaf_hashes = []
for log in logs:
log_hash = hashlib.sha256(json.dumps(log, sort_keys=True).encode()).digest()
leaf_hashes.append(log_hash)
mtree = MerkleTree(leaf_hashes)
if mtree.root.hex() != merkle_root:
return False, "Merkle root mismatch"
# 验证签名是否合法
message = w3.solidity_keccak(["bytes32"], [bytes.fromhex(merkle_root)])
signer = w3.eth.account.recover_message(
w3.eth.account.hash_message(message),
signature=bytes.fromhex(signature.replace("0x", ""))
)
if signer != harness_address:
return False, "Invalid signature"
# 验证链上存证是否存在
task_id_bytes = bytes.fromhex(task_id.replace("0x", ""))
proof_info = proof_contract.functions.getProof(task_id_bytes).call()
if proof_info[0].hex() != merkle_root:
return False, "Proof not exist on chain"
return True, "Execution is valid"
# 测试
if __name__ == "__main__":
harness = TrustedHarness()
task_id = hashlib.sha256(f"test_task_{int(time.time())}".encode()).hexdigest()
result = harness.execute_task(task_id, "计算1到100的和,然后获取2024年的用户数量,把两个结果相加返回")
print("执行结果:", json.dumps(result, indent=2))
# 验证执行
is_valid, reason = harness.verify_execution(task_id, result["merkle_root"], result["signature"], result["execution_logs"])
print("验证结果:", is_valid, reason)
4.3 执行流程说明
- 用户提交任务后,Harness首先记录任务开始日志
- 执行Agent的过程中,每一步工具调用、决策都会被自动记录
- 执行完成后,Harness生成所有日志的默克尔根,用私钥签名
- 原始日志上传到IPFS,默克尔根、签名、IPFS CID提交到链上存证
- 验证时,用户可以从IPFS下载原始日志,计算默克尔根和链上的对比,同时验证签名的合法性,确认执行过程没有被篡改
步骤5:自定义与交互增强
5.1 自定义执行规则
你可以通过修改_log_step方法调整日志采集的粒度,比如对于高安全要求的场景,记录每一步模型的输入输出Token;对于普通场景,只记录工具调用和最终结果即可,平衡存证成本和安全性。
5.2 交互事件回调
你可以添加事件回调功能,当执行完成、验证通过、验证失败时,自动触发对应的业务逻辑:
def on_execution_finish(task_id: str, status: str, tx_hash: str):
# 调用业务系统的回调接口,通知任务完成
import requests
requests.post(os.getenv("CALLBACK_URL"), json={
"task_id": task_id,
"status": status,
"tx_hash": tx_hash
})
5.3 多Agent协作支持
你可以扩展Harness支持多Agent协作,每个Agent的执行日志都单独存证,最后生成统一的协作默克尔根提交到链上,实现多主体协作的全链路可信。
进阶探讨
1. 隐私保护优化:零知识证明的应用
如果你的执行日志包含敏感信息,不想公开到IPFS,可以用零知识证明(ZK-SNARKs)替代默克尔树存证:把执行过程的约束写成ZK电路,执行完成后生成证明,链上只验证证明,不需要公开原始日志,既保证可信又保护隐私。推荐使用Noir或Circom开发ZK电路。
2. 性能优化:海量日志的处理
当执行日志量超过10万条时,默克尔树的生成会变慢,可以采用分层默克尔树的方案:把日志按时间分片,每个分片生成一个子默克尔根,再把子默克尔根作为叶子生成总默克尔根,只把总默克尔根上链,验证时只需要验证对应分片的子树即可。
3. 跨链协作
如果你的业务需要跨链存证,可以接入LayerZero或CCIP跨链消息协议,把存证信息同步到多条链上,满足不同主体的验证需求。
4. 通用可信Harness组件封装
你可以把上述功能封装成通用的Python库或Docker镜像,其他开发者只需要引入库,不需要关心区块链底层细节,就可以快速把自己的AI Agent改造成可信Agent。
总结
要点回顾
- AI Agent Harness是Agent的执行管控层,负责全生命周期的执行监控与审计
- 区块链的分布式账本、非对称加密、智能合约特性,刚好解决AI Agent执行的信任问题
- 我们的方案采用「链下执行、链上存证」的架构,仅把默克尔根上链,平衡了可信性、成本、效率三个核心指标
- 完整的落地流程包括:智能合约开发、Harness改造、存证流程实现、验证功能开发四个步骤
成果展示
通过本文的实战,我们实现了一个满足可追溯、不可篡改、身份可信、权责清晰四个核心特性的可信AI Agent执行体系,可直接应用于金融风控、供应链质检、版权存证、政务审计等高信任要求的场景。
展望
未来随着AI Agent的规模化落地,可信执行将成为AI应用的标配能力,区块链+AI的组合将创造出更多全新的商业模式,比如分布式AI协作网络、AI服务的可信交易市场、AI生成内容的版权自动确权等。
行动号召
如果你在实践过程中遇到任何问题,或者有更好的优化思路,欢迎在评论区留言讨论!你也可以基于本文的代码,扩展支持更多Agent框架、更多链、零知识证明等功能,打造属于自己的可信AI Agent产品。
如果本文对你有帮助,欢迎点赞、收藏、转发给更多需要的朋友~
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)