feat(analiza): consum real Claude Code si dimensionarea suplimentului GLM

Plafonul general saptamanal Max 5x se consuma in ~2 zile, urmate de ~5 zile
blocate. Masurat pe 3 masini (Windows, claude-agent, moltbot), 2026-07-29 ->
2026-09-01: 11,15 miliarde tokeni, 435 sesiuni, 64.211 cereri API, dedup pe
message.id + requestId. Deficit +32% (~570 prompturi/saptamana).

Concluzia nu e cea asteptata: bugetele plafonate in dolari (OpenCode Zen $20,
OpenCode Go) se evapora la acest volum -- Go a tinut 1-2 zile in practica.
Planurile Z.AI se contorizeaza in prompturi, nu in dolari, si rezista la un
workload cu 7,1 cereri API per prompt. Z.AI Coding Lite ($18/luna) acopera 70%
din deficit; Pro ($72) il acopera integral.

Verificat empiric ca subagentii nu pot rula pe GLM (in proces, moștenesc auth),
dar sesiunile separate pot: endpoint fals local a primit cererea cu tokenul
alternativ, fara sa atinga OAuth-ul Max. Masurat: ~186MB RSS si 20-60s pornire
per sesiune -- de aici regulile de orchestrare (sarcini mari, max 4 procese,
fan-out in interiorul unei sesiuni GLM).

Ramane neverificat multiplicatorul de credite pentru GLM-5.3-Flash; la 3x in
loc de 1x, Lite pica si decizia se muta pe Pro.

- docs/supliment-glm-zai.md: rezumat de implementare (indexat in CLAUDE.md)
- claude_usage_report.md + CSV-uri: analiza completa si datele brute
- tools/claude_usage_*.py: pipeline de masurare read-only, re-rulabil remote
- tools/claude-glm.sh: wrapper de sesiune GLM (task/resume/shell)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4uzvgm7AyJch5WH8QHRhY
This commit is contained in:
Claude Agent
2026-09-01 11:32:56 +00:00
parent ed7eca4fc7
commit a01cac0657
9 changed files with 1830 additions and 0 deletions

107
docs/supliment-glm-zai.md Normal file
View File

