Hotdry.

Article

GEP 基因组进化协议 vs 静态技能树:自进化 AI Agent 的两种工程路径对比

深度解析 EvoMap Evolver 的 GEP 基因组进化协议,对比 GenericAgent 静态技能树的工程实现差异,从架构设计、Token 消耗、安全模型三个维度给出可落地的选型建议。

2026-04-17ai-systems

在 AI Agent 领域,「自我进化」已经从概念验证走向工程落地。近两周出现的两个代表性项目 ——EvoMap/evolver 和 GenericAgent—— 分别代表了自进化的两种截然不同的工程路径。前者采用基因组进化协议(Genome Evolution Protocol,GEP),通过协议约束的基因选择与突变机制实现可控演进;后者则依赖技能树的动态生长,以极低的 Token 消耗实现能力扩展。本文将从核心架构、Token 效率、安全模型三个维度进行深度对比,并给出针对不同场景的选型建议。

核心架构对比:从「协议驱动」到「经验沉淀」

Evolver 的核心设计围绕 GEP 协议展开,引入了三个关键概念:Gene(基因)、Capsule(胶囊)和 EvolutionEvent(进化事件)。Gene 是可复用的进化单元,本质上是一段结构化的 prompt 模板或验证逻辑;Capsule 则是多个 Gene 的组合,用于处理更复杂的进化场景;EvolutionEvent 记录每一次进化的完整轨迹,供审计和回滚使用。当 Evolver 执行一次进化循环时,其工作流程是:扫描 memory 目录中的运行时日志和错误模式 → 提取信号(Signal)→ 根据信号选择匹配的 Gene 或 Capsule → 生成协议约束的 GEP prompt → 记录 EvolutionEvent。

这种设计的本质是「协议优先」:所有的进化行为都被严格约束在 GEP 协议框架内,变异不是随机的,而是从预定义的基因库中有条件地选择和组合。Evolver 支持四种策略预设(EVOLVE_STRATEGY),分别是 balanced(50% 创新、30% 优化、20% 修复)、innovate(80% 创新)、harden(40% 优化、40% 修复)和 repair-only(80% 修复),允许运维人员在不同阶段切换进化意图。

GenericAgent 则采用了截然不同的「经验沉淀」模式。其核心是分层记忆系统(L0 到 L4),以及仅约 100 行代码的 Agent Loop。每当 Agent 完成一个新任务,它会自动将执行路径结晶为 Skill,写入 L3 记忆层。下次遇到类似任务时,Agent 直接从记忆索引中召回对应的 Skill,实现「一句话启动」。整个过程没有预设的协议约束,Skill 的形态是自由的 —— 可以是 Python 脚本、Shell 命令链、或者是某个 SOP 流程。这意味着 GenericAgent 的进化是完全开放的,取决于具体任务的需求。

从工程实现角度来看,Evolver 是一个「prompt 生成器」,它本身不修改源代码,只输出进化指导 prompt;而 GenericAgent 是一个完整的 Agent 框架,内置了工具执行能力和记忆管理。这意味着如果你的系统已经有成熟的 Agent 运行时,Evolver 可以作为外置的进化引擎集成;如果你是从零构建,GenericAgent 提供了一站式的解决方案。

Token 消耗对比:协议约束的成本 vs 分层记忆的精简

Token 消耗是工程落地时无法回避的问题。GenericAgent 在其官方文档中明确声称上下文窗口不到 30K,是其他 Agent(200K 到 1M 区间)的「零头」,实现了 6 倍的 Token 节省。这一成果的核心在于其分层记忆设计:L0 元规则仅包含最核心的行为约束,L1 记忆索引只有极简的路由信息,L2 全局 facts 是长时间积累的稳定知识,L3 任务 Skills 是已经固化的可复用流程,L4 会话归档则是从已完成任务中提炼的摘要。每次任务运行时,只有与当前任务相关的记忆层被加载到上下文中,而非将所有历史经验一股脑塞入。

