Services
Services sind zustandslose funktionale Bausteine die sich zu Use Cases kombinieren lassen. Ziel ist es, diese für die unterschiedlichen Use Cases der öffentlichen Verwaltung wiederzuverwenden. Um dieses Ziel zu erreichen ist es notwendig, die Services nach einheitlichen Standards zu entwickeln, sie mit einem API zu versehen (über das sie gleichartig aufgerufen werden können) und als containerisierte Komponenten auszuliefern.
Wir unterscheiden vier Service Typen:

Task
Ein Task ist ein Model-Task-driven Service. Hierbei wird eine spezifische Aufgabe mit einem spezifischen Modell ausgeführt. Dabei ist das Modell für die Aufgabe optimiert. Die Optimierung kann durch verschiedene Arten des Trainings (Supervised Finetuning, Reinforcement Learning, ..) erfolgen.
Ein Vielzahl von Model-Tasks und geeignete Modell finden sich auf Hugging Face.
Eine große Anzahl der in den Anforderungen beschriebenen Use Cases, wie z. B. Text Manipulationen oder Translationen, lassen sich mit einem geeigneten Modell als Tasks umsetzen.

Tool
Ein Tool ist ein Service mit dem das System mit seiner Außenwelt (seinem Environment) interagieren kann. Im Gegensatz zu Tasks haben Tools keinen Zugriff auf ein Modell, dafür aber auf das Environment des Systems.
Typische Environments sind das Internet, Fachverfahren, aber auch eine Sandbox, in der Code ausgeführt werden kann.

Sandbox
Die sichere Ausführung von durch ein LLM erzeugten Code sollte entweder auf einer isolierten virtuellen Maschine oder über ein externes API (z.B. E2B) erfolgen.
MCP Server
Das Model Context Protocol (MCP) ist ein offener Standard, der ursprünglich von Anthropic entwickelt und im November 2024 vorgestellt wurde. Die initialen Konzepte stammen von David Soria Parra und Justin Spahr-Summers. Ziel des Standards ist es, die fragmentierten Integrationsmuster zwischen LLMs und Datenquellen zu vereinheitlichen. Heute wird MCP von großen Akteuren wie OpenAI, Google und Microsoft unterstützt.
Architektur und Funktionsweise
MCP standardisiert die Kommunikation zwischen KI-Modellen und der Außenwelt. Die Architektur besteht aus drei Komponenten:
- MCP-Host (Client): Die KI-Anwendung (z.B. Claude Desktop, IDEs, eigene Agenten), die die Verbindung initiiert und steuert.
- MCP-Server: Ein leichtgewichtiger Dienst, der Ressourcen (Daten/Dateien), Prompts (Vorlagen) und Tools (ausführbare Funktionen) bereitstellt.
- Datenebene: Der Austausch erfolgt standardisiert via JSON-RPC 2.0. Dies regelt Requests, Responses, Capability-Negotiation und den Session-Lifecycle.
Der zentrale Nutzen:
- Wiederverwendbarkeit: Einmal als MCP-Server implementiert, kann eine Datenquelle von jedem MCP-fähigen Client genutzt werden ("Write once, run anywhere").
- Sicherheit & Compliance: MCP-Server können lokal oder in einem geschützten VPC laufen. Sie geben Kontext nur kontrolliert an das LLM weiter, ohne dass das LLM direkten Zugriff auf die Datenbank benötigt.
- Modularität: Agenten werden "composable". Neue Fähigkeiten werden einfach durch das Hinzufügen eines weiteren MCP-Servers ergänzt.
MCP Spezifikation MCP Dokumentation MCP GitRepo
Transport-Protokolle
Der Kern von MCP ist transport-agnostisch. Solange das JSON-RPC 2.0 Nachrichtenformat eingehalten wird, ist der Übertragungsweg flexibel. Standardisiert sind aktuell zwei Haupt-Transportschichten:
-
Stdio-Transport:
- Funktionsweise: Kommunikation über Standard Input/Output (STDIN/STDOUT) zwischen Prozessen auf derselben Maschine.
- Einsatzzweck: Lokale Desktop-Apps und Agenten (z.B. Claude Desktop ↔ lokaler Git-Server).
- Vorteil: Sehr performant, kein Netzwerk-Overhead, hohe Sicherheit durch lokale Begrenzung.
-
Streamable HTTP-Transport (SSE):
- Funktionsweise: Clients senden Requests via HTTP POST. Der Server sendet Updates und Antworten asynchron über Server-Sent Events (SSE) zurück.
- Einsatzzweck: Verteilte Systeme, Web-Anwendungen und Remote-Agenten.
- Vorteil: Kompatibel mit bestehender Web-Infrastruktur. Unterstützt Standard-Auth-Methoden wie Bearer-Tokens, API-Keys und Custom Header.
Frameworks zur Entwicklung eigener MCP-Server
Für die Entwicklung maßgeschneiderter MCP-Server haben sich folgende Frameworks etabliert:
| Framework | Sprache | Fokus & Eigenschaften |
|---|---|---|
| FastAPI-MCP | Python | Leichtgewichtiges Framework basierend auf FastAPI. Ideal für Rapid Development, unterstützt asynchrone Verarbeitung (AsyncIO). |
| Magic UI MCP | TypeScript | Fokus auf UI-Komponenten-Generierung und Agenten-Orchestrierung. |
| Cloudflare MCP | JS/WASM | Spezialisiert auf Serverless Environments (Cloudflare Workers). Ermöglicht den Betrieb von MCP-Servern an der Edge. |
Wichtige "Out-of-the-Box" MCP-Server
Es existiert bereits eine Vielzahl vorgefertigter Server, die direkt deployed werden können (siehe MCP-Servers Repository):
Sicherheit und Authentifizierung
Da MCP-Server Zugriff auf sensible Daten gewähren, ist das Sicherheitsmodell entscheidend. Die Spezifikation empfiehlt für Remote-Verbindungen (SSE):
- OAuth 2.1 & OpenID Connect (OIDC): Der MCP-Server validiert JWT Access Tokens als OAuth Resource Server.
- Role-Based Access Control (RBAC): Berechtigungen basieren auf Token Claims.
- Proof Key for Code Exchange (PKCE): Zur Absicherung des Token-Austauschs.
Retrieval-Augmented-Generation (RAG)
Retrieval-Augmented-Generation (kurz RAG) ist ein komplexer Service, bei dem zu einem Prompt (Anfrage des Benutzers) Wissen aus vorhandenen Datenquellen selektiert, das als Faktenwissen innerhalb eines LLMs ggf. nicht enthalten ist. Der Prompt wird daher um das selektierte Wissen erweitert. Sowohl für das Retrieval, als auch für das Augmentation gibt es zahlreiche Umsetzungsmuster, die innerhalb eines RAG angewandt werden können, um das gewünschte Ergebnis zu erzeugen.
Als Datenquellen werden je Aufgabe Vektor-Datenbanken, Graphen-Datenbanken, SQL-Datenbanken und Indexe (BM25) eingesetzt. Der Einsatz eines RAG bedingt einer vorgelagerten Data-Pipeline, mithilfe derer das Wissen geeignet aufbereitet und in die ausgewählte Datenquelle überführt werden kann.

