7 points par GN⁺ 6 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Le point de départ est le constat que la synthèse (synthesize) des résultats de plusieurs modèles peut largement dépasser les performances d’un modèle isolé
  • Une approche de délibération multi‑modèle (multi-model deliberation) dans laquelle plusieurs modèles experts analysent en parallèle un même prompt, puis un modèle juge (judge model) synthétise leurs résultats pour rédiger la réponse finale
  • Les modèles du panel effectuent une analyse parallèle avec recherche web et récupération web activées, tandis que le modèle juge organise l’analyse sous forme structurée autour du consensus, des contradictions, des correspondances partielles, des insights uniques et des angles morts
  • La valeur par défaut est le preset Quality ; il est possible de passer au preset Budget pour utiliser des modèles moins coûteux, ou de redéfinir entièrement le panel et le juge via les champs du plugin fusion
  • Adapté à des cas comme la recherche ou la relecture experte, lorsqu’un modèle unique ne suffit pas et que le coût d’une mauvaise réponse dépasse le surcoût de génération
  • Comme l’appel exécute tous les membres du panel ainsi que le juge, le coût d’une requête est facturé comme la somme des completions individuelles, et non comme un modèle unique

Fonctionnement

  • Transforme un prompt unique en une petite délibération multi‑modèle
    • Un panel de modèles experts analyse le prompt en parallèle avec web search et web fetch activés
    • Le modèle juge synthétise les réponses du panel et produit une analyse structurée en consensus, contradictions, couverture partielle, insights uniques et angles morts
    • Sur la base de cette analyse structurée, le modèle juge rédige la réponse finale

Composition et configuration du panel

  • Le panel par défaut utilise le preset Quality
    • Pour des membres moins coûteux, il est possible de passer au preset Budget
    • Les champs analysis_models et model du plugin fusion permettent de redéfinir complètement le panel et le juge
  • Recommandé lorsqu’un modèle unique ne suffit pas
    • Convient à la recherche, à la relecture experte, ou aux domaines où le coût d’une erreur dépasse le coût supplémentaire des completions

Tarification et limites

  • Comme l’appel exécute tous les membres du panel ainsi que le juge, le coût d’une requête est calculé non pas sur la base d’un modèle unique, mais comme la somme des completions individuelles
    • Il est possible de vérifier quels modèles ont réellement été exécutés sur la page Activity
  • La limite de contexte varie selon les modèles choisis

Les presets utilisent 6 modèles

  • Qualité maximale : Claude Opus, OpenAI GPT, Google Gemini Pro
  • Coût minimal : Google Gemini Flash, DeepSeek V4 Flash, MoonshotAI Kimi

Annonce associée : "Dépasser les performances de pointe avec Fusion"

  • Un outil qui synthétise les résultats de plusieurs modèles pour dépasser les performances d’un modèle isolé, avec la possibilité de choisir directement un panel de modèles participants et un modèle judge chargé de fusionner les résultats, puis de l’appeler comme s’il s’agissait d’un modèle unique
  • Sur 100 tâches de recherche approfondie du benchmark DRACO, le panel surpasse systématiquement les modèles pris individuellement
    • La fusion Fable 5 + GPT-5.5 atteint 69,0 %, dépassant tous les modèles individuels, y compris Fable 5 seul (65,3 %)
    • Un panel à bas coût (Gemini 3 Flash + Kimi K2.6 + DeepSeek V4 Pro) obtient un score à moins de 1 % de celui de Fable 5 pour 50 % du coût, tout en dépassant GPT-5.5 et Opus 4.8
  • Le prompt est envoyé en parallèle aux modèles du panel ; le judge analyse les points d’accord, les contradictions, les insights uniques et les angles morts, puis le modèle appelé rédige la réponse finale sur cette base
  • L’ensemble du pipeline s’exécute côté serveur (server-side), ce qui permet de l’utiliser de la même manière qu’un appel de modèle individuel
  • Même lorsqu’Opus 4.8 est fusionné avec lui-même, il atteint 65,5 % contre 58,8 % seul, soit un gain de 6,7 points, ce qui confirme l’effet propre de l’étape de synthèse
  • Un risque de contamination a été identifié lorsque les modèles du panel trouvent en ligne la grille d’évaluation ; il peut être bloqué en configurant en une ligne une liste d’exclusion pour web search et web fetch
  • Quatre modes d’utilisation : Chatroom (sans code), Model slug (remplacement de chaîne), Server tool (contrôle maximal), Plugin (spécification du panel)
  • Ce n’est pas un remplaçant direct de Fable ; les tâches à long horizon où Fable excelle ne sont pas incluses, et en programmation il est utilisé comme outil d’appel sélectif

