Table of Contents

Agentless

Agentless is a lightweight approach to autonomous software engineering that solves development problems without persistent agent loops.1) Developed by researchers from the University of Illinois Urbana-Champaign, it follows a simple three-phase “localize-then-repair” methodology. With over 2,000 GitHub stars, Agentless achieved 40.7% on SWE-bench Lite and 50.8% on SWE-bench Verified when integrated with Claude 3.5 Sonnet — proving that simpler approaches can rival complex agent systems.

GitHub: OpenAutoCoder/Agentless2)3)

Key Features

Architecture

Agentless follows a deliberate anti-pattern to traditional agent design:

Usage Example

# Clone and set up
git clone https://github.com/OpenAutoCoder/Agentless.git
cd Agentless
 
# Create conda environment
conda create -n agentless python=3.11
conda activate agentless
pip install -r requirements.txt
 
# Set API key
export OPENAI_API_KEY="your-key-here"
 
# Run localization phase
python3 agentless/localize.py \
    --instance django__django-16379 \
    --model gpt-4
 
# Run repair phase
python3 agentless/repair.py \
    --instance django__django-16379 \
    --localization results/localization.json
 
# Run patch selection
python3 agentless/select.py \
    --candidates results/patches/

How It Works

graph TD A[Bug Report / Issue] --> B[Phase 1: Localization] B --> C[Repository-Level Analysis] C --> D[File-Level Narrowing] D --> E[Class/Method-Level Narrowing] E --> F[Line-Level Localization] F --> G[Phase 2: Repair] G --> H[Context Extraction] H --> I[LLM Patch Generation] I --> J[Multiple Candidate Patches] J --> K[Phase 3: Selection] K --> L[Test Execution] L --> M[Patch Ranking] M --> N[Best Patch Output] style B fill:#e1f5fe style G fill:#fff3e0 style K fill:#e8f5e9

Philosophy: Why Agentless?

The Agentless approach challenges the assumption that autonomous software engineering requires complex agent architectures:

The authors argue that if a simple three-phase pipeline can match or exceed agent-based systems, the field should question whether agent complexity is always justified. 4)

See Also

References

1)
“Agentless: Demystifying LLM-based Software Engineering Agents.” arXiv:2407.01489