High-Level-Architektur
Das Migrations-Tool zur KI-gestützten Modernisierung von Fachverfahren besteht aus drei aufeinander aufbauenden Bausteinen: Pre-Processing, Processing und Post-Processing. Diese Bausteine bilden eine durchgängige Pipeline von der Analyse der Legacy-Applikation bis zur Bereitstellung der modernisierten Web-Version.
Architekturübersicht
Die Gesamtarchitektur folgt einem Pipeline-Ansatz, bei dem Legacy-Anwendungen systematisch analysiert, transformiert und validiert werden.
Agentic Coding System
Das Agentic Coding System ist ein autonomes, KI-gestütztes Ausführungssystem. Es orchestriert spezialisierte KI-Agenten entlang definierter Workflows und führt technische Aufgaben selbstständig aus – von der Code-Analyse über Refactoring bis hin zu Testing und Dokumentation. Das System läuft containerisiert in isolierten Ausführungsumgebungen und kommuniziert über standardisierte Schnittstellen.
Charakteristiken:
- Open-Source-Basis: Transparenz und Anpassbarkeit.
- Isolation: Containerisierte Ausführung in einer sicheren Sandbox-Umgebung.
- Konnektivität: Tool-Integration via MCP-Server (z. B. für Filesystem-Zugriff, Playwright, Context7).
- Flexibilität: Konfigurierbare Modellanbindung (LLM-Agnostik).
KI-Modell-Integration (LiteLLM)
Die Anbindung an KI-Modelle erfolgt über LiteLLM. Diese Open-Source-Bibliothek dient als Abstraktions- und Routing-Schicht (API Gateway) für unterschiedliche LLM-Provider (OpenAI, Anthropic, Azure, lokale Modelle via Ollama etc.).
Vorteile:
- Vereinheitlichte API-Zugriffe (OpenAI-Format).
- Zentrales Logging & Monitoring.
- Kostenkontrolle & Budgetierung.
- Fallback-Strategien (z. B. Wechsel auf anderes Modell bei Ausfall).
Beispielhaft unterstützte Modelle:
- Anthropic Claude 4 Sonnet
- OpenAI GPT-4o / GPT-4o-mini
- OpenAI GPT-5
Datenhaltung
Die persistente Datenhaltung erfolgt in spezialisierten Systemen, um den unterschiedlichen Anforderungen an Struktur und Semantik gerecht zu werden:
- PostgreSQL: Speicherung der relationalen Daten der migrierten Anwendungen sowie Konfigurationsdaten.
- Neo4j: Haltung von Wissens- und Abhängigkeitsgraphen (GraphRAG) zur Abbildung der Code-Struktur.
- Qdrant: Speicherung vektorieller Repräsentationen (Embeddings) für die semantische Suche im Code und in der Dokumentation.
ℹ️ Anmerkung: Weitere Details zum Datenmanagement, wie Datenflüsse oder Schema-Definitionen, sind im Datenmanagement-Dokument beschrieben.