LoreKeeper
Agentic RAG

Stufe 1 - Router Agent

Intelligente Analyse von Story-Prompts und dynamische Abfrageplanung

Stufe 1: Router Agent

Der Router Agent agiert als Vorhut der Pipeline. Seine einzige Aufgabe besteht darin, unstrukturierte Schreibaufträge von Menschen in präzise, strukturierte Datenbank-Suchkriterien zu übersetzen.

Er wird mit dem schnellen router-model (gemini-2.5-flash) betrieben.


Funktionsweise & System-Prompt

const systemPrompt = `You are the Liberino LoreKeeper Router Agent.
Your job is to analyze story prompts for the book "${book.title}" and plan what lore entities (characters, locations, objects, factions, canon rules) must be retrieved from the Directus database.
Respond with a strict JSON object adhering to this schema:
{
  "identifiedThemes": string[],
  "suggestedEntityTypes": ("character" | "location" | "faction" | "object" | "rule")[],
  "searchKeywords": string[],
  "sceneIntent": string
}`;

Beispiel: Vom Prompt zum Query-Plan

Eingabe-Prompt

"Vaelin schleicht sich in die Katakomben der Schattengilde, um das gestohlene Sonnenamulett zurückzuholen. Dabei wird er von einem Wächter überrascht."

Router-Ausgabe (RouterPlan)

{
  "identifiedThemes": ["Infiltration", "Schattengilde", "Diebstahl", "Konfrontation"],
  "suggestedEntityTypes": ["character", "location", "object", "faction", "rule"],
  "searchKeywords": ["Vaelin", "Katakomben", "Schattengilde", "Sonnenamulett", "Wächter"],
  "sceneIntent": "Spannende Infiltrationsszene mit plötzlichem Kampf/Konflikt"
}

Vorteile dieser Entkopplung

  1. Präzise Filter: Directus muss nicht die gesamte Datenbank laden, sondern filtert gezielt nach den Entitätstypen und Schlüsselwörtern des Plans.
  2. Kosten- und Token-Reduktion: Das nachgelagerte Writer-Modell erhält nur hochrelevanten Kontext statt unstrukturierter Datenberge.
  3. Robustheit: Schlägt das JSON-Parsing fehl, greift ein deterministischer Fallback auf Standard-Filter (character, location, rule).

On this page