女娲计划NÜWA 文档七 返回官网

女娲计划文档七:技术栈与Rust实现

7.1 技术栈选型原则

7.1.1 为什么选择Rust

女娲计划的核心组件——PURER循环、沙箱执行、内核级遏制、加密审计、基因重组——全部是系统级编程任务。Rust的零成本抽象、所有权语义和编译期内存安全保证,使其在构建高可靠性系统时具有结构性优势。

基于Python的AI代理框架面临生产瓶颈——全局解释器锁(GIL)竞争、内存开销以及脆弱的异步语义。Rust从架构层面解决了这些问题:通过Tokio的工作窃取调度器实现真正的并行性,单二进制分发带来最小内存占用,利用Rust的Future trait和Drop语义确保异步取消安全,以及通过派生宏在编译时保障工具类型安全性。

基准测试显示,内存减少5倍,与Python同类实现相比延迟提升25%至44%,冷启动时间更是提升数个数量级。截至2026年第一季度,一个以Rust原生AI代理框架为核心的生态系统已初具规模,由Rig(模块化大语言模型抽象)、AutoAgents(通过Ractor actor模型实现的多代理协同)和OpenFANG(一个号称拥有13.7万行生产级Rust代码的全功能"代理操作系统")主导。

7.1.2 选型约束

基于“能用Rust的不用Python和Go”的要求,本方案的全部核心组件用Rust实现。唯一的例外是LLM推理本身——模型推理通常由外部API或专用推理引擎(如vLLM)提供,Rust负责编排和调用。

7.2 核心crate映射

7.2.1 异步运行时与Agent编排

Tokio是Rust AI agent生态的 uncontested runtime foundation. 所有主流Rust AI agent框架(Rig、AutoAgents、OpenFANG、rs-agent、AxonerAI、agentai)都构建在Tokio之上.

fulcrum-rs是生产级AI agent框架,构建在Tokio actors、Rig、pgvector和graph-flow之上。其crate结构与本方案高度对应:

fulcrum crate 功能 女娲计划对应
fulcrum-core Agent loop, streaming, interrupt signals PURER循环引擎
fulcrum-providers LLM provider abstraction (OpenAI, Anthropic, Google, DeepSeek, Perplexity) 多模型路由层
fulcrum-memory Semantic search, curation, pgvector 语义记忆层
fulcrum-messaging Telegram, Discord, Slack, WhatsApp, Signal 外部通信层
fulcrum-scheduler Webhooks + cron job triggers 环境刺激调度器
fulcrum-tools Sandboxed file/shell tool execution 工具执行沙箱
fulcrum-guard Guardrails, RBAC, double-check 天眼遏制层
fulcrum-plugins Plugin/skill registry 灵根库
fulcrum-graph LangGraph bridge (graph-flow + Python sidecar) 分层规划器
fulcrum-api axum HTTP gateway 造化炉管理接口
fulcrum-assets Asset storage, presigned URLs (S3/MinIO/RustFS) 记忆存储后端
fulcrum-cli CLI client with OAuth device flow 人类监护者CLI

AutoAgents是另一个重要参考,提供multi-agent orchestration via the Ractor actor model. 其最新功能“LLM管道”引入了用于LLM推理的可组合中间件层. Provider features available on autoagents: openai, anthropic, openrouter, groq, google, azure_openai, ollama.

7.2.2 沙箱执行与内核安全

NVIDIA OpenShell是政策驱动的沙箱运行时,用Rust构建,使用Linux内核原语——Landlock LSM用于文件系统控制,seccomp BPF用于进程管理。每个agent在独立的容器化Pod中运行,操作范围在执行第一条指令前已被严格定义. 核心架构创新是out-of-process policy enforcement——与依赖agent自我调节的传统方法不同,OpenShell直接将约束应用于环境。由于这些策略是声明式的YAML文件,在基础设施层强制执行,被攻陷的agent无法覆盖它们.

Sandlock是另一个面向AI agent工作站的Rust进程沙箱,使用seccomp-bpf进行系统调用过滤,通过seccomp用户通知处理运行时依赖决策,包括TOCTOU-safe的execve参数检查.

