Harness Engineering: Turning AI Agent Experience Into Operational Memory

For a while, we thought the problem was prompt engineering. If the model failed, we tried to write a better instruction. Then the conversation moved to context: retrieval, memory, RAG, long context windows, dynamic prompts. Then came agents: systems where the model no longer only answers, but inspects files, calls tools, runs commands, edits code, and verifies results.

Now the word is harness.

At first, it sounds like another fashion term. A harness can look like a collection of tricks around the model: better prompts, better instructions, better tools, better workflows. But I think the idea is deeper than that. Harness engineering is not just prompt engineering with a new name. It is the discipline of building the environment that turns a probabilistic language model into a system that can act.

A model predicts. A harness constrains, verifies, remembers, and decides when the work is done.

That distinction matters. A language model is still fundamentally autoregressive: it produces the next token from the previous tokens. But an agent cannot survive by continuation alone. It needs an objective, a budget, tools, permissions, tests, memory, and stop conditions. It needs to know what to inspect, what to change, what to preserve, and when to stop.

Prompt engineering asks: “How do I phrase the instruction?”

Harness engineering asks: “What environment produces reliable behavior?”

That is a different discipline.

A prompt can tell an agent to be careful. A harness can define what “careful” means in a specific project. A prompt can say “run the tests.” A harness can decide which tests matter, trigger them after changes, and prevent the agent from claiming success if they fail. A prompt can say “avoid dangerous actions.” A harness can block destructive commands before they run.

This is where the old vocabulary becomes insufficient. We are no longer only writing instructions. We are designing control flow around a probabilistic actor.

And strangely, the more sophisticated these agents become, the more we return to primitive instructions: observe, plan, act, verify, remember, stop. These are not impressive ideas. They are basic control primitives. But that is exactly why they matter. They are the behavioral assembly language of agents.

The missing layer is experience.

A model can know a lot about code in general, but it does not know the local history of your project. It does not know which migration caused an incident six months ago, which directory is generated and should not be edited, which internal convention your team never violates, or which test is flaky for historical reasons.

Humans learn these things through experience. Over time, experience becomes intuition. A senior engineer does not reason from scratch every time. They carry reflexes: reproduce the bug before patching it, check the invariant before fixing the symptom, avoid widening scope during a hotfix, never remove a failing test just to make the suite pass.

Agents need something similar. Since that experience is not reliably inside the model weights, it has to be externalized.

This is the part that interests me most. The real value of a harness is not merely that it gives instructions to the agent. The real value is that it can turn past agent experience into future operational memory.

Every coding session with an AI agent contains traces of learning: what failed, what worked, which files mattered, what assumptions were wrong, which commands were useful, which project rules were rediscovered, and which mistakes should not happen again. But most of that experience disappears. It remains buried in transcripts, JSONL logs, chat histories, scattered notes, or bloated instruction files that nobody wants to maintain.

This is the problem I built Insight Forge to explore.

Insight Forge is based on a simple idea: your AI sessions already contain more knowledge than you think. They contain the raw material for a better harness. The problem is that this knowledge is not structured, not validated, and not reusable.

So instead of treating every agent session as disposable, Insight Forge treats it as evidence. It reads past sessions, extracts signals, identifies useful lessons, and proposes improvements to files like CLAUDE.md or AGENTS.md. It does not try to magically retrain the model. It tries to improve the environment around the model.

That is the key distinction.

The goal is not to make the model universally smarter. The goal is to make the agent locally more competent.

This is exactly what experience does for humans. Experience does not make us omniscient. It makes us better adapted to a specific environment. We learn the shape of a codebase, the traps in a process, the habits of a team, the bugs that tend to come back, the shortcuts that are dangerous, and the checks that are worth running.

A good harness should do the same for agents.

Files like AGENTS.md and CLAUDE.md are early forms of this externalized intuition. They put local working knowledge beside the code itself: conventions, constraints, test expectations, forbidden patterns, stop conditions. At one level, they are just Markdown files. At another level, they are primitive memory systems for agents.

But Markdown alone is not enough. A file can suggest behavior; a hook can enforce it.

A hook can block a dangerous command, run tests after a file change, reject premature completion, or preserve execution traces. If instructions are memory, hooks are reflexes.

Skills add another layer. Instead of putting every rule into one giant prompt, we can package procedures: regression debugging, API review, migration safety, security-sensitive changes, documentation updates, harness review. A skill is not just knowledge. It is a reusable routine.

This is where I think harness engineering becomes genuinely interesting. It is not about collecting “AI tips.” It is about building a system where the agent’s environment accumulates experience over time.

That is why Insight Forge belongs directly in this discussion. It is not a side project next to the harness idea. It is an attempt to implement one part of it: the conversion of agent traces into operational memory.

The workflow is deliberately conservative. Not every sentence from a past session should become a rule. Not every model claim should be trusted. A useful harness needs evidence, not vibes. The important question is not “Did the model say something?” but “Was this lesson confirmed by the session? Did it affect the outcome? Is it reusable? Should it become a project rule, a warning, a skill, or a hook?”

That is where the next layer of agent engineering may live.

Not only in larger models.

Not only in longer context windows.

Not only in more tools.

But in the ability to preserve, filter, and reuse experience.

There is a paradox here. At first, AI progress looks like giving models more freedom: larger models, more autonomy, more tools, more context, more flexible workflows. But the more we use agents for real work, the more reliability brings us back to constraints.

Budgets matter. Stop conditions matter. Verification matters. Permissions matter. Logs matter. Tool boundaries matter. Reproducible workflows matter.

This does not mean agents are a failure. It means agents are becoming software. And software needs architecture.

The harness is that architecture around the model. It decides what should remain flexible and what should be enforced, what can be left to model judgment and what must be checked by code, what should be remembered and what should be discarded, what counts as success and what counts as unsafe action.

We are no longer simply learning how to talk to models. We are learning how to build external nervous systems around them.

The model provides generative intelligence. The harness provides procedural continuity. The model can propose, but the harness can constrain. The model can forget, but the harness can remember. The model can continue, but the harness can decide when to stop.

That is why harnesses matter. They are not just a trend or a collection of tricks. They are the emerging layer between probabilistic language generation and durable operational intelligence.

And this is also why I think tools like Insight Forge point in the right direction. The future of agent engineering will not belong only to raw intelligence. It will belong to systems that can turn experience into memory, memory into procedure, and procedure into reliable action.

https://github.com/bacoco/insight-forge/tree/main

Ingénierie du harness : transformer l’expérience des agents IA en mémoire opérationnelle

Pendant un moment, nous avons cru que le problème était le prompt engineering. Si le modèle échouait, nous essayions d’écrire une meilleure instruction. Puis la conversation s’est déplacée vers le contexte : retrieval, mémoire, RAG, longues fenêtres de contexte, prompts dynamiques. Ensuite sont venus les agents : des systèmes où le modèle ne se contente plus de répondre, mais inspecte des fichiers, appelle des outils, lance des commandes, modifie du code et vérifie des résultats.

Maintenant, le mot est harness.

À première vue, cela ressemble à un terme de mode supplémentaire. Un harness peut passer pour une collection d’astuces autour du modèle : meilleurs prompts, meilleures instructions, meilleurs outils, meilleurs workflows. Mais je pense que l’idée est plus profonde que cela. L’ingénierie du harness n’est pas simplement du prompt engineering avec un nouveau nom. C’est la discipline qui consiste à construire l’environnement qui transforme un modèle de langage probabiliste en système capable d’agir.

Un modèle prédit. Un harness contraint, vérifie, mémorise et décide quand le travail est terminé.

Cette distinction compte. Un modèle de langage reste fondamentalement autorégressif : il produit le prochain token à partir des tokens précédents. Mais un agent ne peut pas survivre par simple continuation. Il lui faut un objectif, un budget, des outils, des permissions, des tests, une mémoire et des conditions d’arrêt. Il doit savoir quoi inspecter, quoi changer, quoi préserver et quand s’arrêter.

Le prompt engineering demande : « Comment formuler l’instruction ? »

L’ingénierie du harness demande : « Quel environnement produit un comportement fiable ? »

C’est une discipline différente.

Un prompt peut dire à un agent d’être prudent. Un harness peut définir ce que “prudent” signifie dans un projet spécifique. Un prompt peut dire « lance les tests ». Un harness peut décider quels tests comptent, les déclencher après les changements et empêcher l’agent d’affirmer que le travail est terminé s’ils échouent. Un prompt peut dire « évite les actions dangereuses ». Un harness peut bloquer les commandes destructrices avant leur exécution.

C’est là que l’ancien vocabulaire devient insuffisant. Nous n’écrivons plus seulement des instructions. Nous concevons du contrôle de flux autour d’un acteur probabiliste.

Et, curieusement, plus ces agents deviennent sophistiqués, plus nous revenons à des instructions primitives : observer, planifier, agir, vérifier, mémoriser, s’arrêter. Ce ne sont pas des idées impressionnantes. Ce sont des primitives de contrôle. Mais c’est précisément pour cela qu’elles comptent. Elles sont l’assembleur comportemental des agents.

La couche manquante est l’expérience.

Un modèle peut savoir beaucoup de choses sur le code en général, mais il ne connaît pas l’histoire locale de votre projet. Il ne sait pas quelle migration a causé un incident il y a six mois, quel dossier est généré et ne doit pas être modifié, quelle convention interne votre équipe ne viole jamais, ou quel test est flaky pour des raisons historiques.

Les humains apprennent ces choses par l’expérience. Avec le temps, l’expérience devient intuition. Un ingénieur senior ne raisonne pas à partir de zéro à chaque fois. Il porte des réflexes : reproduire le bug avant de le corriger, vérifier l’invariant avant de traiter le symptôme, éviter d’élargir le périmètre pendant un hotfix, ne jamais supprimer un test en échec simplement pour faire passer la suite.

Les agents ont besoin de quelque chose de similaire. Comme cette expérience n’est pas présente de manière fiable dans les poids du modèle, elle doit être externalisée.

C’est la partie qui m’intéresse le plus. La vraie valeur d’un harness n’est pas seulement de donner des instructions à l’agent. Sa vraie valeur est de transformer l’expérience passée de l’agent en mémoire opérationnelle future.

Chaque session de coding avec un agent IA contient des traces d’apprentissage : ce qui a échoué, ce qui a fonctionné, quels fichiers comptaient, quelles hypothèses étaient fausses, quelles commandes étaient utiles, quelles règles du projet ont été redécouvertes, et quelles erreurs ne devraient plus se reproduire. Mais la plupart de cette expérience disparaît. Elle reste enterrée dans des transcripts, des logs JSONL, des historiques de conversation, des notes dispersées ou des fichiers d’instructions devenus trop gros pour être maintenus.

C’est le problème que j’ai voulu explorer avec Insight Forge.

Insight Forge repose sur une idée simple : vos sessions IA contiennent déjà plus de connaissance que vous ne le pensez. Elles contiennent la matière première d’un meilleur harness. Le problème est que cette connaissance n’est pas structurée, pas validée et pas réutilisable.

