Aller au contenu

Harnais d'agents et multi-agent

Pourquoi le harnais compte

Un modèle n'est presque jamais déployé dans un cadre d'agent fixe. Les harnais diffèrent par leurs prompts système, leurs définitions d'outils, leurs stratégies de gestion de contexte et leurs protocoles d'interaction.

Un modèle surajusté à un harnais peut s'effondrer dans un autre. C'est un risque réel quand le post-entraînement est massivement agentique, comme ici.

DeepSeek teste donc huit configurations issues de six familles de harnais, en gardant identiques le point de contrôle, la configuration de décodage et le jeu de tâches. Seul change le harnais — son prompt système natif, son schéma d'outils, sa logique de tours.

Les résultats

Effort maximal, 8 échantillons par tâche sur DeepSWE v1.1 et 3 sur Terminal-Bench 2.1, conteneurs Linux, fenêtre de 1 M de jetons, 500 tours maximum par agent, Terminal-Bench évalué sans accès réseau.

Benchmark Claude Code Codex OpenCode Pi mini-SWE DSH Minimal DSH Standard DSH PTC
DeepSWE v1.1 (résolu) 69,8 65,6 65,5 66,2 74,2 72,6 70,5 67,6
Terminal-Bench 2.1 88,0 84,1 85,0 86,1 90,3 90,6 85,8 85,8

DSH = DeepSeek Harness, le harnais maison de DeepSeek, en trois modes.

Les versions testées

  • Claude Code v2.1.105, v2.1.238, v2.1.251, v2.1.259 — le tableau reporte v2.1.251 ; la moyenne des quatre versions donne 68,9 sur DeepSWE et 87,8 sur Terminal-Bench, l'écart entre versions restant sous 1,5 point ;
  • Codex v0.147.0, mode app-server standard, schémas d'outils adaptés ;
  • OpenCode v1.18.15, agent build avec outils shell et fichiers ;
  • Pi v0.84.2, mode RPC avec extension de recherche ;
  • mini-SWE, portage mini_swe_v2, un unique outil bash ;
  • DSH Minimal (un unique outil bash), Standard (26 outils dont recherche web), PTC (run_code pour programmes TypeScript sur 24 outils sous-jacents).

Aucun prompt système expérimental n'est ajouté : chaque exécution part de l'énoncé de la tâche et des prompts natifs du harnais.

Lecture

L'amplitude

Sur DeepSWE v1.1, l'écart entre le meilleur harnais (74,2) et le pire (65,5) est de 8,7 points. Sur Terminal-Bench 2.1, de 6,5 points.

C'est considérable — comparable à l'écart entre deux générations de modèles. Le choix du harnais est donc, en pratique, une décision aussi importante que le choix du modèle.

Le paradoxe intéressant

Le meilleur score sur DeepSWE v1.1 n'est pas obtenu par le harnais maison de DeepSeek : c'est mini-SWE (74,2) qui devance DSH Minimal (72,6).

Cela affaiblit l'objection évidente — « DeepSeek a optimisé son modèle pour son propre harnais » — et renforce l'argument de généralisation. À noter cependant que mini-SWE et DSH Minimal partagent la même caractéristique : un unique outil bash.

Une régularité qui traverse le tableau

Les configurations les plus minimales dominent. mini-SWE (un outil bash) et DSH Minimal (un outil bash) devancent DSH Standard (26 outils) et DSH PTC (24 outils). L'écart est de 6,6 points sur DeepSWE entre Minimal et PTC.

L'interprétation la plus simple est que la surface d'outils élargie coûte du contexte et de la complexité de décision sans apporter de capacité correspondante — au moins pour ces deux benchmarks-là, qui se résolvent entièrement dans un terminal.

La conclusion de DeepSeek

Section 5.3.4

« Les capacités agentiques du modèle se transfèrent bien entre familles de harnais aux prompts et interfaces d'outils différents, plutôt que de dépendre de conventions spécifiques à un harnais particulier. »

L'affirmation est soutenue par les chiffres : aucun harnais ne fait s'effondrer le modèle, la fourchette reste dans un intervalle raisonnable. DeepSeek relie cette robustesse à la diversité des environnements et schémas d'outils dans ses données synthétisées.

Le multi-agent

DeepSeek présente des résultats explicitement préliminaires sur la collaboration multi-agent, via le mode Agent Team de DeepSeek Harness.

Le mécanisme

Un agent chef peut créer de façon asynchrone des coéquipiers nommés et persistants via spawn_teammate. Chacun reçoit une tâche déléguée et démarre soit en mode fresh — sans l'historique du chef — soit en mode fork, avec un instantané ponctuel des tours terminés du chef.

Tous les agents partagent un même dépôt : les modifications sont immédiatement visibles de tous.

La communication passe par une boîte aux lettres durable. Un message envoyé par send_message atteint un coéquipier en cours d'exécution à sa prochaine frontière d'étape, démarre un nouveau tour pour un coéquipier inactif, ou réveille un coéquipier suspendu. Le chef surveille l'état avec list_agents, attend des changements avec wait_agent, et est le seul à pouvoir interrompre un coéquipier via interrupt_agent. Propriété des tâches, dépendances et portées d'écriture consultatives sont maintenues sur un tableau de tâches partagé avec contrôle de révision.

L'entraînement

La récompense combine trois termes :

  1. la performance sur la tâche ;
  2. un bonus de collaboration encourageant délégation et communication ;
  3. une pénalité de latence dérivée.

La latence dérivée est calculée en représentant les événements d'exécution et leurs dépendances de collaboration comme un graphe orienté acyclique, en attribuant des coûts depuis les comptes de jetons à des débits de préremplissage/décodage fixes plus le temps d'exécution mesuré des outils, et en prenant la longueur du chemin critique.

Cette construction est astucieuse : elle récompense le parallélisme utile tout en pénalisant le travail séquentiel inutile et les synchronisations superflues, avec une sensibilité réduite aux délais de mise en lot et de file d'attente côté serveur.

Les résultats

Sur ProgramBench, restreint aux 172 tâches « en or » dont la solution de référence passe au moins 95 % des tests cachés, et sur FrontierSWE v2 (sous- ensemble sans GPU), avec des échéances explicites en temps réel par exécution :

Benchmark Échéance Multi-agent Mono-agent
ProgramBench (Almost@1) 1 h 13,59 % 12,79 %
ProgramBench (Almost@1) 8 h 30,04 % 20,39 %
FrontierSWE v2 (Mean@5) 1 h 13,50 % 10,50 %
FrontierSWE v2 (Mean@5) 20 h 32,90 % 28,20 %

Le multi-agent dépasse le mono-agent à toutes les échéances, sur les deux benchmarks.

Les précautions à garder

DeepSeek qualifie ces résultats de préliminaires et précise comparer « les configurations multi-agents les plus performantes observées avec les meilleures lignes de base mono-agent disponibles ».

Une comparaison entre le meilleur observé de chaque côté n'est pas une comparaison contrôlée. L'écart de 9,7 points à 8 h sur ProgramBench est frappant, mais il faudrait connaître la variance entre configurations pour savoir ce qu'il vaut.

Par ailleurs, une équipe de \(n\) agents consomme approximativement \(n\) fois plus de calcul à échéance égale. Le gain est réel mais il n'est pas gratuit : c'est du passage à l'échelle au moment du test, pas une amélioration d'efficacité.


Chapitre suivant : Limites des benchmarks