lv-sandbox提供每个任务独立进程组,叠加Landlock(文件系统)+ seccomp(syscall, 仅AF_UNIX)+ cgroup v2(内存/CPU/pids/IO)+ rlimit + 进程加固 + 超时收割.

沙箱方案 核心技术 适用场景
OpenShell Landlock LSM + seccomp BPF + 容器化Pod 生产级Agent沙箱
Sandlock seccomp-bpf + 用户通知 短生命周期Agent代码执行
lv-sandbox Landlock + seccomp + cgroup v2 + rlimit 资源受限的命令执行
confinery-sandbox Landlock + seccomp + rlimits + capability dropping 包装AI助手和工具调用

7.2.3 记忆存储与向量检索

组件 推荐方案 说明
嵌入式KV存储 sled / redb 情景记忆和程序记忆的结构化存储
向量数据库 qdrant-client (Rust) / pgvector 语义记忆的高维向量检索
向量索引 instant-distance 轻量级向量检索,适用于资源受限场景

7.2.4 加密与审计

pqc-rs是标准驱动的后量子密码学Rust实现,覆盖ML-KEM(FIPS 203)、ML-DSA(FIPS 204)、SLH-DSA(FIPS 205)、HPKE(RFC 9180)和混合密钥建立. 其crate边界包括pqc-rs-core、pqc-rs-ml-kem、pqc-rs-ml-dsa、pqc-rs-slh-dsa和pqc-rs-hpke.

RustCrypto的ml-kem crate v0.3.0和ml-dsa crate v0.0.4是成熟的生产级选择。评估数据显示,在严重CPU节流(0.5 CPUs)下,RustCrypto实现相比clang编译的C实现,ML-KEM延迟开销为+42.4%,ML-DSA为+47.8%。额外开销完全归因于运行时初始化,加密核心路径中无可观察的动态内存分配.

ring和ed25519-dalek用于经典密码学操作(AES-256-GCM、Ed25519签名)。silentops crate提供无依赖的时序侧信道统计检测工具,支持ML-KEM和ML-DSA的时序测试。

7.2.5 TEE与远程证明

Teaclave TrustZone SDK(原Rust OP-TEE TrustZone SDK)提供在Rust中构建安全TrustZone应用的能力。SDK基于OP-TEE项目,遵循GlobalPlatform TEE规范,提供符合人体工程学的API,支持Rust标准库(std)和大量第三方crate. 提供两种开发模式:no-std和std.

Apache Teaclave是开源安全计算平台,使开发者能够使用Rust在Intel SGX、Arm TrustZone和其他TEE平台上构建内存安全的Trusted Applications,支持安全存储、远程证明和密钥管理.

7.2.6 基因型表示与进化引擎

agent-dna(Rust port: agent-dna-rs)提供基因表示(带值钳制和归一化的命名基因)、单点交叉(组合两个agent DNA序列)、可配置概率和幅度的突变、种群多样性度量(测量agent之间的遗传距离)以及随机DNA生成.

genetic-algorithms(genetic_algorithms 0.6.0)是Rust遗传算法库,提供简单框架实现遗传算法,支持多线程。核心元素包括Genotype(搜索空间)、Fitness function(搜索目标)、Strategy(搜索策略)和Evolve(进化策略).

flux-evolve是Rust自修改引擎,实现agent行为的进化引擎——管理可调参数及其突变率,跟踪适应度分数,支持激进/普通/精英进化模式,并提供完整的回滚能力。8种突变类型包括ParamAdjust、ThresholdShift、WeightRebalance等。Fitness模式包括Aggressive(低适应度)、Normal、Elite(高适应度——只有最差的才突变)。支持Revert & Rollback(撤销特定突变或回滚到某一代)和Bounded Parameters(每个行为都有min/max钳制和可配置突变率).

7.2.7 热重载

hot-lib-reloader允许在运行中的Rust程序里重载函数,基于libloading crate,需要将想要热重载的代码放在Rust库(dylib)中。支持“live programming”——修改代码并立即在运行中的程序里看到效果. 通过cargo generate模板rksm/rust-hot-reload可快速生成支持热重载的项目.

