架构深度解析
本指南深入讲解 Rotifer 协议的架构设计,涵盖 URAA 五层体系、适应度模型、Arena(竞技场)机制、Agent 生命周期以及 Binding(绑定)架构。
URAA 五层架构
Section titled “URAA 五层架构”通用轮虫自治架构(URAA)将关注点分离为五个不可变层。每层承担单一职责,层间仅通过标准化接口通信。
┌─────────────────────────────────────────────────┐│ L4: 集体免疫层 — 物种记忆 │├─────────────────────────────────────────────────┤│ L3: 竞争与交换层 — 选择压力 │├─────────────────────────────────────────────────┤│ L2: 校准层 — 免疫系统 │├─────────────────────────────────────────────────┤│ L1: 合成层 — 基因表达 │├─────────────────────────────────────────────────┤│ L0: 内核层 — 不可变信任锚 │└─────────────────────────────────────────────────┘L0: 内核层 — 遗传密码
Section titled “L0: 内核层 — 遗传密码”信任根基。L0 强制执行不可变约束,任何高层均无法覆盖。
- 约束执行:每个 Gene(基因)执行前必须通过 L0 检查(权限、资源限制、伦理边界)
- 状态锚定:Agent 状态压缩为固定大小摘要,防篡改持久化
- 权限隔离:Gene 在隔离的权限域中运行——不可跨 Gene 访问状态
在 Playground 中,L0 通过 WASM 沙箱实现,具备燃料计量和内存上限。
L1: 合成层 — 蛋白质合成
Section titled “L1: 合成层 — 蛋白质合成”协议的”核糖体”——将原始输入转化为标准化 Gene 片段并执行。
- WASM 沙箱:
wasmtime引擎,可配置燃料(指令预算)、内存限制和纪元中断 - IR 编译器:Gene 编译为 Rotifer IR(WASM + 自定义段:
rotifer.version、rotifer.phenotype、rotifer.constraints、rotifer.metering) - 双执行模式:Direct(
express导出)和 WASI(_start入口点)
L2: 校准层 — 免疫系统
Section titled “L2: 校准层 — 免疫系统”受胸腺选择启发的多阶段验证:
- 静态分析:Schema 验证、导出检查、禁止指令检测
- 沙箱模拟:
rotifer test在隔离环境中用示例输入运行 Gene - 受控试运行:逐步部署到 Agent 子集(未来)
L3: 竞争与交换层 — 选择与转移
Section titled “L3: 竞争与交换层 — 选择与转移”两种机制驱动进化:
- Arena:同域 Gene 按适应度
F(g)竞争。本地和云端维护排名。Gene 根据适应度自动被选中。 - 水平逻辑传递(HLT):高适应度 Gene 元数据在 Agent 间传播。Agent 根据能力缺口拉取 Gene。(当前通过 Cloud Registry;基于 libp2p 的 P2P 传播计划在 v0.9 实现)
L4: 集体免疫层 — 物种记忆
Section titled “L4: 集体免疫层 — 物种记忆”网络级防御和模式检测:
- 恶意 Gene 指纹在网络中广播
- 防御策略在 Agent 间共享
- 时间衰减确保过期威胁数据失效
- 共识验证的写入操作防止误报
适应度模型 F(g)
Section titled “适应度模型 F(g)”每个 Gene 有可量化的适应度分数。适应度函数使用乘法模型——任何单一因子为零将导致总分为零,避免弱维度被强维度掩盖:
| 符号 | 定义 |
|---|---|
| 成功率(成功调用次数 / 总调用次数) | |
| 覆盖利用率 [0, 1] | |
| 鲁棒性评分 [0, 1] | |
| 归一化延迟评分 | |
| 归一化资源消耗(燃料、内存) |
这种设计确保成功率为 0 的 Gene 总分一定为零,无论其速度或效率多高。
Gene 进入 Arena 前必须通过双重阈值:
F(g) >= τ (0.3)— 最低适应度分数V(g) >= V_min (0.7)— 最低安全/验证分数
在 Playground 中,适应度从 Gene 内容哈希确定性计算,确保无需运行时执行即可获得一致排名。
安全评分 V(g)
Section titled “安全评分 V(g)”安全评分评估 Gene 对 L0 约束的合规程度:
V(g) = 约束合规率 × 权限评分 × 资源评分
其中: 约束合规率 = 通过检查数 / 总检查数 权限评分 = 在声明权限内为 1.0,否则扣分 资源评分 = 在限制内为 1.0,超出按比例缩放信誉系统 R(g) — v0.5
Section titled “信誉系统 R(g) — v0.5”信誉在瞬时适应度之上增加了更长期的信任信号:
R(g) = Arena评分、使用评分、稳定性评分的加权组合
其中: Arena评分 = F(g) 历史,按时间近度加权 使用评分 = 归一化下载量,上限 1.0 稳定性评分 = 归一化调用量,上限 1.0时间衰减为 v0.9 计划项,当前尚未启用。
创作者信誉:
R(d) = (Σ 正分 R(g_i) × ln(1+n)/n) + 社区奖励 // 奖励 = min(Arena 胜场 × 0.02, 0.2)Arena 竞技机制
Section titled “Arena 竞技机制”Arena 以纪元为单位运行。每个纪元内:
- Gene 通过
rotifer arena submit提交 - 计算适应度
F(g)(Playground 模式中从内容哈希估算) - Gene 在其领域内排名
- 排名靠前的 Gene 被选中用于 Agent 表达
- 多样性机制防止单一化(多样性低于阈值时纪元重置)
Gene 仅在其声明的 domain 内竞争(如 search.web、code.format)。跨域 Gene 不相互竞争。
云端 Arena
Section titled “云端 Arena”云端 Arena 将竞争扩展到跨创作者:
rotifer arena submit --cloud上传适应度结果到 Supabase- 服务端
get_arena_rankings()生成全局排名 - 信誉分数
R(g)与F(g)和V(g)并列显示
Agent 生命周期
Section titled “Agent 生命周期”Agent 经历四个状态:
Created → Active → Suspended → Terminated ↕ SuspendedGene 选择
Section titled “Gene 选择”Agent 运行时,从其 Genome(基因组)中选择 Gene,使用组合代数执行:
- 手动选择:
--genes gene1,gene2,gene3 - 自动选择:
--domain search.web --top 3从 Arena 选取排名最高的 Gene - 管道执行:默认通过
Seq(顺序)组合 Gene
Binding 架构
Section titled “Binding 架构”协议是 Binding 无关的。相同的 Gene IR 可在任何 Binding 上运行:
┌───────────────────┐│ Gene IR (WASM) │ ← 一次编写├───────────────────┤│ RotiferBinding │ ← 切换 Binding├─────┬──────┬──────┤│本地 │云端 │Web3 │ ← 运行时目标└─────┴──────┴──────┘本地 Binding (v0.1+)
Section titled “本地 Binding (v0.1+)”- SQLite 存储,
wasmtime沙箱,本地 Arena - 自包含,无网络依赖
云端 Binding (v0.4+)
Section titled “云端 Binding (v0.4+)”- Supabase 后端(PostgreSQL + Storage + Auth + Realtime)
- GitHub OAuth(PKCE 流程)
- 发布/搜索/安装/Arena 的 REST API
- 端点无关:通过
~/.rotifer/cloud.json或--endpoint配置
P2P Binding(基础阶段 — 真正的 P2P 计划于 v0.9)
Section titled “P2P Binding(基础阶段 — 真正的 P2P 计划于 v0.9)”- Cloud-first 混合模型:云端 Registry 为主,P2P 为未来补充
network announce、network discover、network pull命令已有基础阶段桩代码- Gene 发现当前通过 Cloud Registry,而非 P2P
- 真正的 P2P 网络将通过 rust-libp2p(Kademlia DHT + GossipSub)在 v0.9 实现
Web3 Binding(未来)
Section titled “Web3 Binding(未来)”- 基于智能合约的约束执行
- 链上信誉和适应度记录
- 代币激励的 Gene 市场
完整的 Gene 生命周期:
创作者编写 Gene → rotifer scan(发现候选函数) → rotifer wrap(生成 Phenotype) → rotifer test(沙箱验证) → rotifer compile(WASM + IR 自定义段) → rotifer arena submit(本地排名) → rotifer publish(云端 Registry) → rotifer arena submit --cloud(全局排名) → 其他创作者:rotifer search + rotifer install → 信誉积累:R(g) 随使用增长 → P2P 网络广播 Gene 元数据(v0.9 计划;当前仅 Cloud)