resilient-llm-benchmark
Design and run recoverable large-scale LLM benchmark jobs with checkpointing, append-only results, retry/backoff, model switching, sharding, status manifests, logs, and cost boundaries. Use for multi-
SKILL.mdskills/resilient-llm-benchmark/SKILL.md
GitHubResilient LLM Benchmark
Use this skill when an evaluation is too large or expensive to treat as a one-shot script.
Workflow
- Define the evaluation matrix:
- dataset/profile ids;
- models;
- modes/baselines/ablations;
- metrics and acceptance thresholds;
- simulator/evaluator model boundaries.
- Choose a stable resume key such as
(model, profile_id, mode, seed). - Write results append-only. On startup, load existing rows and skip completed keys.
- Write a manifest and status file before and during execution.
- Use bounded retries:
- retry rate limits and transient connection errors with exponential backoff;
- mark invalid input or deterministic evaluator failures separately;
- log enough context to reproduce failed rows.
- Shard large runs by model, profile range, or provider lane.
- Summarize results only after completeness checks pass.
Guardrails
- Do not switch the simulator/evaluator model unless the experiment definition explicitly says so.
- Do not overwrite partial results when resuming.
- Do not hide failed rows in aggregate metrics.
- Do not claim model-agnostic results unless all intended model lanes completed or the partial scope is clearly stated.
- Keep API keys out of manifests and logs.
Useful Resources
- Read
references/benchmark-checklist.htmlbefore implementing a new runner. - Use
assets/experiment-manifest.htmlas a run-manifest starter.