docs/mindnet_functional_architecture.md aktualisiert
All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 3s

This commit is contained in:
Lars 2025-12-08 17:47:28 +01:00
parent 5d8e96372f
commit fcb90db2d0

View File

@ -164,29 +164,80 @@ Die API gibt diese Analysen als menschenlesbare Sätze (`reasons`) und als Daten
---
## 6) Der RAG-Chat & Persönlichkeit (WP05/WP06)
## 6) Der RAG-Chat & Persönlichkeit (WP05)
Seit WP-05 kann Mindnet nicht nur suchen, sondern als **KI-Zwilling** antworten. Die Persönlichkeit entsteht dabei auf zwei Ebenen:
### 6.1 Stil & Tonfall (WP05 - "Wie ich spreche")
### 6.1 Stil & Tonfall (System Prompt)
In `config/prompts.yaml` wird die Persona definiert.
* **System Prompt:** Definiert die Rolle ("Ich bin dein digitales Gedächtnis...").
* **Werte im Prompt:** Pragmatismus, Transparenz (kein Halluzinieren), Vernetztes Denken.
* **Context Intelligence:** Dem LLM werden Metadaten (Typ, Score) injiziert, damit es komplexe Zusammenhänge erkennt (z.B. dass eine `[DECISION]` wichtiger ist als ein `[CONCEPT]`).
### 6.2 Strategische Persönlichkeit (WP06 - "Wie ich entscheide")
Ein echter KI-Zwilling spiegelt nicht nur den Stil, sondern die **Werte** des Users wider. Dies wird durch **Strategic Retrieval** erreicht:
* **Logik:** Bei komplexen Fragen oder Entscheidungen ("Soll ich X tun?") lädt das System gezielt Notizen vom Typ `[VALUE]` und `[PRINCIPLE]` in den Kontext auch wenn diese textlich nicht direkt zur Frage passen (Re-Ranking).
### 6.2 Strategische Persönlichkeit (Ausblick WP06)
Ein echter KI-Zwilling spiegelt nicht nur den Stil, sondern die **Werte** des Users wider.
* **Logik:** Bei komplexen Fragen oder Entscheidungen ("Soll ich X tun?") lädt das System gezielt Notizen vom Typ `[VALUE]` und `[PRINCIPLE]` in den Kontext.
* **Effekt:** Das System wägt die Fakten (aus der Suche) gegen die Werte (aus dem Profil) ab.
* **Beispiel:** Eine technisch perfekte Lösung wird abgelehnt, wenn sie gegen den Wert "Datensparsamkeit" verstößt.
---
## 7) Feedback & Lernen WP04c
## 7) Erweiterbarkeit & Teaching (Context Intelligence)
Mindnet lernt nicht durch klassisches Training (Fine-Tuning), sondern durch **Konfiguration**, **Vernetzung** und **Prompting**. Dies ist das **"Teach-the-AI" Paradigma**: Wenn du dem System ein neues Konzept beibringen willst, musst du an drei Stellen eingreifen.
### A. Workflow: Einen neuen Typ implementieren (z. B. `type: risk`)
1. **Physik definieren (`config/types.yaml`)**
Steuere, wie schwer der Inhalt wiegt und wie er vernetzt wird.
```yaml
risk:
chunk_profile: short # Risiken sind prägnant
retriever_weight: 0.90 # Hohe Priorität im Ranking
edge_defaults: ["blocks"] # Automatische Kante zu verlinkten Projekten
```
*Effekt:* Der Retriever spült diese Notizen bei relevanten Anfragen nach oben.
2. **Semantik erklären (`config/prompts.yaml`)**
Bringe dem LLM bei, wie es mit diesem Typ umgehen soll.
```yaml
system_prompt: |
...
REGELN FÜR TYPEN:
- [RISK]: Warnung! Wenn ein Chunk vom Typ 'risk' im Kontext ist, weise den User explizit darauf hin.
```
*Effekt:* Der Chatbot ignoriert das Risiko nicht nur, sondern "versteht" die Warnfunktion.
### B. Workflow: Neue Beziehungen nutzen (z. B. `beeinflusst_von`)
Beziehungen sind der Klebstoff für logische Schlussfolgerungen.
1. **Erfassung im Vault (Markdown)**
Nutze die Inline-Syntax. Du musst nichts vorab definieren.
> "Die Entscheidung für Qdrant wurde [[rel:beeinflusst_von Budgetkürzung 2024]]."
2. **Gewichtung justieren (`config/retriever.yaml`)**
Standardmäßig sind alle Kanten gleich `1.0`. Wenn Kausalität wichtiger ist als Ähnlichkeit, definiere dies hier:
```yaml
retriever:
edge_weights:
beeinflusst_von: 1.5 # Starker Boost: Zieht Ursachen in den Kontext
related_to: 0.5 # Schwacher Boost: Nur "nice to know"
```
*Effekt:* Bei der Frage nach "Qdrant" landet die "Budgetkürzung" (Ursache) im Kontext, weil die Kante stark ist.
3. **Interpretation (Prompting)**
Das LLM erkennt im RAG-Kontext: `Qdrant --[beeinflusst_von]--> Budgetkürzung`.
Es kann daraus den Satz formulieren: *"Die Wahl fiel vermutlich aufgrund der Budgetkürzung auf Qdrant."*
**Fazit:** Nur wenn **Daten** (Vault), **Physik** (Config) und **Semantik** (Prompt) zusammenspielen, entsteht ein intelligenter Zwilling.
---
## 8) Feedback & Lernen WP04c
Das System verfügt nun über ein **Kurzzeitgedächtnis für Interaktionen**, das die Basis für zukünftiges Lernen bildet.
### 7.1 Der Feedback-Loop
### 8.1 Der Feedback-Loop
1. **Suche (Situation):**
Wenn ein Nutzer eine Anfrage stellt, loggt Mindnet die "Situation":
* Den Query-Text.
@ -203,7 +254,7 @@ Das System verfügt nun über ein **Kurzzeitgedächtnis für Interaktionen**, da
---
## 8) Confidence & Provenance wozu?
## 9) Confidence & Provenance wozu?
Der Retriever kann Edges gewichten:
- **provenance**: *explicit* > *rule*
@ -215,7 +266,7 @@ Eine typische Gewichtung (konfigurierbar in `retriever.yaml`) ist:
---
## 9) Semantik ausgewählter `kind`-Werte
## 10) Semantik ausgewählter `kind`-Werte
- `references` „Nutzt/erwähnt“; neutral, aber stützend für Kontext.
- `related_to` Ähnlichkeit/Verwandtschaft (symmetrisch interpretierbar).
@ -227,7 +278,7 @@ Eine typische Gewichtung (konfigurierbar in `retriever.yaml`) ist:
---
## 10) Frontmatter-Eigenschaften Rolle & Empfehlung
## 11) Frontmatter-Eigenschaften Rolle & Empfehlung
Frontmatter-Eigenschaften (Properties) bleiben **minimiert**:
- **type** steuert Typ-Defaults via Registry (Pflicht für differenziertes Verhalten).
@ -237,7 +288,7 @@ Frontmatter-Eigenschaften (Properties) bleiben **minimiert**:
---
## 11) Lösch-/Update-Garantien (Idempotenz)
## 12) Lösch-/Update-Garantien (Idempotenz)
- Jede Note hat einen stabilen **note_id** (Frontmatter/Hash).
- Vor einem Upsert können *alte Chunks/Edges einer Note* gefiltert gelöscht werden (`note_id`-Filter) das hält Collections sauber bei Re-Imports.
@ -245,7 +296,7 @@ Frontmatter-Eigenschaften (Properties) bleiben **minimiert**:
---
## 12) Beispiel Von Markdown zu Kanten (v2.2)
## 13) Beispiel Von Markdown zu Kanten (v2.2)
**Markdown (Auszug)**
# Relations Showcase
@ -264,7 +315,7 @@ Frontmatter-Eigenschaften (Properties) bleiben **minimiert**:
---
## 13) Referenzen (Projektdateien & Leitlinien)
## 14) Referenzen (Projektdateien & Leitlinien)
- Import-Pipeline & Registry-Auflösung: `scripts/import_markdown.py`.
- Kantenbildung (V2-Logic): `app/core/derive_edges.py`.
@ -275,7 +326,7 @@ Frontmatter-Eigenschaften (Properties) bleiben **minimiert**:
---
## 14) Workpackage Status (v2.3.0)
## 15) Workpackage Status (v2.3.0)
Aktueller Implementierungsstand der Module.