Wie Modus-Erkennung, Datenfluss und KG-gestutztes Scoring im Learning Skill zusammenwirken.
Wenn ein User den Learning Skill aufruft, analysiert der Orchestrator den Prompt auf SchlusselworterDefiniert in skill.md unter modes.[mode].keywords. Mehrsprachig — sowohl deutsche als auch englische Begriffe werden erkannt. Bei Mehrdeutigkeit gewinnt der spezifischere Modus.. Drei Keyword-Gruppen bestimmen den Modus: Kurs-Worter ("Kurs", "Tutorial", "HTML"), Verstehen-Worter ("verstehen", "graph", "analyze"), und Kombinations-Worter ("beides", "kombiniert", "alles").
# Modus-Erkennung in skill.md
mode_detection:
course:
keywords_de: ["Kurs", "Tutorial", "HTML", "Seiten"]
keywords_en: ["course", "tutorial", "pages"]
pipeline: Phase 0-6
understand:
keywords_de: ["verstehen", "Graph", "Dashboard"]
keywords_en: ["understand", "graph", "analyze"]
pipeline: Phase 0-7
combined:
keywords_de: ["beides", "kombiniert", "alles"]
keywords_en: ["both", "combined", "everything"]
pipeline: A0-A7, dann B0-B6Wie funktioniert die Erkennung? Der Orchestrator durchsucht den User-Prompt nach Schlusselwortern. Bei einem Match wird der entsprechende Modus aktiviert und die zugehorige Pipeline gestartet.
Bei Mehrdeutigkeit (z.B. "erstelle einen Kurs und einen Graph") gewinnt der Kombiniert-Modus, da er beide Outputs erzeugt.
Im Kombiniert-Modus lauft zuerst die vollstandige KG-Pipeline (Phase A0-A7). Deren Ergebnis — der Knowledge Graph — wird dann als Input fur die Kurs-Pipeline (Phase B0-B6) verwendet. Das ist der entscheidende Vorteil: KG-Daten machen das Helpfulness-Scoring objektiver.
Ohne KG-Daten basiert das HS-Scoring rein auf Heuristiken (Dateigrosse, Namenskonventionen). Mit KG-Daten kommen objektive Metriken hinzu: Wie viele andere Dateien importieren diese? Welchem Architektur-Layer gehort sie an? Wie komplex ist ihr Abhangigkeitsgraph?
Im Integrationsmodus erhalt das Helpfulness-Scoring vier zusatzliche Datenpunkte aus dem Knowledge Graph. Diese fliessen als Boni in die HS-Berechnung ein:
| KG-Metrik | Bonus | Logik |
|---|---|---|
| Complexity | +1 | Node hat hohe zyklomatische Komplexitat oder viele interne Abhangigkeiten |
| Fan-in | +1 | Node wird von vielen anderen Nodes importiert (hohe Eingangs-Konnektivitat) |
| Core-Layer | +1 | Node gehort zum Core/Domain-Layer (architektonisches Zentrum) |
| Edge-Dichte | +1 | Node hat uberdurchschnittlich viele eingehende + ausgehende Edges |
// KG-gestutztes HS-Scoring
function calculateHS(topic, kgData) {
// Basis-HS (Heuristik)
let hs = complexity(0-3) + relevance(0-3)
+ learningValue(0-2) + independence(0-2);
// KG-Boni (nur im Integrationsmodus)
if (kgData) {
const node = kgData.nodes.find(n => n.id === topic.fileId);
if (node.complexity > threshold) hs += 1;
if (node.fanIn > avgFanIn * 1.5) hs += 1;
if (node.layer === "Core") hs += 1;
if (node.edgeDensity > avg * 2) hs += 1;
}
return Math.min(hs, 10); // Max bleibt 10
}Durch die KG-Boni konnen Themen, die heuristisch einen Score von 5 hatten (unter der Entwickler-Schwelle von 6), auf 7 oder 8 steigen und damit eine eigene Vertiefungsseite erhalten. Das macht die Tiefenstruktur datengetrieben statt rein intuitiv.
Der Orchestrator in skill.md steuert, welche Phasen sequenziell und welche parallel laufen. Grundregel: Phasen mit Abhangigkeiten laufen sequenziell, unabhangige Arbeitseinheiten innerhalb einer Phase laufen parallel.
| Regel | Sequenziell | Parallel |
|---|---|---|
| Phasen | Phase N muss vor Phase N+1 abgeschlossen sein | — |
| Agenten | Scanner vor Analyzer, Analyzer vor Assembler | 5 file-analyzer gleichzeitig |
| Zielgruppen | — | Anwender, Entwickler, Entscheider gleichzeitig |
| Sprachen | — | DE und EN gleichzeitig pro Zielgruppe |
| Modi | Im Kombiniert-Modus: KG-Pipeline vor Kurs-Pipeline | — |
Im Kombiniert-Modus muss die KG-Pipeline vollstandig abgeschlossen sein, bevor die Kurs-Pipeline startet — denn die Kurs-Pipeline braucht die KG-Daten als Input. Innerhalb jeder Pipeline werden dagegen so viele Schritte wie moglich parallelisiert, um die Gesamtlaufzeit zu minimieren.