PDA-LOG-009
ARCHITECTURE

Chatbots & KI-Assistenten: LLM-Integration für moderne Web-Apps

LLMs sind Infrastruktur — kein Feature-Gimmick. Wer Chatbots professionell baut, denkt in Prompt-Architektur, Context-Management und Production-Grade API-Integration.

Publiziert01.04.2026
Lesezeit08:00 MIN
AutorPalmer Digital

Der Hype um Chatbots hat sich in einen echten Infrastruktur-Shift verwandelt. Unternehmen, die LLM-basierte Assistenten heute richtig architektonieren, gewinnen messbare Vorteile: reduzierte Support-Kosten, höhere Conversion-Raten und skalierbare Wissens-Distribution ohne lineares Personalwachstum. Der Unterschied zwischen einem Demo-Chatbot und einem Production-System liegt nicht im Modell — er liegt in der Architektur drumherum.

Prompt-Architektur: Die Basis jedes LLM-Systems

Ein LLM ist so gut wie die Anweisungen, die es erhält. System-Prompts sind nicht optional — sie sind die Architektur des Bot-Verhaltens. Ein produktionsreifer System-Prompt definiert: Persona und Tonalität, den genauen Aufgabenbereich (was der Bot NICHT tun soll ist ebenso wichtig), Ausgabeformat und die Eskalationsregeln für unbekannte Anfragen.

Strukturierter System-Prompt mit Persona, Scope und Eskalationsregeln
const SYSTEM_PROMPT = `Du bist der Support-Assistent von [Unternehmensname].

## Deine Aufgaben
- Beantworte Fragen zu Bestellungen, Versand und Retouren
- Erkläre Produkteigenschaften anhand des bereitgestellten Produktkatalogs
- Erstelle Support-Tickets für technische Probleme

## Verhaltensregeln
- Antworte ausschließlich auf Deutsch, präzise und freundlich
- Erfinde KEINE Informationen. Wenn du etwas nicht weißt: sage es klar
- Gib KEINE Rabattcodes oder Preisnachlässe ohne explizite Genehmigung
- Eskaliere an einen menschlichen Agenten bei: Beschwerden, rechtlichen Fragen, Zahlungsstreitigkeiten

## Ausgabeformat
- Maximal 3 Absätze pro Antwort
- Nutze Aufzählungen für Schritte oder Listen
- Schließe IMMER mit einer Rückfrage oder einem konkreten nächsten Schritt ab
`;

// Anthropic Claude API Call mit strukturiertem Kontext
const response = await anthropic.messages.create({
    model: "claude-opus-4-6",
    max_tokens: 1024,
    system: SYSTEM_PROMPT,
    messages: conversationHistory, // Multi-Turn: gesamte Gesprächshistorie
});

Context-Management: Multi-Turn Conversations

LLMs sind zustandslos — jeder API-Call ist isoliert. Multi-Turn-Konversationen entstehen dadurch, dass die gesamte Gesprächshistorie mit jedem Request mitgesendet wird. Das ist elegant, hat aber eine direkte Kostenimplikation: mehr Gesprächsverlauf = mehr Input-Tokens = höhere Kosten. Produktionsreife Systeme implementieren deshalb Context-Window-Management: Sliding Window (nur die letzten N Nachrichten), Summarization (ältere Nachrichten werden komprimiert) oder RAG (Retrieval-Augmented Generation für große Wissensbasen).

Context-Management mit Sliding Window und Token-Schätzung
interface Message {
    role: "user" | "assistant";
    content: string;
}

const MAX_CONTEXT_TOKENS = 4000;
const AVG_TOKENS_PER_CHAR = 0.25; // Grobe Schätzung für Deutsch

function trimContext(messages: Message[]): Message[] {
    let totalChars = 0;
    const trimmed: Message[] = [];

    // Neueste Nachrichten zuerst behalten
    for (let i = messages.length - 1; i >= 0; i--) {
        const msgChars = messages[i].content.length;
        const estimatedTokens = msgChars * AVG_TOKENS_PER_CHAR;

        if (totalChars + estimatedTokens > MAX_CONTEXT_TOKENS) break;

        trimmed.unshift(messages[i]);
        totalChars += estimatedTokens;
    }

    return trimmed;
}

// Route Handler (Next.js App Router Server Action)
export async function POST(request: Request) {
    const { message, history } = await request.json();
    const trimmedHistory = trimContext(history);

    const response = await anthropic.messages.create({
        model: "claude-opus-4-6",
        max_tokens: 1024,
        system: SYSTEM_PROMPT,
        messages: [...trimmedHistory, { role: "user", content: message }],
    });

    return Response.json({ reply: response.content[0].text });
}
ACHTUNG

Rate-Limiting ist in Production-Chatbots nicht optional. Ohne Request-Throttling riskierst du sowohl unkontrollierte API-Kosten als auch Missbrauch durch automatisierte Anfragen. Implementiere Rate-Limiting pro Session-ID oder IP — idealerweise mit Redis-backed Token Bucket Algorithmus.

CRM & Backend Integration

Ein Chatbot ohne Systemanbindung ist ein FAQ-Ersatz. Der echte Wert entsteht, wenn der Assistent auf Live-Daten zugreifen kann: Bestellstatus aus dem Shop-System, offene Tickets aus dem CRM, Produktverfügbarkeit aus der Datenbank. Function Calling ist der strukturierte Weg, LLMs sicher mit externen APIs zu verbinden — das Modell entscheidet, welche Funktion aufgerufen werden soll, dein Code führt sie aus.

  • Function Calling (OpenAI) / Tool Use (Anthropic): LLM ruft strukturiert externe Funktionen auf
  • Datenbank-Queries immer gefiltert und readonly — niemals schreibende Operationen ohne explizite Nutzerbestätigung
  • Sensible Daten (Zahlungsinfo, Passwörter) niemals in den LLM-Context — nur anonymisierte Referenz-IDs
  • Logging aller Bot-Interaktionen für Qualitätssicherung und Compliance — DSGVO-konform anonymisiert