ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

HyperAgents档案机制详解:archive.jsonl如何驱动AI智能体种群持续进化

HyperAgents档案机制详解:archive.jsonl如何驱动AI智能体种群持续进化 HyperAgents档案机制详解archive.jsonl如何驱动AI智能体种群持续进化【免费下载链接】HyperAgentsSelf-referential self-improving agents that can optimize for any computable task项目地址: https://gitcode.com/gh_mirrors/hy/HyperAgentsHyperAgents是一个自指自我改进的智能体框架能够针对任何可计算任务持续优化自身。它的核心秘密就藏在输出目录里一个朴素的文件中——archive.jsonl。这个档案文件像一本种群族谱记录着每一代 AI 智能体的谱系与分数驱动着整个种群的进化、选择与繁衍。本文将从零讲透 HyperAgents 的档案机制archive.jsonl 存了什么、如何读写、又怎样决定谁来做下一代父母。上图为 HyperAgents 支持的游戏任务环境Balrog/NLE素材智能体在此类任务中被逐代评测打分成绩写入档案 什么是 HyperAgents 的档案机制在 HyperAgents 的进化循环中每一代智能体gen_0、gen_1、gen_2……都是基于某一代父代的代码修改而来。这些代际并不构成一条直线而是一棵不断分叉的进化树每个节点是一代智能体包含它的补丁patch、评测分数和元数据档案档案archive保存所有历史节点的编号列表谁也不被丢弃下一代从档案中按策略挑选一个父代进行变异这正是档案机制Archive-based Mechanism的精髓用 archive.jsonl 保存整个种群的完整记忆让进化可以回溯、可以并行、可以从任何一代重新分叉。相关主逻辑位于 generate_loop.py档案工具函数集中在 utils/gl_utils.py。 archive.jsonl 长什么样一行一快照档案的写入函数是 update_and_save_archive逻辑非常直白——追加式写入append每生成一代就在文件末尾加一行{current_genid: 3, archive: [initial, 0, 1, 2, 3]}每行是一个 JSON 对象包含current_genid本代编号和archive截至目前的全部节点列表采用JSONL 格式每行一个 JSON天然适合只追加、不重写即使程序中途崩溃已有行也不会损坏读取时由 load_archive_data 逐行解析通常只取最后一行即可获得最新完整档案这种全量快照 追加写入的设计让断点续跑成为可能generate_loop.py --resume_from会读取档案最后一行直接从len(archive)对应的代数继续进化见 generate_loop 入口逻辑。 进化循环档案如何驱动种群繁衍每一代的标准流程如下档案贯穿始终选父代从档案中按策略挑一个父节点select_parent生成子代启动 Docker 容器应用父代血缘链上的全部补丁让meta agent修改智能体代码产出model_patch.diff由 run_meta_agent.py 执行智能体实现见 meta_agent.py 与 task_agent.py评测打分子代在目标域如 balrog、polyglot 等上跑评测分数写入gen_N/domain_eval/report.json追加档案update_and_save_archive把新节点追加进 archive.jsonl画进化树 选下一父代进入下一轮关键点评测分数存在各代的metadata.json和 report.json 里档案文件只负责记录种群里都有谁——职责分离结构清晰每代元数据结构。 5 种父代选择策略进化方向的方向盘select_parent 实现了 5 种策略通过--parent_selection参数切换策略行为适用场景random随机选一个有效父代纯探索latest总选最新一代直线进化基线对照实验best永远选历史最高分贪心收敛score_prop分数越高概率越大Sigmoid 软选择平衡探索与利用score_child_prop在 score_prop 基础上惩罚子代过多的节点默认策略鼓励开新枝其中默认的score_child_prop最有意思概率 分数权重 × 子代数量惩罚exp(-(child/8)³)。它会让系统避免反复榨取同一个强父代转而扶持尚未充分开发的中游节点——这正是种群多样性得以维持的机制。此外智能体自身也能学会选父代开启--edit_select_parent后meta agent 可以直接修改 select_next_parent.py 与 utils/run_select_next_parent.py实现进化出更好的选择规则。 可视化档案一眼看清进化树analysis/visualize_archive.py 将档案读入后构建成有向图父→子边并用 Graphviz 布局渲染节点颜色映射分数橙 → 黄 → 绿最高分节点显示为菱形红边框表示该节点valid_parentFalse编译失败等单域图与多域合并图分别由 visualize_archive_single 与visualize_archive_together生成进化主循环每代结束后会自动调用这些函数输出目录里会持续刷新进化树图——你打开 outputs/ 目录就能亲眼看着种群长出来。 快速上手三步跑通档案机制# 1. 克隆仓库 git clone https://gitcode.com/gh_mirrors/hy/HyperAgents # 2. 按 README 安装依赖并构建 Docker 镜像详见项目根目录说明 # 3. 启动进化循环档案自动写入 outputs/generate_run_id/archive.jsonl python generate_loop.py --domains balrog_nle --max_generation 5常用参数速查参数定义--parent_selection切换 5 种选择策略--resume_from 目录从已有档案断点续跑--max_generation进化代数上限--run_baseline no_archive关闭档案做对照实验观察无档案会失去什么✅ 小结为什么 archive.jsonl 是进化的心脏机制作用追加式 JSONL崩溃安全、天然支持断点续跑全量节点保留进化可回溯、可多路分叉不丢历史分数与档案分离档案管谁在metadata 管谁强职责清晰软选择 子代惩罚默认策略平衡利用与探索维持种群多样性HyperAgents 用不到几百行核心代码utils/gl_utils.py 中的档案读写 父代选择就搭起了一个完整的种群进化档案系统——这正是任何可计算任务都能被纳入进化循环的底气所在。想深入源码不妨从 utils/gl_utils.py 的update_and_save_archive和load_archive_data两个函数读起。【免费下载链接】HyperAgentsSelf-referential self-improving agents that can optimize for any computable task项目地址: https://gitcode.com/gh_mirrors/hy/HyperAgents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表