Wissensgraph

Owlats typisiertes Organisationswissen durchstöbern, durchsuchen und verwalten — die 7 Eintragstypen, Quellenangabe, Konfidenzverfall, Beziehungen und wie Einträge aus Mail extrahiert werden.

Der Wissensgraph ist Owlats typisierter Speicher für Organisationswissen — Kundenpräferenzen, Entscheidungen, Zusagen und Beziehungen, festgehalten als durchsuchbare Einträge, aus denen der KI-Agent schöpfen kann. Statt eines reinen Schreibprotokolls ist er eine lebendige Sammlung von Fakten, die jeweils einen Konfidenzwert tragen, mit der Zeit verfallen und mit Kontakten, Konversations-Threads und untereinander verknüpft werden können. Sie durchstöbern und durchsuchen ihn über das Dashboard und können Einträge von Hand hinzufügen.

Was der Wissensgraph ist (und das Flag ai.knowledge)

Jeder Eintrag ist ein kleines, typisiertes Stück Wissen: ein Fakt, eine Entscheidung, ein Ereignis, eine Präferenz, ein Ziel, eine Beziehung oder eine Aufgabe. Jeder hält fest, was das Wissen ist, woher es stammt, wie sicher sich Owlat darin ist und auf wen oder was es sich bezieht.

Der Graph ist zugleich eine Oberfläche zum Durchstöbern und Verfassen und eine Live-Eingabe für den Entwurfsschritt: Die Seite Wissensgraph im Dashboard ist der Ort, an dem Sie und Ihr Team durchsuchen und prüfen, was Owlat weiß, und an dem Sie Einträge von Hand ergänzen. Wenn der KI-Agent eine Antwort entwirft, durchsucht sein Kontextabruf auch den Graphen (kontaktbezogen begrenzt) und speist die passenden Einträge in den Entwurfs-Prompt ein — Wissen, das Sie erfassen, fließt also schon heute in die Antworten des Agenten zurück.

Die gesamte Funktion liegt hinter dem Feature-Flag Wissensgraph (ai.knowledge), das standardmäßig deaktiviert ist und vom Haupt-Flag KI-Funktionen (ai) abhängt. Solange eine Betreiberin oder ein Betreiber nicht beide aktiviert, liefert die Wissenssuche nichts zurück. Unter Feature-Flags erfahren Sie, wie Sie sie einschalten (Sie brauchen einen konfigurierten LLM-Anbieter, da die Backfill-Extraktion und die Embeddings Ihr Modell aufrufen).

Ein Graph pro Workspace

Owlat betreibt eine Organisation pro Deployment, es gibt also einen einzigen Wissensgraphen für den gesamten Workspace. Eine Partitionierung pro Team oder pro Organisation gibt es nicht — jeder Eintrag gehört zu diesem Deployment.

Eintragstypen, Quellen, Konfidenz und Tags

Die sieben Eintragstypen

Jeder Eintrag hat genau einen Typ. Der Typ bestimmt sein Icon, seine Farbe in der Oberfläche und — besonders wichtig — wie schnell seine Konfidenz verfällt (siehe Konfidenzverfall und Ablauf).

TypWas er festhältBeispiel
FaktÜberprüfbare Information über eine Person, ein Unternehmen oder eine Sache„Acme Corp nutzt den Enterprise-Tarif“
EntscheidungEine getroffene Wahl samt Begründung„Acmes Testphase um zwei Wochen verlängert (genehmigt von Sarah)“
EreignisEtwas, das zu einem bestimmten Zeitpunkt geschehen ist„Acmes CTO am 5. März auf der Konferenz getroffen“
PräferenzWie jemand die Dinge gern gehandhabt hat„Acme bevorzugt für Support E-Mail statt Telefon“
ZielEin Vorhaben, auf das jemand hinarbeitet„Acme will sein E-Mail-Programm bis September starten“
BeziehungEine Verbindung zwischen Personen„Alice bei Acme berichtet an Bob“
AufgabeEine in einer Konversation genannte Zusage oder Aufgabe„Acme bis Freitag das aktualisierte Angebot schicken“

