Start KI-Lösungen Fertige Lösungen Peers & Simulation RAG & Retrieval Use Cases Frameworks Blog English Kontakt
Zurück zum Blog

Der Graph, den wir am Ende doch gebaut haben

Wir haben in diesem Blog vertreten, dass eine Graphschicht ihre Kosten meist nicht wert ist. Dann kam ein Bestand, in dem der Vektorabruf bei fast einem Drittel der Fragen scheiterte — aus strukturellen Gründen, die sich nicht durch besseres Chunking beheben ließen.

Die Haltung, die wir vertreten haben

Wir haben geschrieben, dass eine Graphschicht ihre Komplexität nur verdient, wenn die Verbindung zwischen Dokumenten nicht ohnehin irgendwo festgehalten ist, und dass die meisten Bestände, die wir sehen, Kennungen haben, die einen Datenbank-Join zur besseren Antwort machen. Das war bis zu diesem Projekt bei jedem richtig.

Der Bestand sind technische Spezifikationen eines Netzes voneinander abhängiger Komponenten, in dem eine einzelne Frage regelmäßig davon abhängt, welche Version einer Komponente mit welcher Revision einer anderen kombiniert wird — und diese Paarungen stehen in Fließtext statt in einem Feld.

dokumente zusammenfassung Antwortglobal
Entitäten und Relationen werden aus jedem Dokument extrahiert. 1/4

Warum Chunking es nicht beheben konnte

Die scheiternden Fragen handelten nicht davon, eine Passage zu finden. Sie handelten davon, einer Kette zu folgen: Diese Komponente verlangt jene Schnittstelle, die eine dritte ab einer bestimmten Revision bereitstellt, was wiederum eine vierte einschränkt.

Kein Chunk enthält die Kette. Besseres Chunking macht jedes Glied leichter auffindbar und ändert nichts daran, dass die Antwort drei davon zusammen braucht — dasselbe Argument, das wir seit Jahren für Zusammenfassungsschichten vertreten, angewandt auf Beziehungen statt auf Dokumente.

Der Vergleich, den wir gefahren haben

Ahmad und Kollegen veröffentlichten 2025 einen Benchmark, der Vektor-, Graph- und Hybrid-Abrufpipelines in einer technischen Domäne gegeneinander stellt — der Vergleich, den die meisten Diskussionen zu diesem Thema behaupten statt messen.

Wir haben eine eigene Fassung auf dem Referenzset des Kunden gefahren. Vektor allein beantwortete rund siebzig Prozent, Graph allein rund vierundsechzig, hybrid rund achtundachtzig. Wichtig war die dritte Zahl, und die zweite hat überrascht: Der Graph für sich war schlechter als das, was wir bereits hatten.

Art der FrageWas sie beantwortet
Ein SpezifikationswertVektor. Der Graph trägt nichts bei
Eine AbhängigkeitsketteGraph. Vektor kann ihr nicht folgen
Welche Revisionen zusammenpassenGraph, mit dem Versionsfilter
Alles, was nur in Prosa stehtVektor. Der Graph hat es nie extrahiert

Was der Bau gekostet hat

Sechs Wochen, davon vier für Extraktion und Prüfung statt für Graph-Infrastruktur. Entitäten und Beziehungen wurden von einem Modell extrahiert und dann geprüft: Ein Fachexperte sah eine Stichprobe von zweihundert Beziehungen durch, von denen etwa jede achte falsch war — meist, weil eine Abhängigkeit behauptet wurde, die der Text nur bedingt nahelegte.

Diese Fehlerquote schreibt niemand in ein Angebot. Ein Graph mit einer falschen Kante von acht beantwortet Abhängigkeitsfragen selbstsicher und falsch, also musste die Extraktion verschärft werden, bis die Stichprobenfehlerquote unter drei Prozent fiel — und in diese Verschärfung gingen die vier Wochen.

Was die Pflege kostet

Mehr als der Index. Wird eine Spezifikation überarbeitet, muss der betroffene Teilgraph neu extrahiert und neu geprüft werden — und anders als ein Embedding-Index, der sich mechanisch neu bauen lässt, führt ein Graph-Neubau Extraktionsfehler wieder ein, die eine Person zuvor korrigiert hatte.

Wir behandeln das, indem die menschlichen Korrekturen als eigene Schicht nach der Extraktion angewandt werden, sodass ein Neubau sie nicht verwirft. Das stand nicht in unserem ursprünglichen Entwurf und ist das Stück, das wir jedem anderen zuerst zu bauen raten würden.

Warum die Antwort hybrid war

Weil der Graph bei den meisten Fragen schlechter ist. Er beantwortet Abhängigkeitsketten und weiß nichts über die Prosa, die nie in eine Beziehung extrahiert wurde — und in dieser Prosa stehen die meisten Spezifikationswerte.

Der Abruf fährt deshalb beides, und der Reranker sieht die Vereinigung. Das ist mehr Infrastruktur als jedes für sich und die einzige Konfiguration, die den Ausgangszustand schlug. Den Graphen als Ersatz darzustellen hätte das System auf eine Weise verschlechtert, deren Ursache Monate gebraucht hätte.

Was wir Kunden heute sagen

Dasselbe wie vorher, mit einer Ergänzung. Zählen Sie die Fragen, die eine Kette brauchen statt einer Passage. Unter etwa einem Fünftel ist der Join oder die Zusammenfassungsschicht günstiger, und wir sagen das. Darüber, und wenn die Verbindungen in Prosa statt in Feldern stehen, ist ein Graph das Messen wert.

Und bauen Sie die Prüfung vor dem Graphen. Der Graph ist der leichte Teil; ob er funktioniert, entscheidet sich daran, ob jemand die Beziehungen geprüft hat und ob dessen Korrekturen den nächsten Neubau überleben.

Was wir nicht behaupten

Wir behaupten nicht, unsere frühere Haltung sei falsch gewesen. Sie war richtig für die Bestände, um die es ging, und dieser Beitrag existiert, weil ein Bestand anders war — nicht, weil sich der allgemeine Rat geändert hätte.

Wir behaupten auch nicht, achtundachtzig Prozent seien absolut ein gutes Ergebnis. Zwölf Prozent der Fragen scheitern weiterhin, die meisten davon dort, wo die Spezifikation es schlicht nicht sagt — und ein System, das sie beantworten könnte, würde erfinden.

Quellen