1 commentaires

 
GN⁺ 6 시간 전
Commentaires Hacker News
  • Il y a quelques mois, j’ai essayé de créer Fusion avec un MCP utilisant OpenRouter. L’idée était de proposer un « panel d’experts » vers lequel se tourner quand Claude était bloqué
    Après beaucoup de tests et de benchmarks, j’ai constaté que faire évaluer la réponse d’un modèle par d’autres modèles ne produisait pas réellement de meilleure réponse. Au fond, on leur demande simplement « dans quelle mesure cette réponse ressemble-t-elle à celle que toi tu aurais donnée ? », et les tours supplémentaires ou les solutions « évidentes » qui émergent revenaient en pratique à augmenter la température. J’ai bien trouvé une solution, mais le coût est absurdement élevé. Si cette approche attire davantage l’attention, je publierai peut-être aussi la mienne

    • Le prompt est important. Si on veut l’avis d’autres modèles, il faut évidemment les faire générer dès le départ à partir du même prompt, puis faire la synthèse ; et si on le souhaite, on peut aussi les faire travailler sur une réponse existante
      De mon côté, je leur demande explicitement de chercher des problèmes selon leur gravité, puis je fais passer ces problèmes devant un panel de modèles juges, et je ne fais corriger la réponse d’origine que pour ceux qui dépassent un certain seuil. Ce qui a vraiment amélioré les résultats, c’est de demander au modèle juge d’évaluer séparément la véracité et l’axe « utilité / faut-il corriger ». Sinon, si on force la recherche de problèmes, on finit par obtenir du pinaillage sur des détails. L’axe de véracité s’est aussi révélé meilleur pour évaluer un modèle de détection de problèmes adapté à mon usage. J’applique une partie de cela à la génération d’explications comme ici : https://hanzirama.com/character/%E6%9D%A5#explain — aujourd’hui, ce site est devenu une sorte de petit sous-produit de mon dispositif d’évaluation de LLM. Si l’on veut la meilleure qualité, il faut probablement verrouiller le fournisseur sur OpenRouter. :exacto seul ne suffit pas, surtout avec les modèles à poids ouverts, pour obtenir de bons résultats reproductibles
    • J’ai déjà vu qu’en disant au modèle juge que la réponse provenait d’un petit LLM local et peu puissant, il la démontait avec une sévérité extrême. Cela dit, je ne l’ai pas testé de manière systématique, donc je ne sais pas si cela se généralise au-delà de mon impression
      Je me demande si d’autres ont eu le sentiment qu’on pouvait amener un LLM à se comporter assez mal si on le trompait pour le mettre en mode « je me sens supérieur »
    • J’avais créé une version rudimentaire de cette idée en 2024[0], et je trouve intéressant que ce concept continue à revenir. On pouvait définir un seuil de qualité, mais cela ne semblait pas changer grand-chose, et les modèles de pointe étaient presque toujours d’accord entre eux et attribuaient des notes élevées aux réponses
      Le paysage a complètement changé par rapport à il y a deux ans, donc cela vaut la peine d’y rejeter un œil. [0] https://github.com/Ceroxylon/konsensis
    • Je pense que cela dépend du fait que la réponse soit vérifiable ou non
      J’ai testé deux modèles juges dans mon application. Le premier servait de modèle juge pour un modèle d’adaptation de CV : il comparait le CV final au CV d’origine et à l’offre d’emploi, puis notait l’adéquation et l’honnêteté sur 10 ; cela a bien fonctionné et s’est révélé utile. Le second était un modèle de revue pour une plateforme de bots de trading pilotés par LLM, chargé d’examiner les décisions du modèle principal. Là, comme le bot gère de l’ambiguïté, cela peut au contraire devenir nuisible, sauf s’il détecte des erreurs manifestes comme juger à partir d’un mauvais prix de chandelier ou faire un BUY alors qu’il faudrait un SELL. D’abord, cela ajoute de la latence : avec Gemma 4 31B, une décision passe de 30 à 60 secondes environ. Ensuite, comme le modèle de revue ne tourne que sur les décisions BUY/SELL et pas sur HOLD, la latence et le coût peuvent rendre le bot excessivement prudent au lieu d’augmenter le nombre de transactions. Donc si la réponse n’est pas facile à vérifier, je pense qu’il vaut mieux tout traiter d’un coup avec un meilleur modèle plutôt qu’avec un modèle de revue. Dans ce cas, on peut aussi se demander à quoi sert vraiment le modèle juge, et pourquoi ne pas laisser le même agent s’auto-relire. D’autant plus que, quand on lit le texte de raisonnement de modèles comme Gemma 4, on voit qu’ils se relisent déjà eux-mêmes. Ils font déjà de leur mieux, donc une relecture supplémentaire n’apporte pas énormément d’information. C’est une expérience intéressante, mais il faut l’évaluer au cas par cas
    • Même expérience. Trouver une réponse objectivement meilleure était bien plus difficile que je ne le pensais, et c’était coûteux et lent
  • J’avais un prompt de ce genre que j’utilisais uniquement avec Claude Code
    Examinons un problème d’architecture. Lance 10 agents, fais-leur créer chacun une persona, puis demande-leur de relire _api.go et d’écrire une revue dans reviews/-review.md. Demande ensuite à chaque agent de lire les résumés en tête de chaque revue, de répondre en round-robin aux 3 revues de son choix et d’écrire dans response/--response.md. Puis fais-leur écrire des contre-arguments aux réponses dans rebuttals/-rebuttal.md. Enfin, fais relancer à chaque agent un agent chargé d’examiner sa propre revue, ses réponses et ses contre-arguments, puis de résumer le résultat dans findings/-findings.md. Pour finir, un autre agent fusionne les résultats dans review-findings.md et doit y proposer une version concise. Cette approche a bien marché aussi bien avec des modèles de pointe qu’avec des modèles hébergés en local. Le dernier que j’ai utilisé était Qwen 3.5

    • Je n’ai pas l’habitude d’utiliser plusieurs agents dans un même flux, donc je me pose quelques questions
      Est-ce que tu relis tous les fichiers générés pour vérifier l’absence d’hallucinations, ou est-ce que tu ne regardes que le fichier final concis ? Je me demande aussi si l’idée est qu’en faisant passer la sortie par plusieurs agents, les hallucinations finissent par s’annuler pour qu’il ne reste que la vérité. J’aimerais aussi savoir si tu as déjà vu du contenu gravement faux dans la version finale. Le coût m’inquiétait, mais avec des modèles hébergés en local, ce point semble moins problématique. En revanche, les modèles hébergés en local ont-ils toujours des difficultés avec l’exécution de commandes locales ou l’accès à Internet ? Si oui, est-ce que cela fonctionne uniquement avec le contexte de ce fichier précis, sans référence au reste du projet ?
    • Cela semble être un dispositif assez chargé par rapport au simple fait de lancer la même revue n fois et d’agréger les résultats. Je suis curieux de savoir pourquoi tu es arrivé à cette architecture
  • Le contexte est ici : Surpassing Frontier Performance with Fusion
    https://news.ycombinator.com/item?id=48525392
    L’UI un peu meilleure est sur https://openrouter.ai/fusion. La Fusion API d’OpenRouter envoie les requêtes à plusieurs modèles en parallèle, puis un modèle juge fusionne les réponses pour produire la réponse finale. Cela prend plus de temps, mais améliorerait nettement les performances. En tout cas, c’était le cas sur le benchmark de deep research qu’ils ont testé. Le preset Budget est composé de 3 modèles moins chers et, sur ce benchmark, il est à peu près comparable à Fable pour un coût réduit de moitié. Le preset Quality est composé de 3 modèles coûteux, bat Fable, mais coûte deux fois plus cher que Fable. Graphe de Pareto : https://openrouter.ai/blog/images/blog/fusion-benchmark-cost.... Fait intéressant, même fusionner un modèle avec lui-même améliorait les performances. 2xOpus4.8 est à peu près comparable à Fable sur le benchmark, mais coûte deux fois plus cher. Mélanger des modèles différents apporte un léger gain supplémentaire. Le principal bénéfice semble venir du calcul supplémentaire au moment du test. J’aimerais voir davantage de recherches centrées sur la fusion de modèles récents et bon marché, par exemple DSV4 avec lui-même ou avec Mimo, ainsi que les compromis entre la fusion comme calcul parallèle au moment du test et l’augmentation du budget d’inférence ou du nombre de tours

    • Le fait que « fusionner un modèle avec lui-même améliorait les performances » était assez courant à l’époque du passage de GPT-2 à GPT-3
      En pratique, cela revient à échantillonner davantage dans l’espace des sorties possibles. Si un modèle a 60 % de chances de réussir une tâche, on peut tirer 5 à 10 échantillons et implémenter quelque chose comme un vote majoritaire. Cela est devenu moins utilisé à mesure que la précision des modèles a augmenté sur les problèmes où combiner les résultats est facile, mais avec un juge plus complexe, c’est-à-dire un LLM compétent, on peut encore améliorer les performances simplement en échantillonnant davantage l’espace des sorties et en sélectionnant les bonnes parties
    • Il est intéressant que le panel Fable 5 + GPT 5.5 dépasse assez nettement les performances de pointe de chacun des deux, mais qu’en ajoutant Gemini, le panel à trois modèles ne s’améliore pas et empire même
      Pour moi, cela suggère que Gemini est plus faible sur cette tâche, mais meilleur pour convaincre le modèle juge avec sa propre solution. Et le fait qu’un panel de deux Opus 4.8 soit presque exactement au niveau d’un seul Fable 5 laisse aussi une impression suspecte. Est-ce qu’on sait si Anthropic ne fait pas simplement déjà ce genre de chose en coulisses ?
    • C’est dommage qu’ils abordent à peine combien de temps en plus cela prend à cause de l’étape de synthèse. Sur un benchmark de deep research, ce n’est peut-être pas très important, mais je suis curieux de voir comment cela s’appliquerait à des tâches de code
    • Je ne sais pas si c’est encore vrai pour les modèles actuels, mais une étude Microsoft d’il y a quelques générations avait montré qu’en faisant répéter N fois au modèle, les performances augmentaient fortement, avec un optimum à 4 répétitions
  • J’ai fait une évaluation rapide pour voir la différence qualitative avec un appel direct à Opus 4.7 ou GPT 5.5
    Comme prévu, Fusion était 7 fois plus lent et 4 fois plus cher. Ce n’est pas pour critiquer : à mon avis, Fusion entre dans la catégorie des outils « à n’utiliser que lorsque nécessaire ». https://3fpi5avcqq.evvl.io/

    • Fusion a vraiment l’air excellent comme cible de distillation
    • Merci du partage. La vitesse était ma principale inquiétude, et ils n’en parlaient pas de leur côté
    • Je me demande quels modèles étaient utilisés en dessous. Si c’était le Quality par défaut de l’interface, alors le coût environ 4 fois plus élevé a du sens : 3 modèles de pointe, dont l’un sert ensuite de juge
      L’idée clé semble être d’utiliser Fusion avec des modèles plus simples et moins chers
    • Je trouve ça assez contre-intuitif. Il y a probablement peu de chances qu’il soit facile de trouver le bon cadre et la bonne structure pour que cela fonctionne bien. Les modèles détestent vraiment bien coopérer
      Je me demande comment leur version tiendra en usage réel
  • J’ai beaucoup réfléchi à ce problème et, pour simplifier, je le comprends comme si chaque modèle était une distribution en cloche au-dessus de la connaissance humaine, avec une distribution différente pour chaque modèle
    Utiliser plusieurs modèles permet de déplacer la distribution d’un autre modèle avec du texte qui était en dehors de sa courbe initiale. Mais en y repensant, je me demande si le SFP et le reinforcement learning modifient déjà suffisamment la distribution textuelle d’origine pour que les sorties combinées des modèles deviennent quelque chose de meilleur, ou si cela ne produit qu’une chambre d’écho. Je n’ai pas encore de moyen de le prouver, mais je crois que non

  • Comme résultat anecdotique sur Fusion, j’ai soumis à OpenRouter Fusion la même requête que j’avais utilisée avec Fable, et le résultat était moins bon
    Fable semblait capter un certain niveau de profondeur de connaissance/intelligence, et ne se contentait pas de donner une réponse plausible : il proposait aussi des priorités dans les points à traiter et suggérait d’en abandonner certains, ce qui me paraissait assez pertinent. À l’inverse, Fusion donnait l’impression de légèrement diversifier le même type de réponses produites par les modèles state of the art d’avant Fable, et, dans les tests très limités que j’ai pu faire lorsque j’avais accès à Fable, il n’atteignait pas la même profondeur que Fable

  • Inspiré ce week-end par le nouveau modèle OpenRouter Fusion, j’ai travaillé pour voir si je pouvais faire tourner cela dans Claude Code et le rendre assez simple pour que d’autres puissent l’essayer facilement
    J’ai créé claude-fusion-launcher — cela exécute Claude Code sur un panel de modèles plutôt que sur un modèle unique. Le coût est aussi affiché. https://github.com/smorinlabs/claude-fusion-launcher

    • Ça ne devient pas vite très cher ? Les prompts ponctuels que j’ai essayés sur le site coûtaient presque 1 dollar par prompt
  • Je me demande si régénérer plusieurs fois le même prompt avec le même modèle, à température plus élevée, est équivalent à faire tourner plusieurs modèles différents
    Je soupçonne qu’une bonne partie de la variabilité observée entre les différents modèles de pointe vient simplement du caractère aléatoire à température non nulle. Les modèles semblent entraînés à renvoyer des nombres d’éléments bien ronds, comme 5, 10 ou 15. Cela peut aussi venir d’interférences dues à l’apprentissage sur des contenus marketing. En plus, le taux de rappel dans un grand contexte est loin d’être de 100 %. Donc, s’il y a 27 bugs dans un code, que l’on utilise plusieurs modèles ou qu’on appelle plusieurs fois le même modèle, chaque exécution peut trouver 10 problèmes différents parmi les 27

  • Je me demande s’il existe des recherches formelles dans ce domaine. J’ai moi aussi essayé des variantes de cette approche, mais il m’est difficile d’affirmer avec assurance que les résultats étaient meilleurs.
    Je crains que ce soit un peu comme demander à 2 ou 3 consultants quelle est la meilleure stratégie pour une entreprise. Je ne sais pas vraiment si le fait de fusionner les réponses produit concrètement quelque chose de meilleur.

  • J’ai aussi lancé une fonctionnalité similaire dans mon TrustedRouter en open source, avec même un chiffrement de bout en bout : https://trustedrouter.com/

    • C’est bien de voir une véritable promesse de protection de la vie privée. Je passe beaucoup de temps à lire sans fin des conditions fournisseurs évasives et ambiguës.