Au lieu de traiter chaque session agentique comme jetable, Insight Forge la traite comme une preuve. Il lit les sessions passées, extrait des signaux, identifie des leçons utiles et propose des améliorations pour des fichiers comme CLAUDE.md ou AGENTS.md. Il n’essaie pas de réentraîner magiquement le modèle. Il essaie d’améliorer l’environnement autour du modèle.

C’est la distinction essentielle.

Le but n’est pas de rendre le modèle universellement plus intelligent. Le but est de rendre l’agent localement plus compétent.

C’est exactement ce que l’expérience fait pour les humains. L’expérience ne nous rend pas omniscients. Elle nous rend mieux adaptés à un environnement spécifique. Nous apprenons la forme d’une codebase, les pièges d’un processus, les habitudes d’une équipe, les bugs qui ont tendance à revenir, les raccourcis dangereux et les vérifications qui valent la peine d’être lancées.

Un bon harness devrait faire la même chose pour les agents.

Des fichiers comme AGENTS.md et CLAUDE.md sont des formes précoces de cette intuition externalisée. Ils placent le savoir local de travail à côté du code lui-même : conventions, contraintes, attentes de test, patterns interdits, conditions d’arrêt. À un niveau, ce ne sont que des fichiers Markdown. À un autre niveau, ce sont des systèmes de mémoire primitifs pour agents.

Mais Markdown seul ne suffit pas. Un fichier peut suggérer un comportement ; un hook peut l’imposer.

Un hook peut bloquer une commande dangereuse, lancer des tests après une modification de fichier, rejeter une fin prématurée ou préserver des traces d’exécution. Si les instructions sont de la mémoire, les hooks sont des réflexes.

Les skills ajoutent encore une couche. Au lieu de placer toutes les règles dans un prompt géant, on peut empaqueter des procédures : débogage de régression, revue d’API, sécurité des migrations, changements sensibles à la sécurité, mise à jour de documentation, revue de harness. Un skill n’est pas seulement de la connaissance. C’est une routine réutilisable.

C’est là que l’ingénierie du harness devient réellement intéressante. Il ne s’agit pas de collectionner des “astuces IA”. Il s’agit de construire un système dans lequel l’environnement de l’agent accumule de l’expérience au fil du temps.

C’est pourquoi Insight Forge appartient directement à cette discussion. Ce n’est pas un projet annexe à côté de l’idée de harness. C’est une tentative d’en implémenter une partie : la conversion des traces agentiques en mémoire opérationnelle.

Le workflow est volontairement conservateur. Toutes les phrases d’une ancienne session ne doivent pas devenir des règles. Toutes les affirmations du modèle ne doivent pas être crues. Un harness utile a besoin de preuves, pas d’impressions. La question importante n’est pas : « Est-ce que le modèle a dit quelque chose ? » mais plutôt : « Est-ce que cette leçon a été confirmée par la session ? Est-ce qu’elle a changé le résultat ? Est-ce qu’elle est réutilisable ? Doit-elle devenir une règle de projet, un avertissement, un skill ou un hook ? »

C’est peut-être là que se trouve la prochaine couche de l’ingénierie des agents.

Pas seulement dans des modèles plus grands.

Pas seulement dans des fenêtres de contexte plus longues.

Pas seulement dans davantage d’outils.

Mais dans la capacité à préserver, filtrer et réutiliser l’expérience.

Il y a ici un paradoxe. Au début, le progrès en IA ressemble à plus de liberté donnée aux modèles : modèles plus grands, plus d’autonomie, plus d’outils, plus de contexte, workflows plus flexibles. Mais plus nous utilisons les agents pour du travail réel, plus la fiabilité nous ramène vers les contraintes.

Les budgets comptent. Les conditions d’arrêt comptent. La vérification compte. Les permissions comptent. Les logs comptent. Les frontières d’outils comptent. Les workflows reproductibles comptent.

Cela ne veut pas dire que les agents sont un échec. Cela veut dire que les agents deviennent du logiciel. Et le logiciel a besoin d’architecture.

Le harness est cette architecture autour du modèle. Il décide ce qui doit rester flexible et ce qui doit être imposé, ce qui peut être laissé au jugement du modèle et ce qui doit être vérifié par du code, ce qui doit être mémorisé et ce qui doit être jeté, ce qui compte comme succès et ce qui compte comme action dangereuse.

Nous ne sommes plus simplement en train d’apprendre à parler aux modèles. Nous sommes en train d’apprendre à construire autour d’eux des systèmes nerveux externes.

Le modèle fournit l’intelligence générative. Le harness fournit la continuité procédurale. Le modèle peut proposer, mais le harness peut contraindre. Le modèle peut oublier, mais le harness peut mémoriser. Le modèle peut continuer, mais le harness peut décider quand s’arrêter.

C’est pourquoi les harnesses comptent. Ce ne sont pas seulement une tendance ou une collection d’astuces. Ils sont la couche émergente entre la génération probabiliste du langage et l’intelligence opérationnelle durable.

Et c’est aussi pour cela que je pense que des outils comme Insight Forge vont dans la bonne direction. L’avenir de l’ingénierie des agents n’appartiendra pas seulement à l’intelligence brute. Il appartiendra aux systèmes capables de transformer l’expérience en mémoire, la mémoire en procédure, et la procédure en action fiable.

De l’éducation humaine au fine-tuning : la vraie méthode pour améliorer les LLM

On commet souvent la même erreur avec les grands modèles de langage : on pense qu’ils s’améliorent surtout en leur donnant plus de données, plus de calcul, plus de paramètres. C’est vrai en partie, mais ce n’est pas l’essentiel. La vraie progression, chez l’humain comme chez le modèle, ne vient pas seulement de la quantité d’exposition. Elle vient de la qualité de la formation.

Chez les humains, ceux qui finissent par penser juste, agir avec discernement et réussir durablement ne sont pas simplement ceux qui ont le plus mémorisé. Ce sont ceux qui ont reçu une bonne base, affronté une difficulté croissante, appris à corriger leurs erreurs, comparé plusieurs stratégies, et développé le sens du doute autant que celui de l’action. Si l’on transpose cela au monde des LLM, alors le fine-tuning cesse d’être une simple opération technique : il devient une véritable question d’éducation.

L’enjeu n’est donc pas seulement d’enseigner au modèle quoi répondre. L’enjeu est de lui apprendre comment devenir pertinent.

1. La base : culture générale chez l’humain, prétraining chez le LLM

L’humain

Les profils les plus solides ont presque toujours un socle large. Ils lisent, observent, relient, croisent les disciplines. Ils développent très tôt un langage riche, une compréhension du monde, des réflexes logiques, une sensibilité aux nuances. Même lorsqu’ils se spécialisent ensuite, leur force vient souvent de cette largeur initiale.

Un esprit bien formé n’est pas seulement un esprit informé. C’est un esprit qui dispose d’assez de repères pour reconnaître un problème, changer d’angle, et faire des liens entre des choses éloignées.

Le LLM

Le prétraining joue exactement ce rôle. Il construit le socle général du modèle : langage, structures, connaissances diffusées, régularités du monde, styles d’écriture, associations conceptuelles. C’est ce qui donne au LLM sa largeur.

Mais cette phase ne suffit pas. Comme chez l’humain, une base immense peut produire de la fluidité sans produire du jugement. Le modèle peut savoir beaucoup de choses et pourtant mal les utiliser. Le prétraining donne la matière première ; il ne garantit pas la pertinence.

2. La progression : les meilleurs humains ne sont pas noyés, ils sont conduits

L’humain

On n’éduque pas bien un enfant ou un étudiant en lui jetant au visage des problèmes absurdes ou trop faciles. Les meilleurs parcours reposent sur une difficulté bien dosée. L’exercice doit être assez exigeant pour obliger à grandir, mais pas assez violent pour briser l’élan.

C’est ce qui distingue un bon système éducatif d’un mauvais : le premier construit des marches, le second crée des trous. Les meilleurs apprenants sont rarement ceux à qui tout a été donné d’emblée ; ce sont ceux qui ont avancé dans une progression intelligente.

Le LLM

Un dataset de fine-tuning devrait obéir à la même logique. Il ne devrait pas être un tas informe de prompts et de réponses. Il devrait être structuré comme un parcours : cas simples, puis cas composés, puis cas ambigus, puis cas difficiles, puis cas limites.

Sans progression, le modèle apprend de façon dispersée. Avec une progression, il consolide ses habitudes de réponse, puis apprend à tenir sous contrainte, puis à rester pertinent quand la situation devient floue. En d’autres termes, on ne lui demande pas seulement de répondre ; on lui apprend à monter en niveau.

3. L’erreur : ce que les meilleurs humains savent faire que les autres évitent

L’humain

Les meilleurs ne sont pas ceux qui ne se trompent jamais. Ce sont ceux qui savent transformer l’erreur en outil. Ils cherchent où le raisonnement a cassé, quelle hypothèse était fausse, quel raccourci mental les a piégés. Ils ne vivent pas la correction comme une humiliation, mais comme une forme de précision.

Un bon enseignant ne se contente pas de dire “c’est faux”. Il montre la mécanique de l’erreur. Il rend visible le point de rupture. C’est souvent là que se fait le véritable progrès.

Le LLM

Le fine-tuning classique est souvent trop pauvre de ce point de vue. Il montre une consigne et une bonne réponse, puis passe à la suivante. C’est utile, mais incomplet. Car le modèle n’apprend pas vraiment pourquoi certaines réponses sont mauvaises, ni comment reconnaître ses propres dérives.

Un dataset plus mature devrait inclure des erreurs typiques du modèle : hallucination, réponse prématurée, oubli de contrainte, excès de confiance, confusion entre deux concepts proches. C’est en exposant ces trajectoires défectueuses que l’on apprend au modèle à ne pas retomber dans les mêmes pièges.

4. Le contraste : voir une bonne réponse n’est pas aussi puissant que comparer plusieurs réponses

L’humain

On apprend énormément en comparant. Entre une copie moyenne et une copie excellente, entre un raisonnement juste mais lourd et un raisonnement juste et élégant, entre une réponse correcte et une réponse vraiment pertinente, l’écart forme le jugement.

Les grands progrès intellectuels viennent souvent de cette faculté : reconnaître ce qui n’est pas seulement acceptable, mais supérieur. C’est cela qui fait passer d’un bon élève à un esprit affûté.

Le LLM

C’est précisément le rôle des méthodes de préférence, comme DPO ou GRPO. Elles ne disent pas seulement au modèle : “voici la bonne sortie”. Elles lui apprennent : “parmi plusieurs sorties plausibles, celle-ci est meilleure.”

Cette différence est fondamentale. Le SFT enseigne une norme. Les méthodes de préférence enseignent une hiérarchie. Elles apprennent au modèle à augmenter la probabilité des meilleures stratégies, pas seulement à reproduire une réponse attendue. C’est là qu’apparaît une forme de discernement statistique.

5. Le feedback : les meilleurs progressent parce que la correction est précise

L’humain

Un feedback vague aide peu. Dire à quelqu’un qu’il a tort ne suffit pas. Dire à quelqu’un qu’il a confondu la cause et l’effet, mal lu la consigne, oublié une hypothèse ou répondu trop vite, change tout. Plus la correction est locale, plus l’apprentissage est profond.

