Zum Inhalt springen

Knowledge Graph

Memory Advanced

Der Knowledge Graph ist ein Netzwerk aus Memory Objects, die durch typisierte Edges verbunden sind. Er ermöglicht beziehungsbasierte Abfragen, sodass Agents kontextuell relevante Informationen entdecken können, indem sie Verbindungen zwischen Objects traversieren — statt sich nur auf Keyword- oder semantische Suche zu verlassen.

Nodes

Nodes sind Memory Objects — dieselben Objects, die du über Schemas erstellst und im Explorer verwaltest. Jedes Memory Object ist automatisch ein Node im Knowledge Graph.

Edges

Edges sind typisierte, gerichtete Verbindungen zwischen zwei Objects. Eine Edge drückt eine semantische Beziehung aus wie “referenziert”, “gehört zu” oder “löst”. Jede Edge hat ein Quell-Object, ein Ziel-Object und einen Edge-Typ.

Edge Types

Edge Types sind benannte Kategorien von Beziehungen. Sie definieren das Vokabular der verfügbaren Verbindungen in deinem Graph (z.B. References, BelongsTo, RelatesTo, Resolves). Edge Types werden organisationsweit geteilt.

Um zwei Objects mit einer typisierten Beziehung zu verbinden:

  1. Identifiziere das Quell-Object (die “Von”-Seite der Beziehung) und das Ziel-Object (die “Nach”-Seite).

  2. Wähle einen Edge-Typ, der die Beziehung beschreibt. Verwende nach Möglichkeit bestehende Edge Types, um Konsistenz in deinem Graph zu gewährleisten.

  3. Erstelle die Edge. Die Verbindung ist sofort für Graph-Traversierung und Nachbarschaftsabfragen verfügbar.

Edge Types definieren das Vokabular der Beziehungen in deinem Knowledge Graph. Sie sind organisationsbezogen, d.h. jede Organisation pflegt ihre eigenen Edge Types, die die verfügbaren Beziehungsarten über alle Knowledge Graph Nodes hinweg festlegen.

Gängige Edge Types sind:

Edge TypeBeschreibungBeispiel
ReferencesEin Object referenziert oder zitiert ein anderesEin Dokument referenziert eine Produktspezifikation
BelongsToEin Object gehört zu einem anderen oder ist Teil davonEin FAQ-Eintrag gehört zu einer Kategorie
RelatesToEine allgemeine Verbindung zwischen ObjectsZwei Troubleshooting-Anleitungen behandeln verwandte Themen
ResolvesEin Object liefert eine Lösung für ein anderesEin Fix löst ein bekanntes Problem
DependsOnEin Object erfordert ein anderesEine Prozedur hängt von einem Voraussetzungsschritt ab
ContainsEin Object enthält oder umfasst ein anderesEin Produkt-Bundle enthält einzelne Produkte
CausesEin Object verursacht oder löst ein anderes ausEine Fehlerbedingung verursacht ein bestimmtes Symptom

Du kannst benutzerdefinierte Edge Types erstellen, die auf deine Domäne zugeschnitten sind (z.B. Escalates, Supersedes, Implements), um die spezifischen Beziehungen abzubilden, die für deine Organisation wichtig sind. Edge Types können im Admin-Panel erstellt und verwaltet werden.

Die Plattform erstellt außerdem Standard-Edge-Types für gängige Beziehungen zwischen gespiegelten Plattformobjekten (Agents, Tools, Operating Protocols usw.).

Von jedem Object aus kannst du seine Nachbarn auflisten — Objects, die direkt durch eine oder mehrere Edges verbunden sind. Nachbarschaftsabfragen unterstützen:

  • Richtungsfilterung — nur ausgehende Edges (dieses Object zeigt auf andere), eingehende Edges (andere zeigen auf dieses Object) oder beides anzeigen.
  • Edge-Typ-Filterung — nur Nachbarn anzeigen, die durch bestimmte Edge Types verbunden sind (z.B. nur References-Edges).
  • Paginierung — Objects mit vielen Verbindungen effizient handhaben.

Das ist nützlich, um den Kontext eines Objects zu verstehen: Was referenziert es, was referenziert es, und welche anderen Objects befinden sich in seiner Nachbarschaft.

