AgentSquare:清华推出优化智能体模块化设计和搜索的新框架

48 阅读4分钟

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. AgentSquare 是清华大学团队推出的一个模块化智能体设计和搜索框架,通过自动优化 LLM 代理设计,显著提升智能体性能。
  2. 该框架包含任务规划、常识推理、工具使用和记忆学习四个核心模块,支持智能体针对不同任务场景的优化设计。
  3. AgentSquare 提供了模块重组、模块进化和性能预测等多种优化机制,实现高效搜索和自动化智能体设计。

正文(附运行示例)

AgentSquare 是什么

AgentSquare.png

AgentSquare 是由清华大学团队推出的一个自动在模块化设计空间中搜索大型语言模型(LLM)代理的新框架。通过标准化的模块接口抽象,实现 AI 智能体的高速自我演化和自适应演进。框架包含任务规划、常识推理、工具使用和记忆学习四个核心模块,支持智能体针对不同任务场景的优化设计。AgentSquare 基于模块重组、模块进化和代理评测模型,解决智能体设计的搜索问题,显著提升智能体的性能,有效控制推理成本。

AgentSquare 的主要功能

  • 模块化设计空间:AgentSquare 提出一个包含规划、推理、工具使用和记忆四个基本模块的模块化设计空间,支持研究人员轻松构建和优化 LLM 代理。
  • 模块重组:基于智能体顶层架构的优化,AgentSquare 能重组现有的高性能模块,探索更优的智能体设计。
  • 模块进化:AgentSquare 在代码层面探索和生成新的模块设计,引入创新性设计并扩展设计空间。
  • 性能预测:引入代理评测模型(Surrogate Model)预测智能体性能,减少昂贵的实时评估成本,加速搜索过程。
  • 自动化搜索:AgentSquare 自动发现和优化 LLM 代理设计,无需人工干预,实现自动化的智能体设计搜索。

AgentSquare 的技术原理

  • 模块化智能体搜索(MoLAS):AgentSquare 基于 MoLAS 问题,采用模块化方法自动优化 LLM 代理设计。
  • 模块重组机制:利用大型语言模型(LLM)作为重组提议者,基于性能评测经验,提出新的模块组合方案。
  • 模块进化机制:基于 LLM 作为模块编程器,结合进化元提示(Evolutionary meta-prompt),探索新的模块设计。
  • 性能预测模型:使用上下文替代模型(in-context surrogate model)预测新提出的 LLM 代理的性能,减少评估成本。
  • 迭代搜索算法:AgentSquare 基于迭代搜索算法,结合模块重组和模块进化,发现性能更优的代理设计。
  • 标准化接口:基于标准化不同模块的输入输出接口,AgentSquare 支持模块间的无缝集成和替换,便于新模块的快速集成和测试。

如何运行 AgentSquare

安装环境

  1. 设置 OpenAI API 密钥并存储在环境变量中。
export OPENAI_API_KEY=<YOUR KEY HERE>
  1. 安装依赖项。
git clone https://github.com/tsinghua-fib-lab/AgentSquare.git
conda create -n agentsquare python=3.9.12
conda activate agentsquare
cd AgentSquare
pip install -r requirements.txt

快速启动:ALFWorld 示例

结合不同的代理模块来解决 ALFWorld 任务的示例脚本:

export ALFWORLD_DATA=<Your path>/AgentSquare/tasks/alfworld
cd tasks/alfworld
sh run.sh

或者:

python3 alfworld_run.py \
--planning deps \
--reasoning cot \
--tooluse none \
--memory dilu \
--model gpt-3.5-turbo-0125

运行其他任务

Webshop
  1. 安装 webshop 环境,具体步骤请参见 这里 并启动 WebShop 网页。
  2. 运行任务。
cd tasks/webshop
sh run.sh
M3Tooleval
cd tasks/m3tooleval
sh run.sh
Sciworld
  1. 安装 Sciworld 环境,具体步骤请参见 这里
  2. 运行任务。
cd tasks/sciworld/agentboard
python3 eval_main_sci.py \
    --cfg-path ../eval_configs/main_results_all_tasks.yaml \
    --tasks scienceworld \
    --wandb \
    --log_path ../results/gpt-4o-2024-08-06 \
    --project_name evaluate-gpt-4o-2024-08-06 \
    --baseline_dir ../data/baseline_results \
    --model gpt-4o-2024-08-06 \
    --planning none \
    --reasoning cot \
    --tooluse none \
    --memory none

资源

  1. 项目官网:tsinghua-fib-lab.github.io/AgentSquare…
  2. GitHub 仓库:github.com/tsinghua-fi…
  3. arXiv 技术论文:arxiv.org/pdf/2410.06…

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