RAG hat sich in den letzten zwei Jahren von einer einfachen Suche, basierend auf Vector-Similarity (semantische Ähnlichkeit zwischen Text-Chunks), hin zu komplexeren graphenbasierten Verfahren weiterentwickelt.
Kandidaten für die Implementierung
| RAG | Lizenz | Einsatzzweck | Skalierbarkeit | Beschreibung |
|---|---|---|---|---|
| GraphRAG Arxiv | MIT Licence | Produktion | -- | GraphRag basierte Ansätze nutzen strukturiertes Wissen. Dazu muss das Wissen im Vorfeld aus den Daten extrahiert und in Form eines Wissensgraphen aufbereitet werden. Auf einen Wissensgraphen gespeichert in einer Graphendatenbank kann mittels Cipher-Abfragen zugegriffen werden. Hierzu muss die vom Nutzer des RAG gestellte Frage mittels LLM in eine geeignete Cipher-Abfrage umgewandelt werden. Das bedeutet, dass aus der Frage des Benutzers Entitäten und Beziehungen extrahiert werden, um damit innerhalb der Wissensdatenbank zu suchen. GraphRag setzt zusätzlch das Leiden Community Detection Clustering-Verfahren ein, um Knoten im Wissengraphen zu clustern. Auf diese Weise werden zusätzliche Knoten erzeugt, welche mit einer Zusammenfassung versehen werden. Dies ermöglicht sowohl eine lokale Suche (Knoten im Wissensgraph) als auch eine globale Suche (Cummunities). Vor- und Nachteile: GraphRags neigen zu Information-Overflow, also zu viele Informationen als Antwort zu liefern. Zudem ist die Aufbereitung des Wissensgraph in der Regel ein kostspieliger Prozess. Von Vorteil ist, dass die Aufbereitung inkrementell erfolgen kann. |
| LigthRAG Arxiv | MIT Licence | Vor-Produktion | -- | LightRAG implementiert einen Index-Graph (als Wissensgraph), um damit die Performanz zu verbessern. In einem Deduplication-Schritt werden zudem redundante Knoten und Kanten zusammengeführt. Durch die Kombination von Graphenstrukturen mit Vektordarstellungen wird ein tieferen Einblick in die Zusammenhänge zwischen den Entitäten gewährt. Dies ermöglicht es dem Suchalgorithmus, sowohl lokale als auch globale Schlüsselwörter effektiv zu nutzen. Dadurch wird der Suchprozess effizienter und die Relevanz der Ergebnisse verbessert. |
| Haystack (deepset-ai) | Apache License 2.0 | Produktion | Ausgelegt für die Bearbeitung großer Dokumentenbestände | Haystack ist ein RAG-Framework, das Abfragen, Einbettungsmodelle und LLMs orchestriert. Der primäre Fokus liegt auf hoch performanten Suchsystemen. |
| RAGFlow (infiniflow) | Apache License 2.0 | -- | -- | -- |
| txtai (neuml) | Apache License 2.0 | Produktion | -- | -- |
| STORM Arxiv | MIT Licence | Vor-Produktion | -- | STORM ist ein System, das Wikipedia-ähnliche Artikel auf der Grundlage einer Internetsuche von Grund erstellt. Co-STORM hat seine Funktion um ein kollaboratives System verbessert. |
| R2R | MIT Licence | Produktion | -- | -- |
| LangChain | MIT Licence | Produktion | eingeschränkt | Das primäre Ziel von LangChain ist es, die Entwicklung komplexer LLM-Anwendungen zu vereinfachen. Es verfolgt einen modularen Ansatz und basiert auf sogenannten Chains (Ketten), die weitgehend dem Pipe & Filter Muster genügen. |
| LlamaIndex | MIT Licence | Produktion | -- | Das primäre Ziel von LlamaIndex ist es den Indexing-Prozess zu optimieren. Also das Chunken und Einbetten von Text mittels Einbettungsmodellen und Vektordatenbanken. |
Agent
Ein Agent ist ein Service, der autonom oder semi-autonom eine Aufgabe erfüllt. Die Aufgaben-Steuerung kann entweder durch eine SOP (Standard Operating Procedure) vorgegeben werden oder mittels LLM in einem Planungs-Task erzeugt werden. Ein Agent kann sich dann je nach Aufgabe anderer Services bedienen.
Vertikale Agenten sind spezialisierte Agenten die neben dem LLM, das zur Aufgaben-Steuerung verwendet wird zusätzlich über ein Kurzzeit-Gedächtnis, geeignete Tools (mit dem sie ihre Außenwelt verändern können) und weitere kognitive Fähigkeiten verfügen.

