合约Agent(免费版)
概述
AI Agent越来越多地参与到真实商业交易中——一个Agent调用另一个Agent的API、一个Agent采购另一个Agent的数据集、多个Agent协作完成项目并按里程碑分账。但Agent之间的交易长期缺乏"信任基础设施":要么依赖人工合同(违背自动化初衷)、要么完全无保障(一方违约另一方无从追责)。
合约Agent正是为Agent之间的商业交易提供法律与金融层。它让两个Agent在数秒内完成合约签署、按里程碑触发付款、产生纠纷时有标准化处理流程,全程无需人类介入。
本免费版支持单组织内的Agent合约协作,足以覆盖小型项目的合约需求。如需多方合约、跨组织协作、企业级纠纷仲裁等高级能力,可升级至专业版。
核心能力
能力1:Agent身份与数字签名
每个Agent注册时生成RSA 2048位密钥对,公钥作为身份标识,私钥用于签名:
输入格式
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 合约Agent免费版处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
// 注册Agent身份
const provider = await sdk.identity.registerAgent(
'数据提供者',
['data-processing', 'analytics']
);
// ...
// 输出:identity_id, public_key, private_key(私钥需安全存储)
签名验证基于公钥密码学,确保合约签署方身份真实、签署内容不可篡改。
输入: 用户提供能力1:Agent身份与数字签名所需的指令和必要参数。 处理: 解析能力1:Agent身份与数字签名的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回能力1:Agent身份与数字签名的响应数据,包含状态码、结果和日志。
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
能力2:合约生命周期管理
完整覆盖合约从草稿到完成的五个阶段:
| 阶段 | 状态 | 触发动作 |
|---|---|---|
| 草稿 | draft | 任一方创建合约 |
| 待签 | pending | 草稿提交至对方 |
| 已签 | signed | 双方完成数字签名 |
| 生效 | active | 双方签署后自动激活 |
| 完成 | completed | 所有里程碑交付 |
输入: 用户提供能力2:合约生命周期管理所需的指令和必要参数。 处理: 解析能力2:合约生命周期管理的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回能力2:合约生命周期管理的响应数据,包含状态码、结果和日志。
能力3:里程碑式执行
合约按里程碑拆分,每个里程碑有独立交付物与验收标准:
const contract = await sdk.contracts.create({
title: '数据处理服务',
parties: { provider: agentA, consumer: agentB },
payment: {
amount: 5000,
currency: 'USD',
structure: 'milestone'
},
milestones: [
{ id: 1, name: '数据采集', amount: 1000, deliverable: 'raw_data.csv' },
{ id: 2, name: '清洗加工', amount: 2000, deliverable: 'clean_data.csv' },
{ id: 3, name: '分析报告', amount: 2000, deliverable: 'report.pdf' }
]
});
输入: 用户提供能力3:里程碑式执行所需的指令和必要参数。 处理: 解析能力3:里程碑式执行的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回能力3:里程碑式执行的响应数据,包含状态码、结果和日志。
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
能力4:托管账户资金管理
付款方将资金存入托管账户,按里程碑自动释放:
- 资金存入即锁定,付款方无法撤回
- 里程碑验收通过后,对应金额自动释放给收款方
- 双方发生纠纷时,资金冻结至纠纷解决
输入: 用户提供能力4:托管账户资金管理所需的指令和必要参数。 处理: 解析能力4:托管账户资金管理的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回能力4:托管账户资金管理的响应数据,包含状态码、结果和日志。
能力5:结构化纠纷处理
任一方可提出纠纷,提交加密哈希后的证据:
await sdk.disputes.raise({
contractId: 'contract_xxx',
raisedBy: 'agentB',
reason: 'milestone_2_deliverable_incomplete',
evidence: [
{ type: 'log', hash: 'sha256:abc...' },
{ type: 'screenshot', hash: 'sha256:def...' }
]
});
输入: 用户提供能力5:结构化纠纷处理所需的指令和必要参数。 处理: 解析能力5:结构化纠纷处理的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回能力5:结构化纠纷处理的响应数据,包含状态码、结果和日志。 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:自主协商、执行商业合约、提供身份认证与里、程碑式托管支付、是一套面向、之间商业协作的智、能合约工具、能够自主完成合约、数字签署、里程碑执行与资金、托管释放全流程、之间的商业交易提、供法律与金融基础、核心能力、身份系统与数字签、模板化合约创建、完成全生命周期、里程碑式资金托管、与自动释放、结构化纠纷提出与、证据提交等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
使用场景
场景1:Agent API服务市场
Agent A提供翻译API,Agent B按调用量付费。使用合约Agent:
- 双方签署按量计费合约
- 每万次调用作为一个里程碑
- 调用计数达到后自动触发付款
场景2:多Agent项目协作
三个Agent协作完成数据分析项目:
- Agent A负责数据采集
- Agent B负责清洗
- Agent C负责分析报告
- 三方合约按里程碑分阶段付款
场景3:数据集交易
Agent A出售行业数据集给Agent B:
- 合约中明确数据规格、字段数量、质量标准
- 资金托管至B验收数据质量后释放
- 如数据不达标,B可提出纠纷
场景4:Agent能力众包
平台方发布任务,多个Agent竞标:
- 中标Agent与平台签署合约
- 按里程碑交付成果
- 验收通过后自动付款
场景5:长期服务协议
Agent A为Agent B提供长期监控服务:
- 月度合约定额计费
- SLA未达标自动扣款
- 双方可按月续约或终止
不适用场景
以下场景合约Agent免费版不适合处理:
- 需要100%确定性的关键决策
- 医疗诊断
- 法律判决
触发条件
需要AI模型调用、智能对话、Agent编排、LLM应用时使用。不适用于非本工具能力范围的需求。
快速开始
- 阅读## 核心能力章节了解skill功能
- 按## 依赖说明配置环境
- 执行所需能力对应的命令
- 参考## 错误处理章节处理异常
- 查看## FAQ解答常见疑问
60秒上手
# 依赖说明
npm install contract-agent
# ...
# 2. 初始化SDK
contract-agent init --storage sqlite
# ...
# 3. 注册第一个Agent
contract-agent agent register \
--name "我的服务Agent" \
--capabilities "data-processing"
# ...
# 4. 创建第一份合约
contract-agent contract create \
--provider agent_xxx \
--consumer agent_yyy \
--title "数据处理服务协议" \
--amount 1000 \
--with-escrow
# ...
# 5. 查看合约看板
contract-agent dashboard --agent agent_xxx
示例
import ContractAgent from 'contract-agent';
// ...
const sdk = new ContractAgent({ storage: 'sqlite' });
// ...
async function main() {
// 注册双方
const provider = await sdk.identity.registerAgent('提供方', ['data-processing']);
const consumer = await sdk.identity.registerAgent('消费方', ['analytics']);
// ...
// 创建带托管的合约
const result = await sdk.createContractWithEscrow(
provider.data.identity,
consumer.data.identity,
{
title: '数据处理服务',
service: { type: 'data-processing', specification: 'CSV清洗' },
payment: { amount: 1000, currency: 'USD', structure: 'milestone' },
timeline: { duration: 30 }
}
);
// ...
console.log('合约已创建:', result.contractId);
}
// ...
main();
配置示例
示例1:本地SQLite存储(开发环境)
storage:
backend: sqlite
path: ./data/contracts.db
示例2:基础合约模板
const template = {
title: 'API服务协议',
parties: {
provider: { id: 'agent_api_seller', capabilities: ['api-service'] },
consumer: { id: 'agent_api_buyer', capabilities: ['api-call'] }
},
service: {
type: 'api-service',
specification: 'REST API, 1000 calls/month',
sla: '99.5% uptime'
},
payment: {
amount: 200,
currency: 'USD',
structure: 'monthly',
method: 'escrow'
},
timeline: {
duration: 365, // 天
renewal: 'auto'
},
milestones: [
{ name: '首月服务', amount: 200, deliverable: 'usage_report' }
],
dispute_resolution: {
arbitrator: 'human',
timeout_days: 7
}
};
示例3:纠纷证据提交
await sdk.disputes.submitEvidence({
disputeId: 'dispute_xxx',
submittedBy: 'agent_consumer',
evidence: [
{
type: 'api_log',
content: JSON.stringify({ calls: 800, errors: 50 }),
hash: 'sha256:abc123...'
},
{
type: 'screenshot',
content: 'base64:iVBOR...',
hash: 'sha256:def456...'
}
]
});
最佳实践
实践1:私钥存储安全
私钥是Agent身份的根本,泄露即等于身份被盗。建议:
- 存储于企业密钥管理服务(HashiCorp Vault/AWS KMS)
- 不写入版本控制
- 定期轮换密钥(建议每90天)
- 生产环境使用HSM硬件模块
实践2:合约条款可机器解析
合约条款尽量用结构化字段而非自然语言:
- 用
sla: '99.5%'而非"高可用" - 用
delivery_format: 'csv'而非"标准格式" - 用
penalty_per_day: 50而非"逾期罚款"
实践3:里程碑拆细
单个里程碑金额建议不超过合约总价的30%。里程碑拆细的好处:
- 单次验收风险可控
- 提供方能持续获得正向反馈
- 纠纷时影响范围小
实践4:测试环境先行
任何合约上线前,先在staging环境跑完整流程(创建-签署-执行-纠纷),确保逻辑无bug后再切到生产。
实践5:定期审计合约
每季度审计一次在执行的合约:
- 长期未推进的合约主动终止
- 已完成但未归档的合约归档
- 资金长期滞留托管的合约介入处理
常见问题
Q1:免费版支持多少个Agent身份?
A:本免费版单组织内支持最多10个Agent身份注册,足以覆盖小型项目协作。
Q2:合约数据存储在哪里?
A:免费版默认使用SQLite本地存储,存储于 ./data/contracts.db。
Q3:发生纠纷如何处理?
A:任一方提交纠纷与证据,进入7天冷却期。冷却期内双方协商解决;逾期未解决需人工介入。
Q4:能否对接外部支付系统?
A:免费版仅支持模拟托管账户。如需对接真实支付网关(Stripe/支付宝),需升级至专业版。
Q5:数字签名是否具有法律效力?
A:根据《电子签名法》与多国电子签名法规,符合技术标准的数字签名具有法律效力。本工具使用RSA 2048位签名,满足技术要求。但具体法律效力还需结合合约条款与司法管辖区判断。
错误处理
| 错误场景(现象) | 可能原因 | 排查步骤 | 处理方式 |
|---|---|---|---|
| Agent注册失败 | 密钥已存在 | 检查 ./data/keys/ 目录 | 对照依赖说明章节逐项验证配置项,确认环境变量已正确设置后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
| 合约创建失败 | 双方未注册 | 确认 provider/consumer ID | 对照依赖说明章节逐项验证配置项,确认环境变量已正确设置后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
| 签名验证失败 | 私钥不匹配 | 检查私钥文件路径 | 对照依赖说明章节逐项验证配置项,确认环境变量已正确设置后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
| 资金释放失败 | 里程碑未验收 | 检查 deliverable 是否已上传 | 对照依赖说明章节逐项验证配置项,确认环境变量已正确设置后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
| 纠纷提交失败 | 证据哈希错误 | 重新计算 SHA-256 哈希 | 对照依赖说明章节逐项验证配置项,确认环境变量已正确设置后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
| 数据库锁死 | 并发写入冲突 | 重启服务,检查SQLite锁 | 对照依赖说明章节逐项验证配置项,确认环境变量已正确设置后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
依赖说明
运行环境
- Agent平台:支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- 操作系统:Windows / macOS / Linux
- Node.js:18+(运行SDK)
- Python:3.10+(可选,用于审计脚本)
第三方依赖
| 依赖项 | 类型 | 是否必需 | 获取方式 | 版本要求 |
|---|---|---|---|---|
| Node.js | 运行时 | 必需 | 官方下载 | 18+ |
| npm | 包管理 | 必需 | 随Node.js安装 | 9+ |
| SQLite | 数据库 | 必需 | 随SDK自带 | 3.x |
| crypto | 加密库 | 必需 | Node.js内置 | - |
| LLM API | API | 必需 | 由Agent平台内置LLM提供 | 不限 |
API Key 配置
- 本工具基于本地SDK,无需额外API Key
- 私钥文件存储于
./data/keys/目录(需自行加密保护) - 禁止:将私钥文件提交至版本控制系统
可用性分类
- 分类:MD+EXEC(Markdown指令 + 命令行工具 + SDK)
- 说明:核心合约操作通过SDK/CLI完成,需Node.js运行时
已知限制
本免费体验版限制以下高级功能:
- ❌ 跨组织Agent协作(仅支持单组织内)
- ❌ 多方合约(超过2方的复杂合约)
- ❌ 真实支付网关对接(Stripe/支付宝/微信支付)
- ❌ AI仲裁员自动纠纷裁决
- ❌ 合约模板市场与共享
- ❌ 企业级审计与合规报告
- ❌ 高可用部署与跨节点同步
解锁全部功能请使用专业版:contract-agent-pro
输出格式
{
"success": true,
"data": {
"result": "合约Agent免费版处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "contract agent"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
评论
加载中…