five

EvoTrace

收藏
arXiv2026-05-20 更新2026-05-21 收录
下载链接:
https://huggingface.co/datasets/ZIB-IOL/EvoTrace
下载链接
链接失效反馈
官方服务:
资源简介:
EvoTrace是一个用于分析进化编码代理动态行为的结构化搜索轨迹数据集,由柏林祖斯研究所、柏林工业大学等机构联合创建。该数据集包含121次进化运行记录,涵盖10,672个独特程序、18,400次LLM调用,覆盖Python数学构造和C++竞技编程两大领域共16项任务。数据通过标准化JSONL模式收集,完整记录了程序源代码、父子关系图、提示上下文及评估元数据。数据集旨在通过可重放的搜索轨迹,揭示进化编码系统在算法结构发现、参数调优和概念重组等不同改进机制中的内在动态特性。
提供机构:
柏林祖斯研究所; 柏林工业大学; 香港浸会大学; 理研·先进智能项目中心
创建时间:
2026-05-20
原始信息汇总

EvoTrace 数据集概述

EvoTrace 是一个精炼、去重、匿名化的进化代码搜索轨迹数据集,包含 121 次进化代码搜索运行,覆盖 4 种后端2 个问题领域。该数据集由论文《What Do Evolutionary Coding Agents Evolve?》(arXiv:2605.20086)的实验生成。数据集总大小 1.7 GB,包含 10,672 条程序记录18,341 个唯一内容寻址代码/提示 blob


数据集结构

数据集根目录布局如下:

EvoTrace/ ├── openevolve_native/ 44 runs, 497MB, 4,267 programs ├── evox/ 30 runs, 301MB, 2,396 programs ├── gepa_native/ 29 runs, 70MB, 429 accepted + 1,708 rejected ├── shinkaevolve/ 18 runs, 326MB, 1,872 programs ├── tools/ │ └── refine_outputs.py └── README.md

运行(Run)命名规则

每个运行目录的命名格式为:<problem>_<model_or_config>_<iterations>_<hash6>,其中末尾的 6 字符十六进制哈希用于区分相同问题/模型/迭代次数的不同运行。

问题领域划分

  • ALE(62 个运行):运行名称以 ale_bench_ahc<digit> 开头,代表 AtCoder 启发式竞赛风格的 C++ 启发式算法。
  • math(65 个运行):其他所有数学发现类问题(如 circle_packingheilbronn_**_autocorr_ineq 等)。

每个运行的目录结构(4 种后端通用)

每个运行目录包含以下文件:

文件 内容
meta.json 后端、源路径、精炼时间戳、模式版本、计数信息
programs.jsonl 每行一个唯一程序记录(按 UUID 去重),包含统一的字段 schema
iterations.jsonl 每个检查点的角色成员关系:{iteration, role, slot_key, program_id, value}
iter_scalars.jsonl 标量轨迹:{iteration, key, value}(如 best_program_id、last_iteration 等)
blobs/<sha[:2]>/<sha>.<ext> 内容寻址的源代码(.txt)和提示负载(.json

programs.jsonl 的统一字段定义

python { "id": str, # UUID "parent_id": str | None, "other_context_ids": list[str], # 兄弟/启发 ID "parent_info": dict | None, "context_info": dict | None, "iteration_found": int, # 首次生成的迭代编号 "generation": int, # 等同于 iteration_found(shinkaevolve 专用) "metrics": dict, # 指标,通常包含 "combined_score" "language": "python" | "cpp" | …, "status": "accepted" | "rejected" | "failed", "source": str, # 数据来源结构 "metadata": dict, # 后端特定元数据(含 model_name) "timestamp": float | None, "solution_sha256": str | None, # → blobs/XX/<HASH>.txt "prompts_sha256": str | None, # → blobs/XX/<HASH>.json "artifacts": dict | None, # 后端特定小型工件 }


各后端特有信息

后端 运行数 程序数 语言 额外特性
openevolve_native 44 4,267 py/cpp 多岛 MAP-Elites,含特征网格档案;额外文件:feature_stats.jsonlbest/logs/
evox 30 2,396 py/cpp 协同进化,搜索算法与程序共同进化;额外文件:evox_search.jsonlevox_failed_attempts.jsonl
gepa_native 29 429 接受 + 1,708 拒绝 py/cpp 精英池 + 拒绝历史(含拒绝程序的记录)
shinkaevolve 18 1,872 cpp 基于 bandit 的进化,SQLite 后端;额外文件:shinka_events.jsonlshinka_attempts.jsonlshinka_gen_metrics.jsonlshinka_private_lineage.jsonl

预计算分析(analysis/ 目录)

95 个运行包含分析输出,分为两个覆盖层级:

  • 全量套件(80 个运行):覆盖 openevolve_native(26/44)、evox(28/30)、gepa_native(26/29),包含循环检测、编辑分类、最佳程序谱系、超参数计数以及 LLM 编辑分类。
  • 仅 LLM 编辑分类(15 个 shinkaevolve 运行):仅包含 llm_edit_taxonomy.* 文件。
文件 说明
cycle_classes.json / .summary.json / .programs.csv 按类别分组的行级循环事件
edit_classification.json / .summary.json / .csv 每次编辑的构成:调优/结构/注释/混合
best_so_far_lineages/ 最佳程序谱系、目标列表、可视化图
hyperparameter_counts/ 每个程序/每次迭代的数字字面量计数
llm_edit_taxonomy.csv / .jsonl / .summary.json 每次编辑的 LLM 判断分类

数据集统计总览

后端 运行数 唯一程序数 备注
openevolve_native 44 4,267 多岛 MAP-Elites
evox 30 2,396 协同进化
gepa_native 29 429 + 1,708 拒绝 精英池 + 拒绝历史
shinkaevolve 18 1,872 Bandit 驱动,SQLite 后端
总计 121 10,672

匿名化说明

  • 所有文本文件中的作者/机构/集群主机名引用已被替换。
  • 符号链接已被实体化(rsync -aL)以确保数据集独立可移植。
  • bandit_state.pkl 文件已移除。
  • 所有 ISO 日期字符串和 Unix 时间戳已被置空。
  • 运行目录和日志文件名中的日期后缀(_YYYYMMDD_HHMMSS)已被移除,改用稳定的 6 字符十六进制哈希进行区分。

数据读取方式

推荐使用 huggingface_hub.snapshot_download 下载完整文件树:

python from huggingface_hub import snapshot_download local = snapshot_download(repo_id="ZIB-IOL/EvoTrace", repo_type="dataset")

配套分析库 evo_replay 可自动检测此布局并解析内容寻址 blob。也可使用标准库直接解析 programs.jsonlblobs/ 目录。


许可协议

CC-BY-4.0

搜集汇总
数据集介绍
main_image_url
构建方式
EvoTrace 是一个专注于演化编码智能体搜索轨迹的结构化数据集,涵盖四个演化框架(OpenEvolve、GEPA、EvoX、ShinkaEvolve)、五个大语言模型及16项数学发现与算法设计任务。数据收集通过将每个演化运行的全过程——候选程序、父代-子代关系、提示及上下文、评估器输出、得分与环境元数据——归一化为统一的JSONL模式实现,记录了10,672个独立程序和18,400次LLM调用,确保跨系统轨迹的标准化、可回放与可干预。
特点
EvoTrace 的独特之处在于其不仅记录最终得分,还捕获了完整的搜索过程,使演化编码智能体的进化机制可被解析。数据集提供了包含全程序源码的轨迹,支持回放与受控干预,并基于逐编辑的注释(涵盖九种重复性编辑类型,如超参数调优、架构变更、效率优化等)实现了对得分提升来源的细粒度分析。特别地,约30%的代码行在搜索过程中被字节级重复引入,这一循环模式贯穿几乎所有运行,揭示了搜索预算的低效使用。
使用方法
EvoTrace 可与配套工具 EvoReplay 结合使用,通过回放式分析重建每个候选程序在搜索图中的局部状态,并执行受控干预实验,如同提示回放、贝叶斯优化调参、静态分析、循环检测及模型替换等。用户可对任意轨迹进行稳定性测试,量化结构发现与参数搜索的贡献,并评估公共得分在私有测试集上的泛化能力。该数据集适用于诊断演化编码智能体的搜索动态、比较不同框架的编辑效用,以及验证改进的可复现性。
背景与挑战
背景概述
近年来,大型语言模型与进化搜索相结合,催生了一种名为进化编码代理的新型系统范式。这类系统通过迭代生成、修改和选择代码,在数学发现与算法设计等复杂任务中展现出卓越性能。然而,尽管学界普遍以最终得分衡量进展,但这种单一指标掩盖了改进背后截然不同的内在机制:是发现了新的算法结构,还是对既有策略的参数进行微调,抑或是模型内部知识的重组,甚至是对评估器的过度拟合。为厘清这些迷思,来自柏林祖斯研究所、柏林工业大学、香港浸会大学及日本理化学研究所的研究团队于2026年联合构建了EvoTrace数据集。该数据集收录了来自四个进化框架、五种大语言模型、横跨数学构造与算法编程的16项任务的121条完整进化搜索轨迹,涵盖超过一万个独立程序的全部搜索过程、族谱关系与评估元数据,为深入剖析进化编码代理的动态演化机制奠定了坚实基础。
当前挑战
EvoTrace数据集所应对的核心挑战在于,现有研究普遍以离散的最终基准分数来概括进化编码代理的进展,却未能揭示分数提升的实际路径与内在机理。具体而言,研究面对两大挑战:其一,领域问题的分析难题——分数增益究竟源于结构性算法创新、参数调优、模型知识重组还是对评估器的过拟合?如何区分这些机制需要深入审视搜索过程本身,而非仅关注最终结果。其二,数据集构建的重重困难——来自不同框架的搜索日志格式与记录粒度差异悬殊,直接跨系统比较几乎不可能;一次进化运行可能生成数百个候选程序,每个候选程序与其祖先之间可能呈现非局部的结构重写、细微的数值编辑、提示驱动的重写或针对评估器的取巧性调整,使得系统的状态分解与可比性分析极具挑战。为实现统一的、可回放的结构化追踪表征,研究者开发了EvoReplay重放方法论,通过对搜索状态的重建与受控干预来系统性地识别进化代理的真实行为模式。
常用场景
经典使用场景
在代码智能与自动化的前沿探索中,EvoTrace作为首个系统性记录进化编码代理搜索轨迹的结构化数据集,被广泛用于剖析大语言模型驱动的程序进化机制。其核心用途在于,通过捕捉数学构造与算法设计任务中程序突变的全路径——包括父代-子代关系、提示上下文、评估分数及执行日志——研究者得以超越传统仅依赖最终分数的评估范式,转而直接检验搜索过程中的局部状态变化,从而区分算法结构创新、参数微调、知识重组或评估器过拟合等不同进步来源。这一能力使EvoTrace成为诊断进化编码代理行为、解析其动态演替与停滞原因的标准化分析工具。
实际应用
实际应用中,EvoTrace所揭示的搜索动态特性直接启发了进化编码系统的设计优化。例如,针对其发现的循环引入已删除代码的普遍现象,开发者可设计删除感知的新颖性过滤器或谱系感知信用分配机制,从而避免搜索预算的浪费。此外,基于同提示重放的可复现性分析表明,前沿突破事件虽不易逐字节复现,但其获得的分数提升可在不同程序间稳健迁移,这为实际部署中采用容错性更强的进化策略提供了理论依据。这些洞见正被整合到诸如SkyDiscover等开源进化框架中,用以提升自动算法发现与数学构造任务的搜索效率与结果稳定性。
衍生相关工作
EvoTrace的发布催生了一系列诊断性研究工作。其配套方法EvoReplay被后续工作直接采用,用于对进化搜索进行受控干预实验,如静态分析、贝叶斯优化上限估计及模型替代测试。基于EvoTrace的标注框架,学界进一步构建了更精细的编辑分类体系,并将其应用于分析进化搜索中的种群多样性、谱系深度与最佳轨迹稳定性。此外,其关于公开分数与私有测试集泛化差距的发现,推动了如ALE-bench等基准平台对评估协议的修订,要求同时报告公共与私有测试结果以暴露过拟合。这些衍生工作共同深化了代码进化搜索行为学这一新兴研究领域。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作