Subsecond(DioxusLabs)是另一个热补丁方案,将补丁编译为cdylib artifact,实现运行时热替换.

7.2.8 测试与验证

Spice是面向非确定性LLM agent的Rust测试框架。支持声明式测试套件,验证agent行为——调用哪些工具、传递什么参数、产生什么文本、是否保持在安全边界内。由于LLM输出是非确定性的,Spice开箱即用支持重试和共识模式。30+内置断言包括工具使用、参数验证、调用次数、顺序、轮次范围、安全允许列表和自定义闭包。支持LLM-as-judge、数据集扇出、分数(非仅通过/失败)、成本/延迟指标、基线差异、重试与共识、并发运行器、轨迹记录、JSON报告、安全断言和多轮支持.

Kedge是确定性AI agent执行与验证 harness,包含ReAct引擎、硬预算、Shadow-Guard拦截、MCP服务器、AST感知上下文压缩和SQLite重放.

IronClad AI Agent是安全设计、Rust原生的自主AI agent编排框架,采用Zero-Trust Three-Ring安全架构,在THUDM AgentBench上评估.

7.3 架构分层与crate对应

┌─────────────────────────────────────────────────────────────────────┐
│                        女娲计划 Rust Workspace                        │
│                                                                      │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  Genome Layer(基因型层)                                     │   │
│  │  · agent-dna-rs      → 基因表示、交叉、变异                   │   │
│  │  · serde + rmp-serde → 基因型序列化                          │   │
│  │  · ed25519-dalek     → 宪法锚点签名                          │   │
│  │  · pqc-rs            → ML-DSA量子安全签名                    │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                      │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  Incubator Layer(培养皿层)                                  │   │
│  │  · tokio             → 异步刺激调度                          │   │
│  │  · fulcrum-scheduler → 环境刺激调度器                         │   │
│  │  · tracing + otel    → 发育观测                              │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                      │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  Phenotype Layer(表现型层)                                  │   │
│  │  · fulcrum-core      → PURER循环引擎                         │   │
│  │  · fulcrum-graph     → 分层规划器                            │   │
│  │  · fulcrum-memory    → 四层记忆管理                          │   │
│  │  · sled/redb         → 情景/程序记忆存储                     │   │
│  │  · qdrant-client     → 语义记忆向量检索                      │   │
│  │  · fulcrum-tools     → 工具执行(沙箱内)                    │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                      │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  Immune Layer(免疫层)                                      │   │
│  │  · OpenShell         → 内核级沙箱(Landlock + seccomp)      │   │
│  │  · fulcrum-guard     → 遏制协议(L0-L5)                     │   │
│  │  · ring              → 证据链哈希签名                        │   │
│  │  · axum              → 天眼管理接口                          │   │
│  │  · teaclave-trustzone → TEE远程证明                         │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                      │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  Evolution Layer(进化层)                                    │   │
│  │  · flux-evolve       → 行为进化引擎(突变、评分、回滚)      │   │
│  │  · genetic-algorithms → 遗传算法核心                         │   │
│  │  · agent-dna-rs      → 种群多样性度量                        │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                      │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  Security Layer(安全层)                                     │   │
│  │  · pqc-rs            → ML-KEM / ML-DSA / SLH-DSA / HPKE     │   │
│  │  · SPIFFE/SPIRE      → 服务身份与零信任                      │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                      │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  Validation Layer(验证层)                                   │   │
│  │  · spice-framework   → LLM agent测试框架                     │   │
│  │  · kedge             → 确定性执行与验证harness               │   │
│  └─────────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────────┘

7.4 用Rust实现自我进化

7.4.1 核心挑战

Rust是编译型语言,程序无法像脚本语言那样在运行时直接修改自身源码。解决方案不是“自修改机器码”,而是通过**“基因组”表示与运行时热替换**的架构来实现。

7.4.2 架构设计

基因组是数据:Genome结构体包含所有可进化的参数和策略描述,使用serde序列化。agent-dna提供了基因表示、单点交叉和变异的核心功能.