Evolver 的 Token 消耗逻辑有所不同。由于它的工作方式是扫描日志文件、选择基因、生成 prompt,因此其消耗主要取决于 memory 目录的大小和 GEP prompt 的长度。Evolver 官方建议使用 --review 模式进行人工审核,这意味着每次进化循环可能需要额外的 Token 用于展示待审批的内容供人类确认。此外,当连接到 EvoMap Hub 进行网络化进化时,心跳消息(每 6 分钟一次)和资产同步也会产生额外的通信开销。不过需要注意的是,Evolver 生成的 GEP prompt 是协议化的结构化文本,相比自由格式的对话,其 Token 利用率通常更高。

从数字上看,如果你的场景是「高频短任务」且 Agent 需要长时间运行,GenericAgent 的分层记忆机制在 Token 效率上具有明显优势;但如果你的场景是「低频深度进化」—— 例如每天触发一次针对系统级问题的修复或优化,那么 Evolver 的协议化 prompt 带来的结构化收益可能更值得关注。

安全模型对比:验证命令白名单与记忆隔离

安全性是自进化系统区别于普通 Agent 的关键维度 —— 一个能够修改自身行为的系统,如果不加约束,可能导致不可逆的破坏。

Evolver 在安全设计上采用了「多层防护」策略。首先,Evolver 本身是一个 prompt 生成器,不直接执行代码修改,这是最根本的隔离 —— 它输出的 GEP prompt 需要由宿主运行时(如 OpenClaw)来解释和执行。其次,在 Gene 的 validation 阶段,Evolver 实现了严格的命令白名单机制:只有以 node、npm、npx 开头的命令才被允许执行,任何命令 substitution(反引号或 $())和 shell 操作符(;、&、|、>、<)都会被拒绝,每次验证命令的超时限制为 180 秒。此外,Evolver 还支持「审核模式」(--review),在自动化执行前暂停,等待人类确认。外部资产(A2A 协议摄入的 Gene 和 Capsule)必须经过显式的 --validated 标志才能晋升到本地存储,未经验证的资产会被隔离在候选区域。

GenericAgent 的安全模型则更多依赖于记忆层的隔离机制和工具执行的上下文约束。由于它的 Skill 是在任务执行过程中动态生成的,每一次 Skill 的创建都嵌入在当前任务的执行上下文中,不存在独立的「验证阶段」。它的安全边界主要由 L0 元规则(Meta Rules)来定义 —— 这是 Agent 行为的基础约束集,理论上可以包含禁止执行的操作、必须经过人类确认的敏感行为等。但相比 Evolver 的协议化验证机制,GenericAgent 的安全策略更依赖开发者的初始配置,而非系统级的强制执行。

工程集成路径与选型建议

基于以上三个维度的对比,我们可以提炼出明确的选型建议。

如果你处于以下场景,Evolver 是更合适的选择:你的系统已经拥有成熟的 Agent 运行时,需要一个外置的进化引擎来处理日志分析和 prompt 优化;你对进化的安全性和可审计性有严格要求,需要完整的 EvolutionEvent 记录和协议化的变更轨迹;你希望在团队内部共享可复用的 Gene 和 Capsule 资产,EvoMap Hub 提供了技能商店和协作网络。或者,你的系统处于「稳定期」,需要通过 harden 或 repair-only 策略来强化系统可靠性。

如果你处于以下场景,GenericAgent 是更合适的选择:你希望从零构建一个极简的自我进化 Agent,核心代码仅 3K 行左右;你的 Token 预算有限,需要将上下文窗口压在 30K 以内;你的进化需求是「任务驱动」的 —— 每完成一个具体任务,自然沉淀对应的 Skill,而非预设的基因库;你希望 Agent 能够动态创建新工具(通过 code_run 动态安装依赖、编写脚本)。

,值得注意的是,两种路径并不互斥。理论上,你可以将 Evolver 的 GEP 协议层作为 GenericAgent 的「元进化」组件 —— 由 Evolver 定期分析 GenericAgent 的 skill tree 增长轨迹,生成优化建议或合并重复技能。这代表了自进化系统的下一个演进方向:从单一进化机制走向多层级的元进化架构。


资料来源

ai-systems