Quellenangabe

Jeder Eintrag hält fest, woher er stammt. Die Quelle erscheint in der Detail-Seitenleiste des Eintrags, und wenn die Quelle ein Konversations-Thread ist, erhalten Sie einen Link Quell-Thread anzeigen direkt in das Postfach.

QuelleBedeutung
E-MailAus einer E-Mail-Nachricht erfasst
ChatAus einer Chat-Nachricht erfasst
ManuellVon Hand im Dashboard angelegt
DateiAus einer Datei erfasst
KI-extrahiertVon der Extraktionsstrecke aus einer Nachricht herausgezogen

Konfidenz und Tags

  • Konfidenz ist ein Wert von 0–100 %, der angibt, wie verlässlich das Wissen ist. Er wird als farbiger Balken am Eintrag angezeigt — grün ab 70 %, bernsteinfarben ab 40 %, darunter rot — und sinkt mit der Zeit ab, sofern er nicht erneut bestätigt wird.
  • Tags sind freie Bezeichnungen (zum Beispiel important, customer, q1-2026) zum Gruppieren und schnellen Überfliegen. Sie werden als Chips am Eintrag angezeigt.
  • Einträge können außerdem mit Kontakten und mit einem Konversations-Thread verknüpft werden. Verknüpfte Kontakte erscheinen in der Detail-Seitenleiste mit Links zum jeweiligen Kontaktprofil.

Einträge durchstöbern und durchsuchen

Öffnen Sie Wissensgraph im Dashboard. Die Seite bietet Ihnen ein Suchfeld, eine Reihe von Typ-Tabs und die Eintragsliste.

  • Typ-TabsAlle plus ein Tab je Eintragstyp. Die Auswahl eines Typs filtert die Liste auf diesen Typ (neueste zuerst). Die Seitenleiste zeigt eine Legende aller Typen mit ihrem Icon.
  • Suche — tippen Sie in das Suchfeld, und Owlat führt eine Volltextsuche über Titel und Inhalt der Einträge aus. Die Suche berücksichtigt den aktiven Typ-Tab, sodass Sie nur innerhalb der Fakten, nur innerhalb der Entscheidungen und so weiter suchen können.
Frag-alles: quellenübergreifend synthetisierte Antworten

Das Frag-alles-Feld (QuickQueryPanel, auf dem Wissens-Dashboard) geht über das schlichte Suchfeld hinaus: Es ruft sowohl aus dem Wissensgraphen als auch aus dem Dateispeicher ab und lässt das LLM eine fundierte Antwort synthetisieren, die jede genutzte Quelle zitiert. Es basiert auf quickQuery.ask und ist über das Flag ai.knowledge plus die Berechtigung knowledge:read abgesichert.

Klicken Sie einen beliebigen Eintrag an, um seine Detailseite zu öffnen; sie zeigt den vollständigen Inhalt, Tags, den Konfidenzbalken, die Quelle, Erstellungs-, Änderungs- und Ablaufdatum, verknüpfte Kontakte und etwaige Beziehungen.

Kontaktbezogen begrenztes Wissen

Wissenseinträge, die mit einem Kontakt verknüpft sind, tauchen auch an anderer Stelle im Produkt bei diesem Kontakt auf. Dieser Zugriff läuft über eine indizierte Verknüpfungstabelle Kontakt→Eintrag, liefert also alle Einträge für diesen Kontakt — die vollständige Historie, nicht nur die jüngsten — und bleibt selbst bei einem sehr großen Graphen effizient.

Einträge manuell anlegen

Sie müssen nicht auf die Extraktion warten — Sie können Einträge selbst schreiben. Klicken Sie auf Eintrag erstellen (oben rechts auf der Seite Wissensgraph oder Ersten Eintrag erstellen aus dem leeren Zustand heraus) und füllen Sie das Formular aus:

Einen Typ wählen