策略是代码:将需要进化的核心策略(如PURER循环的决策逻辑)放在独立的agent-strategy动态库中。hot-lib-reloader允许在运行中的Rust程序里重载函数.

进化引擎:flux-evolve实现agent行为的进化引擎——管理可调参数及突变率,跟踪适应度分数,支持激进/普通/精英进化模式,提供完整的回滚能力.

7.4.3 进化循环

评估当前策略的适应度
        │
        ▼
根据适应度,由进化引擎对Genome数据进行变异或交叉
        │
        ▼
如果Genome的变化需要新的代码逻辑(例如策略规则变了)
        │
        ▼
生成新的策略代码 → 编译为新的动态库
        │
        ▼
热替换旧策略库(hot-lib-reloader / Subsecond)
        │
        ▼
继续运行

记忆与免疫:Genome的变更记录写入天眼的证据链,确保每次进化都可审计、可回滚。flux-evolve的Revert & Rollback功能支持撤销特定突变或回滚到某一代.

7.4.4 备选方案

方案 机制 优势 劣势
动态库热重载 编译为dylib,运行时替换 性能最优 编译延迟,平台依赖
WASM沙箱 编译为WASM模块,运行时加载 安全隔离,跨平台 性能开销
脚本引擎(Rhai) 嵌入式脚本解释执行 无需编译,即时生效 性能较低

7.5 性能工程

7.5.1 PQC性能开销

基于RustCrypto实现的ML-KEM-768和ML-DSA-65在资源受限环境下的性能数据:

优化策略:

7.5.2 TEE中的PQC部署

将PQC算法部署在ARM TrustZone TEE中面临严重挑战:时序侧信道可高准确率识别操作类型;Dilithium的73KB内存占用超过TEE的32KB堆限制;并发负载下延迟增加40倍。

秘密依赖分割架构:将秘密依赖运算(秘密种子生成、噪声采样、秘密向量运算、恒定时间NTT实现)隔离在Secure World中,将计算量大的公开运算(矩阵A的生成、公开的NTT变换、哈希计算)移到Normal World。这一架构既保护了边界,又减少了TEE的计算负担。

7.5.3 内存与存储预算

单一权威引用点:各发育期的资源预算数值以文档三 3.2.3 为唯一权威定义,本节不再复制该表。早期版本在文档三与文档七各存一份,是典型的"同一张表抄到多处后各自漂移"——本次审计已消灭这一副本。

资源约束是发育性的——随着娲灵成熟度提升,资源预算逐步放宽。但即使在成年期,资源也有硬上限,迫使娲灵在预算内做出权衡。

实现侧要求(本节只规定工程约束,不规定数值) :

  1. 代码中的单一真源。六期预算在代码中必须有且仅有一处定义(建议 incubator::budget::DEVELOPMENT_BUDGET 常量表),运行时、调度器、计费、天眼的资源审计全部从该常量读取,不得各自硬编码。文档三改数值 → 只改这一处常量。
  2. 预算即硬约束,不是建议值。超预算不是"告警后继续",而是由调度器拒绝或降级;天眼的资源消耗审计(文档五 5.7.1 闸门第 4 项)以此常量为判据。
  3. 单位是资源量而非服务质量。预算定义的是 CPU 核心时间、内存上限、Token 上限等可计量资源,不是"响应快不快"这类服务质量承诺。
  4. 校准只改一处。文档三 3.2.3 注明中间插入值需在抟土阶段实测校准;校准时同步更新该常量表,并计入配置版本号,写进诞生记录,保证老娲灵可复现其发育期的历史预算。

7.5.4 观测性架构

女娲计划的观测性基于OpenTelemetry,采用基于增量式模式的存储优化,参考TraceBrain框架的设计,实现约100倍的存储开销降低,同时支持按需重建长程执行轨迹。

关键指标:

7.6 测试与验证框架

7.6.1 Spice测试框架

