Skip to content

test(bench): verbose aksops output — the mock wasn't the confound#18

Merged
Poytr1 merged 2 commits into
mainfrom
feat/aksops-verbose
Jul 7, 2026
Merged

test(bench): verbose aksops output — the mock wasn't the confound#18
Poytr1 merged 2 commits into
mainfrom
feat/aksops-verbose

Conversation

@Poytr1

@Poytr1 Poytr1 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Question tested

Was the ~neutral aksops result an artifact of near-silent mocks? (Real az/kubectl emit large output that round-trips through the model per command; a compiled runbook skill run in one shot might avoid that.)

What changed

Made the mock az/kubectl emit realistic sizable output (~17KB/runbook: az kubeconfig JSON, multi-line rollout progress, a 120-row kubectl get pods -o wide table).

Result (rollouts=6, both arms 100% → iso-accuracy)

baseline mean 321,820 (med 330,304)  vs  jit mean 330,034 (med 329,740)
→ -2.6% by mean, +0.2% by median — still ~neutral, no JIT win

The mock was not the confound. ~17KB (~4-5k tokens) is a rounding error against the ~330k baseline, which is dominated by fixed system-prompt / tool-def / cache-reread overhead — not task-specific work. A skill can only shortcut the small task-specific slice, so JIT can't win on tokens here. To make output matter it'd need to be massive (100s of KB), unrealistic for a runbook.

Reframes the study conclusion: JIT-compiling skills to save tokens is structurally limited for Claude-Code-shaped tasks; the value is more likely latency/determinism (not yet measured). Findings-doc update to follow.

🤖 Generated with Claude Code

Poytr1 and others added 2 commits July 7, 2026 17:27
@pchsu asked if the ~neutral ops result was a mock artifact (real az/kubectl
emit large output that round-trips through the model per command; near-silent
mocks understate what a compiled runbook skill could save). Made the mocks
emit realistic sizable output (~17KB/runbook: az kubeconfig JSON, multi-line
rollout progress, a 120-row `kubectl get pods -o wide` table).

Result (rollouts=6, both arms 100% → iso-accuracy): still ~neutral —
  baseline mean 321,820 (med 330,304)  vs  jit mean 330,034 (med 329,740)
  -> -2.6% by mean, +0.2% by median. No JIT win.

So the mock was NOT the main issue. Deeper finding: ~17KB (~4-5k tokens) of
output is a rounding error against the ~330k baseline, which is dominated by
fixed system-prompt/tool-def/cache-reread load, not task-specific work. A
skill that shortcuts the task-specific portion can only ever save a small
fraction — the tokens aren't where JIT optimizes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…t the work

Adds the deepest conclusion from the verbose-mock test: every episode is
~250-330k tokens dominated by fixed system-prompt/tool-def/cache-reread
overhead; the task-specific work (edit, few commands, even 17KB of output)
is a small slice, so JIT can only shortcut that slice and is structurally
limited at saving tokens for Claude-Code-shaped tasks. Reframes AgentJIT's
likely value as latency/determinism (not measured here) and recommends a
benchmark v2 with wall-clock + reliability.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Poytr1 Poytr1 merged commit 10c3972 into main Jul 7, 2026
2 checks passed
@Poytr1 Poytr1 deleted the feat/aksops-verbose branch July 7, 2026 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant