8j. Orchestration Multi-Agents

Le module agent_orchestration_tool.py est le centre névralgique de la cognition distribuée du framework ECHO. Il s'appuie sur la délégation asynchrone pour coordonner de multiples agents experts dans le but de résoudre des problématiques complexes, via le protocole Delphi ou une supervision par critique itérative.

Concepts Clés :

1. Table Ronde Delphi (Consult Council)

La fonction consult_council permet de convoquer entre 2 et 5 experts pour délibérer sur une question complexe. Au fil des différents tours, chaque participant prend connaissance des arguments des autres et ajuste son analyse, garantissant l'émergence d'un consensus solide et nuancé.

sequenceDiagram
    participant U as User / Orchestrator
    participant CC as consult_council
    participant E1 as Expert 1 (Skill A)
    participant E2 as Expert 2 (Skill B)
    participant SY as Synthesizer (FLASH)

    U->>CC: Convoque Conseil (Q, Participants, Rounds)
    
    loop Tour 1 à N
        Note over CC, E2: Délégation Parallèle (Budget Outils: 3 max/tour)
        CC->>E1: Contexte (Q + Contributions N-1)
        CC->>E2: Contexte (Q + Contributions N-1)
        E1-->>CC: Analyse Expert 1
        E2-->>CC: Analyse Expert 2
    end
    
    CC->>SY: Transcription des N Tours
    SY-->>CC: Synthèse Actionnable (Consensus/Divergences)
    CC-->>U: Résultat Synthétisé
        

Spécificités Techniques


2. Supervision & Critique Itérative (Supervised Workers)

Contrairement au Conseil qui est horizontal et consultatif, la fonction consult_supervised_workers est verticale et coercitive. Elle distribue des tâches spécifiques à plusieurs Workers, puis confie la validation de tous les livrables à un Critique omniscient.

stateDiagram-v2
    [*] --> Delegation: Distribution des tâches
    Delegation --> Evaluation: Les Workers produisent (FLASH)
    
    state Evaluation {
        [*] --> Critique
        Critique --> APPROVED
        Critique --> REJECTED: Feedback précis
    }
    
    Evaluation --> Consolidation: Si Verdict == APPROVED
    Evaluation --> Correction: Si Verdict == REJECTED
    
    Correction --> Evaluation: Les Workers corrigent leurs erreurs (Max Rounds)
    
    Consolidation --> [*]: Synthèse finale (PRO)
        

Processus en 4 Phases

  1. Délégation Initiale : Chaque Worker (développeur, rédacteur, etc.) reçoit sa mission avec le contexte de l'objectif global.
  2. Évaluation (Critique) : Un agent de rang supérieur (généralement MODEL_PRO) analyse l'intégralité des livrables et rend un verdict JSON strict : APPROVED ou REJECTED, en joignant un feedback ciblé par Worker défaillant.
  3. Correction (Boucle Critique) : Si le verdict est REJECTED, les Workers fautifs sont rappelés dans la même session (préservation du thread) pour appliquer la correction suggérée par le critique, dans la limite définie par SUPERVISOR_MAX_CORRECTION_ROUNDS.
  4. Consolidation : Une fois tous les livrables approuvés (ou après l'épuisement des rounds de correction), une synthèse finale est produite.

3. Outils d'Administration et Purge

Les conseils et les supervisions créent de nombreux sous-threads (sessions persistantes). Le système met à disposition des outils pour éviter l'encombrement des bases de données de session :

OutilDescription
list_councils / list_supervised_tasks Interroge EchoStateManager pour lister les assemblées ou tâches de supervision en cours dans le chat actuel.
close_council / close_supervised_task Détruit définitivement le Conseil/Supervision spécifié et purge instantanément les données contextuelles (SQLite) de tous les agents liés. Par défaut, ces fonctions sont invoquées en fin d'orchestration (flag close_on_finish=True).
← Delegate Agent    Le Kernel (System Prompt) →