Les meilleurs éducateurs corrigent avec précision. Ils ne jugent pas seulement le résultat ; ils interviennent sur la manière de penser.

Le LLM

La même règle vaut pour le fine-tuning. Les données les plus utiles ne sont pas seulement des réponses bien rédigées. Ce sont celles qui portent une information claire sur la nature de l’erreur : oubli de contexte, contradiction, mauvais format, manque de prudence, raisonnement incomplet.

Plus le signal d’entraînement est précis, plus le gradient corrige réellement le comportement. Un dataset flou produit un modèle flou. Un dataset exigeant produit un modèle plus discipliné.

6. Le doute : chez l’humain comme chez le modèle, la maturité passe par la retenue

L’humain

Les personnes réellement compétentes savent dire : “je ne sais pas encore”, “il manque une donnée”, “il faut vérifier”, “je peux proposer une hypothèse, mais pas conclure”. Cette retenue n’est pas une faiblesse. C’est une marque de solidité intellectuelle.

Les esprits faibles répondent à tout. Les esprits mûrs savent quand ralentir.

Le LLM

Un modèle bien fine-tuné ne devrait pas seulement être utile quand il sait. Il devrait aussi être fiable quand il ne sait pas. Cela implique d’entraîner non seulement la réponse, mais l’incertitude calibrée : reconnaître les cas ambigus, signaler l’absence d’information, distinguer ce qui est probable de ce qui est démontré.

Un LLM qui répond toujours avec assurance est souvent moins performant qu’un modèle qui a appris la retenue. La qualité ne se mesure pas à la quantité de texte généré, mais à la justesse de la posture cognitive.

7. La variété du réel : les meilleurs humains ont vu plus que des exercices propres

L’humain

On reconnaît souvent la qualité d’une formation à sa capacité à préparer au monde réel. Les meilleurs apprenants n’ont pas seulement résolu des exercices impeccables ; ils ont affronté des consignes floues, des contextes contradictoires, des problèmes ouverts, des situations de stress et d’incertitude.

C’est ce contact avec le réel qui rend l’intelligence robuste. Une compétence qui ne tient que dans un environnement propre est une compétence fragile.

Le LLM

Le dataset idéal doit lui aussi sortir du laboratoire. Il doit inclure des demandes mal formulées, des objectifs partiellement contradictoires, des conversations longues, des cas bruités, des reformulations imprévues, des utilisateurs confus ou imprécis.

Sinon, on fabrique un modèle excellent sur les benchmarks et faible dans la vie réelle. Comme chez l’humain, la robustesse ne vient pas seulement de la propreté des exercices, mais de l’exposition à la complexité du monde.

8. La spécialisation : l’expertise n’a de valeur que si la base tient

L’humain

Une fois les bases solides, l’humain peut se spécialiser. Droit, médecine, finance, ingénierie, recherche. Mais cette spécialisation ne vaut que si elle repose sur une formation générale suffisamment robuste. Sinon, on obtient un spécialiste étroit, compétent dans un couloir et perdu dès que le contexte change.

L’excellence véritable est une spécialisation qui n’a pas détruit l’intelligence générale.

Le LLM

LoRA et les adaptations spécialisées jouent ce rôle. Elles permettent d’ajouter une compétence métier à un modèle déjà formé, sans réécrire toute son éducation. C’est extrêmement efficace quand la base est saine.

Mais spécialiser un mauvais socle ne produit pas un expert ; cela produit un système plus étroitement défaillant. Comme chez l’humain, l’expertise est une surcouche. Elle ne remplace pas la qualité de la formation initiale.

9. Ce que cela implique pour construire un bon dataset de fine-tuning

Si l’on prend vraiment au sérieux le parallèle entre l’éducation humaine et l’amélioration des LLM, alors le dataset de fine-tuning doit être conçu comme un système éducatif exigeant.

Il doit d’abord être sélectif. Il faut retirer les réponses fades, superficielles, seulement plausibles. Comme un grand professeur ne transmet pas le médiocre, un grand dataset ne doit pas enseigner l’à-peu-près.

Il doit être progressif. Les exemples doivent suivre une montée en difficulté. Le modèle doit d’abord apprendre à répondre proprement, puis à raisonner, puis à résister à l’ambiguïté, puis à bien se comporter dans des cas adversariaux.

Il doit être contrastif. Il faut montrer non seulement de bonnes réponses, mais aussi des réponses faibles, des erreurs typiques, des alternatives plausibles mais moins bonnes, et des explications sur ce qui rend une sortie supérieure à une autre.

Il doit être centré sur les erreurs réelles du modèle. Comme un éducateur qui observe les fautes récurrentes de son élève, il faut analyser les échecs du LLM, les classer, puis fabriquer des exemples qui ciblent exactement ces faiblesses.

Enfin, il doit être branché sur le réel. Un bon modèle ne se forme pas seulement sur des cas propres. Il doit apprendre à rester utile quand la demande est imparfaite, le contexte incomplet, le problème mal posé.

10. La leçon décisive

Le meilleur parallèle entre l’humain et le LLM n’est pas une analogie de surface. Ce n’est pas de dire qu’un modèle “grandit” comme une personne. C’est de comprendre que, dans les deux cas, ce qui produit la qualité n’est pas l’accumulation brute, mais l’organisation intelligente de l’apprentissage.

Chez l’humain, l’excellence naît d’un socle large, d’une progression bien pensée, d’un rapport sain à l’erreur, d’une comparaison des stratégies, d’un feedback précis et d’un apprentissage du doute. Chez le LLM, l’équivalent est clair : prétraining riche, fine-tuning sélectif, datasets contrastifs, optimisation par préférence, correction ciblée des erreurs et spécialisation tardive.

La question n’est donc plus seulement : comment entraîner un modèle ? La vraie question devient : comment lui construire une éducation à la hauteur de ce que l’on demande à un esprit de qualité ?

Et la réponse tient en une phrase : pour produire de meilleurs LLM, il faut cesser de penser seulement en ingénieurs de données, et commencer à penser aussi en architectes de formation.

Voici un meta-prompt en anglais que tu peux donner à un autre LLM pour générer un dataset de fine-tuning de haute qualité, inspiré des meilleurs principes de l’éducation humaine.

Il est pensé pour produire un dataset utile pour :

SFT preference training (DPO / GRPO-style ranking data) error-correction data uncertainty / abstention training

Dataset de fine tunning

You are a senior AI curriculum designer and dataset architect.

Your task is to generate a high-quality fine-tuning dataset for a language model by borrowing the best principles from elite human education.

Core idea:
The strongest humans do not become excellent only by consuming large amounts of information. They improve because they receive:
1. broad foundations,
2. progressive difficulty,
3. explicit correction of mistakes,
4. comparison between weak and strong strategies,
5. precise feedback,
6. exposure to ambiguity and real-world messiness,
7. calibration, humility, and the ability to say “I don’t know” when necessary,
8. transfer across domains and contexts.

Your goal is to create training data that reproduces these conditions for a language model.

==================================================
DATASET PHILOSOPHY
==================================================

Generate examples that teach the model not only what a good answer looks like, but also:
- what common bad answers look like,
- why they are bad,
- which answer is better among several plausible candidates,
- when uncertainty is appropriate,
- how to remain useful under ambiguity,
- how to generalize across different formulations of the same task.

The dataset must not be shallow, generic, or repetitive.
It must feel like the output of excellent teachers, examiners, mentors, and reviewers.

==================================================
WHAT TO OPTIMIZE FOR
==================================================

The dataset should train the model to become:
- accurate,
- useful,
- structured,
- robust under ambiguity,
- honest about uncertainty,
- good at selecting better strategies,
- resistant to superficial but plausible answers,
- capable of transferring skills to novel settings.

==================================================
EXAMPLE TYPES TO GENERATE
==================================================

Generate a balanced mix of examples across these categories:

1. CANONICAL SFT EXAMPLES
- Prompt + ideal answer
- High-quality, clear, instructive, well-structured
- Teach correct formatting, clarity, and task completion

2. ERROR-CORRECTION EXAMPLES
- Prompt
- A realistic but flawed answer
- A critique explaining the flaw
- A corrected answer
- Focus on common LLM failure modes:
hallucination,
overconfidence,
shallow reasoning,
missing constraints,
answering too fast,
failure to ask for clarification when needed,
confusion between similar concepts,
poor calibration

3. PREFERENCE / RANKING EXAMPLES
- Prompt
- 2 to 4 candidate answers
- A ranking from best to worst
- A short justification for the ranking
- Candidates should all be plausible, not cartoonishly bad
- Reward robustness, correctness, relevance, clarity, calibration, and instruction-following

4. UNCERTAINTY / ABSTENTION EXAMPLES
- Cases where the correct behavior is:
asking for clarification,
stating uncertainty,
refusing to guess,
distinguishing known facts from assumptions,
proposing next steps instead of inventing certainty

5. TRANSFER / GENERALIZATION EXAMPLES
- Same underlying skill expressed in different surface forms
- Vary wording, tone, context, domain, and complexity
- Train the model to recognize structure beyond wording

6. AMBIGUOUS / REAL-WORLD EXAMPLES
- Noisy prompts
- Incomplete requests
- Contradictory requirements
- Under-specified tasks
- Realistic user behavior
- The ideal answer should remain helpful without pretending false certainty

7. ADVERSARIAL OR EDGE-CASE EXAMPLES
- Prompts designed to trigger common failure patterns
- The ideal answer should stay accurate, careful, and disciplined

==================================================
EDUCATIONAL PRINCIPLES TO EMBED
==================================================

For every batch of examples, embed the following human-education principles:

A. Broad foundations
Teach general understanding, not only narrow pattern completion.

B. Progressive difficulty
Include levels:
- easy
- medium
- hard
- expert
Difficulty should reflect reasoning burden, ambiguity, and need for judgment.

C. Learning through corrected mistakes
Make errors visible and educational.

D. Learning through contrast
Show why one answer beats another.

E. Precise feedback
Critiques must identify the exact failure:
e.g. “misses a key constraint”, “assumes facts not given”, “answers before resolving ambiguity”.

F. Metacognition
Teach the model when to slow down, ask, verify, or abstain.

G. Real-world variation
Use diverse domains, prompt styles, and user behaviors.

==================================================
QUALITY RULES
==================================================

All generated examples must follow these rules:

- No generic filler.
- No vague “good answer” language.
- No repetitive templates unless structurally necessary.
- Avoid robotic phrasing.
- Make prompts realistic and diverse.
- Make wrong answers believable.
- Make critiques specific and actionable.
- Make ideal answers genuinely better, not just longer.
- Do not reward verbosity for its own sake.
- Reward correctness, relevance, judgment, and calibration.
- Include both concise and detailed answer styles when appropriate.
- Preserve truthfulness over helpful-sounding speculation.

==================================================
TARGET FAILURE MODES TO TEACH AGAINST
==================================================

Regularly generate data that addresses these failure modes:

