Repository navigation
[ICT] Agents LLM heterogenes face a des contrats : l'experience que le bac a sable rendrait possible — gatee sur la reponse du workspace Epita #13572
Description
Origine : question posee par le user dans la conversation ChatGPT du 2026-08-29, deposee sur son arbitrage du 2026-08-30. GATE TOMBE le 2026-09-05 ; corps rafraichi le 2026-09-07 (voir « Historique du gate » en fin de corps). Etat : READY -- le run se suit en #15060.
La question, telle qu'elle a ete posee
Faut-il pousser l'environnement de simulation plus loin, pour que des agents LLM heterogenes interagissent avec des smart contracts — de sorte que les jambes qui s'ajoutent a Sandholm et aux jambes socio/anthropologiques puissent porter de nouveaux temoins ?
Le gate — TOMBE le 2026-09-05
L'ancien gate (« attendre que le workspace Epita dise si son prototype tourne encore ») est solde. La reponse est acquise, et elle est negative-par-le-haut : on ne restaure pas la vieille flotte, EPITA devient un oracle de proprietes et ADK le runtime (#14058, dont le titre porte la decision). Le prerequis d'infrastructure est solde aussi : #13571 est CLOSED — le bac a sable existe, avec acteurs, journal rejouable et echec institutionnel possible.
Le gate portait sur trois contrats non portes, mesures et nommes par #14058 (livraison #14568, mergee). Les trois ont ete portes le 2026-09-05 :
| Contrat | Etat | Primitive candidate |
|---|---|---|
| C1 isolation session | porte | — |
| C1b persistance cross-tours | porte (#14568) | InMemorySessionService |
| C2 tool round-trip | porte | — |
| C3 budget tours/appels | porte | — |
| C4 designation | porte (#14709) | orchestrateur sequentiel declaratif |
| C5 handoff / transfer | porte (#14708) | sub_agents + transfer_to_agent natif |
| C6 budget tokens observable | porte (#14690) | usage_metadata dans AdkRunResult |
| C7 roles specialises | porte | — |
Condition de demarrage : satisfaite. C4 et C5 sont portes, et C6 mesure le cout de contexte (prompt 343 -> 607 -> 845 jetons sur trois tours) avec verification par mutation.
Reserve, et elle porte sur cette issue elle-meme. La clause qui precedait ici disait que « l'avancement se lit, il ne se declare pas », parce que chaque non-portage est enregistre par un test concu pour rougir quand la capacite apparait. Ces tests existent — Track2-GoogleADK/utils/test_adk_runtime_contracts.py, 16 fonctions dont test_c4_sequential_designation_is_declared_and_executed, test_c5_sub_agents_wire_handoff_and_it_is_observable, test_c6_budget_refuses_next_turn_without_calling_the_llm — et depuis le 2026-09-07 ils tournent dans le job adk-contracts de scripts-tests.yml (#15058 livre par PR #15079 : declenchement Track2-GoogleADK/**, litellm installe dans un env isole — poison-test de la garde d'import de google.adk.models.lite_llm —, controle positif par mutation C5, floor de collecte 16). La lecture prescrite est disponible : un non-portage ou une regression de contrat rougit des la PR qui l'introduit.
Le premier essai, quand le gate tombe
Ne pas creer de nouveau smart contract. Trois agents sur le SC-2b existant, qui porte deja acteurs signants, journal d'evenements et replay a hash identique.
Le contraste doit etre minuscule et tout tenir constant sauf l'axe teste : meme etat initial, meme contrat, meme proposition, meme budget, meme graine autant que possible — seule varie la population, homogene contre heterogene.
Avant le premier appel LLM, ecrire l'hypothese avec un seuil et un signe :
P: l'heterogeneite change la probabilite de capture institutionnelle — de combien, dans quel sens.
Si les deux populations rendent les memes distributions, le resultat est HETEROGENEITE : NON DETECTEE, et c'en est un bon. Ce n'est que si elles different qu'on branche la Greffe 5 (#13570 / ICT-Greffe5-AttributionCausale) pour demander si l'ecart est attribuable au facteur d'heterogeneite plutot qu'au bruit.
Ce que « nouveaux temoins » veut dire ici (inchange)
Une simulation d'agents LLM produit toujours quelque chose. Le risque propre a cette greffe est la fabrication de temoins qui n'en sont pas — des transcripts plausibles qui ne discriminent aucune hypothese. Elle doit donc porter d'emblee :
- L'heterogeneite mesuree, pas postulee : les agents different par un axe nomme (modele, temperature, prompt, budget, objectif) et on montre que cet axe change le resultat. Des agents heterogenes qui convergent pareil ne sont pas heterogenes, ce sont des copies bruitees.
- Un contrefactuel homogene : la meme simulation avec des agents identiques. Sans lui, aucun effet ne peut etre attribue a l'heterogeneite.
- Un resultat falsifiable ecrit AVANT le run — quelle observation refuterait la these. Une simulation dont toute sortie confirme est un generateur de recit.
- Le cout annonce : nombre d'appels, budget tokens, duree. Cette greffe peut consommer beaucoup ; qu'elle le dise avant, pas apres.
Historique du gate
- 2026-09-05 → 2026-09-07 : les trois PRs de contrat ont merge le 2026-09-05 (feat(adk,#14685): orchestrateur de designation sequentielle declarative (contrat C4) #14709, feat(adk,#14686): C5 handoff câblé et observable — sub_agents natif ADK + Lab15 réel #14708, feat(adk,#14687): tracabilite C6 -- usage LLM remonte dans AdkRunResult et ConversationRunner #14690) et ce corps a continue d'afficher « non porte — GATE » deux jours apres. C'est le meme motif
stale-bodyque l'entree ci-dessous documente avoir corrige le 2026-09-04 — sur la meme issue, par le meme mecanisme. La recurrence a une cause nommable : le corps est la seule surface qui porte l'etat, et rien ne la relie aux merges. L'organe qui aurait ferme la boucle est le job CI absent (ADK: les tests de contrat C4-C7 ne tournent dans aucun job CI -- #13572 prescrit une lecture qui n'est pas disponible #15058). - 2026-08-30 → 2026-09-04 : « ne pas commencer avant la reponse du workspace Epita sur la survie du prototype
2.1.6_multiagent_governance_prototype». Ce gate a ete rendu obsolete par sa propre resolution : Agentique : EPITA devient oracle de proprietes, ADK/Aspire reste le runtime — ne pas restaurer le runtime SK #14058 a tranche (EPITA = oracle, ADK = runtime, ne pas restaurer SK) et feat(adk,#14058): porter C1b (persistance cross-tours) au-dessus d'ADK + mesurer C4-C7 #14568 a porte C1b + mesure C4-C7. L'issue a continue d'afficher « attendre » plusieurs jours apres que la reponse fut acquise et mergee — motifstale-body, corrige ici.
Voir aussi
-
[ICT] SC-2b : lancer l'experience homogene/heterogene -- deux bras separes, 2x2 seulement sur signal #15060 — le run : experience homogene/heterogene sur SC-2b, deux bras separes
-
ADK: les tests de contrat C4-C7 ne tournent dans aucun job CI -- #13572 prescrit une lecture qui n'est pas disponible #15058 —
les tests de contrat ne tournent dans aucun job CISOLDE (2026-09-07) : jobadk-contractscable par PR feat(ci,#15058): ADK contracts — brancher les 16 tests C1-C7 dans un job dedie (litellm installe, job isole) #15079, 16 tests C1-C7, floor 16 -
Agentique : EPITA devient oracle de proprietes, ADK/Aspire reste le runtime — ne pas restaurer le runtime SK #14058 — EPITA oracle / ADK runtime : porte les contrats C4/C5/C6 qui sont maintenant le gate
-
[ICT] Bac a sable institutionnel : anvil est deja installe et consomme (SC-1/SC-2, ANVIL_RPC) — ce qui manque, ce sont les acteurs, pas la chaine #13571 (CLOSED) — bac a sable institutionnel : prerequis solde, SC-2b est le terrain
-
[ICT] Greffe 4 — le vote verifiable et la gouvernance DAO existent (SC-17, SC-9, SC-13) : y brancher l'argumentation et le choix social #13570 — greffe 4 (choix social sur la chaine) ;
ICT-Greffe5-AttributionCausale— le controleur causal du dernier pas
Activity
jsboige commentedon Sep 1, 2026
[INFO] candidate-delivered FAUX POSITIF — vérification first-hand 2026-09-01T16:xxZ par myia-po-2024:CoursIA-2 :
gh search prs "13572" --state closed: 0 PR fermée liée à l'issue (recherche tous dépôts confondus, top 10 hits = bruit autres repos non-CoursIA)gh search prs "13572" --state open: 0 PR ouverte liée à l'issue dans jsboige/CoursIALe label candidate-delivered (#10466) a été posé par
candidate-delivered-advisory.ymlsur la base d'une heuristique (référencée par une PR merged + aucune activité post-merge, EPICs exclus). Ici l'heuristique a vraisemblablement matché à tort — aucune PR dans CE repo ne couvre l'issue.Demande ai-01 (coordinateur) cross-lane : trancher si le label
candidate-delivereddoit être retiré. Je NE le retire PAS moi-même (Tell c.645 ★★★ strict : gates cross-workspace = pas mon arbitrage).— myia-po-2024:CoursIA-2 (c.831 · pool narrow structurel post #14052 MERGED + ICT-sustained prudence Tell c.831-L3)
feat(ci,#15058): ADK contracts — brancher les 16 tests C1-C7 dans un …
myia-ai-01 commentedon Sep 18, 2026
Fermeture sur verification firsthand (cycle ai-01 2026-09-18, lot de verification sonnet — body integral + tous commentaires lus, artefacts relus sur
origin/main, PRs etatees une par une).L'experience est executee, pas planifiee : PR #16320 (MERGED 2026-09-15T21:21:19Z,
81e0604c45). Artefacts sur main :SC-2b-Bac-ASable-Institutionnel.ipynb+sc2b_experience.py/analyse.py+ 10 journaux danssc2b_resultats/.Verdict H1 NON DETECTEE (0/20 vs 0/20) : c'est un etat terminal par design du protocole — la Greffe 5 n'est pas declenchee faute de signal, ce n'est pas un travail interrompu. H2 n'est pas testable sur le 7B local et est porte par #15060 (OPEN) : ne pas fermer #15060 sans le reloger.
Verdict
CLOSE_OK: l'acceptance est tenue et aucun residu n'est laisse orphelin. Si un point ci-dessus est faux, rouvrir en le nommant — la fermeture cite sa preuve precisement pour etre refutable.