@@ -0,0 +1,107 @@
# Supliment GLM (Z.AI) pentru plafonul săptămânal Claude Max 5x
**Analiză: 2026-09-01. Decizie: neimplementată.**
Date brute și metodologie completă: [`claude_usage_report.md`](../claude_usage_report.md),
`claude_usage_sessions.csv`, `claude_usage_summary.csv`.
## Problema
Max 5x are două plafoane săptămânale: unul general și unul separat pentru Opus.
Se atinge **cel general** — cota se consumă în ~2 zile, urmează ~5 zile blocate.
Semnătura în date, săptămâna 2026-W33 (M tokeni):
| Lu | Ma | Mi | Jo | Vi | Sâ | Du |
|---:|---:|---:|---:|---:|---:|---:|
| 655 | 229 | 40 | 8 | 1 | 1 | 1 |
## Cifrele care contează
Măsurat pe 3 mașini (Windows `LENOVO-AIO-BIRO` 95,5%, `claude-agent` 2,7%, `moltbot` 1,7%),
2026-07-29 → 2026-09-01, 435 sesiuni, 64.211 cereri API, dedup pe `message.id`+`requestId`.
| Metrică | Valoare |
|---|---:|
| Total tokeni | 11,15 miliarde |
| Cache read (din total) | 97,2% |
| Opus 5 / Sonnet 5 | 38,3% / 60,2% |
| Livrat de Max 5x | 2,23B / săptămână |
| Zile blocate | 10 din 34 (29%) |
| **Deficit** | **+32% ≈ ~570 prompturi/săpt.** |
| Prompturi umane reale | ~9.000 (~1.801/săpt.), 7,14 cereri API per prompt |
**Valoarea abonamentului Max:** aceiași tokeni, fiecare model la tariful lui pe OpenCode Zen,
ar costa **$5.167/lună**. Max 5x la $100 e de ~52× mai ieftin. Nu se atinge.
## Ce acoperă deficitul
| Opțiune | Cost/lună | Acoperă deficitul | Verdict |
|---|---:|---:|---|
| OpenCode Zen $20 (per-token) | $20 | 10,5% din volum total | nu — plafon în dolari |
| OpenCode Go | $10 | plafon $30/săpt. → 0,3 zile | testat, s-a consumat în 1–2 zile |
| **Z.AI Coding Lite** | **$18** (anual $12,60) | **70%** → ~0,6 zile blocate | **de aici se începe** |
| Z.AI Coding Pro | $72 (anual $50,40) | 351% → 0 zile blocate | dacă Lite nu ajunge |
| Z.AI Coding Max | $160 (anual $112) | 1403% | supradimensionat |
Planurile Z.AI se contorizează în **prompturi**, nu în dolari de consum — de asta rezistă
la un workload cu 7,1 cereri API per prompt, spre deosebire de Zen/Go.
**Necunoscută care schimbă decizia:** multiplicatorul de credite pentru GLM-5.3-Flash.
Z.AI documentează 3× în orele de vârf pentru modelele mari. Flash e modelul mic, deci
probabil 1× — dar dacă nu, cei ~400 prompturi/săpt. ai lui Lite devin ~133 și Lite pică.
**De verificat înainte de a plăti.**
Prețuri verificate 2026-09-01: [docs.z.ai/devpack/overview](https://docs.z.ai/devpack/overview),
[opencode.ai/docs/zen](https://opencode.ai/docs/zen/), [opencode.ai/docs/go](https://opencode.ai/docs/go/).
GLM-5.3 nu e listat încă pe OpenCode Zen; s-a folosit tariful Z.AI ca proxy.
## Mecanismul — ce s-a verificat empiric
| Întrebare | Răspuns | Cum s-a verificat |
|---|---|---|
| Subagenți (tool `Agent`) pe GLM? | **NU** | rulează în proces, moștenesc auth; `model` acceptă doar sonnet/opus/haiku/fable |
| Sesiuni separate pe GLM? | **DA** | endpoint fals local: cererea a plecat cu `Bearer zai-…` pe `glm-5.3-flash`, nu spre Anthropic |
| Sesiunea părinte e afectată? | **NU** | variabilele de mediu sunt per-proces |
| Predare de sesiune? | **DA** | `--output-format json` → `session_id`, apoi `--resume` cu același env |
| Paralelism? | **DA** | 3 sesiuni simultane, curat |
| Cost pornire proces | **~20–60s** | măsurat |
| Memorie per sesiune | **~186MB RSS** | măsurat |
Z.AI e singurul provider cu endpoint compatibil Anthropic (`https://api.z.ai/api/anthropic`),
deci singurul drop-in pentru Claude Code.
## Implementare
1. **Cheia:** `~/.config/zai/key`, `chmod 600`. Nu în linia de comandă (ajunge în `history` și `ps`).
2. **Wrapper:** [`tools/claude-glm.sh`](../tools/claude-glm.sh) — `task` / `resume` / `shell`.
Setează `[1m]` pe model (altfel Claude Code presupune 200k și compactează devreme),
`--autocompact 250000`, și `CLAUDE_CONFIG_DIR=~/.claude-glm` separat, ca transcripturile
GLM să nu strice statistica de consum.
3. **Reguli de orchestrare** în `CLAUDE.md` — vezi mai jos.
4. **Măsurare după:** re-rulează `tools/claude_usage_extract.py` pe ambele config dir-uri și
compară deficitul. Fără asta nu știi dacă a funcționat.
### Reguli de orchestrare (de pus în CLAUDE.md la implementare)
- **Agenți Sonnet** (tool `Agent`): judecată, cod critic, nevoie de contextul sesiunii. Consumă Max.
- **Agenți GLM** (`Bash: tools/claude-glm.sh task "..."`): sarcini mari, delimitate,
verificabile mecanic — implementare după spec, teste, refactorizări repetitive. Nu consumă Max.
- Minimum ~10 min de lucru per lansare GLM; sub asta pornirea domină.
- Maximum 4 procese GLM simultane (186MB fiecare; cgroup-ul LXC 171 are istoric de OOM).
- Pentru fan-out larg: **un singur** proces GLM căruia îi ceri să folosească subagenți —
ei moștenesc GLM. Nu multiplica procesele din orchestrator.
- Briefing complet în prompt: agentul GLM nu vede contextul orchestratorului.
- **Verifică mecanic rezultatul.** Flash e modelul mic; rulează testele, nu accepta raportul lui.
## Rezerve
1. **Orchestrarea rămâne pe Max.** Fiecare lansare și citire de rezultat consumă cotă Opus.
Câștigul e proporțional cu autonomia sarcinilor date lui GLM.
2. **Deficitul de +32% e conservator** — presupune ritm median în zilele blocate, nu ritmul
zilelor bune (peste 850M). Cererea suprimată reală e probabil mai mare.
3. **`claude-agent` are doar 5 zile din 35** cu transcripturi păstrate (retenție + recreare
director pe 2026-08-30). Nu s-a extrapolat.
4. **Prompturile de pe Windows sunt estimate** din raportul 7,14 măsurat pe Linux —
singura extrapolare din analiză.
5. **Promoția Flash expiră 2026-09-09**; tarifele per-token se dublează (irelevant dacă se
merge pe abonament).