Skip to main content
Run bunx smithers-orchestrator optimize to generate improved prompts for agent tasks via GEPA, verify the improvement against your eval suite, and save the result as a reusable artifact.
The implicit optimizer is OpenAI-compatible gpt-5.6-luna with reasoning effort medium. Pass --provider to select Cerebras, Claude, Kimi, or another supported backend explicitly. bunx smithers-orchestrator optimize runs the eval suite twice:
  1. baseline run with the workflow’s current prompts
  2. optimized run with GEPA-generated prompt patches applied
The command writes the artifact only when the optimized score improves by at least --min-improvement. Reports for both runs are written under .smithers/optimizations/reports unless --report-dir is set.

Reuse an artifact

Apply the optimized prompts to future evals with --optimization:
The artifact patches only agent-backed <Task> prompts by nodeId. Workflow structure, output schemas, retries, approvals, and persistence behavior stay unchanged.

Cerebras improvement demo

Example: the following run demonstrates a baseline failure corrected by a GEPA-generated patch. The baseline prompt did not include the required optimization token, so the eval failed. Cerebras GEPA generated a prompt patch that included the missing requirement, and the optimized eval passed.
Observed result:

Providers

bunx smithers-orchestrator optimize accepts the same provider vocabulary Smithers uses for agents and accounts: The default models track the SOTA model registry, which lists the current defaults and badges and is refreshed by a daily research job. The CLI provider names (codex, claude-code, antigravity, gemini, kimi) map to their hosted API equivalents for optimization because GEPA needs a direct model call to propose prompt patches. Providers with no single hosted backend (opencode, pi, amp, forge) are still accepted through a generic OpenAI-compatible endpoint. Smithers defaults research and prompt-optimization work to Luna. Automatic workflow routing keeps non-Codex providers behind Codex; this standalone command does not silently change paid API backends. If OpenAI is unavailable, select a Cerebras, Claude, Kimi, or other fallback explicitly with --provider. --provider heuristic is deterministic and intended for local tests and fixtures. Use heuristic when you want deterministic optimization without an API call: place optimizationHints in each case’s metadata to control the patch. It uses eval-case metadata such as:
Artifacts are Smithers JSON records with baseline score, optimized score, improvement, prompt patches, and linked eval reports.