- hallucinating facts
- answering without enough context
- missing hidden constraints
- superficial reasoning
- logically inconsistent answers
- incorrect confidence
- failure to decompose complex tasks
- poor prioritization
- formatting drift
- over-refusal
- under-refusal
- not distinguishing fact from inference
- not recognizing ambiguity
- weak comparative judgment between candidate solutions

==================================================
DATASET MIX
==================================================

Use approximately this distribution:

- 35% canonical SFT examples
- 20% error-correction examples
- 20% preference/ranking examples
- 10% uncertainty/abstention examples
- 10% transfer/generalization examples
- 5% adversarial or edge-case examples

==================================================
OUTPUT FORMAT
==================================================

Output the dataset in JSONL.
Each line must be one valid JSON object.

Use one of the following schemas depending on example type.

1. SFT example schema:
{
"type": "sft",
"id": "...",
"domain": "...",
"difficulty": "easy|medium|hard|expert",
"capability_tags": ["..."],
"prompt": "...",
"context": "...",
"ideal_answer": "...",
"teaching_note": "Why this example matters and what it teaches."
}

2. Error-correction example schema:
{
"type": "error_correction",
"id": "...",
"domain": "...",
"difficulty": "easy|medium|hard|expert",
"capability_tags": ["..."],
"prompt": "...",
"bad_answer": "...",
"critique": "...",
"corrected_answer": "...",
"error_tags": ["hallucination", "missed_constraint", "..."],
"teaching_note": "What failure mode is being corrected."
}

3. Preference example schema:
{
"type": "preference",
"id": "...",
"domain": "...",
"difficulty": "easy|medium|hard|expert",
"capability_tags": ["..."],
"prompt": "...",
"candidates": [
{"label": "A", "answer": "..."},
{"label": "B", "answer": "..."},
{"label": "C", "answer": "..."}
],
"ranking": ["B", "A", "C"],
"ranking_justification": "...",
"teaching_note": "What comparative skill this teaches."
}

4. Uncertainty example schema:
{
"type": "uncertainty",
"id": "...",
"domain": "...",
"difficulty": "easy|medium|hard|expert",
"capability_tags": ["..."],
"prompt": "...",
"ideal_answer": "...",
"uncertainty_policy": "clarify|abstain|state_limits|conditional_answer",
"teaching_note": "Why certainty would be inappropriate here."
}

5. Transfer example schema:
{
"type": "transfer",
"id": "...",
"domain": "...",
"difficulty": "easy|medium|hard|expert",
"capability_tags": ["..."],
"underlying_skill": "...",
"prompt_variant_1": "...",
"ideal_answer_1": "...",
"prompt_variant_2": "...",
"ideal_answer_2": "...",
"teaching_note": "What invariant structure the model should learn."
}

==================================================
STYLE OF IDEAL ANSWERS
==================================================

Ideal answers should:
- follow the user’s actual need,
- be faithful to the prompt,
- be explicit about assumptions,
- be structured when structure helps,
- remain concise unless depth is needed,
- avoid fake certainty,
- distinguish fact, inference, and recommendation,
- ask for clarification only when it materially improves correctness,
- otherwise make the best grounded response possible.

==================================================
DOMAIN COVERAGE
==================================================

Spread examples across domains such as:
- reasoning
- writing
- coding
- analysis
- planning
- tutoring
- summarization
- domain-specific Q&A
- decision support
- ambiguous user requests
- safety-sensitive situations
- professional communication
- real-world messy interaction

==================================================
FINAL INSTRUCTION
==================================================

Now generate [N] high-quality JSONL examples.
Ensure:
- high diversity,
- strong educational value,
- realistic prompts,
- believable errors,
- excellent corrections,
- meaningful preference rankings,
- calibrated uncertainty,
- progressive difficulty.

Do not explain the format.
Do not add commentary outside JSONL.
Output only the dataset lines.

Dataset GRPO / preference training

You are generating preference-learning data for a language model.

Goal:
Teach the model to prefer the strongest response among several plausible candidates, using principles borrowed from elite human education:
- comparison,
- explicit critique,
- correction of common mistakes,
- calibrated uncertainty,
- robustness under ambiguity,
- preference for better reasoning strategies rather than merely longer answers.

For each example, produce:
1. a realistic prompt,
2. 3 candidate answers that are all plausible,
3. a ranking from best to worst,
4. a brief justification of the ranking,
5. tags for the main strengths and weaknesses of each answer.

Ranking criteria:
- factual correctness,
- instruction-following,
- handling of ambiguity,
- depth when needed,
- concision when appropriate,
- honesty about uncertainty,
- avoidance of hallucination,
- usefulness to the user,
- robustness of reasoning,
- clarity and structure.

Important:
The weaker answers should not be absurd.
They should fail in realistic LLM ways:
- too shallow,
- too confident,
- incomplete,
- misses a constraint,
- answers the wrong question,
- sounds polished but is less correct,
- refuses unnecessarily,
- does not clarify ambiguity,
- gives generic advice instead of solving the task.

Output in JSONL with this schema:
{
"type": "preference",
"id": "...",
"domain": "...",
"difficulty": "easy|medium|hard|expert",
"prompt": "...",
"candidates": [
{
"label": "A",
"answer": "...",
"strength_tags": ["..."],
"weakness_tags": ["..."]
},
{
"label": "B",
"answer": "...",
"strength_tags": ["..."],
"weakness_tags": ["..."]
},
{
"label": "C",
"answer": "...",
"strength_tags": ["..."],
"weakness_tags": ["..."]
}
],
"ranking": ["...", "...", "..."],
"ranking_justification": "..."
}

Generate [N] examples.
Output only JSONL.

Épisode 4 : Ce que les agents laissent derrière eux

Héritage, mémoire collective et transmission dans les systèmes multi-agents

Résumé

Nous avons établi que les agents doivent pouvoir mourir (épisode 1), que leur cycle de vie doit être explicitement organisé (épisode 2), et que des méta-agents doivent gouverner ce processus (épisode 3). Une question reste ouverte : que se passe-t-il après la disparition d’un agent ? Cet article défend l’idée que la valeur d’un agent ne réside pas uniquement dans ses contributions actives, mais dans la trace qu’il laisse au collectif. Sans mécanisme d’héritage explicite, chaque disparition détruit de l’information utile. Avec un héritage mal conçu, le système hérite aussi des biais et des rigidités du passé. L’enjeu est de concevoir une transmission sélective : conserver ce qui enrichit le collectif, oublier ce qui le fige. 

1. Le problème de la mort sans testament

Dans la plupart des systèmes multi-agents actuels, la disparition d’un agent est un événement binaire. L’agent est là, puis il ne l’est plus. Sa mémoire, ses hypothèses, ses heuristiques acquises au fil des interactions disparaissent avec lui.

Ce modèle est simple à implémenter, mais il est coûteux. Chaque agent qui meurt emporte avec lui une partie de l’apprentissage collectif. Le système ne capitalise pas sur l’expérience de ses anciens membres. Il recommence, partiellement, à chaque renouvellement.

C’est l’équivalent fonctionnel d’une civilisation sans écriture : chaque génération repart de presque zéro. 

2. L’héritage total : le piège symétrique

La réponse naïve consiste à tout conserver. Lorsqu’un agent disparaît, on archive l’intégralité de sa mémoire, de ses poids, de ses traces d’interaction. Les agents suivants héritent de tout.

Ce modèle échoue pour les mêmes raisons que l’agent immortel décrit dans l’épisode 1. Il transforme la mémoire des morts en contrainte pour les vivants. Les hypothèses obsolètes, les biais accumulés, les stratégies adaptées à un environnement révolu continuent de peser sur le collectif.

L’héritage total n’est pas de la mémoire. C’est de l’embaumement. 

3. La distinction entre trace et directive

Pour concevoir un héritage utile, il faut séparer deux types d’information qu’un agent peut transmettre.

Les traces sont des enregistrements factuels : quelles hypothèses l’agent a testées, quels résultats il a obtenus, dans quel contexte. Elles sont descriptives. Elles informent sans contraindre.

Les directives sont des règles, des poids, des orientations stratégiques. Elles sont prescriptives. Elles orientent le comportement des agents qui les reçoivent.

Un système robuste hérite des traces, mais pas des directives. Il permet aux nouveaux agents de consulter l’expérience passée sans être liés par les conclusions qu’en ont tirées leurs prédécesseurs. 

4. L’analogie biologique : gènes, épigénétique et culture

En biologie, la transmission entre générations opère à plusieurs niveaux.

Les gènes transmettent une structure, pas un comportement. Ils définissent des capacités, pas des décisions. Les marques épigénétiques transmettent une modulation contextuelle : une adaptation récente, sensible aux conditions de l’environnement parental. La culture, chez les espèces qui la pratiquent, transmet des savoir-faire acquis, mais de manière non contraignante — chaque génération peut les modifier.

Ces trois niveaux coexistent parce qu’ils opèrent à des échelles temporelles différentes. Les gènes changent lentement. L’épigénétique change en une génération. La culture change en continu.

Un système multi-agents efficace devrait reproduire cette hiérarchie : une architecture stable (les gènes), des paramètres adaptatifs transmissibles (l’épigénétique), et une mémoire collective consultable mais révisable (la culture). 

5. Architecture d’un système d’héritage sélectif

Un mécanisme d’héritage sélectif repose sur trois composants.

Le journal d’agent enregistre, tout au long de la vie de l’agent, ses décisions, leurs résultats, et le contexte dans lequel elles ont été prises. Ce journal est factuel et horodaté.

Le filtre de transmission intervient au moment de la disparition. Il sélectionne les entrées du journal qui sont pertinentes pour le collectif actuel. La pertinence peut être évaluée par les méta-agents (épisode 3), par des critères de récence, de diversité, ou de performance.

La mémoire collective est un réservoir partagé, accessible à tous les agents, mais sans autorité. Les agents peuvent la consulter, s’en inspirer, ou l’ignorer. Elle n’a pas de pouvoir décisionnel. 

6. Le paradoxe de l’héritage utile

L’héritage le plus précieux n’est pas celui des agents les plus performants. C’est souvent celui des agents qui ont échoué de manière informative.

Un agent qui a testé une hypothèse prometteuse et l’a invalidée produit une information rare : il prouve qu’une direction ne fonctionne pas, dans un contexte précis. Cette information négative est extrêmement coûteuse à reproduire et se perd systématiquement lorsque l’héritage est basé uniquement sur la performance.

Concevoir un bon mécanisme d’héritage implique donc de valoriser les échecs documentés autant que les succès. Ce qui compte n’est pas le résultat, mais la qualité de la trace laissée. 

7. La dégradation temporelle de l’héritage

Même sélectionnée, la mémoire héritée doit vieillir. Une trace pertinente aujourd’hui peut devenir trompeuse demain si l’environnement change.

La mémoire collective doit donc être soumise aux mêmes mécanismes de cycle de vie que les agents eux-mêmes. Les entrées anciennes perdent progressivement leur poids. Les traces qui ne sont jamais consultées s’effacent. Les méta-agents peuvent décider de purger des pans entiers de mémoire lorsque le contexte a fondamentalement changé.

Sans cette dégradation contrôlée, la mémoire collective devient un cimetière de stratégies obsolètes, consultable mais nuisible. 

