☰
如何跑通AntOmniEvo第一次优化:从安装到调用optimize()的快速开始完整教程
2026/10/17 17:00:09 网站建设 项目流程

【免费下载链接】AntOmniEvo

An auto-evolution framework that optimizes anything — your 7×24 team of algorithm engineers.

项目地址:https://gitcode.com/gh_mirrors/an/AntOmniEvo
点击查看免费下载

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 RAGagentic_rag_internal.py进程内系统 + 基类Optimizer,最简单的端到端参照,建议先看这个
RAG 流水线rag_pipeline.py子进程System+ 场景Optimizer子类
Text2SQLbirdtest_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()方法,跑起来后按这个顺序工作:

  1. 建立 root 候选:把initial_artifacts_dir指向的初始可调产物注册为 root,并在验证集上评出baseline_avg_score——这是之后所有改进的基准线;
  2. 并发进化:num_proposals个 slot 同时工作,每个 slot 由进化算法select()挑一个候选 → Proposer 读失败轨迹、改写产物生成子候选 → 子候选在训练 batch 上评估 → 分数达标才被接受进种群;
  3. 预算耗尽即软停止:任一预算维度触顶后不再开新 slot,在飞 slot 排空后优雅退出;
  4. 可中断可续跑: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.

项目地址:https://gitcode.com/gh_mirrors/an/AntOmniEvo
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询