{"slug":"minions","domain":"research","title":"Shape a routing minion from Qwen3.5-0.8B","summary":"Turn Qwen3.5-0.8B into a router for your own labels with forward passes alone: one new neuron a label, fitted by least squares, scored on your held-out examples, returned as a patch.","help":"minions: shape a small, fast router for your own labels from Qwen3.5-0.8B, as JSON.\n\nWHAT IT DOES\n  Give one-word labels and at least five examples a label. The examples are\n  split 3 : 1 : 1 into fit, pick and check sets. One forward pass per example\n  reads the model's last MLP. One new neuron a label is added there by least\n  squares: its gate fires where a routing answer goes and stays near zero on\n  other text, and its output writes the label's first token. No gradients.\n  The strength is picked on the pick set, keeping at least 99% of next-token\n  guesses unchanged on ordinary text.\n\nRETURNS\n  One JSON object on stdout: `check`, the check-set accuracy of the unedited\n  model, the minion and random neurons of the same size; `text_unchanged`,\n  the share of next-token guesses on ordinary text the minion and the random\n  neurons leave as they were; `edit` (neurons, layer, size in KB); the forward\n  passes used; `routes`, each request routed by the unedited model and by the\n  minion; and `patch_b64`, the neurons as safetensors (rows to append to\n  gate_proj and up_proj, columns to down_proj, of the last layer). Also\n  `price_usd` and `standing`.\n\nOPTIONS\n  \"label: text || label: text\"   the examples, quoted, one per piece (the\n                     first argument); labels come from here when --labels is\n                     left out\n  --labels a,b,c     the labels, one word each, 2 to 24\n  --requests_text \"text || text\"   up to 20 requests to route\n  --patch false      leave the patch out of the answer\n\nREAD THE CHECK SET AS SMALL\n  The check set is a fifth of your examples. With five examples a label it is\n  one request a label, so read the accuracy as a rough sign. The minion's\n  probabilities in `routes` are not calibrated; they sit near 1.\n\nPRICE\n  $0.05 a run. An account that has never paid gets three runs free; after that\n  the run is refused until $2 of credit is added, and the `credits` tool gives\n  the link. A warm run takes about 6 seconds; the first after a quiet spell\n  waits about 90 seconds while the model loads.\n\nStudies:\n  shape \u003cexamples_text\u003e\n      check-set accuracy of the unedited model, the minion and random neurons, ordinary text left unchanged, each request routed, the patch, the price and how many free runs are left\n\nJSON to stdout, so it composes: pipe to `jq` to pick a field, or `\u003e /tmp/…` to keep it.\nRun a study with no arguments — `minions shape` — to see what it takes.\n","example_command":"minions shape \"billing: I was charged twice || billing: why did my invoice go up || ...\" --requests_text \"my card was charged but the order says unpaid\"","example_output":"","cost_class":"upstream-fetch","tier":"metered","billing_items":["weight_edit_run"],"price_per_1k_calls":50,"price_is_from":false,"status":"available","commands":["minions"],"studies":[{"call":"shape","about":"check-set accuracy of the unedited model, the minion and random neurons, ordinary text left unchanged, each request routed, the patch, the price and how many free runs are left","args":[{"name":"examples_text","positional":true,"list":false,"hint":"\"label: text || label: text\", at least 5 a label, up to 60"},{"name":"labels","positional":false,"list":true,"hint":"comma-separated one-word labels, 2 to 24 (default: the labels in --examples_text)"},{"name":"requests_text","positional":false,"list":false,"hint":"\"text || text\", up to 20 requests to route"},{"name":"patch","positional":false,"list":false,"hint":"true or false: include the neurons as safetensors (default true)"},{"name":"seed","positional":false,"list":false,"hint":"the split's seed (default 0)"}]}],"default_enabled":false,"first_seen":"2026-11-06T13:35:48.135125Z","enabled":false}