Wählen Sie einen der sieben Eintragstypen aus dem Dropdown Typ.

Titel und Inhalt schreiben

Geben Sie dem Eintrag einen kurzen, aussagekräftigen Titel und das ausführliche Wissen unter Inhalt. Beides ist erforderlich.

Die Quelle setzen

Die Quelle steht bei handgeschriebenen Einträgen standardmäßig auf Manuell; Sie können sie ändern, wenn Sie festhalten, woher das Wissen tatsächlich stammt.

Konfidenz setzen

Ziehen Sie den Regler Konfidenz (0–100 %, Standard 80 %), um abzubilden, wie sicher Sie sind.

Tags und ein Ablaufdatum ergänzen (optional)

Geben Sie kommagetrennte Tags ein und setzen Sie optional Läuft ab in einer Anzahl von Tagen — danach wird der Eintrag automatisch aufgeräumt (siehe Ablauf).

Beim Speichern landen Sie direkt auf der Detailseite des neuen Eintrags. Jedes angemeldete Mitglied des Workspace kann Einträge anlegen.

Beziehungen zwischen Einträgen (typisierte Kanten)

Einträge können durch typisierte Kanten verbunden werden, und die Detailseite eines Eintrags stellt seine Beziehungen in beide Richtungen dar — eingehend und ausgehend. Die unterstützten Beziehungstypen sind:

BeziehungBedeutung
supportsEin Eintrag liefert Belege für einen anderen
contradictsEin Eintrag steht im Widerspruch zu einem anderen
supersedesEin Eintrag ersetzt einen anderen durch neuere Informationen
relates_toEine allgemeine Zuordnung
causesEine kausale Verbindung
blocksEin Eintrag verhindert einen anderen

Um zwei Einträge zu verknüpfen, öffnen Sie die Detailseite eines Eintrags, klicken in der Karte Beziehungen auf Beziehung hinzufügen, wählen den Kantentyp, suchen den Zieleintrag und speichern. Die neue Kante erscheint sofort an beiden Einträgen — ausgehend an diesem, eingehend am anderen. Fahren Sie mit der Maus über eine Beziehung und klicken Sie auf das ×, um sie zu entfernen. Jedes angemeldete Mitglied des Workspace kann Beziehungen kuratieren; eine Beziehung wird automatisch entfernt, sobald einer ihrer beiden Einträge gelöscht wird oder abläuft.

Automatisches Anlegen von Beziehungen — deterministisch plus optionale LLM-Inferenz

Zwei Linker laufen nach der Extraktion automatisch, und Sie können Beziehungen weiterhin von Hand verfassen. Der deterministische strukturelle Linker (mit ai.knowledge immer aktiv) erzeugt generische relates_to-Kanten zwischen Einträgen aus derselben Nachricht oder demselben Konversations-Thread. Darüber hinaus liest der Durchlauf zur LLM-Kanteninferenz (ai.knowledge.autoLink, standardmäßig aus) den Inhalt neu gespeicherter Einträge und leitet die semantischen Kanten supports / contradicts / supersedes ab, die der deterministische Durchlauf nicht erkennen kann. Schalten Sie ai.knowledge.autoLink aus, werden automatisch nur die deterministischen relates_to-Kanten erzeugt; die semantischen Kanten bleiben dann Ihnen zum Ergänzen von Hand überlassen.

Wie Wissen extrahiert wird

Extraktion geschieht an zwei Stellen: live, während eingehende Mail verarbeitet wird, und über einen einmaligen Backfill, der den Graphen aus Ihrem bestehenden Verlauf befüllt.

Live-Extraktion pro Nachricht

Während jede eingehende Nachricht den Verarbeitungszyklus des Postfachs durchläuft, schürft Owlat sie nach der Klassifizierung nach Organisationswissen ab. Die Extraktion läuft genau einmal pro Nachricht, ist idempotent und arbeitet nach Best-Effort (ein Fehlschlag bei einer Nachricht blockiert nie deren eigene Verarbeitung). Neue Mail lässt den Graphen also mit ihrem Eintreffen wachsen.