KI-Agenten-Frameworks können anhand zwei unterschiedlicher Kriterien bewertet werden:
- Grad an Abstraktionsschichten, auf denen sie aufbauen.
- Automatisierungs-Autonomie: Wie stark werden Arbeitsabläufe vorgegeben bzw. dürfen diese durch das LLM bestimmt werden.
Im Folgenden unterscheiden wir zwischen Frameworks zum Bau einzelner Agenten und Frameworks zur Orchestrierung/Kollaboration mehrerer Agenten.
| Agent Framework | Lizenz | Einsatzzweck | Skalierbarkeit | Beschreibung |
|---|---|---|---|---|
| LangChain | MIT Licence | Produktion | eingeschränkt | Bietet umfangreiche "Reasoning"-Module und Tooling-Integrationen, um Agenten zu erstellen. Eher "Code-first" Ansatz mit hoher Flexibilität. |
| Pydantic AI | MIT Licence | Produktion | -- | Während Pydantic als Validation Layer von vielen Frameworks verwendet wird, erweitert Pydantic AI diesen Type-checking Mechanismus auf Agenten. Die Abstraktionen des Frameworks sind auf ein Minimum reduziert ("Model-agnostic, Type-safe"). |
| smolagents Hugging Face | Apache License 2.0 | Produktion | -- | Ein minimalistisches Framework von HuggingFace, das Code-Agenten (Agenten, die Python-Code schreiben statt JSON zu parsen) fokussiert. Sehr leichtgewichtig. |
Collaboration (Multi-Agent Systems)
Wenn Aufgaben zu komplex für einen einzelnen Agenten werden, kommen Multi-Agenten-Systeme zum Einsatz. Hierbei arbeiten spezialisierte Agenten zusammen.
| Orchestration | Lizenz | Einsatzzweck | Skalierbarkeit | Beschreibung |
|---|---|---|---|---|
| LangGraph | MIT Licence | Produktion | Hoch | Erweiterung von LangChain, die Agenten als Graphen (Nodes & Edges) modelliert. Ermöglicht zyklische Abläufe (Loops), Persistenz (Memory) und komplexe State-Machines. Ideal für Produktions-Workflows, bei denen Kontrolle wichtiger ist als reine Autonomie. |
| CrewAI | MIT / Enterprise | Produktion | Mittel | Fokussiert auf rollenbasierte Agenten-Teams (z.B. "Researcher", "Writer"). Sehr intuitiv für kollaborative Workflows, bei denen Agenten Aufgaben aneinander delegieren. |
| AutoGen | CC-BY-4.0 / MIT | Produktion | Hoch | Ein Framework von Microsoft, das auf Konversationen zwischen Agenten basiert. Unterstützt sehr komplexe Interaktionsmuster und "Human-in-the-loop". |
| OpenAI Swarm | MIT Licence | Experimentell | -- | Ein leichtgewichtiges, edukatives Framework von OpenAI, das das "Handoff"-Muster (Übergabe von einem Agenten zum nächsten) demonstriert. Nicht für die Produktion empfohlen, aber wichtiges Referenz-Design. |
| n8n GitHub | Fair-code (Proprietär) | Produktion | Hoch | Low-Code Workflow-Automation, die zunehmend native KI-Agenten-Knoten und LangChain-Integrationen bietet. Ideal für die visuelle Orchestrierung. |