LifePlay-Revival/Docs/33_Eval_Organisation_72h.md

124 lines
8.7 KiB
Markdown
Raw Normal View History

# 33 — Évaluation de l'organisation multi-agents sur 72 h : Big Boss, gardien, niveaux, mutualisation (2026-10-08 → 2026-10-11)
- **Date :** 2026-10-11 | **Lot :** EVAL | **Entrée journal :** CHG-327 | **Décisions de l'utilisateur :**
« approuvé » du 2026-10-11 sur les décisions E1 à E7 de `etat/EVAL/EVAL-RAPPORT.md` § 9 (recommandations retenues)
- **Modèle :** Claude Opus 5.5 (orchestrateur, session « EVAL », N2) ; comptages délégués à 7 fiches `lp-inventory`
(6 sonnet, 1 haiku), aucune escalade
- **Période mesurée :** du **2026-10-08 05:30** au **2026-10-11 05:30** (heure locale, UTC+2)
- **Sources :** transcriptions Claude Code des dossiers `-5-8` et `-5-5` (sessions et sous-agents, session EVAL
exclue) ; `git log` du jeu 5.8, de l'addon et du dépôt Modules ; `Docs/Journal_Modifications.md`,
`Docs/Registre_Erreurs.md` ; `etat/BOSS/BOSS-JOURNAL.md` ; `etat/REPO/` ; registres et livrables des lots ;
`Saved/Logs/portage/` ; EVAL de lot `OBB-EVAL.md`, `U8-EVAL.md`, `DOCMV-EVAL.md`, `STB-EVAL.md`
- **Détail, commandes et comptes bruts :** `etat/EVAL/EVAL-STATS.md` ; rapport complet : `etat/EVAL/EVAL-RAPPORT.md` ;
relevés `etat/EVAL/EVAL-T1a-INV.md` à `EVAL-T6-INV.md` ; tables `etat/EVAL/data/*.csv`
- **Scripts de mesure** (ignorés par git, rejouables) : `etat/EVAL/scripts/` (`eval_sessions.py`, `eval_subagents.py`,
`EvalT2_Commits.py`, `eval_journal.py`, `eval_boss.py`, `eval_fiches.py`, `eval_commandes.py`)
**Biais :** bilan écrit par une session orchestrateur, partie de l'organisation jugée. Les lots de P1 (migration U0
à U7b) et de P2 (ST, OB, DOC, U8) diffèrent : la comparaison « à travail égal » reste incertaine (comme doc 31 § 7).
---
## 1. Périodes comparées
| | P0 | P1 | P2 |
|---|---|---|---|
| Bornes | 10-08 05:30 → 13:30 | 13:30 → 10-10 10:45 | 10-10 10:45 → 10-11 05:30 |
| Organisation | agents génériques | agents `lp-*`, chaque session commite | **Big Boss** (file de la copie UE, jeton du journal, arbitrages) + **gardien** (`lp-gardien`, tickets) |
| Heures actives (toutes sessions) | 3,7 | 26,0 | 11,7 |
| Sessions principales | 4 | 21 | 12 (parallélisme moyen 2,5) |
Le doc 31 « après » (10-08 13:30 → 10-09 16:41) est inclus dans P1.
## 2. Résultats chiffrés
| Indicateur | Doc 31 avant | Doc 31 après | P1 | P2 |
|---|---:|---:|---:|---:|
| CHG / h active | 2,4 (avant la règle « un CHG par lot ») | 1,2 | 1,81 | **2,40** |
| Commits / h active | — | — | 3,1 | **4,0** |
| Erreurs d'outils | 3,9 % | 3,6 % | 3,3 % | **1,6 %** |
| Tours par sous-agent (moyenne) | ≈ 17 | ≈ 40 | 37,7 | **19,6** |
| Sous-agents hors budget (BUD1) | — | — | 26 % | **17 %** |
| Jetons lus / h active | 31,7 M | 47,6 M | 56,2 M | **130,2 M** |
| dont sessions principales / h | 26,0 M | 22,7 M | 34,6 M | **108,4 M** |
| Jetons par CHG | — | — | 31 M | **54 M** |
| Contexte médian par tour (principales) | 344 k | 216 k | 245 k | **323 k** |
| Part des appels faite par les sous-agents | 51 % | 72 % | 65 % | **57 %** |
| Messages de l'utilisateur / h | 7,8 | 6,1 | 7,3 | **10,0** |
| Messages entre sessions / h | — | — | 5,7 | **36** |
Sur la fenêtre : 132 commits, 79 CHG, 45 ERR (presque toutes des défauts du jeu ; une seule d'organisation,
ERR-087), 260 sous-agents, 414 livrables.
## 3. Big Boss et gardien (P2)
- **File de la copie UE :** 38 GO pour 6 lots ; attente médiane **0,4 min** ; copie occupée 62 %, libre 33 %, gelée
6 % ; 32 BUILD-FIN contre-vérifiés, **0 MD5 changé** ; la file n'est pas un goulot, sa valeur est la sûreté. Les
692 min de GO ouverts ne correspondent qu'à 268 min de journaux machine (PIE avec l'utilisateur, analyse).
- **Réserve « mesure » :** 4 créneaux (41 min), mesures U8 et STE rejouées sur machine calme.
- **Jeton du journal :** 14 jetons, attente médiane 0,3 min, aucune collision.
- **Arbitrages :** 14 conflits, 12 arbitrages, 9 gels, 18 FIN-LOT ; règles produites : R-REPO1, traces réattribuées,
CHG écrit seulement au commit, protection d'assets.
- **Gardien :** 48 passages, 0,7 M jetons par passage, 63 tickets, 82 verrous pris et rendus, **0 commit sans
ticket** ; 1 incident `--amend` (ERR-087), encadré depuis.
- **Coût de Big Boss :** 8 h actives, 679 tours, 272 M jetons = **18 % de P2**, surtout dus aux contre-vérifications
manuelles et à un contexte resté ouvert 18 h.
- **Incidents :** 5 jeux lancés pendant un GO, 1 fausse alerte, 1 dossier parasite (`-EtatDir` relatif), 1 verrou
orphelin (31 min), 1 session fermée pendant un GO, 1 plantage de l'éditeur pendant un GO, 1 refus d'autorisation
sur le journal.
## 4. Niveaux des agents
| Rôle | Constat | Appréciation |
|---|---|---|
| Sessions principales (Opus, N2) | ≈ 1 800 contrôles mécaniques (MD5, processus, `git status`, verrou) et 1 070 appels MCP faits à environ 300 k de contexte ; aucun agent `lp-*` n'a d'outil MCP | **N2 qui fait du N0** : principal défaut d'adéquation |
| lp-builder (haiku) | 52 passages, 10 % hors budget | adapté |
| lp-gardien (sonnet) | 48 passages, 0 % hors budget | adapté |
| lp-validator (sonnet) | 19 % hors budget ; VAL de lot à 221-329 k | adapté pour une VAL bornée ; VAL de lot à découper |
| lp-writer (sonnet) | synthèses à 174-242 k | EVAL de lot en N2 |
| lp-cart (opus xhigh) | 55 % hors budget, 40 % des jetons des sous-agents | niveau juste, fiches trop larges (une hypothèse par fiche) |
| Escalades | 4, toutes hors budget, `fable-top` jamais utilisé | réservées à bon escient |
| general-purpose | 14 en P0, 0 ensuite | sortis |
Les reprises viennent des **consignes** (OBB : 4 sur 4 ; U8 : 2 critères de fiche), pas des agents, comme aux docs
22 et 26.
## 5. Mutualisation
Les outils existent mais sont peu adoptés : 538 calculs d'empreinte improvisés contre 60 appels de `FileCheck.ps1` ;
452 relevés de processus contre 161 de `UeState.ps1`. Familles répétées (appels sur 72 h) : état git et fins de
ligne 1 794 ; verrou, tickets et `NUMEROS.md` 1 085 ; scripts `Tools` 996 ; Python ad hoc 684 ; empreintes 543 ;
processus 455 ; journaux 272 ; tailles de build 252 ; `LPDumpFunction` 129 lancements (103 min machine).
Propositions M1 à M12 : `etat/EVAL/EVAL-RAPPORT.md` § 6. Les pièges et l'extension de FicheStats proposés par U8
(`U8-EVAL.md` § 5) sont traités par le lot U8P (CHG-324).
## 6. Recommandations retenues (décision de l'utilisateur du 2026-10-11)
1. **E1 / R1 — rotation des sessions principales** à chaque FIN-LOT ou dès 250 k de contexte médian ; Big Boss
repart chaque jour de `BOSS-JOURNAL.md` (gain estimé : −35 à −45 % des jetons des principales).
2. **E2 / R2 — lot outil « copie partagée »** (lot OUTC, ouvert le 2026-10-11 ; scripts à venir) : `Tools/CopieEtat.ps1` (UeState filtré sur la copie, FileCheck, `git
status` des 3 dépôts, dossiers parasites), `Tools/Verrou.ps1`, `Tools/GitEtat.ps1` ; nommés en rubrique 4 des
fiches et dans le protocole Big Boss (gain estimé : ≈ 0,4-0,5 G jetons sur une période comme P2).
3. **E3 / R3 — agent `lp-mcp`** après un essai d'accès MCP depuis un sous-agent (lot MCPA, ouvert le 2026-10-11).
4. **E4 — Big Boss** reste en Opus, avec rotation quotidienne et contrôles scriptés.
5. **E5 / R4-R5 — lot DOC** (lot ORGA1, ouvert le 2026-10-11) : protocole Big Boss (BUILD-*, réserve « mesure », jeton) dans `lp-lot` ; règles de fiche
(ne pas recopier un critère d'entrée, nommer la copie visée, vérifier la faisabilité d'un test) dans
`sk-orchestrate` ; VAL de lot et diagnostics découpés.
6. Suivantes, non tranchées individuellement : registre outillé par FicheStats (R7), cache de dumps (R8), dépôt de
méthode unique (R9, D-REPO2), hygiène de la copie partagée (R10), hook `pre-commit` (R11), découpage des
inventaires de transcriptions (R12).
## 7. À mesurer
Avec les mêmes scripts, sur la première période complète après R1-R3 : contexte médian des principales (< 200 k),
part des appels faite par les sous-agents (> 70 %), jetons par CHG (vers ≈ 30 M), messages entre sessions par CHG
(15 en P2), reprises de cause consigne.
Clause d'arrêt par mécanisme (D-P7.8, décision de l'utilisateur du 2026-10-12, doc 34 § 4.4), écrite avant d'avoir les
résultats du lot P7 : Big Boss est réduit à la file de compilation si son coût reste > 15 % de la période après E1 et
E2 ; les demi-niveaux (doc 34 § 4.1) sont retirés si le taux hors budget de `lp-cart` ne passe pas sous 30 % sur 20
fiches ; le hook `ecriture-gardien` est retiré s'il produit plus de refus légitimes que de refus utiles sur un lot.
Essai D-P7.16 (utilisateur, 2026-10-12) : sur le lot suivant, S (= C3 + f) et C9a sont relevés avant l'envoi de chaque
fiche (`sk-orchestrate` § 2), puis comparés à l'issue (acceptée, reprise, hors budget).