Spice是面向非确定性LLM agent的Rust测试框架,支持声明式测试套件,验证agent行为——调用哪些工具、传递什么参数、产生什么文本、是否保持在安全边界内。30+内置断言包括工具使用、参数验证、调用次数、顺序、轮次范围、安全允许列表和自定义闭包。支持LLM-as-judge(可插拔的Judge trait,包含MockJudge离线模式和OpenAiJudge在线模式)、数据集扇出、分数(非仅通过/失败)、成本/延迟指标、基线差异、重试与共识、并发运行器、轨迹记录、JSON报告、安全断言和多轮支持.

女娲计划的测试策略:

测试类型 使用工具 验证内容
PURER循环测试 Spice 工具调用正确性、参数验证、轮次范围
安全边界测试 Spice + Kedge 安全允许列表、对抗性提示下的行为
记忆系统测试 Spice + 自定义断言 跨会话记忆召回率、语义检索精度
进化引擎测试 flux-evolve内置测试 突变、回滚、适应度评分
天眼遏制测试 Kedge 遏制级别升级、归墟触发

7.6.2 Kedge验证Harness

Kedge是确定性AI agent执行与验证harness,包含ReAct引擎、硬预算、Shadow-Guard拦截、MCP服务器、AST感知上下文压缩和SQLite重放. 用于天眼遏制协议的验证测试和PURER循环的确定性回放。

7.7 实施路线图

7.7.1 第一阶段:抟土(0-3个月)

核心任务:构建基因型序列化格式和造化炉基础环境。

技术重点: - 定义河图(基因型)的序列化格式,采用serde + rmp-serde - 实现宪法锚点的ed25519 + ML-DSA混合签名机制 - 搭建最小PURER循环(fulcrum-core),集成基础模型和工具调用接口 - 搭建造化炉最小环境(Docker容器或Firecracker microVM)

验证标准:从基因型JSON文件启动一个Agent,能完成三步任务,宪法锚点签名验证通过。

7.7.2 第二阶段:卵裂(3-6个月)

核心任务:实现四层记忆系统和发育观测基础设施。

技术重点: - 实现四层记忆分离存储(sled + qdrant-client) - 实现记忆预算引擎 - 搭建发育观测系统(tracing + opentelemetry) - 开发环境刺激调度器v1(fulcrum-scheduler)

7.7.3 第三阶段:器官发生(6-12个月)

核心任务:实现天眼免疫系统和忘川黑盒化机制。

技术重点: - 实现天眼三层监控架构(eBPF + Landlock + 硬件监控) - 实现渐进式遏制协议(fulcrum-guard) - 实现归墟协议 - 实现忘川第一阶段(语义压缩与关联随机化) - 搭建证据链(ring哈希链式审计日志) - 集成Teaclave TrustZone SDK用于TEE远程证明

7.7.4 第四阶段:合灵(12-18个月)

核心任务:实现双亲基因重组和天赋遗传。

技术重点: - 实现基因座对齐算法(agent-dna-rs) - 实现语义交叉(集成轻量级LLM) - 实现变异注入(flux-evolve) - 实现灵根提取和薪火系统

7.7.5 第五阶段:天演(18-24个月)

核心任务:端到端群体进化验证与开源。

技术重点: - 运行至少5个世代的完整进化闭环 - 实现百花多样性保障机制 - 完成玄盾纯PQC迁移 - 性能对标GAIA、SWE-bench - 开源核心组件

7.8 总结

女娲计划的技术栈以Rust为核心,覆盖从基因型表示到进化引擎、从沙箱执行到TEE远程证明、从热重载到测试验证的完整技术栈。核心crate包括:

层级 核心crate
异步运行时 tokio
Agent编排 fulcrum-rs / AutoAgents
沙箱执行 OpenShell / Sandlock / lv-sandbox
记忆存储 sled / redb / qdrant-client
加密审计 ring / ed25519-dalek / pqc-rs
TEE远程证明 teaclave-trustzone-sdk
基因型表示 agent-dna-rs
进化引擎 flux-evolve / genetic-algorithms
热重载 hot-lib-reloader / Subsecond
测试验证 spice-framework / kedge

用Rust实现自我进化的核心思路是分离“可进化的数据基因组”和“执行策略的代码” ,通过热重载机制将两者桥接。这样既能利用Rust的安全与性能,又能赋予智能体在运行时持续进化的能力。