Lion Cipher Lab

Measure a stub triage agent's reliability with pass^k, not pass@k, and see the number a demo hides

Why it matters

Every agent demo is a pass@k number in disguise. Somebody ran the agent, maybe a few times, and showed you the run that worked. That is a fair measure of what the agent CAN do. It says nothing about what it WILL do on the next alert, and for a SOC agent that isolates hosts and disables accounts on its own, the next alert is the only one that matters. This lab puts both numbers on one table. Two stub containment agents, A and B, run 16 times each on 200 tasks with a keyed correct action. Their pass@1 - the chance one attempt is right - is nearly a tie, 0.4547 against 0.4834. Their pass@8 - the…

What you'll learn

Steps in this lab

  1. The words first: attempt, answer key, pass@1, pass@k, pass^k, n, c, k, unbiased estimator - and the fact that the agents here are stubs
  2. Open a terminal and make a scratch folder (all three operating systems)
  3. The tasks: 200 containment decisions with the correct action already known
  4. The agent is a STUB: one probability, one temperature knob, one hashed coin flip per attempt
  5. Write the two estimators with math.comb, and test them against cases you can work by hand
  6. Run both agents 16 times per task and print the two curves side by side
  7. The number a demo hides: what pass@8 = 0.85 means when the agent isolates hosts on its own
  8. Honest negative 1: turning up temperature buys pass@k by spending pass^k
  9. Honest negative 2: pass^k at high k is noisy, the plug-in is biased, and pass@1 cannot predict either
  10. Why this, not that: when pass@k is the right number, when pass^k is, and when NOT to trust either
  11. The way a pro does it differently: report both curves, the per-task table and the n

Open the full interactive lab →