CodeEvolve
目录
CodeEvolve
研究方向:代码自进化——以代码为载体的自进化:进化式程序搜索与算法发现、自改进编码 Agent、以及软件工程 Agent 的自训练闭环。
研究范畴
代码自进化(code self-evolution)把"代码"同时视为自进化的对象与手段:一方面,LLM 驱动的进化式程序搜索(FunSearch、AlphaEvolve、ShinkaEvolve、OpenEvolve、CodeEvolve)在可自动验证的问题上发现新算法与更优实现;另一方面,编码 Agent 可以修改自身的脚手架与工具(Self-Improving Coding Agent、Darwin Gödel Machine、Live-SWE-agent),形成"写代码的 Agent 改进写代码的 Agent"的递归闭环;再一方面,软件工程 Agent 的训练数据与环境本身也在自动生成与规模化(SWE-smith、SWE-Gym、R2E-Gym、SWE-RL 从开源演化历史学习)。本方向涵盖:自调试与自修复、流程工程(AlphaCodium)、进化式代码优化与算法发现、自改进编码 Agent 的档案与择优策略、可验证奖励下的代码 RL、以及软件工程环境的程序化合成。代码天然具备可执行、可测试、可度量的特点,是自进化闭环最易闭合也最易被作弊的领域,社区关注的核心问题包括:测试用例被"针对性通过"而非真正正确、进化出的代码可读性与可维护性、自修改 Agent 的安全边界,以及从竞赛题到真实仓库级任务的泛化。
研究挑战
- 评估作弊:针对测试用例硬编码、绕过验证器而非真正解决问题。
- 进化出的代码可读性、可维护性与安全性难以保证。
- 自修改编码 Agent 的失控与回滚:错误改动破坏自身能力。
- 从算法竞赛 / 函数级任务到仓库级真实软件工程的泛化。
- 进化搜索的算力与采样成本高,样本效率是关键瓶颈。
自研项目
- EvolveLLM — 博士课题《Toward True ASI》承载仓库,代码自进化是自进化机制综述中最易闭环验证的方向。
- Awesome-RSI — 递归自我改进资源清单,自重写 / 自修复编码 Agent 为重点收录对象。
- CLUB-benchmark (LogicEvolve) — 含代码推理任务族的智能体评测与自进化平台。
相关工作
代码 / 框架
- FunSearch — DeepMind 用 LLM 程序搜索取得数学发现
- AlphaEvolve results — AlphaEvolve 发现的算法与数学结果
- OpenEvolve — AlphaEvolve 开源复现
- ShinkaEvolve — 样本高效的开放式程序进化
- Darwin Gödel Machine (dgm) — 自修改自身代码的编码 Agent
- Self-Improving Coding Agent (SICA) — 编码 Agent 编辑自身代码库以提升性能
- OpenHands — 开源软件开发 Agent 平台
- aider — 终端 AI 配对编程工具
- Agentless — 无 Agent 的定位-修复-验证流程
- AlphaCodium — 从提示工程到流程工程的代码生成
- SWE-smith — 规模化合成软件工程 Agent 训练数据
- SWE-Gym — 训练软件工程 Agent 与验证器的环境
- R2E-Gym — 程序化生成的 SWE 环境与混合验证器
- SWE-RL — 在开源软件演化历史上做 RL
论文
- Evolution through Large Models — ELM:LLM 作为变异算子的程序进化
- Mathematical discoveries from program search with large language models — FunSearch(Nature 2023)
- AlphaEvolve: A coding agent for scientific and algorithmic discovery
- ShinkaEvolve: Towards Open-Ended And Sample-Efficient Program Evolution
- CodeEvolve: an open source evolutionary coding agent for algorithmic discovery and optimization — 同名开源进化编码 Agent
- Darwin Gödel Machine: Open-Ended Evolution of Self-Improving Agents
- A Self-Improving Coding Agent — SICA
- Live-SWE-agent: Can Software Engineering Agents Self-Evolve on the Fly? — 运行中自进化的 SWE Agent
- Teaching Large Language Models to Self-Debug
- Code Generation with AlphaCodium: From Prompt Engineering to Flow Engineering
- Agentless: Demystifying LLM-based Software Engineering Agents
- SWE-RL: Advancing LLM Reasoning via Reinforcement Learning on Open Software Evolution
- SWE-smith: Scaling Data for Software Engineering Agents
- Training Software Engineering Agents and Verifiers with SWE-Gym
- R2E-Gym: Procedural Environments and Hybrid Verifiers for Scaling Open-Weights SWE Agents