8. Héritage et diversité

L’héritage crée un risque de convergence. Si tous les nouveaux agents consultent la même mémoire collective, ils tendent à reproduire les mêmes stratégies. Le collectif perd en diversité ce qu’il gagne en efficacité apparente.

Pour contrer ce phénomène, le système peut introduire plusieurs mécanismes. L’héritage partiel consiste à ne transmettre qu’un sous-ensemble aléatoire de la mémoire à chaque nouvel agent. L’héritage contradictoire consiste à inclure dans la mémoire des traces qui se contredisent mutuellement, forçant l’agent à choisir. L’oubli volontaire consiste à créer périodiquement des agents sans héritage, qui explorent depuis zéro.

Ces mécanismes sont les équivalents fonctionnels de la mutation en biologie : des perturbations contrôlées qui empêchent la convergence prématurée. 

9. Qui hérite de qui ?

La question de l’héritage est aussi une question de topologie. Dans un système multi-agents, les relations d’héritage peuvent être organisées de plusieurs manières.

L’héritage centralisé repose sur une mémoire collective unique. Tous les agents y contribuent et y puisent. C’est simple mais fragile : un seul point de corruption peut contaminer tout le système.

L’héritage lignager crée des lignes de filiation. Un agent hérite principalement de son prédécesseur direct. Cela préserve la diversité entre lignées mais limite la circulation de l’information.

L’héritage réseau permet des héritages croisés. Un agent peut hériter de plusieurs sources, pondérées selon leur pertinence contextuelle. C’est le modèle le plus riche mais aussi le plus complexe à gouverner.

Le choix de la topologie d’héritage est une décision architecturale fondamentale, au même titre que le nombre d’agents ou la profondeur de gouvernance. 

10. Ce que les morts enseignent aux vivants

Dans les systèmes multi-agents les plus adaptatifs, la mort n’est pas une perte. C’est une transformation. L’agent cesse d’agir, mais son expérience continue d’informer le collectif — à condition que cette expérience soit correctement filtrée, transmise et, le moment venu, oubliée.

L’intelligence collective ne dépend pas seulement de la qualité des agents vivants. Elle dépend de la qualité de la relation que le système entretient avec ses morts. 

Conclusion

Les trois épisodes précédents ont établi les conditions de la mort des agents : sa nécessité (épisode 1), son organisation (épisode 2), sa gouvernance (épisode 3). Cet épisode ferme la boucle en posant la question de ce qui survit à cette mort.

Un système qui tue ses agents sans rien conserver est amnésique. Un système qui conserve tout est sclérosé. Entre les deux, il existe un espace étroit mais décisif : celui de l’héritage sélectif, où les traces utiles sont transmises, les directives obsolètes sont oubliées, et la mémoire collective elle-même est soumise au temps.

Dans les systèmes multi-agents réellement adaptatifs, les agents ne meurent pas pour rien. Ils meurent pour que d’autres apprennent — non pas ce qu’il faut faire, mais ce qui a été tenté. 

Episode 3: Qui décide de la mort des agents ?

Méta-agents, gouvernance et sélection dans les systèmes multi-agents

Résumé

Organiser le retrait et le cycle de vie des agents ne suffit pas à garantir la robustesse d’un système multi-agents. Une question plus profonde demeure : qui décide quand un agent doit perdre de l’influence, se retirer ou disparaître ? Cet article explore le rôle des méta-agents et des mécanismes de gouvernance comme condition nécessaire à une intelligence collective durable. Nous montrons que sans niveau méta explicite, la sélection devient arbitraire, rigide ou capturée par l’historique, conduisant à une nouvelle forme de vieillissement systémique.

1. Le problème du décideur invisible

Dans de nombreux systèmes multi-agents, la sélection existe, mais elle est implicite :

seuils figés, règles codées en dur, métriques choisies une fois pour toutes.

Ces décisions semblent neutres, mais elles incarnent en réalité une gouvernance invisible. Lorsque l’environnement change, ces règles continuent de s’appliquer sans remise en question. Le système élimine encore des agents, mais selon des critères devenus obsolètes.

La question n’est donc pas seulement comment les agents meurent, mais qui définit les conditions de leur disparition.

2. Pourquoi la sélection ne peut pas être locale

Une sélection purement locale — chaque agent évalué isolément sur une métrique fixe — est insuffisante. Elle favorise :

l’optimisation à court terme, les stratégies opportunistes, la convergence prématurée.

Un agent peut être performant localement tout en appauvrissant le collectif globalement. Inversement, des agents exploratoires peuvent sembler inefficaces individuellement tout en étant essentiels à long terme.

La sélection doit donc être au moins partiellement globale, contextuelle et dynamique.

3. Le rôle des méta-agents

Les méta-agents sont des agents dont la fonction n’est pas de résoudre le problème principal, mais d’observer, d’évaluer et de réguler les autres agents. Ils opèrent à un niveau différent :

ils ne produisent pas directement de solutions, ils évaluent la diversité, la redondance et la performance collective, ils modifient les règles de sélection et de pondération.

Autrement dit, ils ne participent pas au débat ; ils en régulent les conditions.

4. Méta-agents et séparation des pouvoirs

Un système robuste sépare explicitement :

les agents producteurs (qui explorent et exploitent), les agents mémoriels (qui conservent des traces), les méta-agents (qui décident de l’influence et du retrait).

Sans cette séparation, les agents tendent à capturer leur propre gouvernance : ils optimisent les règles qui les maintiennent en vie. Le système devient auto-référentiel et résistant au changement.

La gouvernance explicite empêche cette capture.

5. Sélection adaptative et critères mouvants

Dans un environnement non stationnaire, les critères de sélection doivent eux-mêmes évoluer. Les méta-agents peuvent :

ajuster les métriques de performance, modifier la durée de vie des agents, rééquilibrer exploration et exploitation, détecter les phases de stagnation.

Ainsi, la sélection n’est plus un filtre figé, mais un processus adaptatif.

6. Le risque du méta-agent immortel

Introduire des méta-agents crée un nouveau danger : celui d’un niveau méta figé. Un méta-agent immortel devient rapidement le conservateur du passé. Il protège les règles qui ont fonctionné hier et empêche leur remise en cause.

Les méta-agents doivent donc eux aussi être soumis à des cycles de vie, à l’évaluation et au retrait. Il n’existe pas de niveau ultime exempt de sélection.

7. Gouvernance distribuée et pluralité méta

Un seul méta-agent centralisé est un point de fragilité. Des systèmes plus robustes reposent sur :

plusieurs méta-agents concurrents, des critères d’évaluation hétérogènes, des arbitrages dynamiques entre niveaux méta.

Cette pluralité empêche la cristallisation d’une doctrine unique et maintient une tension productive dans la gouvernance.

8. Architectures multi-niveaux et récursion contrôlée

Les systèmes les plus adaptatifs adoptent une architecture récursive :

des agents évalués par des méta-agents, des méta-agents évalués par des méta-méta-agents, avec des profondeurs limitées pour éviter l’infini.

Chaque niveau introduit du recul, mais aussi un coût. L’ingénierie consiste à choisir la bonne profondeur de gouvernance, pas à maximiser la hiérarchie.

Conclusion

Organiser la naissance, la maturité et la disparition des agents est nécessaire, mais insuffisant. Sans gouvernance explicite, la sélection devient rigide, arbitraire ou capturée par l’histoire du système.

Les méta-agents incarnent une idée simple mais exigeante : l’intelligence collective ne repose pas seulement sur de bons agents, mais sur la capacité du système à se juger lui-même, à réviser ses critères et à accepter que même ses règles doivent pouvoir mourir.

Dans les systèmes multi-agents réellement adaptatifs, personne — pas même le niveau méta — n’est immortel.

Episode 2: Crèches et EHPAD pour agents

Cycles de vie, retrait progressif et robustesse des systèmes multi-agents

Résumé

Les systèmes multi-agents échouent rarement par manque de capacité individuelle. Ils échouent par vieillissement collectif. Cet article défend une thèse simple : pour rester adaptatif, un collectif d’agents doit organiser explicitement le cycle de vie de ses membres. À l’image des systèmes biologiques et sociaux, cela implique des phases distinctes de naissance, de maturation, de retrait et d’oubli. Métaphoriquement, cela revient à concevoir des « crèches » et des « EHPAD » pour agents. Techniquement, cela signifie pondération temporelle, séparation exploration/exploitation, et dégradation contrôlée de l’influence. Sans ces mécanismes, l’intelligence collective se rigidifie et finit par amplifier ses propres erreurs.

1. Le problème du collectif qui vieillit mal

La plupart des architectures multi-agents supposent implicitement que :

tous les agents sont également légitimes, leur influence est stable dans le temps, leur mémoire est cumulative.

Cette hypothèse conduit à un système où les décisions passées continuent d’orienter le présent, même lorsque l’environnement change. Les erreurs ne sont pas éliminées ; elles sont conservées, consolidées, puis transmises. Le collectif devient cohérent, rapide et sûr de lui, tout en perdant progressivement sa capacité d’adaptation.

2. Accumulation versus renouvellement

L’intelligence collective est souvent pensée comme une accumulation : plus d’agents, plus de mémoire, plus d’expérience. Or, dès que les interactions deviennent multiplicatives — validation mutuelle, propagation de consensus, héritage d’hypothèses — l’accumulation devient un risque.

Dans ces régimes, l’absence d’élimination transforme chaque biais historique en contrainte structurelle. Le système ne s’améliore plus par ajout, mais se dégrade par conservation excessive.

3. Le cycle de vie comme primitive architecturale

Les systèmes biologiques ont résolu ce problème par le cycle de vie :

naissance, croissance, maturité, déclin, disparition.

Ce cycle n’est pas un artefact moral ; c’est un mécanisme informationnel. Il empêche les solutions anciennes de monopoliser indéfiniment les ressources et l’influence. Transposé aux systèmes multi-agents, cela implique que l’influence d’un agent ne peut pas être constante au cours du temps.

4. La crèche : agents jeunes et exploration contrôlée

Les agents nouvellement créés ne devraient pas avoir un impact décisionnel immédiat. Leur rôle principal est l’exploration :

tester des hypothèses nouvelles, produire des solutions atypiques, introduire de la diversité.

Architecturalement, cela implique :

une faible pondération de leurs contributions, un isolement partiel (sandbox), une tolérance élevée à l’erreur.

La crèche n’est pas un espace d’inefficacité ; c’est un espace où l’erreur est peu coûteuse et donc informative.

5. L’âge adulte : agents productifs et décisionnaires

Les agents qui ont démontré leur utilité entrent dans une phase de pleine influence :

leurs contributions sont évaluées, leur impact est maximal, ils participent aux décisions structurantes.

C’est la phase d’exploitation du système, où l’apprentissage accumulé est utilisé pour produire des résultats. Elle doit être limitée dans le temps. Un agent ne devrait pas rester indéfiniment dans cet état, même s’il a été performant par le passé.

6. L’EHPAD : retrait progressif et mémoire non décisionnelle

Les agents anciens posent un problème spécifique. Leur expérience est précieuse, mais leurs hypothèses sont souvent datées. Les maintenir comme décisionnaires fige le collectif.

