EmpryoEmpryo.beta
recipes

Use multiple models

Assign cheap models to exploration and strong models to code edits with Empryo's task router slots, cutting token cost without losing quality on real work.

Assign different models to different tasks. Haiku searches your codebase, Sonnet writes the code, Flash compacts context.

Open the router

/router

Or edit ~/.empryo/config.json:

{
  "taskRouter": {
    "spark":      "anthropic/claude-haiku-4-5",
    "ember":      "anthropic/claude-sonnet-4-5",
    "explore":    "anthropic/claude-haiku-4-5",
    "webSearch":  "anthropic/claude-haiku-4-5",
    "desloppify": "anthropic/claude-haiku-4-5",
    "verify":     "anthropic/claude-haiku-4-5",
    "goalReview": "anthropic/claude-sonnet-4-5",
    "review":     "anthropic/claude-sonnet-4-5",
    "compact":    "google/gemini-2.5-flash",
    "semantic":   "anthropic/claude-haiku-4-5",
    "default":    null
  }
}

What each slot does

SlotRuns whenGood choice
sparkDispatched read-only agents explore your codeFast/cheap (Haiku, Flash)
emberDispatched agents that edit filesStrong coding model (Sonnet, Opus)
exploreThe solo explore agent. Unset falls back to sparkFast/cheap
webSearchWeb search agents. Unset disables the agentic pathFast/cheap
desloppifyCleanup pass after code editsFast/cheap
verifyAdversarial review after code editsMedium strength
goalReviewThe goal-loop reviewer, with its own clean contextMedium/strong
reviewOn-demand /review. Unset falls back to goalReviewMedium/strong
compactContext compactionFast/cheap (Flash is ideal)
semanticGenome one-line symbol summariesFast/cheap
defaultFallback when no slot matches-

Leaving a slot unset is a real choice, not just a blank. spark inherits the model your turn is already using, which means it shares that model's prompt-cache prefix — routing it to something cheaper can cost you more in cache misses than it saves per token. Measure before you split it. A slot pointing at a model that fails to resolve degrades to inherit rather than killing the turn.

Strong code, cheap everything else.

"spark": "anthropic/claude-haiku-4-5",
"ember": "anthropic/claude-sonnet-4-5",
"compact": "google/gemini-2.5-flash"

Why this saves money

Agents spend ~70% of their tokens on exploration (reading files, running greps, navigating the Genome). That work doesn't need an expensive model. Reserve your strong model for the ~30% that's actually writing code.