For the complete documentation index, see /developers/llms.txt Markdown versions: append .md to any /developers/{slug} URL. Browse structure: /developers/sitemap.md This page: /developers/embeddings-boundary.md

Neu hier? Starte mit Was ist Eigen Mesh? für eine verständliche Einführung.

Embeddings: reine DB-Grenze

Kurz gesagt: Eigen Mesh speichert mathematische Suchindizes intern, sendet sie aber nie an KI-Tools oder den Chat — in Prompts und Tool-Ergebnissen erscheint nur menschenlesbarer Text.

Status: In der eigen-Produkt-Codebasis durchgesetzt. Risiko: Kritisch (Ingestion, Retrieval, MCP, Chat).

Für wen das relevant ist

  • Operatoren, die die Datenexposition auf selbst gehosteten Deployments prüfen
  • Integratoren, die überprüfen, was MCP-Tools an KI-Clients zurückgeben dürfen

Richtlinie

Embedding-Vektoren (1536-dimensionale Fließkommazahlen für Thoughts, Entities, zeitliche Events usw.) sind Kerninfrastruktur:

  • Erlaubt: Berechnung über das Embedding-Gateway, Speicherung in Postgres/pgvector, Nutzung innerhalb von Retrieval und Konsolidierung (Distanz-Queries, interne Pipelines).
  • Verboten: Vektoren aus MCP-Tools, HTTP-Tool-artigen APIs, Chat-/Agent-Payloads oder jeder LLM-Chat-Completion-Anfrage zurückgeben; vollständige Vektoren oder lange Embedding-Inputs loggen.

Textfelder (normalizedText, Snippets, Scores) sind in Tools und LLM-Prompts unproblematisch. Vektoren nicht.

Warum

  • Vektoren sind groß (~6.000+ Tokens pro Serialisierung), liefern Chat-Modellen keine nutzbare Semantik und sprengen Context-Windows.
  • Nutzervertrauen: Memory-Inhalte in Prompts sollten menschenlesbarer Text sein, keine rohen numerischen Embeddings.

Durchsetzung (Defense in Depth)

Das eigen-Produkt wendet mehrere Schichten an:

Schicht Rolle
Query-Form Tool-seitige Reads schließen embedding-Spalten aus
MCP-Tools Bereinigen jede Tool-Rückgabe vor der JSON-Serialisierung
Agent-Loop Bereinigt nach jedem Tool-Aufruf; komprimiert Ergebnisse für Folge-Turns
Chat-Gateway Entfernt Vektoren unmittelbar vor LLM-Anfragen
Gemeinsamer Stripper Entfernt rekursiv Vektor-Feldnamen und 1536-elementige numerische Arrays
Logs Keine Vektor-Vorschauen in der Konsolenausgabe

Retrieval und Compose-Answer

  • searchThoughts / retrieve_thoughts liefert Scores und Text, nicht die gespeicherten Thought-Embeddings.
  • composeAnswer und der In-App-Chat bauen LLM-Prompts aus Text, Kategorie, Scores und Datumsangaben — nie aus Embedding-Spalten.
  • Query-Embeddings werden in-process nur für die SQL-Distanzberechnung erzeugt; sie werden nicht an Tool-Ergebnisse angehängt.

Bewusste Ausnahme

Die Graph-Embedding-Map-UI (GET /api/embeddings/snapshot) liefert Vektoren ausschließlich für autorisierte In-Browser-Visualisierung — nicht für MCP, nicht für den Chat-LLM.

Für Integratoren

Beim Bauen auf MCP oder REST:

  1. Erwarte oder fordere niemals Embedding-Arrays in Tool-Ergebnissen an — sie werden by Design entfernt.
  2. Nutze die Textfelder und Scores von retrieve_thoughts für den Kontextaufbau.
  3. Siehe MCP-Tools-Referenz.

Für Contributor

Implementierungs-Dateipfade und die PR-Review-Checkliste liegen in der Contributor-Dokumentation des eigen-Repositorys und in .cursor/rules/no-embeddings-in-llm.mdc.

Einstiegspunkte in die Domänen: Ingestion, Retrieval.

Troubleshooting

Embedding-bezogene Probleme sind für Endnutzer selten. Siehe Troubleshooting für allgemeinere MCP- und Retrieval-Probleme.

Nächste Schritte

Agenten-Hinweise

This documentation is published for humans and AI agents. Bevorzuge .md URLs für strukturierte Inhalte.

  • Index: /developers/llms.txt
  • Full export: /developers/llms-full.txt
  • Sitemap: /developers/sitemap.md
  • Raw page: append `.md` to any /developers/{slug} URL
  • Example: GET /developers/mcp-overview.md

Dynamic `?ask=` and `?goal=` query on markdown URLs is planned — see docs/planning/10-docs-query-api-design.md.