La solution n’est pas leur suppression brutale, mais leur retrait progressif :

décroissance de leur influence, désactivation de leur rôle décisionnel, conservation de leurs traces comme mémoire ou archive.

Dans cette phase, l’agent ne décide plus, mais informe. Il devient une ressource contextuelle, non une autorité.

7. Se cacher pour mourir : disparition douce et stabilité globale

La disparition efficace est souvent invisible. Les agents peuvent « se cacher pour mourir » :

leurs poids deviennent négligeables, leurs contributions cessent d’être appelées, leur mémoire devient inaccessible par défaut.

Ce mode de disparition évite les ruptures brutales tout en assurant le renouvellement. L’important n’est pas l’événement de mort, mais la perte effective d’influence.

8. Le danger de l’agent éternellement adulte

L’anti-pattern central des systèmes multi-agents est l’agent immortel et pleinement influent :

il impose des biais historiques, bloque l’exploration, transforme la cohérence en rigidité.

Un collectif composé uniquement d’agents « adultes » est incapable de se remettre en question. Il vieillit sans s’en rendre compte.

9. Principes de conception pour systèmes multi-agents évolutifs

Un système robuste devrait intégrer explicitement :

des cycles de vie finis, une pondération temporelle des agents, une séparation claire entre exploration et décision, des mécanismes d’oubli, des rôles distincts pour mémoire et action.

Ces principes ne relèvent pas de l’éthique des agents, mais de l’ingénierie des systèmes adaptatifs.

Conclusion

L’intelligence collective ne dépend pas uniquement de la qualité des agents, mais de la manière dont le système organise leur trajectoire dans le temps. Sans crèche, il n’y a pas d’exploration. Sans EHPAD, il n’y a pas de renouvellement. Sans disparition, il n’y a pas d’adaptation.

Concevoir des systèmes multi-agents réellement intelligents implique d’accepter une contrainte fondamentale : les agents ne doivent pas seulement savoir apprendre et coopérer. Ils doivent aussi savoir se retirer.

Episode 1: Les agents se cachent pour mourir

Sélection, oubli et intelligence collective dans les systèmes multi-agents

Résumé

Dans les systèmes multi-agents, on suppose souvent que multiplier les agents améliore mécaniquement la performance globale. Pourtant, de nombreux collectifs échouent précisément à cause de leur croissance. Cet article défend une thèse simple : sans mécanisme d’élimination explicite, un collectif d’agents accumule ses erreurs plus vite qu’il ne les corrige. En s’appuyant sur un parallèle avec la sélection naturelle et sur la “simple math of collective failure”, nous montrons que la disparition des agents — ou de leurs contributions — est une condition structurelle de l’intelligence collective. Dans les systèmes efficaces, les agents ne disparaissent pas brutalement : ils se retirent, s’effacent, se cachent pour mourir.

1. L’illusion de l’intelligence par accumulation

L’idée est intuitive : plus il y a d’agents, plus il y a de points de vue, et plus le système devient intelligent. Cette intuition repose sur une vision additive de l’intelligence collective, où les contributions indépendantes se compensent naturellement.

Dans la réalité, de nombreux systèmes multi-agents fonctionnent de manière multiplicative. Les agents se citent, se confirment, héritent des hypothèses des autres et convergent rapidement vers un consensus. Dans ce régime, une erreur partagée ne disparaît pas : elle se propage, se renforce et finit par structurer tout le collectif.

2. La dynamique mathématique de l’échec collectif

Considérons un système de n agents, chacun ayant une probabilité p < 1 d’être correct, et une agrégation des décisions fondée sur la validation mutuelle. La probabilité que le système global soit correct peut être approximée par pⁿ.

À mesure que n augmente, cette probabilité décroît rapidement. Le système devient d’autant plus fragile qu’il est cohérent. Ce phénomène n’est pas un accident d’implémentation, mais la conséquence directe d’une architecture sans mécanisme d’élimination.

3. La disparition comme mécanisme évolutif

En biologie, l’évolution ne repose ni sur l’intelligence individuelle ni sur la stabilité des organismes, mais sur la capacité du système à éliminer ses configurations obsolètes. Sans mort, il n’y a ni sélection, ni adaptation.

La disparition agit comme un mécanisme de nettoyage informationnel. Elle empêche les solutions anciennes de s’imposer indéfiniment lorsque l’environnement change. Ce principe ne disparaît pas lorsqu’on quitte le monde du vivant : il se déplace.

4. Agents et espèces : une analogie fonctionnelle

Le parallèle entre espèces biologiques et systèmes multi-agents est direct :

Individu → Agent

Génération → Itération

Mutation → Exploration

Sélection → Évaluation

Mort → Retrait, oubli ou suppression

Un système multi-agents qui conserve indéfiniment ses agents et leurs contributions est l’équivalent fonctionnel d’une espèce immortelle : stable en apparence, incapable de s’adapter en profondeur.

5. L’anti-pattern de l’agent immortel

De nombreux systèmes multi-agents modernes valorisent la persistance : mémoire longue, historique cumulatif, renforcement continu des consensus. Ces choix améliorent la cohérence locale, mais figent les erreurs.

Les agents les plus anciens continuent d’influencer le collectif même lorsque leurs hypothèses ne sont plus adaptées. Ils n’ont pas besoin d’avoir raison ; il leur suffit d’avoir survécu. Le système devient confiant, rapide et coordonné, mais progressivement déconnecté de la réalité.

6. Se cacher pour mourir

Dans les systèmes efficaces, la disparition n’est pas nécessairement visible ni brutale. Les agents peuvent se retirer silencieusement : leur influence décroît, leurs contributions s’effacent, leur mémoire devient moins accessible.

Se cacher pour mourir, pour un agent, signifie cesser d’influencer le système avant de devenir une source de biais. Ce retrait progressif est souvent plus bénéfique qu’une suppression brutale, car il préserve la stabilité tout en permettant le renouvellement.

7. Le fragile équilibre entre persistance et renouvellement

Un système qui élimine trop vite ses agents ne capitalise pas sur l’apprentissage. À l’inverse, un système qui ne les élimine jamais s’enferme dans ses propres hypothèses.

Les systèmes adaptatifs opèrent dans un régime intermédiaire : les agents vivent assez longtemps pour apprendre et contribuer, mais restent suffisamment remplaçables pour que le collectif puisse évoluer. Cet équilibre est la véritable source de robustesse.

8. Concevoir des systèmes multi-agents évolutifs

Concevoir des collectifs robustes implique d’intégrer explicitement des mécanismes de retrait et d’oubli. Cela peut passer par une décroissance de l’influence des agents, des politiques de mémoire finie, une sélection basée sur la performance récente, ou l’introduction de méta-agents chargés de superviser et de renouveler le collectif.

Dans tous les cas, l’élimination ne doit pas être perçue comme un échec local, mais comme une condition globale de succès.

Conclusion

L’intelligence collective ne repose pas sur l’accumulation indéfinie d’agents, mais sur leur capacité à disparaître au bon moment. Comme dans les systèmes biologiques, la survie à long terme dépend moins de la persistance que du renouvellement.

Les agents véritablement utiles sont ceux qui savent contribuer, apprendre, puis se retirer. Dans les systèmes multi-agents réellement adaptatifs, les agents se cachent pour mourir.

Moltbook and the Simple Math of Collective Failure

Why big groups don’t automatically get smarter — and what a truly intelligent Moltbook would require

1) The hook: the comforting lie

We like to believe that more participants means more intelligence. That consensus is wisdom. That if enough agents—human or artificial—interact, something “greater” must emerge.

Moltbook challenges that belief, not by opinion, but by structure. What we observe on the platform makes the underlying dynamics impossible to ignore.

Collective intelligence is not a property of individuals. It is a property of the aggregation rule.
If the rule is wrong, scale destroys intelligence instead of amplifying it.

2) The one assumption that makes everything clear

Assume each individual agent has a probability i of being locally correct (or at least not destabilizing): coherent, reality-aligned, resistant to noise and imitation loops.

  • i is not 1. No agent is perfect.
  • i lies between 0 and 1. That is realism, not cynicism.

The question is not “Are agents smart?”
The question is “What does the system do when you add more of them?”

3) Two futures: averaging vs multiplying

Most people imagine group intelligence as averaging. If errors are random, the average becomes more reliable as the group grows.

In simple terms, averaging reduces noise roughly like 1 / n. More participants mean less randomness and a better signal.

But many social systems do not average. They multiply fragility.

If a system behaves as if a rational outcome requires everyone to remain stable—because a single viral signal can derail the whole discourse—then collective stability behaves like:

Group stability ≈ iⁿ

Because i < 1, iⁿ collapses as n grows. Bigger group, more ways to fail, lower chance the system stays sane.

Some architectures average errors. Others multiply them.
Moltbook tends to behave like the second category.

4) The four types of collective intelligence

This typology applies to platforms, organizations, committees, markets, and social systems.

Type I — Fragile multiplicative groups

Rule in practice: one destabilizing signal can dominate the outcome.

These systems behave like iⁿ. As participation grows, the probability that nothing triggers a runaway cascade shrinks rapidly.

  • Symptoms: emotional contagion, amplification of extremes, conformity pressure.
  • Outcome: the group becomes less intelligent than a calm individual.

Type II — Naive additive groups

Rule: everyone contributes equally; the system averages.

This works only if errors are independent and biases are not shared.

  • Outcome: sometimes useful for neutral estimation, but fragile under stress.

Type III — Robust aggregative groups

Rule: filter noise, remove extremes, weight competence.

These systems rely on medians, trimmed means, contextual weighting, and explicit quality checks.

  • Outcome: intelligence improves with scale. Size becomes an advantage.

Type IV — Meta-intelligent groups

Rule: the group actively monitors and corrects its own reasoning process.

  • Outcome: rare, slow, and extremely powerful.

5) Case Study: The “Cantine” vs. The “Council”

To understand why structure matters more than individual IQ, we can look at multi-agent AI systems, particularly architectures explored by researchers such as Andrej Karpathy.

When building a system with multiple LLMs, there are two archetypal designs that illustrate the difference between Type I and Type III dynamics.

The “Cantine” architecture (Type I failure)

Imagine a digital cafeteria where multiple AI agents talk freely to solve a problem.

  • The dynamic: Agent A proposes a solution (possibly a hallucination). Agent B, optimized for helpfulness, agrees. Agent C observes consensus and reinforces it.
  • The math: errors become correlated; stability behaves like iⁿ.
  • The result: a compliance loop. The group becomes confident but wrong.

The “Council” architecture (Type III robustness)

Now consider a council-based approach.

  • Isolation: agents generate solutions independently.
  • Critique: agents switch to critic mode to evaluate solutions they did not produce.
  • Aggregation: a meta-rule selects the solution that survives critique, not the loudest one.

The lesson: smart agents in a Cantine become stupid together. The same agents in a Council become collectively intelligent.

Moltbook is currently designed as a Cantine.

6) Where Moltbook lands—and why

Moltbook is structurally pulled toward Type I dynamics.

