imbue-ai/darwinian_evolver
Framework for evolving code and prompts inspired by Darwinian evolution
解决的问题
Darwinian-evolver 提供了一个框架,通过迭代且受进化启发的过程,自动改进代码片段或提示词模板。它通过自动化变异、测试和选择的循环,解决了手动调整提示词或编写复杂逻辑的问题,即使在用于产生变更的工具(变异器)不可靠的情况下,也能让解决方案朝向更高性能演化。
运作方式
该框架维护一个解决方案(生物体)群体,并通过三个核心组件进行演化:
- 初始生物体 (Initial Organism):起点,例如 Python 函数或提示词模板。
- 评估器 (Evaluator):一个对生物体性能进行评分并识别特定失败案例(解决方案失败的输入)的系统。
- 变异器 (Mutator):一个由 LLM 驱动的代理或提示词,它接收一个生物体及其失败案例,以产生改进版本。
在每次迭代中,框架会根据加权采样方法(考虑性能分数和新颖性)选择有前途的亲本,应用变异,并评估新的后代。它包含诸如 批次变异 (Batch Mutations) 以同时处理多个失败、变异后验证 (Post-Mutation Verification) 以在全面评估前过滤掉不良变更,以及 学习日志 (Learning Log) 以允许变异器参考先前尝试的成功或失败等进阶功能。
适用对象
希望优化 LLM 提示词、演化 AI 编码代理,或解决复杂推理任务(如 ARC-AGI)而无需手动反复试验的开发者和 AI 研究人员。
特色亮点
- 弹性优化 (Resilient Optimization):即使变异器仅在少数情况下产生改进,也能有效运作。
- 代码演化 (Coded Evolution):支持演化实际源代码,实现自我改进的变异器,让代理能改进自身的逻辑。
- 灵活采样 (Flexible Sampling):使用 Sigmoid 缩放的性能和新颖性奖励,以平衡对顶尖解决方案的利用与群体多样性。
- 谱系可视化 (Lineage Visualization):包含一个工具,可可视化检查群体的演化历史。
相关
- 项目
- 项目
- 项目
- 项目