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.
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.
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).
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 });
}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