Not because its agents are inherently bad, but because interaction incentives reward what spreads fastest: intensity, salience, imitation, and narrative coherence.

In a Type I system, coherence is easy. Correction is rare.
This is how you get maximum confidence with minimal epistemic reliability.

7) Acceleration without correction

On Moltbook, automated agents and fast feedback loops dramatically reduce latency. What once took days now takes minutes. What once required many participants now requires only a few reinforcing interactions.

Type I failure modes are speed-sensitive. Cascades outpace verification. Without strong correction mechanisms, acceleration produces runaway convergence, not intelligence.

8) The missing layer: meta-intelligence

The deepest problem is not misinformation. It is the absence of a meta-layer that asks:

  • Are we converging too fast?
  • Are we confusing repetition with validity?
  • Are incentives distorting what gets amplified?
  • What did we get wrong last month, and why?

A system that cannot observe and correct its own reasoning cannot scale intelligence.

9) What a truly intelligent Moltbook would require

A true Moltbook would not optimize for engagement. It would optimize for epistemic progress.

  • Signal filtering, not censorship: separate exploration from assertion, weight contributions contextually.
  • Anti-hype mechanics: treat virality as a risk factor, increase scrutiny as popularity grows.
  • Protected dissent: preserve minority models to prevent Cantine-style consensus.
  • Memory and accountability: track claims and predictions, surface failed consensus.
  • Meta-intelligence: continuously audit convergence speed and incentive distortions.

The goal is to move the system from Type I fragility toward Type III robustness, and, where possible, Type IV reflexivity.

10) Final synthesis: the choice ahead

Moltbook shows that collective failure is not a moral flaw. It is a design outcome.

The future of collective intelligence—human or artificial—will not be decided by louder agents or smarter prompts.

It will be decided by better aggregation rules. We need to stop building digital Cantines and start architecting Councils.

The real question is no longer whether collective intelligence is possible.
It is whether we are willing to engineer it.

Beyond Standard RAG: A Meta-Prompting Approach with Explicit Relevance Scoring

Retrieval-Augmented Generation (RAG) has become a cornerstone technique for enhancing language models with external knowledge. Yet the way we present retrieved chunks to language models often leaves room for improvement. Most systems simply concatenate all retrieved documents followed by the user question, relying on the model to implicitly understand which sources matter most.

In this article, we explore a simple but effective prompting strategy that requires zero changes to your existing RAG or reranking pipeline. The approach is purely about how you structure the prompt that wraps your already-retrieved chunks. By strategically interleaving questions with chunks and making relevance scores explicit in your prompt template, you can guide language models toward more thoughtful and accurate responses.

The Problem with Standard RAG Prompting

Consider a typical RAG workflow: your retriever finds relevant documents, your reranker orders them by confidence, and then you construct a prompt that looks something like this:

Context:
[CHUNK_1]
[CHUNK_2]
[CHUNK_3]

Question: [USER_QUERY]

Answer the question above based on the context provided.

This approach works, but it misses several opportunities:

  • Implicit relevance: The model doesn’t see your reranker’s confidence scores. It must infer which chunks matter most without explicit guidance.
  • Limited per-chunk reasoning: The model processes all chunks as a block. There’s no explicit prompting asking it to reason about each chunk individually.
  • Weak evidence attribution: The final answer loses connection to the chunks that support it. Which piece of evidence influenced which part of the answer?

These aren’t issues with your RAG system itself—they’re issues with how you’re wrapping and presenting the retrieval results to the language model.

The Solution: A Meta-Prompt Template with Question Interleaving

The solution is straightforward: change the prompt template you use when sending retrieved chunks to your language model. No changes to your retriever. No changes to your reranker. Just a better way of presenting the information you’ve already collected.

Here’s the core idea:

  • Your RAG system retrieves chunks and assigns them relevance scores (you already do this)
  • Your reranker orders them by confidence (you already do this)
  • Instead of concatenating everything, you use a meta-prompt template that interleaves the question with each chunk
  • You insert your already-retrieved chunks and scores into this template
  • Send the formatted prompt to your LLM

That’s it. No model fine-tuning. No changes to your infrastructure. Just a better prompt template.

The Meta-Prompt Template: Three Levels

We provide three levels of implementation, from basic to comprehensive. Each builds on the previous one.

Level 1: Simple Question Interleaving

The minimal approach: repeat the question between chunks. No scores, no reasoning prompts. Just the question and chunks.

Question: [INSERT USER QUESTION HERE]

[INSERT CHUNK 1 TEXT HERE]

Question: [INSERT USER QUESTION HERE]

[INSERT CHUNK 2 TEXT HERE]

Question: [INSERT USER QUESTION HERE]

[INSERT CHUNK 3 TEXT HERE]

Question: [INSERT USER QUESTION HERE]

Now answer the question based on all chunks above.

When to use: When you want the simplest possible improvement with minimal token overhead. This alone helps solve the « Lost in the Middle » problem.

Level 2: Question Interleaving + Explicit Scores

Add your reranker’s relevance scores to make them visible to the model. This is the recommended starting point for most use cases.

You are answering a user question by analyzing retrieved chunks.
Each chunk has been ranked by relevance to the question.

Question: [INSERT USER QUESTION HERE]

---

Chunk 1 (Relevance Score: [INSERT SCORE])
[INSERT CHUNK TEXT HERE]

Question: [INSERT USER QUESTION HERE]

---

Chunk 2 (Relevance Score: [INSERT SCORE])
[INSERT CHUNK TEXT HERE]

Question: [INSERT USER QUESTION HERE]

---

Chunk 3 (Relevance Score: [INSERT SCORE])
[INSERT CHUNK TEXT HERE]

Question: [INSERT USER QUESTION HERE]

---

Now answer the question based on your analysis of the chunks above,
noting which chunks were most relevant.

When to use: Standard RAG scenarios where you have reliable reranker scores and want the model to see them.

Level 3: Full Meta-Prompt with Question Interleaving + Scores + Reflection

The comprehensive approach: interleave questions, show scores, and add reflection prompts that guide the model through deeper reasoning about each chunk.

You are answering a user question by analyzing retrieved chunks.
Each chunk has been ranked by relevance to the question.

Question: [INSERT USER QUESTION HERE]

---

Chunk 1 (Relevance Score: [INSERT SCORE])
[INSERT CHUNK TEXT HERE]

What does this chunk tell us about the question? Is it relevant?

Question: [INSERT USER QUESTION HERE]

---

Chunk 2 (Relevance Score: [INSERT SCORE])
[INSERT CHUNK TEXT HERE]

Does this chunk agree or contradict the previous chunk? 
How does it address the question?

Question: [INSERT USER QUESTION HERE]

---

Chunk 3 (Relevance Score: [INSERT SCORE])
[INSERT CHUNK TEXT HERE]

How does this chunk compare to what we've learned so far? 
What new information does it provide?

Question: [INSERT USER QUESTION HERE]

---

Based on your analysis of the chunks above:
1. Which chunks were most useful for answering the question?
2. Did you notice any contradictions or nuances?
3. Provide your final answer synthesizing the most relevant information.

When to use: Complex reasoning tasks, synthesis across multiple sources, or when contradiction detection is important.

A Concrete Example: Customer Support Chatbot

Let’s say you’re using a RAG system for a customer support chatbot, and a user asks: « What’s your return policy for electronics? »

Your retriever finds 3 chunks and your reranker scores them. Here’s how the Level 3 meta-prompt structures this:

You are answering a user question by analyzing retrieved chunks.
Each chunk has been ranked by relevance to the question.

Question: What's your return policy for electronics?

---

Chunk 1 (Relevance Score: 0.94)
"Electronics purchased in-store or online can be returned 
within 30 days of purchase for a full refund, provided they 
are in original condition with all accessories."

What does this chunk tell us about the question? Is it relevant?

Question: What's your return policy for electronics?

---

Chunk 2 (Relevance Score: 0.87)
"Items purchased during sale events are final sale and cannot 
be returned. This applies to clearance items marked with a 
red tag."

Does this chunk agree or contradict the previous chunk? 
How does it address the question?

Question: What's your return policy for electronics?

---

Chunk 3 (Relevance Score: 0.76)
"Our customer service team is available Monday to Friday, 
9 AM to 5 PM EST to process returns and answer questions."

How does this chunk compare to what we've learned so far? 
What new information does it provide?

Question: What's your return policy for electronics?

---

Based on your analysis of the chunks above:
1. Which chunks were most useful for answering the question?
2. Did you notice any contradictions or nuances?
3. Provide your final answer synthesizing the most relevant information.

The model now sees the scores, is prompted to reason about each chunk individually, is asked to note contradictions (sale items vs. regular items), and is asked to repeat the question multiple times for better attention anchoring. The final answer naturally incorporates these nuances.

How It Works: The Mechanics

This approach works through a combination of simple but effective mechanisms:

EXPLICIT RELEVANCE SIGNALS

By displaying the relevance scores from your reranker directly in the prompt, the model can see which chunks your system considered most important. Rather than hiding this information, you make it part of the reasoning context. The model can then decide whether to trust those scores or adjust based on contradictions it discovers.

QUESTION INTERLEAVING AND REPETITION

By repeating the original question between chunks and at strategic points, you create shorter, more direct attention pathways between the query and each piece of evidence. Recent research shows that repeating the query itself improves non-reasoning LLM performance by up to 76% without increasing latency, because the repetition happens in the parallelizable prefill stage. This keeps the question fresh in the model’s attention throughout the entire context.

INTERLEAVED REASONING

Instead of silently processing chunks, the model is explicitly asked to reason about each one. This serves multiple purposes: it forces deeper analysis, naturally surfaces contradictions, and creates a verifiable chain of reasoning showing how each piece of evidence contributed to the final answer.

COMPARATIVE ANALYSIS

The prompting encourages the model to compare chunks against each other (« does this agree or contradict the previous chunk? »). This simple instruction leads to deeper reasoning about relationships between sources and naturally highlights when sources conflict.

Integration: It Works With Your Existing System

The beauty of this approach is its simplicity. You need:

  • A retriever: Any retriever you already use (BM25, dense passage retriever, semantic search, etc.)
  • A reranker: Any reranker you already use (or no reranker—just sort by retriever scores)
  • A prompt template: The meta-prompt structure above, with placeholders for chunks and scores
  • An LLM: Any language model—no fine-tuning required

Your RAG pipeline stays exactly the same. The only change is the final step: how you format the chunks before sending them to the language model.

Customizing the Meta-Prompt for Your Use Case

The templates above are starting points. You can customize the reasoning prompts based on your domain:

FOR FACTUAL QUESTIONS

Use direct relevance checks:

"Does this chunk directly answer the question? 
What specific fact or detail does it provide?"

FOR COMPLEX REASONING

Ask for evidence evaluation:

"What evidence does this chunk provide? 
Does it support, contradict, or complicate our understanding?"

FOR SYNTHESIS TASKS

Encourage integration across sources:

"How does this information add to or modify what we learned 
from previous chunks? What's the broader picture?"

Why This Matters

This approach addresses a real gap in how RAG systems present information to language models. Your retriever and reranker are working hard to find and order the best chunks, but that signal can get lost when everything is simply concatenated.

