AI-Agenten: Architektur & Patterns
Von LLM zu Agent | ReAct-Pattern | Function Calling | Production-Ready Design
AI-Agent-Architektur: LLM + Tools + Memory
Der fundamentale Unterschied zwischen Chat-LLM und autonomen Agents
Ein AI-Agent ist mehr als ein LLM (Large Language Model). Die Architektur kombiniert drei Komponenten: Reasoning Engine (LLM), Tool Use, und Memory/State Management.
Architektur-Komponenten
Chat-LLM (nur Reasoning)
- Text Generation (Q&A, Summarization, Translation)
- KANN NICHT: APIs aufrufen
- KANN NICHT: Datenbanken abfragen
- KANN NICHT: Externe Systeme triggern
AI-Agent (Reasoning + Tools + Memory)
- Alles, was Chat-LLM kann
- PLUS: API-Calls (HTTP, GraphQL, RPC)
- PLUS: Database Queries (SQL, Vector Search)
- PLUS: Workflow Orchestration (Multi-Step Actions)
Key Insight: Agent ist keine neue Model-Architektur
Ein Agent ist kein neues Modell. Es ist ein architekturelles Pattern: LLM + Tool-Calling-Protocol + Execution Environment. Jedes moderne LLM kann als Agent fungieren, wenn es Function Calling unterstützt.
Function Calling: Wie Tool Use funktioniert
OpenAI Function Calling, Anthropic Tool Use, Technical Protocol
Function Calling ist das Protokoll, das LLMs erlaubt, externe Functions/Tools aufzurufen. Technisch: LLM generiert strukturierte Function Calls (JSON), die Orchestration-Engine führt sie aus und gibt Ergebnisse zurück.
Function Calling Protocol (Beispiel)
{
"name": "get_calendar_events",
"description": "Retrieve upcoming calendar events for a user",
"parameters": {
"type": "object",
"properties": {
"user_email": {"type": "string", "description": "Email of user"},
"days_ahead": {"type": "integer", "description": "Number of days to look ahead"}
},
"required": ["user_email"]
}
}{
"function_name": "get_calendar_events",
"arguments": {
"user_email": "user@example.com",
"days_ahead": 7
}
}// Engine calls actual function
const result = await getCalendarEvents("user@example.com", 7)
// Returns: [{event: "Client Call", date: "2026-01-05", time: "14:00"}]// LLM erhält:
{
"function_result": [{
"event": "Client Call",
"date": "2026-01-05",
"time": "14:00"
}]
}Tool-Kategorien
ReAct Pattern: Reasoning + Acting
Wie Agents iterativ denken und handeln
ReAct (Reasoning + Acting) ist das dominante Pattern für Agent-Architekturen. Der Agent alterniert zwischen Thought (Reasoning über nächsten Schritt) und Action (Tool Use), bis die Task gelöst ist.
ReAct Execution Loop
ReAct vs Chain-of-Thought (CoT)
Structured Outputs: Reliability durch Schema-Enforcement
JSON Schema, Pydantic Models, Type-Safe Agent Outputs
Structured Outputs erzwingen, dass LLM-Outputs einem definierten Schema folgen (z.B. JSON Schema). Kritisch für Production-Ready Agents: Kein Text-Parsing, kein Error Handling für malformed Outputs.
Unstructured Output (Problematisch)
"Die E-Mail ist dringend. Absender ist Max Mustermann (max@example.com). Es geht um Projekt Alpha." - Parsing erforderlich (Regex, String Matching)
- Format-Varianz → Fehleranfällig
- Kein Type-Safety
Structured Output (Zuverlässig)
{
"urgent": true,
"sender": {
"name": "Max Mustermann",
"email": "max@example.com"
},
"project": "Alpha"
}- Kein Parsing nötig → direkt verwertbar
- Garantiertes Format → keine Fehler
- Type-Safe für Downstream-Prozesse
JSON Schema Definition
{
"type": "object",
"properties": {
"urgent": {
"type": "boolean",
"description": "Whether the email is urgent"
},
"sender": {
"type": "object",
"properties": {
"name": {"type": "string"},
"email": {"type": "string", "format": "email"}
},
"required": ["name", "email"]
},
"project": {
"type": "string",
"enum": ["Alpha", "Beta", "Gamma"],
"description": "Project name if mentioned"
}
},
"required": ["urgent", "sender"]
}Technisch: LLM-Provider enforcen dieses Schema auf Token-Level (Constrained Decoding). Output ist garantiert valid JSON conform Schema.
Anwendungsfälle für Structured Outputs
Production-Ready Agent Patterns
Reliability, Error Handling, Observability
Error Handling & Retry
Human-in-the-Loop (HITL)
if (confidence < 0.8) { createTicket(human_review_needed) }Observability & Monitoring
Cost Control & Optimization
max_tokens_per_run: 10000 // Hard CapPraxis-Beispiel: Customer Support Agent
End-to-End Architektur mit ReAct Pattern
Ein vollständiger Support-Agent der E-Mails triaged, relevante Daten aus CRM/Knowledge Base holt, und automatisiert antwortet. Strukturiert nach ReAct Pattern.
Trigger: E-Mail Event
sender_email, subject, bodyThought: Analysis & Planning
Action: Tool Calls (Parallel)
Observation: Tool Results
{name: "Max M.", tier: "Premium", last_contact: "2026-01-01"}}"To reset password, visit /reset-password and enter email..."Response: Structured Output
{
"answer": "Hello Max, to reset your password, visit...",
"category": "account_help",
"priority": "medium",
"requires_human": false,
"confidence": 0.92
}Execution: Send Email / Create Ticket
if (requires_human == false) → send_email(answer)if (requires_human == true) → create_support_ticket()Key Takeaways
Bereit für Production-Ready AI-Agents?
Wir helfen Ihnen, zuverlässige AI-Agents zu designen und zu implementieren – von Architektur-Design bis Deployment und Monitoring.