AgentSquare
在规划、推理、工具使用与记忆模块中自动搜索 LLM Agent 组合。
- Star 数
- ★ 235
- 最近更新
- 1 年前
- 主语言
- HTML
- FA 评分
- 41/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 研究 LLM Agent 模块化设计的研究人员,希望搜索规划、推理、工具使用与记忆模块的组合。
- 不适合
- 不愿安装 WebShop、Sciworld 等外部任务环境的用户
- 希望开箱即用、无需自行准备 ALFWorld 任务数据的用户
这个 Agent 能做什么,适合哪些场景?
AgentSquare 是论文《AgentSquare: Automatic LLM Agent Search in Modular Design Space》的官方实现,提供代码、提示词和结果。它将 Agent 设计组织为规划、推理、工具使用和记忆四类模块,并提供模块 I/O 接口说明。主搜索实验通过 search/agent_search.py 运行。仓库给出了 ALFWorld、WebShop、M3Tooleval 和 Sciworld 的任务运行入口,也说明可参考 workflow.py 接入封装后的自定义任务。运行边界是本地 Python 环境、命令行、任务数据或外部任务环境,以及 OpenAI API 凭据。
先设置 OPENAI_API_KEY,并在 Python 3.9.12 环境中安装 requirements.txt。搜索流程从 search 目录执行 python agent_search.py。ALFWorld 示例在 tasks/alfworld 中通过 sh run.sh,或运行 alfworld_run.py 并指定 --planning、--reasoning、--tooluse、--memory 和 --model 参数来组合模块并解决任务;其中需将 ALFWORLD_DATA 指向任务数据路径。其他任务分别提供 WebShop、M3Tooleval 和 Sciworld 的运行命令;Sciworld 示例使用 eval_main_sci.py、配置文件、基线结果目录和模型参数执行评测。
- 研究 LLM Agent 模块化设计的研究人员,希望搜索规划、推理、工具使用与记忆模块的组合。
- 拥有 ALFWorld 数据的开发者,需要用指定模块参数运行一个任务求解示例。
- 已部署 WebShop 环境的评测人员,需要从 tasks/webshop 运行仓库提供的脚本。
- 使用 AgentBoard 的 Sciworld 环境的研究人员,需要以给定配置和基线结果目录评测模型与模块组合。
- 要把自有封装任务接入模块化工作流的开发者,可按 workflow.py 和 tasks/alfworld 的组织方式进行集成。
如何安装或部署这个 Agent?
设置凭据并创建运行环境:
export OPENAI_API_KEY=<YOUR KEY HERE>
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运行其他任务前,README 还要求:
cd tasks
pip install -r requirements.txt如何使用这个 Agent?
执行主搜索实验:
cd search
python agent_search.py运行 ALFWorld 示例前设置数据路径,然后执行:
export ALFWORLD_DATA=<Your path>/AgentSquare/tasks/alfworld
cd tasks/alfworld
sh run.sh也可使用 README 给出的模块参数调用:
python3 alfworld_run.py --planning deps --reasoning cot --tooluse none --memory dilu --model gpt-3.5-turbo-0125这个 Agent 有哪些优点和局限?
- 明确将设计空间分为规划、推理、工具使用和记忆四类模块,并提供模块接口说明。
- 同时提供搜索入口和多个任务入口,覆盖 ALFWorld、WebShop、M3Tooleval 与 Sciworld。
- ALFWorld 和 Sciworld 示例公开了可调整的模块及模型命令行参数,便于复现实验配置。
- README 的设置流程要求 OPENAI_API_KEY,且示例使用 gpt-3.5-turbo-0125 与 gpt-4o-2024-08-06;未提供其他模型供应商路径。
- WebShop 和 Sciworld 需要另行按外部项目说明安装和启动相应环境。
- ALFWorld 运行依赖 ALFWORLD_DATA 指向本地任务数据;任务数据获取和部署细节未在所给内容中完整说明。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| AgentSquare 当前 | 41 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 235 | 1 年前 | HTML | OpenAI API |
| AI Agents 项目与教程集合 | 证据不足 | 代码库 / SDK免费 + 模型费 | ★ 2.9k | 1 天前 | Jupyter Notebook | OpenAI API · Claude API |
| MS-Agent | 67 · 存在缺口 | 网页应用免费 + 模型费 | ★ 4.4k | 5 天前 | Python | — |
| AnimaWorks | 59 · 缺口较多 | — | ★ 268 | 今天 | Python | Codex · Claude Code · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 要求将 OpenAI API 密钥放入环境变量,但所给材料没有说明密钥保管、日志脱敏或数据保留方式,故敏感数据处理与数据流透明度仅部分体现。样例代码会调用工具、执行任务动作并发送请求,但没有显示用户确认、权限隔离或回滚机制;因此这些项得分低。README 链接论文并提供引用信息,模块贡献流程也提到审核与致谢,支持一定来源归属分。
requirements.txt 固定了若干直接依赖版本,M3ToolEval 代码还使用 backoff、轮次上限和异常追踪导入,提供有限的可用性与失败处理依据。所给运行代码片段并不完整,且材料未展示统一错误处理或跨文件一致性检查,因此自洽性与失败信息得分有限;没有把未执行测试作为扣分依据。
README 覆盖 ALFWorld、WebShop、M3ToolEval、Sciworld 和模块搜索,并说明如何添加任务及新模块,表明适用场景和环境设置较明确。模块接口与工具执行边界只部分呈现,未见何时应触发各能力的精确规则,也没有明确列出不适用范围,故边界和触发精度得分较低。
README 以设置、快速开始、其他任务、搜索实验和模块贡献组织内容,并提供命令示例;安装步骤和主要文件入口较易查找。材料未给出 FAQ、已知限制或清晰的维护负责人/更新承诺;仓库徽章标示 Apache-2.0,但许可证元数据仍未知,所给文件不足以确认完整许可条款,因此许可与维护相关得分保守。新闻日期构成简短更新记录,但没有持续版本策略。
模块化搜索和组合 planning、reasoning、tool-use、memory 的演示,体现了研究与实验用途上的增量价值。README 提供可复用命令和多任务入口,输出可用于运行基准任务;但 API 调用成本、搜索成本与资源需求没有说明,样例也不足以支撑对普通使用成本收益的充分判断。
README 将论文、代码发布、演示及模块流程联系起来,部分主张可追溯到明确文档。所给材料没有论文内容、运行结果记录或独立佐证来交叉核验性能主张;README 的描述与代码片段能提供有限互证,但不足以确认结果。材料没有系统区分已验证事实与宣传性或推断性陈述,因此该项得分有限。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 运行前需配置 OpenAI API 密钥;所给材料没有说明请求和任务数据如何处理或记录。
- 工具动作会在任务环境中执行。请先核对目标环境、依赖和 API 成本;本静态审阅未执行代码或验证结果。
常见问题
需要什么凭据?
可以直接运行搜索吗?
支持哪些已列出的任务?
能接入自己的任务吗?
谢谢反馈,我们会据此改进页面。