Protocole du Mode Bataille Colosseum
La commande /battle active une arène antagoniste entre deux implémentations concurrentes au lieu de se fier aux seuls choix de code d’un seul agent.
Architecture de l’Arène
[Invite Utilisateur]
│
┌────────────────┴────────────────┐
▼ ▼
[Bras Concurrent Alpha] [Bras Concurrent Bêta]
Espace de travail : 'branch' (Bras A) Espace de travail : 'branch' (Bras B)
│ │
└────────────────┬────────────────┘
│
▼
[Arbitre / Critique Colosseum]
Rôle : critic@colosseum
(Antagoniste + Benchmark)
│
▼
[Vainqueur & Fusion]
Déroulement de l’Exécution
Lorsque l’utilisateur invoque /battle :
Étape 1 : Bifurcation des Bras Concurrents
Lancer deux sous-agents rivaux simultanément dans des worktrees git isolés en utilisant Workspace='branch' :
- Bras Concurrent Alpha :
{ "TypeName": "self", "Role": "Competitor Arm Alpha", "Workspace": "branch", "Prompt": "Concevoir et implémenter l'Approche A pour l'objectif de l'utilisateur. Optimiser pour la sécurité, la correction et l'abstraction propre." } - Bras Concurrent Bêta :
{ "TypeName": "self", "Role": "Competitor Arm Beta", "Workspace": "branch", "Prompt": "Concevoir et implémenter une Approche B alternative pour l'objectif de l'utilisateur. Optimiser pour la complexité minimale, le débit et la simplicité." }
Étape 2 : Audit par l’Arbitre Colosseum (critic@colosseum)
Une fois que les deux bras ont terminé leurs implémentations :
- Envoyer un agent arbitre antagoniste :
{ "TypeName": "self", "Role": "critic@colosseum", "Workspace": "inherit", "Prompt": "Comparer le Bras Alpha et le Bras Bêta. Exécuter du fuzzing, des tests aux limites, des attaques sur les cas limites et des benchmarks empiriques sur les deux branches. Identifier les défauts cachés, la surcharge mémoire et les modes de défaillance non gérés." } - L’arbitre exécute les deux suites de tests en mode headless et enregistre les mesures concrètes de réussite/échec.
Étape 3 : Désignation du Vainqueur
- Examiner le verdict de l’arbitre.
- Fast-forward / fusionner la branche gagnante dans l’espace de travail principal.
- Éliminer la branche perdante et présenter à l’utilisateur le détail complet des scores comparatifs.