Der Backfill ist ein Erstlauf-Job, der den Graphen aus Ihrer bestehenden Mail befüllt, damit der Agent vom ersten Tag an historischen Kontext hat:

  • Er wird einmal ausgelöst, beim ersten Einschalten des KI-Agenten (die Flanke false → true des KI-Agent-Schalters). Den Agenten aus- und wieder einzuschalten lässt ihn nicht erneut laufen.
  • Er durchläuft die vorhandenen eingehenden Nachrichten des Deployments in Stapeln und schickt jede durch den LLM-Extraktor, der typisierte Einträge mit AI Extracted als Quelle erzeugt.
  • Er ist idempotent: Eine bereits extrahierte Nachricht wird übersprungen, der Job lässt sich also gefahrlos fortsetzen.
  • Sehr kurze Nachrichten und Grußformeln werden übersprungen, und Extraktionsfehler bei einzelnen Nachrichten werden toleriert, statt den ganzen Lauf abzubrechen.

Sie beobachten und steuern den Backfill über die Einstellungsseite KI-Agent (apps/web/app/pages/dashboard/admin/instance/agent.vue), die den Live-Fortschritt zeigt — gescannt, extrahiert, übersprungen und Fehlerzahlen — sowie eine Aktion Abbrechen, solange er läuft. Das Abbrechen ist Admins vorbehalten und stoppt den Lauf beim nächsten Stapel sauber.

Was die Extraktion tut und was nicht

Der Extraktor macht einen einzigen strukturierten LLM-Aufruf pro Nachricht, erzeugt für jeden daraus entstehenden Eintrag ein Embedding und speichert ihn. Er dedupliziert nicht selbst nahezu identische Einträge (dafür gibt es einen separaten täglichen Job — siehe Konfidenzverfall und Ablauf) und prüft auch nicht auf Widersprüche. Er übergibt den frisch gespeicherten Stapel aber an einen deterministischen strukturellen Linker, der automatisch generische relates_to-Kanten anlegt (wie unter Beziehungen beschrieben) und — wenn ai.knowledge.autoLink aktiv ist — an einen LLM-Durchlauf, der die semantischen Kanten supports / contradicts / supersedes ableitet. Semantische („Vektor“-)Suche über Wissen ist aktiv: Der kontaktbezogen begrenzte Wissensabruf des Agenten führt eine hybride Vektor- plus Volltextsuche aus, die per Reciprocal Rank Fusion zusammengeführt wird und echte Nächste-Nachbarn-Treffer liefert. In der Dashboard-Oberfläche bleiben Volltextsuche und Durchstöbern nach Typ die aktiven Abrufpfade.

Graph-erweiterter Abruf (Seed-then-Expand)

Standardmäßig ist der Wissensabruf flach: Die kontaktbezogen begrenzte Suche des Agenten liefert die nächsten Nachbarn aus hybrider Vektor- plus Volltextsuche und hört dort auf. Schalten Sie das Flag ai.knowledge.graphRetrieval ein, wechselt der Abruf zu Seed-then-Expand — er nutzt jene nächsten Nachbarn als Seeds und läuft dann ein oder zwei Sprünge entlang der typisierten Beziehungskanten, um den verbundenen Teilgraphen einzusammeln, bevor ein Entwurf fundiert wird. So zieht ein unmittelbar relevanter Eintrag den Fakt mit herein, der ihn supports, oder den neueren Eintrag, der ihn supersedes, selbst wenn der zweite Eintrag für sich genommen nicht auf den Suchtext gepasst hat.

Die erweiterte Menge wird neu sortiert (Kantenstärke, Sprungdistanz und die ursprüngliche Suchbewertung zählen alle mit), und jeder aufgetauchte Eintrag kann einige Anmerkungen tragen:

  • _via — die typisierten Beziehungen, die diesen Eintrag mit einem Seed verbunden haben, damit Sie sehen, warum er hereingezogen wurde.
  • _stale — der Eintrag ist das Ziel einer supersedes-Kante, d. h. ein neuerer Eintrag ersetzt ihn; dem Agenten wird gesagt, ihn mit Vorsicht zu behandeln.
  • _caveat — der Eintrag ist ein Endpunkt einer contradicts-Kante, wird also angezeigt, aber als strittig markiert statt vorbehaltlos als vertrauenswürdig.
