Aller au contenu
Simon Place
FREN
Réserver un appel Meet

Module 5 sur 10, leçon 1 sur 5

Les systèmes multi-agents

Savoir quand plusieurs agents valent leur coût de coordination, et les structures disponibles.

Un système multi-agents réunit plusieurs agents qui travaillent vers un résultat commun. Un agent appelé comme simple outil ne suffit pas à le qualifier : il faut que les objectifs, la mémoire et les plans des autres soient pris en compte.

Centraliser ou non

  • Centralisé : une unité détient la connaissance globale et coordonne. C’est cohérent et simple, mais sa panne arrête tout.
  • Décentralisé : chaque agent parle à ses voisins. C’est robuste, mais il est difficile de garantir que les comportements locaux servent le groupe.

Structures

  • Hiérarchie : un arbre, avec une autorité simple ou répartie.
  • Holarchie : un agent principal coiffe des sous-agents et apparaît comme une seule entité.
  • Coalition : une alliance temporaire, dissoute une fois l’objectif atteint.
  • Équipe : proche de la coalition, avec des agents plus dépendants les uns des autres.

Ce qui justifie plusieurs agents

La spécialisation est la meilleure raison : des instructions, des outils et des droits différents par rôle, ce qui garde chaque contexte petit. Le parallélisme sur des sous-tâches indépendantes en est une autre.

Ce que ça coûte

  • Chaque échange consomme des tokens et ajoute de la latence.
  • Les agents peuvent s’écraser mutuellement ou se disputer une ressource.
  • Bâtis sur le même modèle, ils partagent les mêmes faiblesses : une attaque ou une panne peut les toucher tous à la fois.
  • Le débogage devient une enquête sur des interactions, pas sur une seule trace.

Les avis divergent : Anthropic raconte un système multi-agents en production, Cognition déconseille l’approche. Lisez les deux, puis testez sur votre cas en comptant le coût.

Pour le petit-déjeuner, une seule personne en cuisine suffit.

Exemple : Transmettre une décision, pas une transcription

Quand un agent passe la main à un autre, ce qu’il transmet est un coût et un risque. Transmettez ce qui permet au suivant d’agir.

function handoff(state) {
  return {
    orderId: state.orderId,
    decision: state.decision,
    reason: state.reason,
    tokens: Math.round(JSON.stringify(state.reason).length / 4) + 20,
  };
}

const triage = {
  orderId: 4512,
  decision: 'refund',
  reason: 'Delivered broken, photo checked',
  transcript: 'x'.repeat(8000),
};

handoff(triage).tokens < JSON.stringify(triage).length / 4;

true

L’agent de remboursement reçoit la décision et sa raison. Les huit mille caractères de conversation restent derrière, avec toute consigne qu’un client aurait pu y cacher.

Essayez dans l’éditeur

async function fanOut(tasks, worker, { limit = 2 } = {}) {  return Promise.all(tasks.map((task) => worker(task)));}module.exports = { fanOut };
Donner une compétence à l’agentRépartir avec une limite
Ouvrir dans l’éditeur

Mentions légales et confidentialité