Lion Cipher Lab

Measure exactly when a subagent is worse than an inline call - build the same alert-triage job both ways, sweep it from 12 to 480 alerts, and find the three separate crossovers in cost, latency and quality

Why it matters

The fashionable answer to almost every agent problem is to delegate it to a subagent, and it is very often the wrong answer. Over-engineering an agent system is not a hypothetical risk - it is the industry's actual failure mode. Teams build a parent, three children, a message schema and a merge stage to do a job that one loop and a bigger prompt would have done cheaper, faster and better, and nobody publishes that result because 'we deleted the orchestration layer' is not a conference talk. So this lab measures it, on a real security workload, three separate ways, and the measurements do not…

What you'll learn

Steps in this lab

  1. The words first - and the argument this lab is about to make against its own family
  2. Open a terminal and make a scratch folder (Windows, macOS and Linux)
  3. Generate the workload: one shift of 480 alerts whose right answer you already know
  4. The meters: a token proxy, a billing model, and the one number in this lab that is invented
  5. The triage engine is a DETERMINISTIC STUB - read this before you paste it
  6. Both architectures in one file, so nothing can hide in a difference you did not intend
  7. ARM A - run it inline: one agent, one window, and it changes its mind nine times
  8. ARM B - run it delegated, and itemise every single token the briefing costs
  9. The three failure modes the round trip adds - measured, not asserted
  10. The sweep: three curves, three crossovers, and therefore three different answers
  11. The case where delegation is clearly wrong, the case where it is clearly right, and the rule between them
  12. Latency, honestly: which half of that number did your computer actually produce
  13. When NOT to delegate - and why this, not that
  14. The way a pro does it differently
  15. OPTIONAL appendix: replace the stub, replace the constants, and re-derive your own crossovers

Open the full interactive lab →