- Python 3.11+
- Docker (for sandboxed evolver and CTF-Dojo task containers)
- 50+ GB free disk for benchmark data and trajectories
- One supported LLM provider (see below)
Unpack the supplement archive (e.g., tar -xzf adaptive-auto-harness.tar.gz),
enter the resulting directory, and install the package in editable mode:
cd adaptive-auto-harness
pip install -e ".[all]"The [all] extra pulls every supported LLM provider and benchmark
backend. To install a minimal subset, replace [all] with one or
more of: [bedrock], [openai], [litellm], [swe], [mcp],
[skillbench], [gepa].
Copy .env.template to .env and fill in the values that apply to
your setup. The framework reads .env automatically.
| Variable | Purpose |
|---|---|
SOLVER_MODEL |
Model ID used by the task-solving agent |
EVOLVER_MODEL |
Model ID used by the evolver agents |
The placeholder strings <solver-model-id> and <evolver-model-id>
appear throughout the codebase. They are resolved at runtime from the
above env vars; replace them before running, or set the env vars and
the loader will substitute.
| Provider | Required env vars |
|---|---|
| AWS Bedrock | AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION |
| OpenAI | OPENAI_API_KEY |
| LiteLLM (any backend) | provider-specific (see https://docs.litellm.ai/) |
The default LLM client is in agent_evolve/llm/. To swap providers,
edit the BedrockClient or add a new client class implementing the
same interface; configs reference clients by name.
| Variable | Purpose |
|---|---|
TAVILY_API_KEY |
Web search (Tavily) |
FRED_API_KEY |
Economic indicators (FRED) |
SERPER_API_KEY |
Web search (Serper) |
JINA_API_KEY |
Web search (Jina) |
EXA_API_KEY |
Web search (Exa) |
Without these, FutureX runs in strict mode using only Wikipedia revisions plus DuckDuckGo with date filtering.
Datasets are not shipped with this repository. From the project root:
python data/download_data.py --benchmark polybench # ~40 MB
python data/download_data.py --benchmark ctf_dojo # ~2 GB
python data/download_data.py --benchmark futurex # ~10 MBSee data/README.md for the source of each benchmark and any
manual prerequisites (e.g., CTF-Dojo Docker images).
python -c "import agent_evolve; print(agent_evolve.__file__)"
pytest tests/ -qA successful test run validates the framework imports, contract helpers, and a small evolution dry-run.