AgentSquare
在规划、推理、工具使用与记忆模块中自动搜索 LLM Agent 组合。
- Star 数
- ★ 232
- 最近更新
- 10 个月前
- 主语言
- HTML
- FA 评分
- 28/100 · 缺口较多
30 秒速览
- 可在哪里用
- 平台专用OpenAI API
- 开始前需要
- 典型场景
- 研究 LLM Agent 模块化设计的研究人员,希望搜索规划、推理、工具使用与记忆模块的组合。
- 主要局限
- README 的设置流程要求 OPENAI_API_KEY,且示例使用 gpt-3.5-turbo-0125 与 gpt-4o-2024-08-06;未提供其他模型供应商路径。
这个 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 当前 | 28 · 缺口较多 | ★ 232 | 10 个月前 | HTML | OpenAI API |
| AI Agents 项目与教程集合 | 9 · 缺口较多 | ★ 2.9k | 4 天前 | Jupyter Notebook | OpenAI API · Claude API |
| MS-Agent | 48 · 缺口较多 | ★ 4.4k | 2 天前 | Python | — |
| Anda | 44 · 缺口较多 | ★ 440 | 7 天前 | Rust | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示仓库未提供权限模型、用户确认机制、数据流透明性、敏感数据处理、依赖安全审计、外部影响说明、回滚机制或来源归属。所有信任相关标准均未得到满足,因此得分为0。
自洽性:README中的安装步骤与requirements.txt一致,但未提供完整的配置示例,且部分任务依赖外部环境,自洽性不足。依赖可用性:requirements.txt列出了具体版本,但未提供依赖的完整性或兼容性验证。失败消息:未提供错误处理或失败消息的文档。
受众与场景:README明确了目标受众(研究社区)和多个任务场景(ALFWorld、WebShop等),但未提供详细的场景配置。能力边界:未明确说明AgentSquare的能力边界,如支持的模型、任务类型等。触发精度:提供了命令行参数示例,但未详细说明参数含义。环境适配:提供了Python版本和依赖安装说明,但未说明操作系统兼容性。
信息架构:README结构清晰,包含安装、快速开始、任务运行等部分。安装说明:提供了详细的安装步骤。命名稳定性:模块命名未明确说明。示例与FAQ:提供了多个任务示例,但无FAQ。已知限制:未提及。许可证:README显示Apache-2.0,但未提供LICENSE文件。版本与变更日志:未提供。维护责任:提供了联系邮箱,但未明确维护责任。
输出可用性:提供了运行示例,但未说明输出格式。边际价值:AgentSquare提出了模块化设计空间搜索,具有研究价值。成本效益:未提供性能或成本分析。
声明可追溯性:README引用了论文和网站,但未提供具体结果数据。跨来源佐证:仅依赖README,未提供其他来源。事实与推断分离:未明确区分事实和推断。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 仓库未提供许可证文件,尽管README声称Apache-2.0。
- 依赖版本固定,但未提供安全审计或漏洞信息。
- 未提供任何安全或隐私相关文档。
- 未提供回滚或恢复机制。