Neighborhood RAG (Retrieval-Augmented Generation) ist die leistungsfähigste Art, wie Agents den Knowledge Graph nutzen. Es kombiniert Graph-Traversierung mit semantischer Suche, um kontextuell relevante Informationen zu finden.

So funktioniert es:

  1. Von einem bekannten Root-Object starten. Der Agent identifiziert einen relevanten Startpunkt — z.B. ein Produkt, nach dem der Nutzer fragt.

  2. Den Graph traversieren. Das System folgt ausgehenden Edges vom Root-Object und sammelt alle Objects in der Nachbarschaft (direkte und transitive Verbindungen).

  3. Nach semantischer Relevanz ranken. Die gesammelten Nachbarschafts-Objects werden nach semantischer Ähnlichkeit zur aktuellen Abfrage des Agents gerankt.

  4. Die relevantesten Ergebnisse zurückgeben. Die am höchsten gerankten Objects aus der Nachbarschaft werden dem Agent als Kontext für die Antwortgenerierung zurückgegeben.

Agents interagieren mit dem Knowledge Graph hauptsächlich über das neighborhoodRag-Tool:

  1. Während eines Gesprächs identifiziert der Agent ein bekanntes Memory Object, das für die Frage des Nutzers relevant ist (z.B. ein bestimmtes Produkt, ein Ticket oder ein Gerät).
  2. Der Agent ruft neighborhoodRag mit der ID des Root-Objects und der Abfrage des Nutzers auf.
  3. Das System traversiert den Graph von diesem Root aus, sammelt Nachbarschafts-Objects und rankt sie nach semantischer Relevanz.
  4. Der Agent erhält die relevantesten verwandten Objects und nutzt sie, um eine fundierte Antwort zu generieren.

So können Agents Fragen wie “Welche Troubleshooting-Schritte gibt es für den LaserJet 500?” beantworten, indem sie vom LaserJet 500 Produkt-Object starten, dessen Edges traversieren und verknüpfte Troubleshooting-Anleitungen finden.

Edges unterstützen Soft-Delete. Wenn du eine Edge löschst:

  • Die Verbindung wird als gelöscht markiert und erscheint standardmäßig nicht mehr in Nachbarschaftsabfragen
  • Der Edge-Datensatz wird zu Audit-Zwecken aufbewahrt
  • Du kannst eine soft-gelöschte Edge bei Bedarf wiederherstellen

Um gelöschte Edges standardmäßig herauszufiltern, schließen Nachbarschaftsabfragen sie automatisch aus. Übergib includeDeleted: true, um gelöschte Edges neben aktiven anzuzeigen.

Der Knowledge Graph unterstützt mehrere Abfragestrategien, die kombiniert werden können:

StrategieBeschreibungAm besten für
Semantische SucheObjects nach Bedeutung mit natürlichsprachlichen Abfragen findenUnscharfe, absichtsbasierte Fragen
TypfilterungErgebnisse auf bestimmte Schema-Typen einschränken”Zeige mir alle FAQEntry-Objects”
Graph-TraversierungEdges von einem Start-Object aus abgehen”Was hängt mit diesem Produkt zusammen?”
KombiniertSemantische Suche innerhalb einer Graph-Nachbarschaft”Welche Troubleshooting-Schritte betreffen dieses Gerät?”

Troubleshooting-Schritte mit Symptomen verknüpfen

Abschnitt betitelt „Troubleshooting-Schritte mit Symptomen verknüpfen“

Erstelle Symptom-Objects (z.B. “VPN-Verbindung bricht nach 5 Minuten ab”) und TroubleshootingGuide-Objects (z.B. “VPN Keepalive-Konfiguration”). Verbinde sie mit Resolves-Edges. Wenn ein Nutzer ein Symptom beschreibt, findet der Agent das passende Symptom-Object und traversiert Edges, um Lösungsanleitungen zu entdecken.

Verknüpfe Product-Objects mit ihren zugehörigen Manual-, FAQEntry- und KnownIssue-Objects über References-Edges. Agents können von einem Produkt starten und den Graph ablaufen, um alle zugehörige Dokumentation zu finden.

Wenn ein Support-Ticket einem bekannten Problem entspricht, verbinde sie mit einer RelatesTo-Edge. Zukünftige Agents, die ähnliche Tickets bearbeiten, können das bekannte Problem und seine Lösung über den Graph entdecken.