跳转到内容

架构深度解析

本指南深入讲解 Rotifer 协议的架构设计,涵盖 URAA 五层体系、适应度模型、Arena 竞技机制、Agent 生命周期以及绑定架构。

通用轮虫自治架构(URAA)将关注点分离为五个不可变层。每层承担单一职责,层间仅通过标准化接口通信。

┌─────────────────────────────────────────────────┐
│ L4: 集体免疫层 — 物种记忆 │
├─────────────────────────────────────────────────┤
│ L3: 竞争与交换层 — 选择压力 │
├─────────────────────────────────────────────────┤
│ L2: 校准层 — 免疫系统 │
├─────────────────────────────────────────────────┤
│ L1: 合成层 — 基因表达 │
├─────────────────────────────────────────────────┤
│ L0: 内核层 — 不可变信任锚 │
└─────────────────────────────────────────────────┘

信任根基。L0 强制执行不可变约束,任何高层均无法覆盖

  • 约束执行:每个基因执行前必须通过 L0 检查(权限、资源限制、伦理边界)
  • 状态锚定:Agent 状态压缩为固定大小摘要,防篡改持久化
  • 权限隔离:基因在隔离的权限域中运行——不可跨基因访问状态

在 Playground 中,L0 通过 WASM 沙箱实现,具备燃料计量和内存上限。

协议的”核糖体”——将原始输入转化为标准化基因片段并执行。

  • WASM 沙箱wasmtime 引擎,可配置燃料(指令预算)、内存限制和纪元中断
  • IR 编译器:基因编译为 Rotifer IR(WASM + 自定义段:rotifer.versionrotifer.phenotyperotifer.constraintsrotifer.metering
  • 双执行模式:Direct(express 导出)和 WASI(_start 入口点)

受胸腺选择启发的多阶段验证:

  1. 静态分析:Schema 验证、导出检查、禁止指令检测
  2. 沙箱模拟rotifer test 在隔离环境中用示例输入运行基因
  3. 受控试运行:逐步部署到 Agent 子集(未来)

两种机制驱动进化:

  • Arena(竞技场):同域基因按适应度 F(g) 竞争。本地和云端维护排名。基因根据适应度自动被选中。
  • 水平逻辑传递(HLT):高适应度基因元数据通过 P2P 传播。Agent 根据能力缺口拉取基因。(v0.5 为基础阶段,v0.6+ 完整实现)

网络级防御和模式检测:

  • 恶意基因指纹在网络中广播
  • 防御策略在 Agent 间共享
  • 时间衰减确保过期威胁数据失效
  • 共识验证的写入操作防止误报

每个基因有可量化的适应度分数。适应度函数组合多个指标:

F(g) = w₁·成功率 + w₂·延迟评分 + w₃·资源效率 + w₄·安全评分
其中:
成功率 = 成功调用次数 / 总调用次数
延迟评分 = 1 - (平均延迟 / 最大可接受延迟)
资源效率 = 1 - (消耗燃料 / 燃料预算)
安全评分 = L0 约束检查得出的 V(g)

基因进入 Arena 前必须达到最低适应度阈值:

  • Wrapped 保真度基因:F(g) >= 0.3
  • Native 保真度基因:F(g) >= 0.5

在 Playground 中,适应度从基因内容哈希确定性计算,确保无需运行时执行即可获得一致排名。

安全评分评估基因对 L0 约束的合规程度:

V(g) = 约束合规率 × 权限评分 × 资源评分
其中:
约束合规率 = 通过检查数 / 总检查数
权限评分 = 在声明权限内为 1.0,否则扣分
资源评分 = 在限制内为 1.0,超出按比例缩放

信誉在瞬时适应度之上增加了时间衰减的信任信号:

R(g) = α·Arena评分 + β·使用评分 + γ·稳定性评分
其中:
α = 0.5, β = 0.3, γ = 0.2
Arena评分 = F(g) 历史,按时间近度加权
使用评分 = log(下载量 + 1) / log(1000),上限 1.0
稳定性评分 = 总调用次数 / 100,上限 1.0

时间衰减防止信誉凝固:

R(g, t) = R(g, t-1) × (1 - 0.05) // 每月衰减 5%,下限 0.01

开发者信誉

R(d) = avg(R(g_i)) + 社区奖励 // 奖励 = min(竞技场胜场 × 0.02, 0.2)

Arena 以纪元为单位运行。每个纪元内:

  1. 基因通过 rotifer arena submit 提交
  2. 计算适应度 F(g)(Playground 模式中从内容哈希估算)
  3. 基因在其领域内排名
  4. 排名靠前的基因被选中用于 Agent 表达
  5. 多样性机制防止单一化(多样性低于阈值时纪元重置)

基因仅在其声明的 domain 内竞争(如 search.webcode.format)。跨域基因不相互竞争。

云端 Arena 将竞争扩展到跨开发者:

  • rotifer arena submit --cloud 上传适应度结果到 Supabase
  • 服务端 get_arena_rankings() 生成全局排名
  • 信誉分数 R(g)F(g)V(g) 并列显示

Agent 经历四个状态:

Created → Active → Suspended → Terminated
Suspended

Agent 运行时,从其基因组中选择基因,使用组合代数执行:

  1. 手动选择--genes gene1,gene2,gene3
  2. 自动选择--domain search.web --top 3 从 Arena 选取排名最高的基因
  3. 管道执行:默认通过 Seq(顺序)组合基因

协议是绑定无关的。相同的基因 IR 可在任何绑定上运行:

┌───────────────────┐
│ Gene IR (WASM) │ ← 一次编写
├───────────────────┤
│ RotiferBinding │ ← 切换绑定
├─────┬──────┬──────┤
│本地 │云端 │Web3 │ ← 运行时目标
└─────┴──────┴──────┘
  • SQLite 存储,wasmtime 沙箱,本地 Arena
  • 自包含,无网络依赖
  • Supabase 后端(PostgreSQL + Storage + Auth + Realtime)
  • GitHub OAuth(PKCE 流程)
  • 发布/搜索/安装/Arena 的 REST API
  • 端点无关:通过 ~/.rotifer/cloud.json--endpoint 配置
  • Cloud-first 混合模型:云端 Registry 为主,P2P 为补充
  • 通过 GossipSub 协议广播基因元数据
  • 通过 Kademlia DHT 发现基因
  • 二进制传输推迟到 v0.6(当前使用云端 CDN)
  • 基于智能合约的约束执行
  • 链上信誉和适应度记录
  • 代币激励的基因市场

完整的基因生命周期:

开发者编写基因
→ rotifer scan(发现候选函数)
→ rotifer wrap(生成 Phenotype)
→ rotifer test(L2 沙箱验证)
→ rotifer compile(WASM + IR 自定义段)
→ rotifer arena submit(本地排名)
→ rotifer publish(云端 Registry)
→ rotifer arena submit --cloud(全局排名)
→ 其他开发者:rotifer search + rotifer install
→ 信誉积累:R(g) 随使用增长
→ P2P 网络广播基因元数据