RunDocumentation Index
Fetch the complete documentation index at: https://smithers.sh/llms.txt
Use this file to discover all available pages before exploring further.
smithers 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.
smithers optimize runs the eval suite twice:
- baseline run with the workflow’s current prompts
- optimized run with GEPA-generated prompt patches applied
--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:
<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.Providers
smithers optimize accepts the same provider vocabulary Smithers uses for agents and accounts:
| Provider | Optimizer API | Required env | Default model |
|---|---|---|---|
cerebras | OpenAI-compatible | CEREBRAS_API_KEY | gpt-oss-120b |
openai-api, openai, openai-sdk, codex | OpenAI-compatible | OPENAI_API_KEY | gpt-5.3-codex |
anthropic-api, anthropic, anthropic-sdk, claude-code, claude | Anthropic Messages API | ANTHROPIC_API_KEY | claude-opus-4-7 |
gemini-api, gemini, antigravity | Gemini generateContent API | GEMINI_API_KEY or GOOGLE_API_KEY | gemini-3.1-pro-preview |
kimi, moonshot | OpenAI-compatible Moonshot API | MOONSHOT_API_KEY | kimi-latest |
opencode | OpenAI-compatible endpoint | SMITHERS_OPTIMIZER_API_KEY and SMITHERS_OPTIMIZER_BASE_URL | anthropic/claude-sonnet-4-5 |
pi | OpenAI-compatible endpoint | SMITHERS_OPTIMIZER_API_KEY and SMITHERS_OPTIMIZER_BASE_URL | gpt-5.3-codex |
amp, forge, openai-compatible | OpenAI-compatible endpoint | SMITHERS_OPTIMIZER_API_KEY and SMITHERS_OPTIMIZER_BASE_URL | pass --model when needed |
claude-code, codex, 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.
--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: