Project report / GitHub evidence

EvoAgent: 基于进化算法的多智能体自动生成方法

这是可索引项目报告证据页:它保留 EvoAgent: 基于进化算法的多智能体自动生成方法 的源材料入口、机制线索和限制提醒;正文仍需 reader/editor 与 academic public-copy review 后才能当作最终结论引用。

EvoAgent: 基于进化算法的多智能体自动生成方法

基本信息

字段内容
GitHubhttps://github.com/siyuyuan/EvoAgent
Star100+
技术栈Python, OpenAI API, Google Gemini API, LangChain, ScienceWorld
许可证未明确
开发者Siyu Yuan 等
论文EvoAgent: Towards Automatic Multi-Agent Generation via Evolutionary Algorithms (arXiv 2024)

项目简介

EvoAgent 是一种将进化算法应用于多智能体系统自动生成的通用方法。核心思想是将智能体类比为生物个体,模拟人类社会中的繁衍和进化机制,从预定义的专家智能体出发,自动生成多样化的多智能体系统。项目在 NLP 推理任务、多模态任务(MMMU)、交互式科学问题求解(ScienceWorld)和旅行规划(TravelPlanner)等多种场景中验证了方法的有效性。

核心理念:每个 Agent 可视为”个体”,通过多代繁衍扩充”种群”,实现从单个专家 Agent 到多 Agent 系统的自动化扩展。

目录结构

evoagent/
├── spp/                          # ★ Solo Performance Prompting 实验
│   ├── llm_evoagent.py           # ★ 主入口(NLP 任务)
│   ├── llm_evoagent_codenames.py # Codenames 协作任务
│   ├── agent_prompt_writing.py   # 写作任务 Agent 提示
│   ├── agent_prompt_logic.py     # 逻辑推理 Agent 提示
│   ├── agent_prompt_code.py      # 代码任务 Agent 提示
│   ├── util_func.py              # ★ 工具函数(进化核心逻辑)
│   └── data/                     # 任务数据集
├── mmmu/                         # 多模态 MMMU 实验
│   ├── run_evoagent.py           # MMMU 入口
│   ├── agent_prompt.py           # 多模态 Agent 提示
│   └── llm.py                    # LLM 封装
├── scienceworld/                 # ★ ScienceWorld 交互实验
│   ├── eval_evoagent.py          # ScienceWorld 评估入口
│   ├── collaboration_prompt.py   # 协作提示
│   ├── metrics.py                # 评估指标
│   └── prompts/                  # 提示模板
├── travelplanner/                # 旅行规划实验
│   └── tools/planner/            # 规划工具
└── assets/
    └── framework.png             # 框架图

核心模块分析

1. 进化式 Agent 生成(util_func.py)

EvoAgent 的核心进化逻辑在 util_func.py 中实现,主要包括:

# 进化式 Agent 协作的核心流程
def collaboration_func(ind, question, answer, model_name, data_type):
    # ind = 进化迭代次数
    # 每轮迭代:
    # 1. 基于当前答案生成反馈 Agent
    # 2. 反馈 Agent 评估并提出改进建议
    # 3. 新 Agent 根据建议生成改进答案
    # 4. 选择最优答案作为下一代输入
    i = 0
    answer_list = []
    while i < ind:
        prompt = feedback_agent_prompt.format(question=question, answer=answer)
        feedback_description = evaluator_construction(messages, model_name, question, data_type)
        prompt = self_refine_agent_prompt.format(question=question, answer=answer, feedback=feedback_description)
        new_answer = evaluator_construction(messages, model_name, question, data_type)
        answer_list.append({"time": i, "results": answer, "refine": feedback_description, "new_results": new_answer})

2. Agent 提示工程(agent_prompt_*.py)

每个任务领域有独立的提示模块,包含三类 Agent 的提示模板:

以写作任务为例,提示模板包括:

3. 多场景评估

EvoAgent 支持四类评估场景:

场景任务评估指标
NLP 推理Logic Grid Puzzle, Trivia Creative Writing, Codenames准确率/质量评分
多模态MMMU多选题准确率
交互环境ScienceWorld (30 个科学任务)任务完成度
规划TravelPlanner约束满足率

4. 选择策略

EvoAgent 提供多种种群选择策略(SELECT_STRATEGY):

技术亮点

  1. 生物进化类比:将 Agent 视为生物个体,通过”繁衍”和”选择”机制自动生成多智能体系统,降低了多智能体系统设计的门槛
  2. 通用框架设计:方法不依赖于特定的 Agent 架构或 LLM,可应用于从文本推理到多模态、从静态任务到交互环境的广泛场景
  3. 自反射与协作结合:每个 Agent 既具备自我反思改进能力,又能在多 Agent 协作中通过交叉学习产生可比较的输出变化
  4. 迭代式种群生成:通过 GROUP_NUM 控制每轮生成的 Agent 数量,通过 IND 控制进化迭代次数,实现灵活的计算预算分配
  5. 兼容多种 LLM:支持 OpenAI GPT 系列、Google Gemini 以及本地部署的 LLaMA 模型

与 Self-Evolve 关联

维度EvoAgent 贡献
Agent 自动生成提供了从单个专家 Agent 出发自动扩展为多 Agent 系统的进化范式,为 Self-Evolve 中 Agent 架构的自我进化提供了直接参考
进化式协作将进化选择机制应用于 Agent 协作场景,展示了”竞争-选择-改进”循环在多 Agent 系统优化中的有效性
反馈驱动的自我改进通过反馈 Agent 评估当前输出并提出改进建议的机制,与 Self-Evolve 中的自我评估模块高度一致
多场景验证在推理、多模态、交互环境、规划等多种场景中的验证,为 Self-Evolve 系统的泛化能力评估提供了基准参考
零配置扩展从预定义专家自动扩展多 Agent 的设计理念,启发了 Self-Evolve 系统中自动化系统扩展的能力

参考资料