认识HyperAgents:Meta开源自我改进AI智能体框架,一文看懂自进化的终极原理
【免费下载链接】HyperAgentsSelf-referential self-improving agents that can optimize for any computable task项目地址: https://gitcode.com/gh_mirrors/hy/HyperAgents
HyperAgents 是 Meta 开源的自我改进 AI 智能体框架,通过"自指式进化循环"让 AI 智能体不断修改并优化自己的代码,从而针对任何可计算任务持续提升表现。本文带你一文看懂这套自进化框架的终极原理、核心组件与快速上手方法。
它到底能做什么?🤔
一句话概括:让 AI 写一个 AI,再让这个 AI 去改进自己。
普通智能体(Agent)的能力是固定的——你用什么提示词,它就什么水平。而 HyperAgents 的思路完全不同:
- 它先有一个基础智能体代码(
task_agent.py) - 再有一个"元智能体"(Meta Agent)专门修改智能体的源码
- 改完后自动评测、存档,选出更好的版本作为下一代的"父本"
- 如此循环往复,智能体就像生物进化一样逐代自我优化
这就是 README 中那句官方描述的精髓:Self-referential self-improving agents(自指式自我改进智能体)。
三大核心组件:看懂自进化的骨架 🔧
HyperAgents 的结构非常清晰,理解这三个部分就抓住了整个框架:
1. 任务智能体:干活的"本体"
task_agent.py 定义了TaskAgent,它接收任务输入、调用大语言模型、按 JSON 格式输出答案。这是被优化的对象——每一代进化的"种子"都从它开始。
2. 元智能体:改代码的"造物主"
meta_agent.py 中的MetaAgent是整个框架的灵魂。它的指令简单得惊人:
"Modify any part of the codebase"(修改代码库的任意部分)
它可以自由重写任务智能体、甚至改进自己(这就是"自指"的含义)。元智能体基于 Claude 等前沿模型构建,模型选型集中在 agent/llm.py,工具调用循环在 agent/llm_withtools.py 中实现——支持文件编辑、Bash 执行等工具,每次最多 40 轮工具调用。
3. 进化主循环:一代接一代
generate_loop.py 是算法入口,每代执行固定流程:
- 选父本:从档案(archive)中挑选一个历史版本作为基础
- 跑元智能体:在 Docker 容器里让它修改代码,生成
model_patch.diff - 自动评测:把新智能体丢进多个基准任务跑分
- 存档+绘图:更新档案、生成进度曲线,然后进入下一代
每一代的输出都保存在outputs/目录下,形成一棵"智能体家族树",而不是单线迭代——这保证了探索的多样性。
自进化的终极原理:档案式进化 🧬
这套设计借鉴了开放-ended evolution(开放式进化)的思想,关键机制有三个:
档案机制(Archive)所有历史版本都被保留在档案里,由 select_next_parent.py 负责挑选下一代父本。它按各域平均分筛选有效候选,再随机选择——既利用了高分个体,又刻意保留随机性,避免陷入局部最优。
容器化隔离每一代都在独立的 Docker 容器中运行(镜像由 Dockerfile 构建),评测、改码、Git 操作全部在容器内完成,结束后自动清理并回滚到根提交。这样即使元智能体"改炸了"代码,也不会污染宿主环境。
分级评测(Staged Eval)先用小样本集快速打分,分数过线才跑全量评测——省算力又不漏掉好版本。这个逻辑在 generate_loop.py 的run_harness_polyglot中体现得很明显。
支持哪些"进化战场"?🎮
HyperAgents 在domains/下内置了多个评测域,覆盖语言、推理、代码、控制等方向:
| 评测域 | 类型 | 说明 |
|---|---|---|
balrog | 环境基准 | 集成 TextWorld、BabyAI、Crafter、NetHack 等经典 AI 环境 |
polyglot | 代码基准 | 多语言编程任务,用 Docker 隔离每个任务实例 |
genesis | 机器人控制 | Genesis 物理引擎中的四足机器人行走/跳跃任务 |
imo | 数学推理 | IMO 级别数学证明的自动评分 |
paper_review | 学术评审 | 模拟同行评审打分 |
search_arena | 搜索问答 | 深度研究检索类任务 |
上图是balrog域中 NetHack 环境的像素图块(domains/balrog/environments/nle/)——NetHack 这类"超级马里奥式"的开放环境,正是衡量智能体是否真的变强的试金石。
baselines/目录还集成了 DGM(Darwin Gödel Machine)等基线,方便对比"自改进智能体"路线的不同实现思路。
快速上手:从零跑起进化循环 🚀
第一步:克隆仓库
git clone https://gitcode.com/gh_mirrors/hy/HyperAgents.git cd HyperAgents第二步:配置 API 密钥与依赖
在.env文件中放入OPENAI_API_KEY、ANTHROPIC_API_KEY、GEMINI_API_KEY,然后按 README.md 的指引安装系统依赖、创建 Python 3.12 虚拟环境:
python3.12 -m venv venv_nat source venv_nat/bin/activate pip install -r requirements.txt第三步:构建容器并初始化
docker build --network=host -t hyperagents . bash ./setup_initial.sh第四步:启动进化循环 ⚡
python generate_loop.py --domains <domain>脚本会按代数循环运行元智能体、评测、存档,结果统一输出到outputs/目录,进度图由 analysis/plot_progress.py 自动生成,随时可以查看智能体的"进化曲线"。
⚠️ 安全提醒:先读再跑
仓库官方明确警告:本项目会执行模型生成的不可信代码。虽然当前设置下出现恶意的概率很低,但模型能力与对齐的局限仍可能导致破坏性行为。建议:
- 始终在 Docker 容器中运行(框架默认如此)
- 不要用生产环境的 API Key
- 关闭不必要的系统权限
总结:为什么说它是"终极原理"的一次落地?
HyperAgents 把"AI 改进 AI"从论文概念变成了可运行的开源框架:元智能体负责改写、档案负责保留多样性、容器负责安全、评测负责客观打分。四个齿轮咬合转动,智能体就能在任何可计算任务上持续爬坡——这正是开放式进化的核心思想。
如果你想亲眼见证智能体一代代变强,不妨从balrog域开始跑几代,然后打开outputs/里的进度图,你会看到一条真实的、由 AI 自己写出来的进化曲线。
【免费下载链接】HyperAgentsSelf-referential self-improving agents that can optimize for any computable task项目地址: https://gitcode.com/gh_mirrors/hy/HyperAgents
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考