aller au contenu principal

Benchmark de précision d’extraction

Syncanix transforme votre API en capacités pour agents en lisant votre code source. Cela ne fonctionne que si l’extraction est précise : nous la mesurons donc, publions les résultats et épinglons par des tests chaque chiffre de cette page au harnais d’évaluation versionné. Si un extracteur régresse, le build échoue avant que cette page ne puisse rien exagérer.

Résultats principaux

100.0%rappel macro sur les dépôts réels notés
100.0%précision macro sur les dépôts réels notés
12vrais dépôts publics notés contre une vérité terrain dérivée à la main
29frameworks scannés de bout en bout sur de vrais dépôts

Dernière vérification : 2026-06-11 · 9c09e59f2

Méthodologie

  • Vérité terrain dérivée à la main

    Pour chaque dépôt noté, nous lisons à la main ses définitions de routes et listons chaque endpoint réel comme une paire méthode + chemin. L’extracteur est noté contre cette liste : le rappel est la part d’endpoints réels trouvés ; la précision, la part d’endpoints extraits qui sont réels.

  • Correspondance structurelle

    Une correspondance signifie la méthode HTTP plus le chemin complet composé, préfixes montés inclus. Les paramètres de chemin sont comparés par structure, pas par nom : :id et {slug} à la même position sont égaux.

  • Analyse statique uniquement

    La découverte lit le code source ; elle n’exécute jamais votre application, n’inspecte pas votre trafic et n’appelle pas vos endpoints. Chaque chiffre ici provient du même chemin de détection et d’extraction que npx syncanix init exécute.

  • Testé en CI, épinglé par des tests

    La suite déterministe de fixtures bloque la CI à chaque changement d’extracteur, et les chiffres de cette page sont épinglés à la sortie du harnais par des tests : une régression fait échouer le build avant de pouvoir être publiée.

Vrais dépôts publics, notés

Douze implémentations de référence — surtout des applications RealWorld — avec vérité terrain dérivée à la main. Les dépôts sont publics : vous pouvez lire les mêmes fichiers de routes que nous.

Suite déterministe de fixtures

Des projets fixtures versionnés par framework, notés en F1 contre des seuils par framework. C’est la suite qui bloque la CI à chaque changement d’extracteur.

Suite déterministe de fixtures
FrameworkFixturesF1Seuil de gate
nestjs51.0000.92
express31.0000.85
fastapi81.0000.92
nextjs81.0000.92
graphql51.0001.00
grpc11.0000.92
trpc21.0000.92
websocket21.0000.85
springboot11.0000.85
phoenix11.0000.85
gin21.0000.85
actix11.0000.85
axum21.0000.85
laravel11.0000.85
aspnet11.0000.85
vapor11.0000.75
play11.0000.75
compojure11.0000.75
dream11.0000.75
servant11.0000.75
cowboy11.0000.75
plumber11.0000.75
lapis11.0000.75

Frameworks couverts par les dépôts réels notés plutôt que par des fixtures synthétiques : django, flask, rails

Fixtures réelles embarquées

Des dépôts réels complets embarqués à un commit épinglé et notés contre un oracle dérivé de la spécification ou étiqueté à la main. La métrique à seuil est le F1 structurel (méthode + chemin).

Fixtures réelles embarquées
FrameworkFixtureF1 structurelVérité terrain
FastAPIfastapi-realworld@029eb771.000openapi
Honohono-open-api-starter@0d5f3bf1.000hand-labelled
Symfonysymfony-realworld@5ad39de1.000openapi

Ce que ces chiffres ne prétendent pas

  • L’ensemble noté est constitué d’applications de référence choisies, pas d’un échantillon aléatoire de tous les codes. Votre dépôt peut différer — c’est pourquoi la CLI écrit un catalogue relisible au lieu de demander votre confiance.
  • Ce benchmark mesure l’extraction structurelle (méthodes et chemins). La qualité des descriptions de capacités rédigées par le LLM est évaluée séparément et ne fait pas partie de ces chiffres.
  • L’étiquetage des exigences d’authentification est volontairement conservateur dans certains extracteurs et peut diverger d’un oracle dérivé de la spécification sur des endpoints publics ; la métrique à seuil est la précision structurelle.

Vérifiez-le vous-même

La vérification la plus parlante est votre propre code : lancez la CLI de découverte et relisez le catalogue qu’elle écrit — chaque capacité extraite cite son emplacement dans le code, vous pouvez donc comparer le catalogue à vos fichiers de routes en quelques minutes. Par transparence, voici les commandes internes du harnais derrière les chiffres ci-dessus (les extracteurs sont source-available ; le corpus d’évaluation n’est pas public) :

pnpm --filter syncanix test:f1
pnpm --filter syncanix scan:real

Frameworks pris en charge liste chaque framework et langage que lit la CLI — et quoi faire si le vôtre n’est pas couvert.