HyperAgents快速上手:5步搭建自改进智能体实验环境(含Docker部署完整教程)
【免费下载链接】HyperAgentsSelf-referential self-improving agents that can optimize for any computable task项目地址: https://gitcode.com/gh_mirrors/hy/HyperAgents
HyperAgents是一款能针对任意可计算任务进行自我优化、自我改进的 AI 智能体框架(Self-referential self-improving agents)。本文带你用 5 个步骤,从零搭建自改进智能体实验环境,并完整覆盖HyperAgents Docker 部署教程,新手也能快速跑通第一个自我进化循环。
🧠 什么是 HyperAgents?
简单来说,HyperAgents 由两类智能体协作完成"进化":
- 任务智能体(Task Agent):直接解决目标任务(写代码、答题、做证明等)
- 元智能体(Meta Agent):负责观察并修改任务智能体本身,让它一代比一代更强
两者通过generate_loop.py主循环驱动,按"代数"(generation)不断选择父代、生成子代、评估打分,结果保存在outputs/目录中。核心实现可参考 meta_agent.py 与 task_agent.py,模型调用封装在 agent/ 目录。
⚠️安全提示:本仓库会执行模型生成的不可信代码,官方提醒请留意相关安全风险,详见 README.md 的 Safety Consideration 章节。
📋 环境准备:克隆仓库
第一步,把代码克隆到本地(需要 Python 3.12 与 Docker):
git clone https://gitcode.com/gh_mirrors/hy/HyperAgents cd HyperAgents仓库结构一览(详细文件说明见 README.md):
| 目录 / 文件 | 作用 |
|---|---|
| agent/ | 大模型调用与工具(bash、edit)封装 |
| domains/ | 各任务领域(评测环境、数据集、报告) |
| analysis/ | 结果绘图与分析脚本 |
| utils/ | Docker、Git、日志等通用工具 |
| generate_loop.py | 自我改进主循环入口 |
| setup_initial.sh | 初始化第一代智能体脚本 |
| Dockerfile | 实验环境镜像定义 |
第 1 步:配置 LLM API 密钥
HyperAgents 依赖大模型驱动智能体行为,在项目根目录创建.env文件,填入你使用的模型密钥(至少配置一个):
OPENAI_API_KEY=... ANTHROPIC_API_KEY=... GEMINI_API_KEY=...密钥通过 agent/llm.py 和 agent/llm_withtools.py 接入,底层使用litellm(见 requirements.txt)统一调用多家模型。
第 2 步:安装系统依赖
Linux 环境需先安装编译与绘图依赖(Fedora 系示例,Debian/Ubuntu 请换成apt对应包名):
sudo dnf install -y python3.12-devel sudo dnf install -y graphviz graphviz-devel cmake ninja-build bzip2-devel zlib-devel ncurses-devel libffi-devel如果你走 Docker 部署,系统依赖会由 Dockerfile 自动处理,可跳过此步。
第 3 步:创建虚拟环境并构建 Docker 镜像
# 创建并激活虚拟环境 python3.12 -m venv venv_nat source venv_nat/bin/activate # 安装 Python 依赖 pip install -r requirements.txt pip install -r requirements_dev.txt # 构建 Docker 实验镜像 docker build --network=host -t hyperagents .🐳 Docker 部署完整教程
Dockerfile 基于nvidia/cuda:13.0.0-devel-ubuntu22.04官方镜像构建,内置了实验所需的一切:
- Python 3.12(通过 deadsnakes PPA 安装并设为默认
python) - PyTorch CUDA 版本(cu130 索引源,支持 Genesis 机器人训练)
- headless 渲染环境:
PYOPENGL_PLATFORM=egl+xvfb,无显卡界面也能跑可视化 - CUDA 修复脚本Dockerfile#L78-L127:容器启动时自动修复
libcuda.so符号链接问题 - 工作目录为
/hyperagents,默认命令tail -f /dev/null保持容器常开
构建完成后,启动一个交互式容器:
docker run --gpus all -it --rm -e ENV_FILE=$(pwd)/.env \ -v $(pwd):/hyperagents hyperagents bash💡 无 GPU 机器可以去掉
--gpus all;仅跑paper_review、search_arena等纯文本域时无需 GPU。
第 4 步:初始化第一代智能体
运行初始化脚本,为所选领域生成基线(第一代)智能体并完成首轮评测:
bash ./setup_initial.shsetup_initial.sh 中默认启用paper_review领域,其他领域(balrog、genesis、imo、polyglot 等)以注释形式提供,按需取消注释即可。脚本会依次调用domains.harness跑样本评测,并用domains.report生成报告,结果写入outputs/下的initial_*目录。
第 5 步:启动自我改进主循环
一切就绪,一条命令启动进化循环:
python generate_loop.py --domains paper_review常用参数速查(完整参数见 generate_loop.py#L1026-L1154):
| 参数 | 说明 | 默认值 |
|---|---|---|
--domains | 目标任务领域(必填,可多选) | — |
--max_generation | 最大进化代数 | 10 |
--eval_samples | 每个领域的评测样本数(-1 为全量) | 全部 |
--parent_selection | 父代选择策略 | score_child_prop |
--run_baseline | 运行对比基线(如 DGM) | 无 |
--resume_from | 从已有输出目录断点续跑 | 无 |
主循环会在 Docker 容器内执行编译检查与补丁应用(工具逻辑见 utils/docker_utils.py、utils/gl_utils.py),每代结果自动保存到outputs/并生成进度图。
🎯 支持的任务领域
HyperAgents 的"任意可计算任务"由 domains/ 下的插件化环境实现,内置 10+ 领域:
- 文本推理类:
paper_review(论文评审)、search_arena(搜索问答)、imo_grading/imo_proof(IMO 数学证明) - 游戏环境类(Balrog):
balrog_babyai、balrog_babaisai、balrog_minihack、balrog_nle(NetHack 文字游戏,像素素材见下方图集) - 具身控制类:
genesis_go2walking等四足机器人任务(需 GPU) - 软件工程类:
polyglot(多语言代码修复)
▲ Balrog 领域中 NLE(NetHack)游戏环境的像素图标素材集,展示智能体需要学会的评测世界
各领域的配置见对应目录下的config.yaml(如 domains/balrog/config/config.yaml)。
📊 查看实验结果与分析
跑完循环后,outputs/<run_id>/中保存了完整的进化档案(archive.jsonl),可以用 analysis/ 中的脚本快速可视化:
- analysis/plot_progress.py:绘制各代分数提升曲线
- analysis/visualize_archive.py:可视化智能体进化档案
- analysis/plot_comparison.py:与 DGM 等基线对比
此外,ensemble.py 可从档案中挑选最高分智能体做集成推理,select_next_parent.py 提供独立的父代选择策略实验。
✅ 常见问题速查
| 问题 | 解决方法 |
|---|---|
docker build失败 | 确认本机 Docker 已启动;使用--network=host参数 |
| 容器中找不到 CUDA | 镜像自带fix-cuda.sh自动修复;物理机需安装 NVIDIA 驱动 |
| 初始化脚本报权限/网络错误 | 检查.env密钥是否正确,网络能否访问模型 API |
| 想换评测领域 | 编辑 setup_initial.sh 取消对应注释,再改--domains参数 |
按照以上 5 步,你就完成了HyperAgents 自改进智能体实验环境的搭建:从克隆、配置密钥、Docker 构建,到初始化与启动进化循环。建议先用默认的paper_review领域跑通全流程,再逐步解锁游戏与机器人等更复杂的领域 🚀
【免费下载链接】HyperAgentsSelf-referential self-improving agents that can optimize for any computable task项目地址: https://gitcode.com/gh_mirrors/hy/HyperAgents
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考