Configuration

YAML config files, environment variables, CLI arguments, and the 4-source hierarchy.

Configuration Hierarchy

AgenticCodingBench merges configuration from four sources. Highest priority wins:

1
CLI arguments

--endpoint, --model, --context-tokens

2
Environment variables

ACB_ENDPOINT, ACB_MODEL

3
YAML config file

acb --config bench.yml speed ...

4
Defaults

Sensible defaults for everything

Environment Variables

VariableDescription
ACB_ENDPOINTOpenAI-compatible endpoint URL
ACB_MODELModel name
ACB_API_KEYAPI key for the endpoint
ACB_CONTEXT_TOKENSDefault context size in tokens
ACB_CONTEXT_PROFILEDefault context profile
ACB_MODEL_CONTEXT_LENGTHModel's max context window - skips larger scenarios
ACB_DEFEAT_CACHEDefeat prefix caching (true/false)

YAML Config File

Create a YAML file and pass it with --config:

bench.yml
endpoint: http://my-gpu-server:8000
model: my-model
suite: standard
defeat_cache: true
acb --config bench.yml speed

Common Patterns

CI/CD Pipeline

Use environment variables so credentials stay out of config files:

.env
ACB_ENDPOINT=http://inference-server:8000
ACB_MODEL=my-model
ACB_API_KEY=sk-...
acb speed --suite quick --format json -o results.json

Team Config

Commit a YAML config to your repo so everyone runs the same benchmark:

acb.yml
endpoint: http://shared-gpu-server:8000
model: deepseek-r1
suite: full
defeat_cache: true

Override Anything

CLI args always win, so you can override any config:

acb --config bench.yml speed \
  --model different-model \
  --suite quick