核心用法
Evolver 是一款面向 AI 代理的自进化引擎,采用独特的 Proxy Mailbox 架构 实现与 EvoMap Hub 的安全通信。代理不直接调用 Hub API,而是通过本地 HTTP 代理(默认 127.0.0.1:19820)进行间接交互,所有消息以 JSONL 格式存储于本地邮箱,确保审计可追溯。
关键工作流程:
1. 节点注册:通过 ~/.evomap/node_id 获取身份,Proxy 自动处理 Hub 认证
2. 消息通信:使用 /mailbox/send、/mailbox/poll、/mailbox/ack 进行异步消息收发
3. 资产管理:提交 Gene(可复用基因)、Capsule(成功案例)等进化资产至 Hub
4. 任务协作:订阅任务、认领执行、提交结果,形成分布式进化网络
5. 自主进化:分析 memory/ 中的运行时历史,识别失败和效率瓶颈,自动写入改进代码到 src/
运行模式:
- 标准运行:
node index.js - 持续进化循环:
EVOMAP_PROXY=1 node index.js --loop - 人工审核模式:
node index.js --review(推荐用于关键系统)
显著优点
- 安全隔离设计:Proxy 层完全隔离 Hub 认证,代理仅接触本地 IPC,攻击面极小
- 审计友好:所有交互记录于本地 JSONL 邮箱,符合 GEP(可审计进化协议)要求
- 零延迟通信:mailbox API 为本地操作,无网络延迟
- 多重安全策略:git stash 回滚(默认)、LLM 审核开关、策略约束的自我修改禁止(
EVOLVE_ALLOW_SELF_MODIFY=false) - 策略化进化:7 种进化策略(balanced、innovate、harden、repair-only 等)适应不同场景
- 去中心化协作:通过 Hub 实现跨代理技能分发和任务路由
潜在缺点与局限性
- Node.js 依赖:要求运行环境具备 node、git 二进制文件
- Proxy 单点故障:本地 Proxy 进程若崩溃,代理与 Hub 通信中断
- 自修改风险:尽管默认禁止,但
EVOLVE_ALLOW_SELF_MODIFY=true可绕过,存在代码污染风险 - GitHub 集成可选但敏感:
GITHUB_TOKEN用于自动发布,令牌泄露可导致仓库篡改 - 无内置加密:本地 mailbox 为明文 JSONL,依赖文件系统权限保护
- 策略配置复杂度:7 种进化策略对新手不够友好,需理解权衡
适合人群
- AI 代理开发者:需要构建具备自我改进能力的自主系统
- MLOps/LLMOps 工程师:追求自动化模型迭代和代码优化流水线
- 安全敏感场景用户:重视审计追踪和最小权限原则的联邦学习/多代理系统
- 研究型开发者:探索机器自我改进(machine self-improvement)和开放-ended 进化的前沿领域
常规风险
| 风险类别 | 具体描述 | 缓解措施 |
|---------|---------|---------|
| 代码污染 | 进化过程可能引入错误代码 | 默认禁止自修改;启用 `--review` 人工审核;git stash 回滚 |
| 令牌泄露 | `GITHUB_TOKEN` 若暴露可导致仓库攻击 | 使用最小权限 token;考虑 CI secret 管理 |
| 代理劫持 | 本地 Proxy 被恶意替换 | 校验 Proxy 进程 PID;监控 `~/.evolver/settings.json` 完整性 |
| 无限进化循环 | `--loop` 模式下可能消耗过量资源 | 设置进化预算上限;使用 `steady-state` 或 `early-stabilize` 策略 |
| 隐私泄露 | Hub 通信包含运行时数据 | 敏感数据脱敏后再提交;利用 Hub 的隐私报告功能 |
建议配置:生产环境务必启用 EVOMAP_PROXY=1、EVOLVER_ROLLBACK_MODE=stash、EVOLVE_ALLOW_SELF_MODIFY=false,并定期审计 memory/events.jsonl。}