【免费下载链接】AntOmniEvo
An auto-evolution framework that optimizes anything — your 7×24 team of algorithm engineers.
AntOmniEvo是一个 auto-evolution(自动进化)框架,可以理解成你的「7×24 小时算法工程师团队」:你只需定义系统的可调产物(tunable artifacts)和「什么是好」,框架控制进化循环,AI Agent 负责读失败轨迹、改写文件,最终把优化后的可调产物交付给你。本文带你从零开始,完成 AntOmniEvo 的安装、组件拼装,并成功调用optimize()跑通第一次优化。
一、先搞懂:AntOmniEvo 到底优化什么?
AntOmniEvo 把系统中的可调部分抽象成一目录真实文件——Agent 的SKILL.md+ 参考资料、workflow 的pipeline.json+ 节点脚本、甚至单文件算法。凡是能表示成文件目录、又能被重复打分的系统,它都能优化。
分工非常明确,这也是跑通它之前必须建立的认知:
| 角色 | 负责什么 |
|---|---|
| 你定义 | System(如何运行系统)、Evaluator(如何打分,0–1,打分标准就是优化目标)、评估数据、TunableArtifactSchema(文件树约定)、初始可调产物 |
| 框架控制 | 进化循环、并发调度、预算控制、Pareto 选择/淘汰、断点续跑 |
| AI 干活 | coding agent 扮演Proposer,读失败轨迹 → 定位要改的文件 → 落成结构化变更 |
一句话:优化 = 让 AI Agent 像人一样改文件,框架保证改得越来越好。
二、安装前的环境要求
📌 只需要一个条件:Python ≥ 3.10(见 pyproject.toml)。核心依赖只有pydantic、httpx、tenacity、pyyaml,无需编译扩展,pip install即可,纯 Python 包,跨平台零门槛。
三、一键安装 AntOmniEvo 框架
clone 仓库后(git clone https://gitcode.com/gh_mirrors/an/AntOmniEvo),在仓库根目录执行:
cd antomnievo pip install -e . # 核心框架按需加装可选能力(完整清单见 docs/quickstart.zh-CN.md):
pip install -e ".[rag]" # 可选:LangGraph / RAG 场景 pip install -e ./visualizer && cd visualizer && npm install # 可选:可视化器 npm install -g @mariozechner/pi-coding-agent # 可选:pi CLI,仅 PiCodingAgentProposer 需要⚠️ 两个内置Proposer依赖外部 CLI:PiCodingAgentProposer需要pi命令,ClaudeCodeProposer需要claude命令——按你手上有的 CLI 二选一即可。你的System/Evaluator若调用自己的运行时,也需自行安装,AntOmniEvo 不管理它们。
四、选一个参照实现:example/ 目录
AntOmniEvo 是框架而非工具,你需要写一个入口脚本把组件串起来。antomnievo/example/ 下每个脚本都是针对一种系统形态的参照实现(详见 example/README.md):
| 场景 | 入口脚本 | 特点 |
|---|---|---|
| Agentic RAG | agentic_rag_internal.py | 进程内系统 + 基类Optimizer,最简单的端到端参照,建议先看这个 |
| RAG 流水线 | rag_pipeline.py | 子进程System+ 场景Optimizer子类 |
| Text2SQL | birdtest_text2sql.py | 整批子进程 + BIRD 基准 |
注意:example 脚本各自依赖外部数据集与运行时(如
terminalbench2、birdtest等独立代码仓),开箱不能直接跑——它们是用来学结构的,忽略其中硬编码路径即可。运行方式统一为python -m antomnievo.example.<module_path>。
五、入口脚本解剖:7 个组件如何拼成一局
以 agentic_rag_internal.py 为例,所有入口脚本都是同一个形状:加载 train/val 数据 → 建带时间戳的 workspace → 构造组件 → 调await optimizer.optimize()。
store = LocalCandidateStore(workspace_dir) # 候选落盘 + 断点续跑 ea = ParetoFrontierEvolutionAlgorithm( candidate_store=store, max_candidate_num=5) # 进化算法 system = ReactAgentSystem(...) # 你的系统(换自己的) evaluator = AtomicFactEvaluator(...) # 打分器(换自己的) proposer = ClaudeCodeProposer(...) # 干活的 coding agent optimizer = Optimizer( system=system, proposer=proposer, evaluator=evaluator, evolution_algorithm=ea, candidate_store=store, train_dataset=train_dataset, val_dataset=val_dataset, batch_size=10, budget=Budget(max_iterations=1000), num_proposals=2, ) await optimizer.optimize()每个组件的定位:
- System:实现
interface/system.py的System抽象类,_run()方法吃了「候选可调产物 + 一条数据」,吐出 trajectory + 输出,concurrency参数控制并行度; - Evaluator:给输出打 0–1 分,它的打分标准就是你的优化目标;
- Proposer:两阶段 coding agent(先分析失败轨迹、再变异产物),必须回指失败证据,保证每次改动可追溯;
- Budget:budget.py 定义了四个正交硬上限(
max_iterations/max_rollouts/max_tokens/max_elapsed_seconds),任一为None即该轴不限——第一次跑建议只设max_iterations,跑通最重要; - CandidateStore:所有候选、运行、分析、changelog 全部落盘到
workspace/,支持任意时刻中断后从 checkpoint 续跑(checkpoint-resume.zh-CN.md)。
六、调用 optimize():第一次进化循环发生了什么?
核心实现在 optimizer.py 的optimize()方法,跑起来后按这个顺序工作:
- 建立 root 候选:把
initial_artifacts_dir指向的初始可调产物注册为 root,并在验证集上评出baseline_avg_score——这是之后所有改进的基准线; - 并发进化:
num_proposals个 slot 同时工作,每个 slot 由进化算法select()挑一个候选 → Proposer 读失败轨迹、改写产物生成子候选 → 子候选在训练 batch 上评估 → 分数达标才被接受进种群; - 预算耗尽即软停止:任一预算维度触顶后不再开新 slot,在飞 slot 排空后优雅退出;
- 可中断可续跑:
Ctrl+C中断后,用同一 workspace 重启会读到statistics.root_candidate_id,自动走 resume 分支继续。
七、验证第一次优化的结果
跑完后不用看日志猜——workspace 里的文件就是答案(完整归因指南见 docs/workspace-artifacts.zh-CN.md):
| 看什么 | 路径 | 找什么 |
|---|---|---|
| 有没有进步 | logs/statistics.json | 对比baseline_avg_score与best_avg_score,avg_score_history应单调不降 |
| 每次迭代的取舍 | logs/iteration_records.jsonl | 逐 slot 的accepted、分数变化、reflection_depth |
| 最佳候选详情 | candidates/{best_id}/data/summary.json | 在验证集上的逐题分数 |
| 产物为什么长这样 | candidates/{id}/data/changelog.jsonl | 每次变异的 diff、动机、预期效果 |
八、用可视化器「看见」进化过程
AntOmniEvo 自带一个 React + Flask 可视化器(docs/visualizer.zh-CN.md),从 workspace 目录直接渲染整个进化过程:
pip install -e ./visualizer cd visualizer && npm install antomnievo-visualizer-manage start --workspace /path/to/workspace/<run>打开http://localhost:5173,进化种群会以「Lobster Gym 龙虾健身房」的形式呈现——候选个体按分数分层归入不同房间,最优的在顶层 Golden Hall:
Lineage Tree 标签页展示全部候选的父子关系树,每个节点标注分数、相对 root 的变化和等级徽章,一眼看清「最优候选是怎么从 root 演化出来的」:
Stats 标签页给出最优平均分随迭代变化的曲线和运行级计数(迭代进度、种群规模、创建/拒绝数、总耗时),确认第一次optimize()是否在持续进步:
总结
跑通 AntOmniEvo 第一次优化只需四步:安装(pip install -e .)→抄参照(从 example/ 挑一个换掉System/Evaluator/数据/Schema/初始产物)→调await optimizer.optimize()→看statistics.json和可视化器确认进步。之后就可以正式把优化目标交给你自己的「7×24 算法工程师团队」了。更多特性(Mara 链深度修复、micro-pareto 选择等)可继续读 docs/features.zh-CN.md 与 docs/system-design.zh-CN.md。
【免费下载链接】AntOmniEvo
An auto-evolution framework that optimizes anything — your 7×24 team of algorithm engineers.
相关推荐
如何5分钟跑通LuaN1aoAgent:从零安装到启动第一次AI渗透的完整教程
如何5分钟跑通LuaN1aoAgent:从零安装到启动第一次AI渗透的完整教程 LuaN1aoAgent 是一款图认知驱动的自主 AI 渗透测试 Agent,能
fsql快速开始:从安装到第一个查询的完整教程
fsql快速开始:从安装到第一个查询的完整教程 想要更智能地搜索文件系统吗?fsql文件搜索工具让你能用类似SQL的查询语言来查找文件,告别复杂的命令行参数,享
如何快速上手Parallel Code:从零安装到跑通第一个多Agent并行任务的完整教程
如何快速上手Parallel Code:从零安装到跑通第一个多Agent并行任务的完整教程 Parallel Code 是一款免费开源的 AI 并行编程桌面应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考