AI个人学习
和实操指南

AIEvo:创建多智能体协作应用的高效框架

综合介绍

AIEvo是蚂蚁集团开源的多代理框架,旨在高效创建多代理应用。该框架严格遵循SOP任务图,提升复杂任务的执行成功率,并通过反馈和监控机制确保高灵活性和可扩展性。AIEvo已在蚂蚁集团内部生产环境中验证,具有稳定性和可靠性。用户可以利用AIEvo创建多种多代理应用,如辩论比赛、狼人杀游戏、卧底游戏等,也可以创建单代理应用,如完成代码编写任务的工程师代理。

AIEvo:创建多智能体协作应用的高效框架-1


 

功能列表

  • 高SOP合规性:严格遵循SOP任务图执行复杂任务。
  • 高执行成功率:通过反馈和监控机制提升任务成功率。
  • 高灵活性:支持基于任务属性的动态任务创建和订阅设置。
  • 可扩展性:提供众多扩展点,支持自定义增强框架。
  • 企业验证:在蚂蚁集团内部生产环境中验证,确保框架的稳定性和可靠性。
  • 多代理应用示例:支持创建辩论比赛、狼人杀游戏、卧底游戏等多代理应用。
  • 单代理应用示例:支持创建完成代码编写任务的工程师代理。

 

使用帮助

安装流程

  1. 克隆仓库:在终端中运行以下命令克隆AIEvo仓库:
   git clone https://github.com/antgroup/aievo.git
  1. 进入目录:进入克隆的AIEvo目录:
   cd aievo
  1. 安装依赖:根据项目的依赖文件安装所需依赖:
   go mod tidy

使用指南

创建多代理应用

  1. 初始化基础模型客户端
   client, err := openai.New(openai.WithToken(os.Getenv("OPENAI_API_KEY")), openai.WithModel(os.Getenv("OPENAI_MODEL")), openai.WithBaseURL(os.Getenv("OPENAI_BASE_URL")))
if err != nil {
log.Fatal(err)
}
  1. 文件操作相关工具
   fileTools, _ := file.GetFileRelatedTools(workspace)
  1. 命令执行工具
   bashTool, _ := bash.New()
  1. 构建工具集
   engineerTools := make([]tool.Tool, 0)
engineerTools = append(engineerTools, fileTools...)
engineerTools = append(engineerTools, bashTool)
  1. 回调处理器
   callbackHandler := &CallbackHandler{}
  1. 定义环境
   env := environment.NewEnv()
  1. 构建代理
   engineer, _ := agent.NewBaseAgent(
agent.WithName("engineer"),
agent.WithDesc(EngineerDescription),
agent.WithPrompt(EngineerPrompt),
agent.WithInstruction(SingleAgentInstructions),
agent.WithVars("sop", Workflow),
agent.WithVars("workspace", workspace),
agent.WithTools(engineerTools),
)

创建单代理应用

  1. 初始化基础模型客户端
   client, err := openai.New(openai.WithToken(os.Getenv("OPENAI_API_KEY")), openai.WithModel(os.Getenv("OPENAI_MODEL")), openai.WithBaseURL(os.Getenv("OPENAI_BASE_URL")))
if err != nil {
log.Fatal(err)
}
  1. 文件操作相关工具
   fileTools, _ := file.GetFileRelatedTools(workspace)
  1. 命令执行工具
   bashTool, _ := bash.New()
  1. 构建工具集
   engineerTools := make([]tool.Tool, 0)
engineerTools = append(engineerTools, fileTools...)
engineerTools = append(engineerTools, bashTool)
  1. 回调处理器
   callbackHandler := &CallbackHandler{}
  1. 定义环境
   env := environment.NewEnv()
  1. 构建代理
   engineer, _ := agent.NewBaseAgent(
agent.WithName("engineer"),
agent.WithDesc(EngineerDescription),
agent.WithPrompt(EngineerPrompt),
agent.WithInstruction(SingleAgentInstructions),
agent.WithVars("sop", Workflow),
agent.WithVars("workspace", workspace),
agent.WithTools(engineerTools),
)

示例应用

  • 辩论比赛:多个代理参与辩论比赛。
  • 狼人杀游戏:多个代理参与狼人杀游戏。
  • 卧底游戏:多个代理参与卧底游戏。
  • 论文写作:多个代理协作撰写论文。
  • 工程师代理:单个代理完成代码编写任务。

注意事项

  • 确保在使用前已正确配置环境变量,如OPENAI_API_KEYOPENAI_MODELOPENAI_BASE_URL等。
  • 根据具体需求自定义代理的描述、提示和指令。
  • 使用回调处理器分析代理的执行过程,优化任务执行效果。
未经允许不得转载:首席AI分享圈 » AIEvo:创建多智能体协作应用的高效框架

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文