zum Hauptinhalt springen

Benchmark zur Extraktionsgenauigkeit

Syncanix macht aus Ihrer API Agent-Capabilities, indem es Ihren Quellcode liest. Das funktioniert nur, wenn die Extraktion genau ist — also messen wir sie, veröffentlichen die Ergebnisse und pinnen jede Zahl auf dieser Seite per Test an das versionierte Eval-Harness. Regressiert ein Extraktor, schlägt der Build fehl, bevor diese Seite irgendetwas übertreiben kann.

Kernergebnisse

100.0%Makro-Recall über die bewerteten echten Repos
100.0%Makro-Precision über die bewerteten echten Repos
12echte öffentliche Repos, bewertet gegen handabgeleitete Ground Truth
29Frameworks, Ende-zu-Ende auf echten Repos gescannt

Zuletzt verifiziert: 2026-06-11 · 9c09e59f2

Methodik

  • Handabgeleitete Ground Truth

    Für jedes bewertete Repo lesen wir die Routendefinitionen von Hand und listen jeden echten Endpoint als Methode-Pfad-Paar. Der Extraktor wird gegen diese Liste bewertet: Recall ist der Anteil gefundener echter Endpoints; Precision der Anteil extrahierter Endpoints, die echt sind.

  • Strukturelles Matching

    Ein Treffer bedeutet HTTP-Methode plus vollständig zusammengesetzter Pfad — gemountete Präfixe inklusive. Pfadparameter werden nach Struktur verglichen, nicht nach Name: :id und {slug} an derselben Position sind gleich.

  • Nur statische Analyse

    Die Discovery liest Quellcode; sie führt Ihre Anwendung nie aus, inspiziert keinen Traffic und ruft keine Endpoints auf. Jede Zahl hier stammt aus demselben Detect-und-Extract-Pfad, den npx syncanix init ausführt.

  • In CI getestet, per Test gepinnt

    Die deterministische Fixture-Suite gatet die CI bei jeder Extraktor-Änderung, und die Zahlen dieser Seite sind per Test an die Harness-Ausgabe gepinnt — eine Regression lässt den Build fehlschlagen, bevor sie ausgeliefert werden kann.

Echte öffentliche Repos, bewertet

Zwölf Referenzimplementierungen — überwiegend RealWorld-Apps — mit handabgeleiteter Ground Truth. Die Repos sind öffentlich: Sie können dieselben Routendateien lesen wie wir.

Deterministische Fixture-Suite

Versionierte Fixture-Projekte pro Framework, bewertet per F1 gegen Framework-spezifische Schwellen. Das ist die Suite, die die CI bei jeder Extraktor-Änderung gatet.

Deterministische Fixture-Suite
FrameworkFixturesF1Gate-Schwelle
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, die durch die bewerteten echten Repos statt durch synthetische Fixtures abgedeckt sind: django, flask, rails

Eingebettete Real-World-Fixtures

Vollständige echte Repositories, bei einem gepinnten Commit eingebettet und gegen ein spezifikationsabgeleitetes oder handgelabeltes Orakel bewertet. Die gegatete Metrik ist der strukturelle F1 (Methode + Pfad).

Eingebettete Real-World-Fixtures
FrameworkFixtureStruktureller F1Ground Truth
FastAPIfastapi-realworld@029eb771.000openapi
Honohono-open-api-starter@0d5f3bf1.000hand-labelled
Symfonysymfony-realworld@5ad39de1.000openapi

Was diese Zahlen nicht behaupten

  • Das bewertete Set sind kuratierte Referenz-Apps, keine Zufallsstichprobe aller Codebasen. Ihr Repo kann abweichen — deshalb schreibt die CLI einen überprüfbaren Katalog, statt um Vertrauen zu bitten.
  • Dieser Benchmark misst die strukturelle Extraktion (Methoden und Pfade). Die Qualität der vom LLM verfassten Capability-Beschreibungen wird separat evaluiert und ist nicht Teil dieser Zahlen.
  • Die Kennzeichnung von Auth-Anforderungen ist in manchen Extraktoren bewusst konservativ und kann bei öffentlichen Endpoints von einem spezifikationsabgeleiteten Orakel abweichen; die gegatete Metrik ist die strukturelle Genauigkeit.

Selbst überprüfen

Die aussagekräftigste Prüfung ist Ihre eigene Codebasis: Führen Sie die Discovery-CLI aus und prüfen Sie den geschriebenen Katalog — jede extrahierte Capability nennt ihre Quellposition, sodass Sie den Katalog in Minuten gegen Ihre Routendateien diffen können. Der Transparenz halber: Dies sind die internen Harness-Befehle hinter den Zahlen oben (die Extraktoren sind source-available; das Eval-Korpus ist nicht öffentlich):

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

Framework-Unterstützung listet jedes Framework und jede Sprache, die die CLI liest — und was zu tun ist, wenn Ihres nicht abgedeckt ist.