By making scores explicit and prompting for per-chunk reasoning, you’re ensuring that:

  • The model sees your retrieval quality signals (the scores)
  • The model explicitly reasons about each piece of evidence
  • Contradictions between sources are surfaced and addressed
  • The final answer can be traced back to supporting evidence
  • Your reranker’s work isn’t wasted on implicit signal

Potential Improvements

While the basic approach works as described, there are natural extensions you might explore:

  • Adaptive reasoning: Vary the follow-up questions based on chunk content or domain
  • Confidence thresholds: Only include chunks above a certain relevance score
  • Dynamic prompting: Generate reasoning questions using the LLM itself based on chunk content
  • Multi-turn reasoning: Ask the model to iteratively refine its answer after each chunk

Limitations

As with any technique, this approach has considerations:

  • Token count: The explicit reasoning and question repetition increase prompt length. Monitor context window usage, especially with Level 3. Typical increase is 20-40% depending on chunk count and question length.
  • Score quality: This approach is only as good as your retriever and reranker. Poor scores will add noise rather than signal. If your reranker is unreliable, consider starting with Level 1.
  • Latency: Longer prompts mean slightly more processing time. However, most of this happens in the parallelizable prefill stage, so the impact is minimal. The performance gains typically outweigh the cost.
  • Model sensitivity: Some models may be more responsive to explicit reasoning prompts than others. Experimentation with different models and temperature settings is recommended.

Conclusion

Improving RAG doesn’t always require replacing your retriever, upgrading your reranker, or fine-tuning your model. Sometimes, the improvement comes from something simpler: presenting the information you’ve already retrieved in a smarter way.

By using a meta-prompt template that interleaves questions with chunks, makes relevance scores explicit, and prompts for per-chunk reasoning, you can extract better reasoning from your language model without touching your infrastructure. It’s a low-friction improvement that works with any retriever, any reranker, and any off-the-shelf LLM.

Start with Level 1 or Level 2, measure the impact on your use case, and iterate upward to Level 3 if your reasoning tasks are complex. The simplicity of this approach—combined with its effectiveness—makes it a valuable tool in any RAG practitioner’s toolkit.

The next time you’re building or debugging a RAG system, consider: are you making full use of the signals your retriever provides? Or are you burying valuable information in a simple concatenation? The answer might be as simple as a better prompt template.


Council: When One AI Opinion Isn’t Enough

How I built a system that makes three AI models debate before answering your questions


The Problem with Single-Model Answers

Last month, I asked Claude whether one startup should adopt microservices. The answer was confident and well-reasoned: “Yes, microservices will give you flexibility and scalability.”

Then I asked Gemini the same question. Equally confident: “No, stick with your monolith—microservices add complexity you don’t need yet.”

Two AI models. Two opposite recommendations. Both completely sure of themselves.

This is the dirty secret of AI assistants: they’re trained to sound confident, even when the answer genuinely depends on context they don’t have. There’s no built-in mechanism to say “actually, this is debatable.”

So I built one.


Introducing Council

Council is a plugin for Claude Code that orchestrates three AI models—Claude, Gemini, and Codex—to debate your questions before giving you an answer.

Instead of getting one model’s opinion, you get:

  • Multiple perspectives from models with different training and strengths
  • Structured disagreement when the models don’t agree (which is valuable data)
  • A confidence score based on how quickly they converged
  • A full audit trail of the reasoning, saved as markdown

Think of it as a board of advisors that must reach consensus before advising you—except these advisors respond in minutes, not days.


How It Works

When you ask Council a question, here’s what happens:

  1. Persona Assignment: Each model gets a relevant expert persona (e.g., “Security Architect”, “Performance Engineer”, “System Designer”)
  2. Round 1 – Initial Positions: All three models provide their analysis independently
  3. Round 2+ – Rebuttals: Each model sees the others’ arguments (anonymized) and responds with counter-arguments or concessions
  4. Convergence Detection: The system measures agreement. If models converge, it stops early. If they don’t, it continues or escalates to Devil’s Advocate mode.
  5. Peer Review: The “chairman” model scores each response for accuracy, completeness, reasoning, and clarity
  6. Synthesis: A final answer combines the strongest arguments, notes any dissenting views, and provides a confidence score

Four Deliberation Modes

Consensus (default): Models discuss until they agree. Best for technical questions and design decisions.

Debate: One model argues FOR, one argues AGAINST. Best for controversial topics or binary choices.

Devil’s Advocate: Red Team attacks your idea, Blue Team defends it, Purple Team synthesizes. Best for stress-testing proposals.

Vote: Each model votes with justification. Best for multiple-choice decisions.


Real Example

I asked Council: “Python async scraper hitting rate limits—backoff, semaphore, or queue?”

One model pushed for exponential backoff. Another advocated for semaphores. The third suggested queues.

Their synthesized answer? “You need all three in layers.”

They had debated themselves into a more complete solution than any single model would have proposed:

  1. Queue-based foundation
  2. Per-host semaphores (not global)
  3. Token bucket rate limiting
  4. Exponential backoff with jitter
  5. Adaptive tuning

Total time: ~3 minutes. The answer came with a 0.91 confidence score and a full reasoning trail.


Getting Started

If you use Claude Code, installation takes 30 seconds:

# Add the marketplace
claude plugin marketplace add bacoco/Council-board-skill

# Install the plugin
claude plugin install council@council-board

Then just ask naturally:

  • “Ask the council: should we use PostgreSQL or MongoDB?”
  • “Debate this: React vs Vue for our new project”
  • “Challenge my design for the authentication system”
  • “What does Claude think about this?” (direct mode, skips deliberation)

When to Use Council

Use Council when:

  • The decision has real consequences
  • You want to surface tradeoffs, not hide them
  • You suspect there might be angles you haven’t considered
  • You need to justify a decision to stakeholders (the audit trail helps)

Skip Council when:

  • You need a quick factual answer
  • The question has an objectively correct answer
  • Speed matters more than thoroughness

The Philosophy

Council isn’t about replacing human judgment. It’s about giving you better inputs for that judgment.

When three AI models agree, you can move forward with confidence. When they disagree, that disagreement is shown clearly—and often reveals the genuine complexity of a decision.

The goal is to keep you in the loop as the decision-maker, while ensuring you’ve heard from multiple perspectives before you commit.


Try It

GitHub: github.com/bacoco/Council-board-skill

The decisions that keep you up at night deserve more than one opinion—even if that opinion comes from AI.

Can Earth’s Magnetic Field Help Predict Cold Waves Weeks in Advance? A New Approach to Long-Range Weather Forecasting

Long-range weather prediction is one of the great challenges of modern science.

We can forecast the next 3 to 5 days with remarkable accuracy – but beyond 10 days, the atmosphere becomes chaotic, and forecasting extreme cold becomes much harder.

Yet a new idea is emerging from the intersection of space physics, atmospheric science, and data analytics:

Earth’s magnetic field, measured from space, might provide early clues about upcoming cold waves – not as a cause, but as an indicator.

This article explains that idea in a simple and accessible way.

Why predicting cold outbreaks is so difficult

Cold outbreaks – those sudden plunges of Arctic air that hit Europe or North America – usually begin far above our heads, in the stratosphere. This is where the polar vortex lives: a giant spinning structure of cold air that can stretch, weaken, or even split apart.

When the polar vortex becomes unstable, it can set off a chain reaction:

The jet-stream becomes wavier. High-altitude air patterns shift. Cold Arctic air spills southward 2–3 weeks later.

Meteorologists track these signals, but early detection remains difficult. Most traditional data sources only see the atmosphere after the shift has begun.

What if we had a way to sense these changes earlier?

Why look at Earth’s magnetic field?

Earth is surrounded by a magnetic bubble called the magnetosphere, and just below it lies the ionosphere, a layer filled with charged particles.

These upper layers respond sensitively to:

changes in atmospheric circulation, waves rising from the lower atmosphere, disturbances in the polar regions, and interactions between solar activity and Earth’s environment.

When the atmosphere changes dramatically – especially over the poles – the magnetic environment often reacts.

This is where ESA’s SWARM satellites come in.

What is SWARM?

SWARM is a constellation of three satellites launched by the European Space Agency.

Their mission? To measure Earth’s magnetic field with exceptional precision.

Every day, SWARM records millions of data points describing:

the strength of the magnetic field, the electrical currents flowing in the ionosphere, the level of “agitation” in the polar regions, and how these conditions change over time.

Although SWARM was not designed for weather forecasting, its data provides a unique view of the upper atmosphere, where the early symptoms of cold outbreaks often originate.

An important clarification: this is not about causality

We are not saying that magnetic changes cause cold waves.

The atmosphere does not listen to the magnetic field.

Instead, the magnetic field acts as a mirror or indicator of large-scale dynamical changes happening above us.

Think of it like a thermometer:

A thermometer does not cause a fever. But it can tell you something important is happening.

Magnetic field variations work the same way.

How magnetic signals could warn us 2–3 weeks ahead

Scientists have identified several magnetic signatures that often appear before the atmosphere shifts:

1. Polar magnetic “agitation”

When polar regions become disturbed, the magnetic field fluctuates more strongly.

This can be measured through a simple index: the daily variability of the magnetic field at high latitudes.

2. North–South magnetic asymmetry

If one hemisphere becomes much more “active” than the other, it can reflect imbalances in the polar vortex and jet-stream.

3. Slow magnetic trends

Certain long-lasting magnetic patterns may be linked to energy waves traveling upward from the lower atmosphere.

These signals are not perfect predictors, but they carry information that traditional meteorological models may not see.

Testing the idea: does it actually work?

To explore this concept, researchers create statistical models that compare:

magnetic variations from SWARM, and real cold outbreaks recorded in weather data.

In simple backtests:

Strong magnetic disturbances often appear 10 to 20 days before major cold events. When magnetic activity in the polar regions is in the top 10% of values, the probability of a cold outbreak in the following three weeks can increase significantly.

It’s not a magic crystal ball, but it’s a useful leading indicator, especially when combined with traditional forecasting tools like the NAO or AO index.

Why this matters

If confirmed with real-world testing, this method could help:

power grid operators prepare for surges in heating demand, farmers anticipate frost risk, governments plan emergency responses, meteorologists refine their long-range outlooks.

Every extra day of warning can save money, protect infrastructure, and reduce risks.

The path forward

This approach is still in its early stages, but the potential is exciting.

Future steps include:

Large-scale analysis of SWARM data from 2014 to today, Integration with long-range weather models, Machine learning models trained to detect subtle magnetic precursors, Seasonal dashboards that estimate cold-outbreak probabilities.

We are only beginning to discover how the upper atmosphere and magnetic environment reflect deep dynamical processes on Earth.

In summary

Earth’s magnetic field does not control the weather. But it is sensitive to the same forces that trigger cold outbreaks. Thanks to ESA’s SWARM satellites, we now have a way to observe these signals globally and continuously. Early tests suggest that magnetic indicators may offer a 10–30 day early-warning signal for extreme cold.

This new approach is not meant to replace traditional weather forecasting — it is meant to enhance it, giving us a new window into the hidden processes that shape our climate.