AgentSquare
AgentSquare is a framework for automatically searching and designing modular LLM agents. It addresses the challenge of manually crafting agent architectures by exploring a modular design space of planning, reasoning, tool use, and memory modules. It is intended for developers and researchers building LLM-based agents for complex tasks.
✨ Key features
- Automatic search over modular agent design space
- Modular design with interchangeable planning, reasoning, tool use, and memory modules
- Supports multiple tasks: ALFWorld, Webshop, M3Tooleval, SciWorld
- Provides demos and pre-searched new modules
- Open-source with code, prompts, and results
- Community challenge for contributing new modules
🎯 Use cases
- Automatically discover optimal agent architectures for specific tasks
- Evaluate different module combinations on benchmarks like ALFWorld and Webshop
- Integrate custom tasks by following the workflow.py pattern
- Contribute new standardized modules to the community pool
📦 Installation
🧰 Requirements: Requires Python 3.9.12, OpenAI API key, and task-specific environments (e.g., ALFWorld, Webshop, SciWorld) for those tasks.
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
🚀 Usage
export ALFWORLD_DATA=<Your path>/AgentSquare/tasks/alfworld
cd tasks/alfworld
sh run.sh or
python3 alfworld_run.py \
--planning deps\
--reasoning cot\
--tooluse none\
--memory dilu\
--model gpt-3.5-turbo-0125 \
❓ FAQ
What is AgentSquare?
AgentSquare is an automatic LLM agent search framework that explores a modular design space to find optimal agent architectures for various tasks.
How do I set up AgentSquare?
Set your OpenAI API key, clone the repository, create a conda environment with Python 3.9.12, and install dependencies from requirements.txt.
What tasks are supported?
The README provides examples for ALFWorld, Webshop, M3Tooleval, and SciWorld.
Can I contribute new modules?
Yes, you can standardize your modules using the provided I/O interfaces and submit them via the linked Google Drive folder.
📊 Repository
🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.