Files
AutoGPT/classic/forge
Nicholas Tindle 32f68d5999 feat(classic): add failure analysis tool and improve benchmark output
Benchmark improvements:
- Add analyze_failures.py for pattern detection and failure analysis
- Add informative step output: tool name, args, result status, cost
- Add --all and --matrix flags for comprehensive model/strategy testing
- Add --analyze-only and --no-analyze flags for flexible analysis control
- Auto-run failure analysis after benchmarks with markdown export
- Fix directory creation bug in ReportManager (add parents=True)

Prompt strategy enhancements:
- Implement full plan_execute, reflexion, rewoo, tree_of_thoughts strategies
- Add PROMPT_STRATEGY env var support for strategy selection
- Add extended thinking support for Anthropic models
- Add reasoning effort support for OpenAI o-series models

LLM provider improvements:
- Add thinking_budget_tokens config for Anthropic extended thinking
- Add reasoning_effort config for OpenAI reasoning models
- Improve error feedback for LLM self-correction

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 18:58:41 -06:00
..

AutoGPT Forge

Core autonomous agent framework for building AI agents.

Quick Start

# Install
poetry install

# Configure
cp .env.example .env
# Edit .env with your OPENAI_API_KEY

# Run
poetry run python -m forge

The agent server runs on http://localhost:8000 by default.

Configuration

Environment Variables (.env)

# Required
OPENAI_API_KEY=sk-...

# Optional LLM settings
SMART_LLM=gpt-4o                    # Model for complex reasoning
FAST_LLM=gpt-4o-mini                # Model for simple tasks
EMBEDDING_MODEL=text-embedding-3-small

# Optional search providers
TAVILY_API_KEY=tvly-...
SERPER_API_KEY=...
GOOGLE_API_KEY=...
GOOGLE_CUSTOM_SEARCH_ENGINE_ID=...

# Optional infrastructure
LOG_LEVEL=DEBUG                     # DEBUG, INFO, WARNING, ERROR
DATABASE_STRING=sqlite:///agent.db  # Agent Protocol database
PORT=8000                           # Server port
FILE_STORAGE_BACKEND=local          # local, s3, or gcs

Workspace Settings (.autogpt/autogpt.yaml)

Workspace-wide permissions for all agents:

allow:
  - read_file({workspace}/**)
  - write_to_file({workspace}/**)
  - list_folder({workspace}/**)
  - web_search(*)

deny:
  - read_file(**.env)
  - read_file(**.key)
  - execute_shell(rm -rf:*)
  - execute_shell(sudo:*)

Agent Settings (.autogpt/agents/{id}/permissions.yaml)

Agent-specific permission overrides:

allow:
  - execute_python(*)
deny:
  - execute_shell(*)

Workspace Structure

{workspace}/
├── .autogpt/
│   ├── autogpt.yaml              # Workspace permissions
│   ├── ap_server.db              # Agent Protocol database
│   └── agents/
│       └── AutoGPT-{agent_id}/
│           ├── state.json        # Agent state
│           ├── permissions.yaml  # Agent permissions
│           └── workspace/        # Agent's working directory

Permissions

Permission checks follow this order (first match wins):

  1. Agent deny list → Block
  2. Workspace deny list → Block
  3. Agent allow list → Allow
  4. Workspace allow list → Allow
  5. Prompt user → Interactive approval

Pattern Syntax

Format: command_name(glob_pattern)

Pattern Description
read_file({workspace}/**) Read any file in workspace
execute_shell(python:**) Execute Python commands
web_search(*) All web searches

Special tokens:

  • {workspace} - Replaced with workspace path
  • ** - Matches any path including /
  • * - Matches any characters except /

Tutorials

The tutorial series guides you through building a custom agent:

  1. A Comprehensive Guide to Your First Steps
  2. The Blueprint of an AI Agent
  3. Interacting with your Agent
  4. Crafting Intelligent Agent Logic