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