ARC:面向 AI 智能体的授权与审计协议开源
开发者发布 ARC 协议,用可移植签名记录统一 AI 智能体的授权、撤销、争议与审计机制,配套 14 个离线可执行示例。
一名开发者在 Hacker News 上展示了 ARC(Authority, Revocation, and Contestation)协议的开源实现。该协议与具体实现无关,旨在为 AI 智能体及其他委托系统定义一套统一的授权与审计语义:明确谁授予了权限、权限的具体范围、何时需要人工批准、撤销与争议如何处理,以及第三方如何在不依赖任何平台私有数据库的前提下重新计算审计结论。
提出背景:从智能体商业到通用授权问题
ARC 并非一开始就是通用协议项目,而是源于作者对「智能体商业」(agentic commerce)的探索。当研究扩展到购买、销售、委托、托管、争议与跨系统联邦等场景时,几类问题反复出现:
- 智能体可能在没有清晰权限边界的情况下执行动作;
- 有效的签名容易被误读为有效授权;
- 审批与最终执行的动作可能脱节;
- 撤销在不同系统间执行不一致;
- 一家公司的授权记录无法被另一方解读;
- 审计结果可能依赖隐藏策略或缓存状态。
作者认为,这些并非商业专属问题,而是「授权问题」的普遍表现,因此 ARC 把这些共性提炼为一个可复用的协议层。
协议核心模型
ARC 采用「事件 + 投影」(Event/Projection)模型,把信任、声誉、身份状态与当前权限都视为对一组已签名事件的命名投影计算结果,而不是存储为权威全局状态。
当前协议定义五种规范化事件类型:
- KEY:声明或变更与密钥相关的声明;
- ATTEST:记录已签名断言;
- AUTHORIZE:授予批准或限定范围的权限;
- CHALLENGE:对既有声明或动作提出争议;
- ADJUDICATE:在声明的权限下记录裁决。
事件之间可通过「nullifies」机制撤销或取代其未来效力,但历史签名记录仍然保留可审计。计算流程可以概括为:「已签名事件 → 命名投影 → 重新计算的授权或身份状态」。实现可以缓存投影结果以提升性能,但缓存永远不构成协议的真理之源。
五项核心承诺
ARC 在协议层面做出五项约束:
- 人本来源的授权:每一次关键动作都需要来自人工撰写 AUTHORIZE 事件的「当前覆盖」(Current Coverage);
- 限定范围的委托:权限可在智能体之间流转而不传递私钥,委托只能收紧、不能扩大自身范围;
- 可移植的授权记录:授权证据可跨系统携带,并按声明的 profile 进行评估;
- 不重写历史的撤销:未来授权可被移除,但过往签名记录仍可审计;
- 有界审计:观察者可基于可用签名证据核验结论,而不必把任一实现的缓存分数当作唯一真相。
快速开始与现状
ARC 协议已在 GitHub 开源(仓库:shuu-beep/arc-protocol),目前包含 14 个可在本地离线运行的 Python 验证示例,无需 API 密钥或数据库。
- 克隆仓库并运行
python3 run_demos.py,约 10 秒内可执行全部 14 个探针; - 通过
python3 run_demos.py --list查看每个探针的名称与一句话命题; - 每个示例都是
examples/目录下独立的小程序,并附带各自 README。
作者明确强调,ARC 本身不是 AI 模型、智能体运行时、市场平台、支付通道或全球声誉系统,而是上述系统可以共享的「授权与审计层」。项目仍处于早期阶段,作者在文档中列出了后续路线图与待讨论的协议边界问题,供社区进一步研究与反馈。