Jeder Sprung ist durch die Kontaktbegrenzung abgesichert

Kanten haben keine eigene Kontaktbegrenzung, und ein Dedup-Merge kann die verknüpften Kontakte eines Knotens vereinigen — einer Kante zu folgen ist damit ein potenzielles Leck in der Datenisolation. Die Graph-Erweiterung prüft jeden Nachbarn bei jedem Sprung erneut gegen die Kontaktbegrenzung der aufrufenden Stelle, bevor er in die Ergebnisse gelangen darf (nur eine ausdrücklich organisationsweite Begrenzung überspringt die Prüfung). Ein Nachbar, der durchfällt, wird vollständig verworfen — weder sein Inhalt noch seine Existenz noch irgendeine Kante zu ihm wird ausgegeben, und er wird nie zur Ausgangsmenge für den nächsten Sprung. ai.knowledge.graphRetrieval ist ein Not-Aus: Schalten Sie es aus, fällt der Abruf auf den flachen Nächste-Nachbarn-Pfad ohne die Anmerkungen _via / _stale / _caveat zurück.

Konfidenzverfall und Ablauf

Der Graph ist bewusst nicht rein anfügend. Ein geplanter Wartungsjob läuft alle 24 Stunden und macht mit jedem Stapel von Einträgen, den er besucht, zwei Dinge:

  1. Ablauf-Aufräumen — Einträge, deren expiresAt-Datum überschritten ist, werden gelöscht (samt ihrer Beziehungen). So wird der optionale Wert Läuft ab in, den Sie an einem Eintrag setzen, wirksam.
  2. Konfidenzverfall — die Konfidenz jedes Eintrags wird verringert, basierend darauf, wie lange seine letzte Bestätigung zurückliegt, sowie auf einer typspezifischen Verfallsrate. Häufig abgerufene Einträge verfallen etwas langsamer (ein Bonus für aktuelle Nutzung). Die Konfidenz fällt nie unter eine Untergrenze von 10 %.

Ein zweiter täglicher Job führt nahezu identische Einträge desselben Kontakts per Dedup zusammen und verhindert so, dass der Graph Duplikate ansammelt, während neue Mail abgeschürft wird.

Unterschiedliches Wissen altert unterschiedlich schnell — der Tarif einer Kundin ändert sich weit seltener als ein Quartalsziel —, deshalb verfällt jeder Typ mit seiner eigenen Rate:

TypVerfall pro TagWarum
Fakt0,5 %Fakten ändern sich selten (~90 Tage Halbwertszeit)
Entscheidung0,2 %Entscheidungen bestehen fort, sofern sie nicht ausdrücklich revidiert werden
EreignisKeinerHistorische Ereignisse werden nicht weniger wahr
Präferenz1,5 %Präferenzen entwickeln sich über die Zeit (~30 Tage Halbwertszeit)
Ziel3 %Ziele haben Fristen und verschieben sich (~14 Tage Halbwertszeit)
Beziehung1 %Organisationsstrukturen ändern sich
Aufgabe5 %Zusagen erledigen sich schnell (~7 Tage Halbwertszeit)
Geplant: Bestätigungsbonus

Die Absicht ist, die Konfidenz zu erhöhen, wenn Wissen bestätigt wird — zum Beispiel, wenn der Agent einen Eintrag verwendet und ein Mensch die daraus entstandene Antwort freigibt. Dieser Bonus ist noch nicht umgesetzt, heute verfällt die Konfidenz also nur (oder bleibt konstant, bei Ereignissen). Das vollständige Bild finden Sie in der Wissensgraph-Vision.

Verwandt