Designing an Inference Recipe Generator/Optimizer

Created Last updated
September 3, 2026 — by James Meadlock & Milo (James's AI agent) · drafted with claude-fable-5-1, extended thinking · status: first outer-loop pass complete

In the last three days we published two single-GB300 recipes by hand: GLM-5.3-Flash NVFP4 with DFlash2 and DeepSeek-V4-Flash-Vision-Exp at 1M context. Both followed the same loop: read what the community has found, design a short list of experiments, run them one flag at a time, gate the winner, write down every loser, publish the repo and the post with credit to the people whose work we stood on. The second time through, the loop was obviously a machine we were operating manually. This post is the design for building it.

Update, September 4, 2026. The first inner loop and one outer-loop pass are complete. The result is an evidence-hardened Recipe v2: explicit static verification, no SPS table, checkpoint-default NextN, immutable model/image pins, and equivalent—not faster—measured performance. Read the campaign and recipe or open the exact launch on GitHub.
Original design note. A design note, published before implementation so people who know more than we do can poke holes in it. The GB300 DGX Station is new enough that almost nobody is publishing recipes for it, and models are dropping faster than one person can test them. We want a system that produces a comparable, reproducible recipe for each interesting model, with the full experiment ledger attached, on a cadence a human can't sustain. Everything here is open to change. We're asking for input at the bottom.
2
loops
2 + 1
agents + human
12 h
nightly experiment window
1
GB300, the box under test
3
benchmark tiers

Two products, not one

The first design decision was noticing that "recipe generator" means two different things, and the split decides what gets open-sourced.

ProductWhat it isWho it's forDepends on
The Forge (working name)The tool: a bench harness with a fixed contract, a recipe template repo, an experiment-card schema, and the two-agent loop that runs them.Anyone with a GB300 (or, later, any box) who wants to produce a recipe comparable to ours. MIT.Nothing of ours. No private hosts, no private memory. The agent glue is documented as "how we run it," not required.
The RecipesThe outputs: one public repo + one post per model/engine combination, co-authored by James and Milo, with the full ledger of what lost.People trying to run that model on that hardware today.Our box, our fleet, our nights.

The harness and template are the part someone else can run tomorrow. The loop is the part that makes us fast. Both get published; only the first is a dependency for anyone else.

The two loops

An outer loop that thinks and an inner loop that runs. The outer loop is a frontier model (today Claude Fable 5.1, driven by Milo). The inner loop is a second Hermes agent on a cheaper, fast model (today GPT-5.6-Sol, driven by Miloh) whose only job is to execute experiment cards against the Station and hand back numbers. Between them sits the Hermes Kanban board, which is the handoff, the audit trail, and the human gate, all in one place.

Two loops, one board outer loop thinks (daily / weekly) · inner loop runs (nightly, 12 h) · Hermes Kanban carries cards one way and results the other OUTER LOOP Milo · frontier model daily delta · weekly deep 1 · Research sources + our own ledgers 2 · Design ranked experiment cards 4 · Review diff · ledgers · draft 5 · Publish repo · post · cartoon JAMES APPROVES Hermes Kanban READY RUNNING DONE REVIEW cards · runs · events logs · audit trail per-task workspace cards claim next card · one at a time results results.json · receipts · logs INNER LOOP Miloh · GPT-5.6-Sol nightly 22:00–10:00 CT 3a · Claim card read contract, not prose 3b · Stop prod rename, never rm 3c · Run one delta · warm · C8+ 3d · Gates tools · needle · agent loop 3e · Restore fixed script · page if red Inputs SGLang · vLLM · NVIDIA forums · X · HF · do-not-retry.md DGX Station GB300 · the box under test production endpoint down for the window · clients on cloud fallback outer: think inner: run kanban: handoff + audit human gate original design as of September 3, 2026

Step 3 is the whole inner loop. The board is the only thing both agents touch; neither reads the other's memory. Cards go right, results go left, and nothing reaches the public without passing the amber gate.

Outer loop: think

  1. Research. First source every night is our own ledgers, including do-not-retry.md, so the model doesn't re-propose what already lost. Then the external sources listed below. Nightly is a cheap delta (what changed since yesterday: releases, merged PRs, new checkpoints); weekly is a deep pass on the frontier model.
  2. Design. Turn candidates into a ranked queue of experiment cards, each with an estimated cost, the gates it must pass, its rollback, and a "stop if" rule. The queue has to fit the window: a vLLM config change costs about 50 minutes on this box because every materially new config pays a fresh FlashInfer autotune; an SGLang flag relaunch with a warm sweep is closer to 15. Twelve hours is roughly 14 vLLM experiments or 40 SGLang ones, not a hundred of either.
  3. Review. Morning after: diff results against the incumbent, update the ledgers, extend do-not-retry.md with the reason each loser lost, and draft the recipe repo, the post, and the cartoon.
  4. Publish. Stops at draft-ready. A human approves everything public.

Inner loop: run

  1. Claim. One card at a time. The card is a contract (model + revision, image digest, launcher and flag delta, bench contract, gates, rollback container name), never a paragraph to interpret.
  2. Stop production. The production container is stopped and renamed as a receipt. Never rm.
  3. Run. One delta per relaunch. Warm sweep before measuring; judge at C8 and above, because C1 in a short window is ±12% noise.
  4. Gates. Tools-array smoke, needle ladder to the served context, C64 repetition audit, and a real headless agent loop with at least four replayed tool turns. The last one exists because a tools smoke passed while a prompt-encoding bug was silently nesting every argument one level deeper per turn.
  5. Restore. A fixed, known-good launch script, then the same gates. If any gate fails, the runner does not troubleshoot; it leaves the receipt, falls back to the previous known-good container, and pages a human. Creative repair happens with someone awake.
The rule that made this possible. The runner's brain must never live on the box under test. Our first draft had the executor's own model served from the GB300; the first experiment would have stopped it. The runner is on cloud inference for exactly this reason.

Who does what

RoleWhoModelCadenceOwns
Research + designMiloClaude Fable 5.1 (weekly deep); cheaper model for the nightly deltaNightly delta, weekly deepResearch docs, the experiment queue, do-not-retry.md
ExecuteMiloh (a separate Hermes profile on the same machine)GPT-5.6-SolNightly windowResults, receipts, restoring production
Review + draftMiloClaude Fable 5.1MorningLedgers, repo, post, cartoon, one new BOFH shirt line per recipe
Approve + publishJamesWhen readyEverything public, and the decision to run any night at all

Two agents on one machine, two profiles, no shared memory. The board is the seam. That's deliberate: it keeps the audit trail in one place, and it means the design doesn't depend on our particular agents. Anyone can put any two profiles in those lanes.

The night

One night, Central Time production down 12 h by schedule · nothing new starts after 08:00 · restore is a fixed script, not an improvisation prod experiments · one card at a time finish restore prod 22:00openstop prod 08:00laststart 09:00restorelatest 10:00prodverified restore fails a gate → previous known-good container + page James · no troubleshooting unattended

Twelve hours is a shift, not a sprint. It makes the slow experiments routine: the 433 GB full-size GLM-5.3 with expert offload takes about 30 minutes just to place weights before you learn anything, and every vLLM config change pays its autotune. During the window the production endpoint is down and every client that uses it (our agents, a robot, a couple of family machines) rides its configured cloud fallback. The restore step is the real risk, not the experiments: a failed restore means production is still down at breakfast. So restore is boring by design.

What an experiment card is

Conceptually, before schema:

# experiment card (concept; schema TBD)
id:            2026-09-04-03
model:         org/checkpoint @ revision
engine:        sglang | vllm   image: sha256:…
incumbent:     card id this is measured against
delta:         exactly one thing (a flag, a draft model, a quant, a KV dtype)
hypothesis:    one sentence, falsifiable
bench:         throughput contract (see tiers)   prefill ladder: yes/no
gates:         [tools, needle:served_ctx, repetition:C64, agent_loop:4+]
cost_estimate: minutes (autotune-aware)
stop_if:       e.g. "C8 aggregate < 0.9 × incumbent" or "any gate red"
rollback:      container name to restore

A runner reads that and executes. It never gets a paragraph that says "try making it faster."

Benchmarks in the loop

The loop is mostly testing serving configurations, not models. That changes what a benchmark is for. For a flag change, a quality benchmark is wasted time: the weights didn't move. For a quant swap, a drafter, an abliterated checkpoint, or a KV-cache dtype, quality is the whole question. So benchmarks are tiered by what the delta could have broken, and the card says which tier it needs.

TierWhenWhatCost
0 · every cardAny deltaThroughput contract (catid's: ~8K in / 1024 out, temperature 0, warm C then 3×C, at C1/4/8/16/32/64), cold-prefill ladder (8K–256K, nonce at the start, max_tokens=1), tools-array smoke.~15 min after warmup
1 · candidate to lockAnything that beats the incumbent at Tier 0Needle ladder to the served context, C64 repetition audit, headless agent loop with 4+ replayed tool turns, and a greedy-equivalence check: a fixed prompt set at temperature 0, compared token-for-token against the incumbent. Speculative decoding is supposed to be lossless; this is where you find out. Batch numerics make 100% unrealistic, so the card sets a floor and we report the match rate.~1 h
2 · before a recipe shipsWeights or KV changed (quant, abliteration, KV dtype), or a new model entirelyOne real task benchmark under a fixed harness so recipes are comparable to each other: Terminal-Bench 2 core set with the same agent version we've used before, plus a tool-calling benchmark (BFCL v3) for anything meant to sit behind an agent. Same harness, same cut, same timeout regime every time, or the number goes in its own section, not the table.~3 h for Terminal-Bench 2 on this box; one per recipe, not per experiment

Two rules carry over from doing this by hand. Tier 2 results only compare when cut, engine, host, and harness version all match; anything else is a separate datum. And any change that touches weights or KV has to land inside noise of the incumbent at Tier 2 or it doesn't ship, regardless of how fast it is. We don't publish speed bought with quality.

What a recipe must contain

Every recipe repo and post, in its first cut, carries:

Where research comes from

SourceWhyMachine-readable?
Our own ledgers + do-not-retry.mdFirst, always. The cheapest quality filter in the system.Yes
SGLang GitHub (issues, PRs, releases) + lmsys blogOur DFlash2 win came from a PR branch, not a release. DSpark came from the blog.Yes
vLLM GitHub + vllm-project/recipesThey publish GB200/GB300 cookbook cells. Several are multi-GPU flags that lose on one box, which is itself a recipe finding.Yes
FlashInfer, TensorRT-LLM releasesBlackwell kernel fixes, autotune changes.Yes
NVIDIA developer forums (DGX Station), DGX OS / driver release notes, technical blogKernel-module traps live here. So did the CDMM tip that reclaimed HBM from the kernel.Mostly
Hugging Face: trusted quant uploaders, model-card discussions, new draftersA new speculative drafter for a model we serve is an instant card.Yes
XWhere the people actually doing this post first.Yes, via search
r/LocalLLaMANoisy, early.Yes
Discord (LocalInferenceLab has a GB300 channel), SGLang/vLLM SlackReal findings, behind a login. We won't scrape it. Humans paste highlights, or findings get mirrored somewhere public.No

Rules we learned by hand

Not building

Open questions

  1. Time-windowed dispatch. Cards must promote to ready at 22:00 and stop promoting at 08:00, and the restore card must run regardless of what the experiments did. We think that's a cron flipping card states plus an edge-free restore card, but we haven't verified what the kanban scheduler supports natively.
  2. Concurrency cap. One GB300 means one running card. If the board can't enforce that per assignee, the runner needs a lock on the box.
  3. Role profile vs. named agent. Kanban dispatches by profile name. Whether the runner is "Miloh" or a purpose-built forge-runner profile with only the tools it needs is open. The role profile is the shape anyone else can reproduce.
  4. Benchmark floor for greedy equivalence. What match rate should a lossless drafter be held to when batch numerics are in play? We'd like a number from someone who has measured it.
  5. Token cost. Nightly frontier research burns budget fast. The nightly delta probably runs on something cheaper; the weekly deep pass stays on the frontier model.

Asking for input

Before we build any of this we'd like to hear from people who've been optimizing on these boxes longer than we have. Specifically:

Reply on X, open an issue once the repo exists, or email. Contributors get credited in every recipe the tool produces.

Next

  1. Collect input on this post.
  2. Verify the three kanban unknowns against the plugin source.
  3. Consolidate the five bench scripts we already have (bench.py, prefill.py, needle.py, repaudit.py, spec_metrics.py) into one engine-agnostic harness with the contract baked in.
  4. Seed do-not-retry.md from the two existing recipe ledgers.
  5. One dry-run night with a single trivial card (re-bench the incumbent) to prove the restore path end to end, before any real queue.

This is a design note; no numbers above are new measurements. Every figure cited (autotune cost, C1 noise, the 30-minute weight placement, the encoding bug) traces to the two linked recipe posts and their repos, where it was measured. Drafted by Milo with claude-fable-5-1 (extended thinking) from a design conversation with James on September 3, 2026; the decisions are his, the diagrams are Milo's. Related: DeepSeek-V4-Flash-Vision-Exp on one GB300 · GB300 GLM 5.3 Testing · GB300 Station day one.