Dirt cheap
The minimum-spend profile — DeepSeek doing the work, thinking off where it doesn't pay, hard budget caps, and the free local-server escape hatch. Coding agents for pocket change.
The brief: spend as close to nothing as possible and still get real
work done. Point every role at the cheapest capable models, turn thinking
off where it doesn't pay, cap output, and put a hard --budget under it
all. Great for high-volume chores — lint sweeps, docstrings, mechanical
migrations, triage-the-backlog — and for getting a feel for Stella before
spending real money.
The config
{
"agent_engine_config": {
"pipeline_worker_model": "deepseek/deepseek-chat",
"pipeline_judge_model": "zai/glm-5.2",
"pipeline_triage_model": "deepseek/deepseek-chat",
"default_model": "deepseek/deepseek-chat",
"allowed_models": ["deepseek/deepseek-chat", "zai/glm-5.2"],
"auto_mode": "off",
"effort_auto": "off",
"reasoning_auto": "off",
"agents": {
"worker": {
"effort": "low",
"reasoning": "off",
"params": { "max_tokens": 8192 }
},
"judge": { "effort": "medium", "reasoning": "on" },
"triage": { "reasoning": "off" }
}
}
}Why these choices:
- DeepSeek as worker — $0.27/$1.10 per Mtok with a $0.07 cached rate:
the catalog's price floor among hosted
models. Thinking off and
max_tokenscapped: mechanical work doesn't need deliberation, and a runaway answer can't run far. - GLM-5.2 as judge — still cheap, still a different family than the worker, with thinking on: the judge is the one place this profile keeps its brain switched fully on. The whole judge call costs a fraction of a cent.
- No autos —
effort_autowould raise the worker to medium; this profile wants the floor.
Run it with a hard cap
# A quarter, and not a cent more.
stella --budget 0.25 run "add docstrings to every public function in src/api/"
# Chores at fleet scale — the budget divides across workers and caps the whole run.
stella --budget 1.00 fleet \
"fix clippy warnings in stella-store" \
"fix clippy warnings in stella-tools" \
"normalize log messages to sentence case"Always pass --test-command when there are tests — the deterministic
fail→pass flip is free verification that skips the judge call entirely
on the happy path.
What it costs
| Task shape | Ballpark |
|---|---|
| Lookup / explain | well under $0.01 |
| Focused single-file fix | $0.005 – $0.03 |
| Medium multi-file change | $0.01 – $0.10 |
| A ten-task chore fleet | often under $0.50 total |
The $0.00 tier: local models
Actually zero: serve a model yourself (Ollama, vLLM, LM Studio, llama.cpp) and pay in electricity —
stella --model local/llama3.3 --base-url http://localhost:11434/v1 \
run "explain what main.rs does"Quality depends entirely on what you serve; see Local servers. A pragmatic split: local model as worker, one cheap hosted model as judge, so verification keeps an independent set of eyes.
The honest trade-off: cheap models revise more and resolve less on hard tasks — and a run that fails three times isn't cheap. Watch $/resolved in the Observatory; when a chore class keeps failing here, that class belongs on the balanced profile. Cheap is a tool, not a religion.
Balanced
The daily-driver profile — a fast, cheap, capable worker with a flagship cross-family judge and automatic effort. Most of the quality at a fraction of the cost.
Goal Mode
Run Stella in judged rounds until an independent judge model — routed to a different model family than the worker — confirms from evidence that your objective has been met.