<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>Real-Life-Projekte &#8211; SaM Solutions</title>
	<atom:link href="https://sam-solutions.de/blog/category/real-life-projekte/feed/" rel="self" type="application/rss+xml" />
	<link>https://sam-solutions.de</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 11:26:35 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>
	<item>
		<title>Testing eines LLM-Chatbots in einem MCP-System</title>
		<link>https://sam-solutions.de/blog/testing-eines-llm-chatbots-in-einem-mcp-system/</link>
					<comments>https://sam-solutions.de/blog/testing-eines-llm-chatbots-in-einem-mcp-system/#respond</comments>
		
		<dc:creator><![CDATA[Mikhail Sinkin]]></dc:creator>
		<pubDate>Thu, 04 Jun 2026 09:25:02 +0000</pubDate>
				<guid isPermaLink="false">https://sam-solutions.com/?post_type=article&#038;p=41540</guid>

					<description><![CDATA[(Wenn Sie Videoinhalte bevorzugen, sehen Sie sich bitte die kurze Videozusammenfassung dieses Artikels unten an.) Einführung: Der Paradigmenwechsel in der Qualitätssicherung für LLM-basierte Systeme&#160; Das Testen eines LLM-Chatbots innerhalb eines MCP-basierten Systems unterscheidet sich grundlegend vom Testen klassischer Software. Traditionelle Systeme sind deterministisch: Derselbe Input führt stets zum selben Output. Bei einer typischen REST-API liefert [&#8230;]]]></description>
										<content:encoded><![CDATA[<span id="more-41540"></span>
<!--noteaser-->



<iframe style="margin: 0;" width="100%" height="115" scrolling="no" frameborder="no" allow="autoplay" title="Testing eines LLM-Chatbots in einem MCP-System"

src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/soundcloud%253Atracks%253A2333109356&#038;color=%23ff5500&#038;auto_play=false&#038;hide_related=false&#038;show_comments=false&#038;show_user=false&#038;show_reposts=false&#038;show_teaser=false"> </iframe>


<p style="font-size:14px;"> <em>(Wenn Sie Videoinhalte bevorzugen, sehen Sie sich bitte <a href="#video-content">die kurze Videozusammenfassung</a> dieses Artikels unten an.)</em> </p>




 
    
    <div class="editor-content editor-content_style_1 editor-content_index_1">
        
    
    <div class="editor-content__descr">
        <div class="wysiwyg-editor"><h2>Wichtige Erkenntnisse</h2>
<ul>
<li><strong>Determinismus gilt nicht mehr</strong>: Das Testen von LLM-Chatbots verschiebt sich von exakten Gleichheitsprüfungen hin zu probabilistischen, semantischen Validierungen, bei denen mehrere korrekte Antworten auf dieselbe Eingabe existieren können.</li>
<li><strong>Die Architektur bestimmt die Testkomplexität</strong>: MCP-Orchestrierung, RAG-Pipelines, Tool-Aufrufe und Streaming-Antworten erzeugen mehrere potenzielle Fehlerquellen, wodurch die Ursachenanalyse zwangsläufig mehrschichtig wird.</li>
<li><strong>Die Validierung muss mehrdimensional sein</strong>: Die Kombination aus Must-have-, Must-not- und semantischen Ähnlichkeitsprüfungen ist entscheidend, um Flexibilität und Kontrolle auszubalancieren und Halluzinationsrisiken zu reduzieren.</li>
<li><strong>Testergebnisse sind kontext- und konfigurationsabhängig</strong>: Modellversion, Prompt-Design, Inference-Parameter und Gesprächshistorie beeinflussen die Ergebnisse, weshalb kontinuierliches Tuning und iterative Anpassung der Tests erforderlich sind.</li>
</ul>
</div>
    </div>
    </div>
    



<h2 class="wp-block-heading">Einführung: Der Paradigmenwechsel in der Qualitätssicherung für LLM-basierte Systeme&nbsp;</h2>



<p class="wp-block-paragraph">Das Testen eines LLM-Chatbots innerhalb eines MCP-basierten Systems unterscheidet sich grundlegend vom Testen klassischer Software. Traditionelle Systeme sind deterministisch: Derselbe Input führt stets zum selben Output. Bei einer typischen REST-API liefert eine Anfrage entweder die erwartete JSON-Payload oder eben nicht. Die Assertions sind dabei klar und eindeutig.</p>



<p class="wp-block-paragraph">Ein Chatbot, der auf einem großen Sprachmodell basiert, verhält sich anders. Das Testen von Outputs eines Large Language Models (LLM) erfordert einen fundamentalen Paradigmenwechsel. Die Annahmen, die Softwaretests seit Jahrzehnten geprägt haben — Determinismus, exakte Reproduzierbarkeit und binäre Zustandsvalidierung — brechen im Kontext generativer KI zusammen.</p>



<p class="wp-block-paragraph">Um die Komplexität des Testens solcher Anwendungen zu verstehen, müssen wir zunächst die zugrunde liegende Architektur betrachten, erklären, warum klassische Assertions versagen, und die einzigartigen, kontextabhängigen Fallstricke und Besonderheiten analysieren.</p>



<h2 class="wp-block-heading">Überblick über die Systemarchitektur</h2>



<p class="wp-block-paragraph">Ein moderner LLM-basierter Chatbot ist im Kern ein komplexes, mehrschichtiges verteiltes System, in dem jede Komponente neue Variablen in die Testgleichung einbringt.</p>



<p class="wp-block-paragraph">Wenn ein Benutzer einen Prompt absendet, durchläuft dieser mehrere kritische serverseitige Komponenten, bevor eine Antwort erzeugt wird. Zunächst wird die Eingabe häufig von einem Orchestrator oder Reasoning-Engine verarbeitet. In Enterprise-Umgebungen wie unserer kommt hier typischerweise das Model Context Protocol (MCP) zum Einsatz. MCP ermöglicht es dem LLM, sicher mit externen Datenquellen und internen Tools zu interagieren, ohne Integrationen fest zu verdrahten.</p>



<p class="wp-block-paragraph">Parallel dazu nutzt das System ein <a href="/blog/rag-llm-architektur/">Retrieval-Augmented-Generation</a>-Muster. Bevor das LLM eine Antwort generiert, wird die Benutzeranfrage eingebettet und an eine Vektordatenbank gesendet, um semantisch relevante Kontexte abzurufen. Dieser abgerufene Kontext wird zusammen mit Systemanweisungen und dem Chatverlauf dynamisch in einen versteckten Meta-Prompt eingefügt. Erst dann wird die Nutzlast an die Inference-Engine (die Model-Serving-Schicht) gesendet. Schließlich generiert das LLM Token sequenziell, die über eine persistente Verbindung, etwa WebSockets mittels SignalR, an den Client gestreamt werden.</p>



<h2 class="wp-block-heading">Herausforderung</h2>



<p class="wp-block-paragraph">Diese architektonischen Entscheidungen wirken sich direkt auf die Testbarkeit aus. Wenn man den „Chatbot“ testet, testet man gleichzeitig die Retrieval-Mechanismen, die Orchestrierungsschicht und das generative Modell selbst. Deshalb haben Fehler in einer solchen Umgebung selten nur eine einzige Ursache.</p>



<p class="wp-block-paragraph">Wenn der Chatbot eine falsche Antwort liefert, kann die Ursache unter anderem sein:</p>



<ul class="wp-block-list">
<li>die Retrieval-Komponente hat irrelevante Dokumente zurückgegeben</li>



<li>der Prompt ist für die jeweiligen Use Cases nicht optimal optimiert</li>



<li>das richtige Dokument wurde zwar gefunden, aber vom Modell ignoriert</li>



<li>das Modell hat Informationen erfunden, die nicht im Kontext vorhanden waren</li>



<li>der Chatbot hat kein Tool aufgerufen, um eine bestimmte Aktion auszuführen oder die benötigten Daten abzurufen</li>



<li>das Tool hat einen Fehler zurückgegeben, der nicht an das Modell weitergegeben wurde</li>



<li>das Kontextfenster hat relevante Informationen abgeschnitten</li>
</ul>



<p class="wp-block-paragraph">Der Chatbot arbeitet zudem innerhalb einer Konversation. Eine Antwort kann von vorherigen Gesprächsverläufen, abgerufenen Dokumenten, System-Prompts und Tool-Ausgaben abhängen. Das Testen eines einzelnen Prompts in Isolation reproduziert daher nicht immer das Verhalten, das in realen Gesprächen auftritt.</p>



<p class="wp-block-paragraph">Der geschäftliche Kontext erhöht den Druck zusätzlich. In diesem System erscheint der Chatbot auf der Website eines Unternehmens und beantwortet Fragen potenzieller Kunden zur Erfahrung und zu Projekten des Unternehmens. Wenn der Bot Projekte erfindet oder eine Anfrage falsch versteht, geht der Schaden über bloß falsche Informationen hinaus. Er kann aktiv eine erfolgreiche Lead-Bearbeitung simulieren, indem er bestätigt, dass eine Kontaktanfrage oder ein Formular an das Vertriebsteam gesendet wurde, obwohl tatsächlich kein nachgelagerter Prozess ausgelöst wurde. Das Ergebnis ist ein unterbrochener Conversion-Flow: Der Nutzer glaubt, dass eine Übergabe an einen menschlichen Agenten stattgefunden hat, während kein Lead erfasst wird, keine Benachrichtigung ausgelöst wird und kein Follow-up jemals erfolgt!</p>



<p class="wp-block-paragraph">Aus diesem Grund erforderte das Testing eine Kombination aus klassischen QA-Techniken und Bewertungsmethoden, die speziell für LLM-Systeme entwickelt wurden.</p>



<h3 class="wp-block-heading">Grundlegende Unterschiede beim Testen von LLM-Output vs. deterministischen Systemen</h3>



<p class="wp-block-paragraph">CKlassisches Softwaretesten basiert auf Determinismus: Gegeben Zustand <em>A</em> und Input <em>B</em> erwartet man, dass das System Output <em>C</em> zurückliefert. Wenn stattdessen <em>D</em> zurückkommt, wird ein Bug gemeldet.</p>



<p class="wp-block-paragraph">LLMs sind inhärent probabilistisch. Sie berechnen eine Wahrscheinlichkeitsverteilung über die nächsten möglichen Tokens in einer Sequenz. Dadurch können identische Eingaben unterschiedliche Ausgaben erzeugen. Diese Nicht-Deterministik zerstört klassische Regression-Testing-Workflows. Wenn man eine exakte Gleichheitsprüfung schreibt, die erwartet, dass der Bot sagt: „Die Anwendung ist eine <a href="/leistungen/web-app-entwicklung/">webbasierte</a> SaaS-Plattform“, und der Bot antwortet stattdessen: „Die Software ist eine online bereitgestellte Plattform im SaaS-Modell“, der deterministische Test schlägt fehl.&nbsp;</p>



<p class="wp-block-paragraph">Hier entsteht das Problem der semantischen Korrektheit. Die Ausgabe eines LLM kann grammatikalisch anders sein, andere Begriffe verwenden und völlig unterschiedlich strukturiert sein, und dennoch zu 100 % faktisch korrekt und gültig bleiben.</p>



<p class="wp-block-paragraph">Aus diesem Grund brechen traditionelle Bug-Klassifikation und Reproduzierbarkeits-Workflows zusammen. Ein QA Engineer kann schwer ein „Steps to reproduce“-Ticket für eine LLM-Halluzination erstellen, da dieselben Schritte fünf Minuten später bereits eine perfekte Antwort liefern können.</p>



<h3 class="wp-block-heading">Konfigurationsabhängige Natur des Systemoutputs</h3>



<p class="wp-block-paragraph">Selbst wenn man fortgeschrittene semantische Tests einsetzt, müssen QA-Teams ein Minenfeld konfigurationsabhängiger Variablen navigieren, das Test-Suites besonders fragil macht.</p>



<p class="wp-block-paragraph">Zunächst ist die Testgültigkeit eng an spezifische Modellversionen gekoppelt. Unterschiedliche Modelle haben jeweils ihre eigenen Besonderheiten. Eine Test-Suite wird dadurch zu einer Momentaufnahme des erwarteten Verhaltens für ein bestimmtes Modell zu einem bestimmten Zeitpunkt.</p>



<p class="wp-block-paragraph">Zweitens wirken Inferenz-Parameter wie Temperature (die die Zufälligkeit steuert) und Top-P (die die Vielfalt des Vokabulars kontrolliert) als versteckte Testvariablen. Eine Suite, die bei Temperature 0.2 noch relativ stabil ist, kann bei Temperature 0.7 deutlich weniger deterministisch werden.</p>



<p class="wp-block-paragraph">Darüber hinaus sind diese Tests extrem empfindlich gegenüber Systemkonfigurationen. Kleine Anpassungen am System-Prompt – selbst scheinbar harmlose Formulierungsänderungen – können die nachgelagerten Outputs drastisch verändern.</p>



<p class="wp-block-paragraph">Dies führt zu einer dauerhaften Herausforderung: der Unterscheidung zwischen Systemregressionen und erwarteter Varianz. Wenn ein Test fehlschlägt, muss das Team klären, ob das System tatsächlich kaputt ist (z. B. die RAG-Datenbank ist ausgefallen) oder ob das Modell lediglich eine statistisch unwahrscheinliche, aber dennoch akzeptable Antwortvariation erzeugt hat, die der semantische Evaluator nicht korrekt abgedeckt hat.</p>



<p class="wp-block-paragraph">Schließlich führen Multi-Turn-Konversationen zu einer starken Zustandsverschmutzung. Da das Modell auf dem Gesprächsverlauf basiert, kann eine ungenaue Antwort in Turn eins den Kontext des LLM für Turn drei verfälschen. Das Testen von Multi-Turn-Flows erfordert daher das Isolieren des Zustands, das sorgfältige Management des Konversationskontexts und eine kontinuierliche Re-Validierung der gesamten Suite, während sich das System weiterentwickelt.</p>



<p class="wp-block-paragraph">Damit erfasst ein Test nur ein eingeschränktes Beobachtungsfenster: eine einzelne Verhaltensschnittebene, erzeugt durch eine bestimmte Modellversion, Decoding-Konfiguration, System-Prompt, Eingabeprompt sowie Retrieval- und Konversationszustand. Sie stellt eine einzelne Trajektorie durch einen wesentlich größeren probabilistischen Raum möglicher Ausgaben dar.</p>



<h2 class="wp-block-heading">Funktionales Testing</h2>



<p class="wp-block-paragraph">Zunächst wurde eine Liste von Use Cases erstellt. <a href="/leistungen/qa-dienstleistungen/funktionstests-dienstleistungen/">Das funktionale Testing</a> begann mit den wichtigsten Benutzerszenarien, die auf der Website erwartet werden.</p>



<p class="wp-block-paragraph">Typische Fragen waren unter anderem:</p>



<ul class="wp-block-list">
<li>Erfahrung in bestimmten Branchen</li>



<li>verwendete Technologien für <a href="/leistungen/back-end-entwicklung/">Backend</a>&#8211; oder <a href="/leistungen/front-end-entwicklung/">Frontend-Entwicklung</a></li>



<li>Beispiele früherer Projekte</li>



<li>grobe Projektschätzungen</li>



<li>Kontaktaufnahme mit dem Vertriebsteam</li>
</ul>



<p class="wp-block-paragraph">Besucher fragen in der Regel nach der Erfahrung des Unternehmens, den Technologien und bisherigen Projekten. Einige Gespräche führen auch zu Kontaktanfragen.</p>



<p class="wp-block-paragraph">Später wurde diese Liste zu Testfällen erweitert. Jeder Testfall ist strukturell wie ein klassischer Test aufgebaut, enthält jedoch spezifische Elemente, die für <a href="/leistungen/ki-software-entwicklung/">KI-basierte</a> Systeme charakteristisch sind. Es gibt Abschnitte, die beschreiben, was zwingend enthalten sein muss, was in der Antwort angemessen ist und was unter keinen Umständen enthalten sein darf.</p>



<p class="wp-block-paragraph">Eine Nutzerfrage wie „Haben Sie bereits <a href="/branchenkompetenzen/softwareentwicklung-fur-gesundheitswesen/">Healthcare-Plattformen</a> entwickelt?“ sollte eine Antwort liefern, die auf Portfolio-Daten aus der Wissensdatenbank basiert. Die Antwort sollte dabei reale Projekte erwähnen, falls solche existieren, und das Erfinden von Kunden vermeiden.</p>



<p class="wp-block-paragraph">Hier folgt die Geschichte, wie wir ein maßgeschneidertes, durchgängiges Python-basiertes Test-Harness entwickelt haben, das für die End-to-End-Validierung von Streaming-Chatbot-Antworten konzipiert ist.</p>



<h3 class="wp-block-heading">Die Herausforderung: WebSockets und nicht-deterministische Ausgaben</h3>



<p class="wp-block-paragraph">Der Chatbot streamt Tokens sequenziell über SignalR via WebSockets. Wir konnten nicht einfach einen HTTP-POST ausführen und eine JSON-Antwort auslesen. Daher haben wir ein modulares <a href="/leistungen/technologien/python-entwicklungsdienstleistungen/">Python</a>-Framework entwickelt, das in einen SignalR-Client, eine Evaluierungs-Engine und einen schlanken Test-Runner aufgeteilt ist.</p>



<p class="wp-block-paragraph">Es wurde unter Berücksichtigung des „Separation of Concerns“-Prinzips entworfen: Testdaten (JSON-basierte Testfälle und Validierungsregeln) sind von der Transportschicht (SignalR/WebSockets), der Interpretationslogik (NLP-Analyse) und dem Ausführungs-Runner entkoppelt.</p>



<h3 class="wp-block-heading">Erstellung des SignalR-Clients&nbsp;</h3>



<p class="wp-block-paragraph">Der erste Schritt bestand darin, die Kommunikation herzustellen. Da unser Chatbot über SignalR arbeitet, haben wir uns für die leichtgewichtige Python-Bibliothek websocket-client entschieden, anstatt schwere Browser-Automation-Tools wie Playwright oder Selenium einzubinden, da unser Ziel war, die<strong> </strong><a href="/leistungen/software-engineering/api-entwicklungsdienste/">API</a>-/Backend-Logik direkt zu testen (Integration/E2E-Ebene ohne UI-Overhead).</p>



<p class="wp-block-paragraph">SignalR hat dabei seine eigenen Besonderheiten. Es erfordert einen spezifischen JSON-Handshake ({“protocol”: “json”, “version”: 1}) und hängt am Ende jeder Payload ein sehr spezifisches Terminierungszeichen (\x1e) an.</p>



<p class="wp-block-paragraph">Unser Client-Skript stellt die WebSocket-Verbindung her, verwaltet den Handshake und geht anschließend in eine while True-Listening-Loop. Da das LLM seine Antwort in kleinen Daten-Chunks streamt, parst der Client eingehende ReceiveMessage-Events, konkateniert die Text-Chunks und wartet, bis er vom Server ein isComplete: True-Flag erhält. An diesem Punkt schließt er den Socket sauber und übergibt den vollständigen String an unseren Evaluator.</p>



<h3 class="wp-block-heading">Drei-Schichten-Validierungsstrategie</h3>



<p class="wp-block-paragraph">Nachdem wir den vollständigen Textstring vom Chatbot erhalten hatten, mussten wir entscheiden, ob er „korrekt“ ist. Wir haben ein dreistufiges Quality-Gate implementiert:</p>




 
    
    <div class="editor-list-step editor-list-step_style_1 editor-list-step_index_2">
        
    <div class="editor-list-step__items">
                                    <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">„Must-have“-Check (mit Synonymen)</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Auch wenn LLMs ihre Formulierungen variieren, gibt es oft harte geschäftliche Anforderungen daran, was zwingend erwähnt werden muss. Mithilfe eines JSON-basierten Testdaten-Ansatzes definieren wir must_have-Arrays. Um Flakiness zu vermeiden, haben wir eine Synonym-Engine gebaut.</p>
<p>Zum Beispiel: Wenn der Test verlangt, dass der Bot erwähnt, dass die Anwendung „web-based“ ist, mappen unsere Testdaten „web-based“ auf [“SaaS”, “online platform”, “web application”, “AJAX-based”]. Wenn der Bot einen dieser Begriffe verwendet, gilt die Assertion als bestanden.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">„Must-not“-Check (Halluzinationsvermeidung)</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Ebenso wichtig wie das, was der Bot sagt, ist das, was er nicht sagen darf. KI-Modelle sind anfällig für Halluzinationen. Wenn ein User nach einer Legacy-Accounting-Web-App fragt, sollte der Bot keine Features erfinden. Wir übergeben dem Framework ein must_not-Array mit Begriffen wie „mobile app“, „blockchain“ oder „AI analytics“. Wenn solche Begriffe erkannt werden, schlägt der Test sofort fehl.</p>
<p>Dieser Mechanismus bildet eine grundlegende Validierungsschicht. In den meisten Fällen liefert er stabile und vorhersagbare Ergebnisse, da er auf expliziten lexikalischen Einschränkungen basiert.</p>
<p>Diese Stabilität ist jedoch weiterhin oberflächlich. Zum Beispiel bedeutet das Fehlen eines Begriffs nicht automatisch Korrektheit. Wir mussten die Test-Suite mehrfach ausführen, um instabile Ergebnisse zu identifizieren, und das must_have-Set iterativ erweitern, bis die Ergebnisse ein zuverlässiges Niveau für die Interpretation erreichten.</p>
<p>Die schwächste Komponente in diesem Setup ist der must_not-Block selbst. Er geht davon aus, dass unerwünschtes Verhalten vollständig enumeriert werden kann. In der Praxis ist das unmöglich.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Semantische Ähnlichkeit (KI testet KI)</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Gleichzeitig muss berücksichtigt werden, dass selbst wenn alle Keywords vorhanden sind, die Satzstruktur vollständig falsch sein kann.</p>
<p>Um dieses Problem zu lösen, haben wir sentence-transformers integriert, basierend auf torch und scikit-learn. Wir verwenden das Modell all-MiniLM-L6-v2 — ein schnelles, leichtgewichtiges NLP-Modell, ideal zur Berechnung von Sentence-Embeddings.</p>
<p>Beim Testlauf nehmen wir die generierte Antwort des Bots und eine vordefinierte expected_answer aus unseren JSON-Testfällen (im Grunde direkt aus der Datenquelle). Beide Texte werden in hochdimensionale Vektor-Embeddings umgewandelt, und anschließend berechnen wir die Cosine Similarity. Wenn der Wert unter 0.70 fällt (70 %, ein empirisch bestimmter Wert nach mehreren Iterationen), schlägt der Test fehl. Dadurch kann der Bot völlig unterschiedliche Satzstrukturen und Wortwahl verwenden und dennoch bestehen, solange die grundlegende semantische Bedeutung erhalten bleibt.</p>
<p>Ein Test gilt nur dann als bestanden, wenn alle drei Ebenen erfüllt sind.</p>
</div>
                        </div>
                                    </div>  
                        
    </div>
    </div>
    



<h3 class="wp-block-heading">Entkopplung von Logik und Daten: Die JSON-Testfallstruktur&nbsp;</h3>



<p class="wp-block-paragraph">Eine der wichtigsten architektonischen Entscheidungen, die wir früh getroffen haben, war die strikte Trennung der Testausführungslogik von den Testdaten und Validierungsregeln. Anstatt Test-Szenarien direkt in Python-Skripte zu hardcoden, haben wir alles in eine strukturierte JSON-Datei ausgelagert.</p>



<p class="wp-block-paragraph">Dadurch entstand eine saubere Separation of Concerns: Der Python-Runner übernimmt das Wie (Transport und Interpretation), während die JSON-Datei das Was definiert (die Eingaben und die Quality Gates).</p>



<p class="wp-block-paragraph">Jeder Testfall ist ein in sich geschlossenes JSON-Objekt, das als umfassender Vertrag für eine spezifische Chat-Interaktion dient.</p>



<p class="wp-block-paragraph">Vorteile und Skalierbarkeit dieses Ansatzes:</p>



<ul class="wp-block-list">
<li><strong>Zero-Code-Onboarding:</strong> Der wichtigste Vorteil ist die Zugänglichkeit. Business-Analysten, Product Manager oder Junior-QA-Engineers können Testfälle schreiben, ändern und prüfen, ohne WebSockets, Python oder Sentence Transformers verstehen zu müssen. Sie passen einfach die JSON-Datei an.</li>



<li><strong>Horizontale Skalierbarkeit ohne Grenzen:</strong> Da der Runner über ein standardisiertes JSON-Array iteriert, erfordert das Skalieren der Test-Suite von 10 auf 10.000 Testfälle keinerlei architektonische Änderungen am zugrunde liegenden Python-Code.</li>



<li><strong>Versionskontrolle-freundlich:</strong> JSON-Dateien lassen sich in Git sehr gut diffen. Wir können exakt nachverfolgen, wann ein Synonym hinzugefügt wurde oder wann ein expected_answer aktualisiert wurde, um ein neues Produktfeature abzubilden.</li>
</ul>



<h3 class="wp-block-heading">Test-Runner und Reporting&nbsp;</h3>



<p class="wp-block-paragraph">Wir haben einen eigenen CLI-Runner entwickelt, der die test_cases.json-Datei parst und die Test-Suite ausführt.</p>



<p class="wp-block-paragraph">Zur Unterstützung beim Debugging haben wir colorama sowie reguläre Ausdrücke verwendet, um HTML-Tags zu entfernen und erkannte Keywords sowie Synonyme direkt in der Terminal-Ausgabe dynamisch in hellgrün hervorzuheben. Dadurch können QA-Engineers auf einen Blick visuell nachvollziehen, warum ein Test bestanden oder fehlgeschlagen ist.</p>



<p class="wp-block-paragraph">Abschließend werden Ausführungsmetriken (Test-ID, Pass/Fail-Status und Antwortdauer in Sekunden) kontinuierlich in eine Ergebnis-Logdatei geschrieben, wodurch wir Latenzzeiten und Regressionsmetriken über die Zeit hinweg nachverfolgen können.</p>



<h2 class="wp-block-heading">Ergebnisse</h2>



<p class="wp-block-paragraph">Das Testen KI-gestützter Systeme erfordert ein Denken jenseits traditioneller binärer Assertions.</p>



<p class="wp-block-paragraph">Der Einsatz dieses maßgeschneiderten Frameworks hat die Art und Weise, wie unser Team an AI-Qualitätssicherung herangeht, grundlegend verändert. Wir haben uns von der aufwendigen manuellen Testarbeit entfernt, die viele frühe KI-Projekte belastet, und sie durch eine stärker deterministische, datengetriebene Pipeline ersetzt.</p>



<p class="wp-block-paragraph">Durch die Kombination aus strenger Keyword-Validierung und semantischer Bewertung haben wir ein Sicherheitsnetz geschaffen, das sowohl flexibel als auch rigoros ist. Dies bildet die Grundlage für die Erhebung harter Metriken wie Latenz, Similarity-Scores und Halluzinations-Erkennungsraten.</p>



<h3 class="wp-block-heading">Was kommt als Nächstes?</h3>



<p class="wp-block-paragraph">Während die aktuelle Architektur Single-Turn-Anfragen sehr gut verarbeitet, liegt die nächste Herausforderung in zustandsbehafteten Multi-Turn-Konversationen. Wir können das Framework so weiterentwickeln, dass es mit langen kontextuellen Zuständen arbeitet und bewertet, wie gut sich der Bot an Fakten erinnert, die drei oder vier Nachrichten zuvor etabliert wurden. Darüber hinaus prüfen wir die Integration von dynamischen „LLM-as-a-Judge“-Mechanismen, bei denen ein zweites Modell als finaler Schiedsrichter für Chatbot-Antworten fungiert.</p>



<p class="wp-block-paragraph">Das System kann außerdem um Load- und Concurrency-Testing erweitert werden. Durch das Parallelisieren der Test-Suite über mehrere unabhängige Chat-Sessions hinweg können wir reale Nutzungsmuster simulieren und das Systemverhalten unter gleichzeitigen Anfragen evaluieren. Dadurch lassen sich Performance-Charakteristika wie Antwortlatenz, Durchsatz und Stabilität messen.</p>



<p class="wp-block-paragraph">Das Testen von KI erfordert es, die Komfortzone absoluter Deterministik zu verlassen. Indem man Frameworks baut, die ebenso intelligent und anpassungsfähig sind wie die Systeme, die sie evaluieren, kann QA aufhören, hinterherzulaufen, und beginnt, die Entwicklung zuverlässiger KI-Produkte aktiv mitzugestalten.</p>



<p class="wp-block-paragraph"><strong>Verwendete Technologien:</strong> Python, WebSockets, SignalR, PyTorch, Sentence Transformers (NLP), Scikit-learn, JSON, Regex.</p>



<div id="video-content" class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Testing eines LLM-Chatbots in einem MCP-System" width="500" height="281" class="lazyload" referrerpolicy="strict-origin-when-cross-origin" data-src="https://www.youtube.com/embed/URDp2hTL13A?feature=oembed"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope;  web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
</div></div>




 
    
    <div class="editor-media-text editor-media-text_style_1 editor-media-text_index_3">
        
<div class="editor-media-text__split">
    
                
        <div class="editor-media-text__left">
            <div class="editor-media-text__image">
                                
                                    <img fetchpriority="high" decoding="async" class="editor-media-text__img" src="https://sam-solutions.de/wp-content/uploads/cta-Nesterenko.png"
                                                                              
                            srcset="https://sam-solutions.de/wp-content/uploads/cta-Nesterenko.png 1x, https://sam-solutions.de/wp-content/uploads/cta-Nesterenko@2x.png 2x"
                                                  alt="Nesterenko QA Chief"
                         width="200" height="292">
                        
            </div>     
        </div>   
        
    <div class="editor-media-text__right">
                                      
            <div class="editor-media-text__title">
                <div class="h4">Benötigen Sie Unterstützung beim KI-Testing?</div>            </div>
                
                            
            <div class="editor-media-text__descr">
                <div class="wysiwyg-editor"><p>Das Testen von LLM-basierten Systemen erfordert mehr als klassische QA-Ansätze. Eine strukturierte Validierungsstrategie hilft dabei, Halluzinationen zu erkennen und die Zuverlässigkeit von Antworten in produktiven KI-Anwendungen zu verbessern.</p>
<p><strong>Siarhei Nestsiarenka, Chief QA</strong></p>
</div>
            </div>
                
                            
            <div class="editor-media-text__event">
                                    <div class="editor-media-text__button button button_style_1">
                        <a class="button__inner" href="https://sam-solutions.de/kontakt/">                                                            <div class="button__name">Project besprechen</div>
                                                        <div class="button__icon">
                                <svg class="button__icon-svg" xmlns="http://www.w3.org/2000/svg" width="32" height="12" viewBox="0 0 32 12" fill="none">
                                    <path d="M30.9834 5.50256C31.2581 5.77731 31.2581 6.22278 30.9834 6.49753L26.5062 10.9747C26.2315 11.2494 25.786 11.2494 25.5113 10.9747C25.2365 10.6999 25.2365 10.2545 25.5113 9.97977L29.491 6.00004L25.5113 2.02032C25.2365 1.74558 25.2365 1.30014 25.5113 1.02539C25.786 0.750651 26.2315 0.750651 26.5062 1.02539L30.9834 5.50256ZM0 5.29652H30.4859V6.70357H1.09781e-07L0 5.29652Z" fill="#FCFCFC"/>
                                </svg>
                            </div>
                        </a>                    </div>
                            </div>
            </div>
    
</div>    </div>
    



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://sam-solutions.de/blog/testing-eines-llm-chatbots-in-einem-mcp-system/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:content url="https://www.youtube.com/watch?v=URDp2hTL13A" medium="video">
			<media:player url="https://www.youtube.com/watch?v=URDp2hTL13A" />
			<media:title type="plain">Testing eines LLM-Chatbots in einem MCP-System</media:title>
			<media:description type="html"><![CDATA[Wie testet man einen LLM-Chatbot in einem MCP-basierten System? In diesem Video erklärt SaM Solutions anhand eines realen Projekts, warum klassische QA-Methoden bei generativer KI nicht mehr ausreichen und wie semantische Validierung, Halluzinationskontrolle und automatisiertes Testing in modernen KI-Systemen funktionieren.]]></media:description>
			<media:thumbnail url="https://i.ytimg.com/vi/URDp2hTL13A/maxresdefault.jpg" />
			<media:rating scheme="urn:simple">adult</media:rating>
		</media:content>
	</item>
		<item>
		<title>Interne KI-Bereitstellung für nahtlose Inhaltsübersetzung: Eine reale Projektgeschichte</title>
		<link>https://sam-solutions.de/blog/interne-ki-bereitstellung-fallstudie/</link>
					<comments>https://sam-solutions.de/blog/interne-ki-bereitstellung-fallstudie/#respond</comments>
		
		<dc:creator><![CDATA[Natallia Sakovich]]></dc:creator>
		<pubDate>Tue, 10 Mar 2026 15:00:00 +0000</pubDate>
				<guid isPermaLink="false">https://sam-solutions.com/?post_type=article&#038;p=34876</guid>

					<description><![CDATA[(Wenn Sie Videoinhalte bevorzugen, sehen Sie sich bitte die kurze Videozusammenfassung dieses Artikels unten an.) In heutigen mehrsprachigen Arbeitsumgebungen ist eine schnelle und zuverlässige Lokalisierung essenziell. Bei SaM Solutions haben wir uns kürzlich der Herausforderung gestellt, eine große Menge interner Inhalte ins Englische zu übersetzen, indem wir eine KI-gestützte Lösung implementiert haben. Diese Fallstudie beschreibt, [&#8230;]]]></description>
										<content:encoded><![CDATA[<span id="more-34876"></span>
<!--noteaser-->



<iframe style="margin: 0;" width="100%" height="115" scrolling="no" frameborder="no" allow="autoplay" title="Interne KI-Bereitstellung für nahtlose Inhaltsübersetzung: Eine reale Projektgeschichte" 

src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/soundcloud%253Atracks%253A2281036688&#038;&#038;color=%23ff5500&#038;auto_play=false&#038;hide_related=false&#038;show_comments=false&#038;show_user=false&#038;show_reposts=false&#038;show_teaser=false"> </iframe>


<p style="font-size:14px;"> <em>(Wenn Sie Videoinhalte bevorzugen, sehen Sie sich bitte <a href="#video-content">die kurze Videozusammenfassung</a> dieses Artikels unten an.)</em> </p>




 
    
    <div class="editor-content editor-content_style_1 editor-content_index_4">
        
    
    <div class="editor-content__descr">
        <div class="wysiwyg-editor"><h2>Wichtiges im Überblick</h2>
<ul>
<li><strong>SaM Solutions implementierte ein KI-gestütztes Übersetzungssystem</strong>, <strong>um automatisch mehr als tausend interne CMS-Seiten zu übersetzen</strong> und damit die operativen Herausforderungen der manuellen Übersetzung in einer wachsenden mehrsprachigen Umgebung zu bewältigen.</li>
<li>Ein selbst gehostetes Large Language Model (LLM) wurde gewählt, <strong>um maximale Datensicherheit zu gewährleisten</strong>, Abonnementkosten zu vermeiden, innerhalb des Unternehmens-Intranets zu laufen und eine tiefgehende Anpassung zu ermöglichen.</li>
<li><strong>Das Team entwickelte eine modulare Architektur, die in den Workflow des Umbraco-CMS integriert ist</strong> und Tools wie Hangfire für die Planung von Hintergrundjobs nutzt. So wird automatisierte Übersetzung mit manuellen redaktionellen Prüfungen kombiniert, wo dies erforderlich ist.</li>
<li>Das System <strong>übersetzte große Inhaltsmengen innerhalb weniger Stunden statt der geschätzten Wochen manueller Arbeit</strong> und zeigte damit deutliche Effizienzgewinne sowie hohe Skalierbarkeit.</li>
</ul>
</div>
    </div>
    </div>
    



<p class="wp-block-paragraph">In heutigen mehrsprachigen Arbeitsumgebungen ist eine schnelle und zuverlässige Lokalisierung essenziell. Bei SaM Solutions haben wir uns kürzlich der Herausforderung gestellt, eine große Menge interner Inhalte ins Englische zu übersetzen, indem wir eine <a href="/leistungen/ki-software-entwicklung/">KI-gestützte Lösung</a> implementiert haben. Diese Fallstudie beschreibt, wie unser Team ein lokal gehostetes Large Language Model (LLM) nutzte, um die Übersetzung direkt in unserem Content-Management-System (CMS) zu automatisieren und dabei Effizienz, Kosteneinsparungen und vollständige Datenkontrolle zu erreichen.</p>




 
    
    <div class="editor-list-cta editor-list-cta_style_1 editor-list-cta_index_5">
        
    <div class="editor-list-cta__items">
                                    
                    			    				<style>
    					.editor-list-cta_index_5 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-button {
            				            				
            				            				        							    background: linear-gradient(to right, #a067e8, #527eff);
    							            				    					}
    				</style>
    			    			
    			    			    				<style>
    					.editor-list-cta_index_5 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left {
    					    padding-left: 10px;
    					}
    					
    					.editor-list-cta_index_5 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left:before {
    					    left: 0;
    					    top: 50%;
    					    width: 3px;
    					    content: '';
    					    position: absolute;
    					    margin-left: -10px;
    					    height: calc(100% + 10px);
    					    transform: translateY(-50%);

            				            					    							    background: linear-gradient(45deg, #527eff, #a067e8);
    							            				    					}
    					
    					@media (max-width: 475px) {
    					    .editor-list-cta_index_5 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left:before {
    					        width: 2px;
                                margin-left: -3.5px;
    					    }
    					}
    				</style>
    			                
                    			    			        
    			
                    			
                                
                <div class="editor-list-cta__item editor-list-cta__item_index_1">
                    <div class="editor-list-cta__item-inner">
            		                		                                <div class="editor-list-cta__item-left">
                                                                                                    <div class="editor-list-cta__item-title"><p>Mit KI zum Erfolg – erleben Sie Marketing, das sich selbst optimiert.</p>
</div>
                                                	        </div>
            	        
            	                    	            <div class="editor-list-cta__item-right">
            	                                    	                                	                                	            <div class="editor-list-cta__item-event">
                    	                <div class="editor-list-cta__item-button button button_style_1">
                                            <a class="button__inner" href="https://sam-solutions.de/leistungen/ki-software-entwicklung/?utm_source=blog&#038;utm_medium=post_ID_34876&#038;utm_campaign=cta_post_content_23816">                                                <div class="button__name">MEHR ERFAHREN </div>
                                            </a>                                        </div>
                                    </div>    
                                                                        
            	            </div>
            	                	        </div>
                </div>
                        </div>
    </div>
    



<h2 class="wp-block-heading">Business-Need</h2>



<p class="wp-block-paragraph">Da SaM Solutions international weiter wächst, ist der Bedarf an mehrsprachiger Kommunikation zwischen den Abteilungen immer dringlicher geworden. Unser internes Portal, das auf dem <a href="/leistungen/portal-und-wcms-losungen/umbraco/">Umbraco CMS</a> basiert, dient als zentrale Plattform für Nachrichten, Artikel und Unternehmensupdates. Mit über tausend Seiten Inhalt in verschiedenen Sprachen (Englisch, Deutsch, Polnisch, Litauisch usw.) standen wir vor der operativen Herausforderung sicherzustellen, dass dieses Material für alle Mitarbeiter zugänglich ist – unabhängig von der Ausgangs- oder Zielsprache. Dafür war eine skalierbare Lösung für die Übersetzung zwischen allen Unternehmenssprachen erforderlich.</p>



<p class="wp-block-paragraph">Eine manuelle Übersetzung wurde geprüft, jedoch aufgrund des Umfangs des Materials und der Zeitbeschränkungen schnell verworfen. Wir benötigten eine automatisierte Lösung, die direkt in unser Unternehmensportal integriert werden kann, den Datenschutz wahrt und qualitativ hochwertige Ergebnisse mit minimalem manuellen Aufwand liefert.</p>



<h2 class="wp-block-heading">Warum wir uns für ein lokal bereitgestelltes LLM entschieden haben</h2>



<p class="wp-block-paragraph">Cloudbasierte Übersetzungsdienste wurden aufgrund von Bedenken hinsichtlich der Datenvertraulichkeit und laufender Abonnementkosten nicht in Betracht gezogen. Stattdessen entschieden wir uns für die Bereitstellung eines selbst gehosteten LLM. Hier sind einige der wichtigsten Vorteile dieses Ansatzes.</p>




 
    
    <div class="editor-list-icons editor-list-icons_style_1 editor-list-icons_index_6">
        
    <div class="editor-list-icons__items">
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Datensicherheit</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Die gesamte Verarbeitung erfolgt auf interner Infrastruktur ohne Einbindung von Drittanbietern, wodurch das Risiko eines Abflusses sensibler Daten verhindert wird.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/1-Data-privacy-3.svg"
                                                                                                  alt="Datensicherheit"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Geringere langfristige Kosten</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Nach der anfänglichen On-Premises-Einrichtung fallen keine wiederkehrenden Lizenzgebühren oder <a title="/leistungen/software-engineering/api-entwicklungsdienste/" href="https://sam-solutions.de/leistungen/software-engineering/api-entwicklungsdienste/" target="_blank" rel="noreferrer noopener">API-Abonnementkosten</a> an. Das Modell kann nach einer einmaligen Bereitstellung langfristig genutzt werden.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/2-8.svg"
                                                                                                  alt="Geringere langfristige Kosten"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Flexible Konfiguration</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Jeder Aspekt des Systems kann an spezifische Anforderungen angepasst werden. Es unterstützt sowohl lokal bereitgestellte KI-Modelle als auch Integrationen mit externen Anbietern wie OpenAI, sodass Modelle je nach Aufgabe und Infrastruktur ausgewählt, kombiniert oder gewechselt werden können.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/1-Flexibility.svg"
                                                                                                  alt="Flexible Konfiguration"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Intranetbasierte Lösung</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Das Modell läuft vollständig innerhalb des Unternehmens-Intranets und ermöglicht internen Teams schnellen und zuverlässigen Zugriff, ohne eine Internetverbindung zu benötigen. Dieses Setup entspricht strengen Netzwerkrichtlinien und unterstützt einen sicheren, unterbrechungsfreien Betrieb innerhalb interner Systeme.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/2-4.svg"
                                                                                                  alt="Intranetbasierte Lösung"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Vollständige Integration</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Ein lokal bereitgestelltes KI-Modell kann durch die Entwicklung von Model Context Protocols (MCP) direkt mit den internen Anwendungen des Unternehmens verbunden werden und so die Integration verschiedener Workflows sicherstellen.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/Integration-1.svg"
                                                                                                  alt="Vollständige Integration"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Individuelle Anpassung</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Das System ist vollständig konfigurierbar, um sich an sich verändernde Inhalts- und Sprachanforderungen anzupassen.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/Custom-tuning.svg"
                                                                                                  alt="Individuelle Anpassung"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Fine-Tuning</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Durch die lokale Bereitstellung erhalten wir die volle Kontrolle über den Trainingsprozess und können das Sprachmodell gezielt mit unseren domänenspezifischen Daten feinabstimmen. Dadurch versteht die KI interne Terminologie, Schreibstil und kontextspezifische Formulierungen besser.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/Fine-tuning.svg"
                                                                                                  alt="Fine-Tuning"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
            </div>
    </div>
    



<h2 class="wp-block-heading">Technische Umsetzung</h2>



<h3 class="wp-block-heading has-medium-font-size">Architektur</h3>



<p class="wp-block-paragraph">Wir entwickelten eine modulare und robuste Architektur, um KI-gestützte Übersetzungen nahtlos in unsere bestehende CMS-Infrastruktur zu integrieren. Das System identifiziert nicht übersetzte Dokumente, indem es die Umbraco-Metadaten nach Content-Typen wie News und Articles durchsucht. Jedem geeigneten Dokument wird ein eigener Übersetzungsjob zugewiesen, wodurch Nachverfolgbarkeit und eine isolierte Verarbeitung gewährleistet werden.</p>




 
    
    <div class="editor-list-articles editor-list-articles_style_1 editor-list-articles_index_7">
        
    <div class="editor-list-articles__items owl-carousel">
                                                                <div class="editor-list-articles__item">
                        <a class="editor-list-articles__item-inner" href="https://sam-solutions.de/blog/ai-und-computer-vision/">
                            <div class="editor-list-articles__item-picture">
                                                					                                            <img decoding="async" class="editor-list-articles__item-img owl-lazy" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="
                                             data-src="https://sam-solutions.de/wp-content/uploads/685x415.webp" width="685"
                                             height="415" alt="KI und Computer Vision: Die Zukunft der visuellen Intelligenz" />
                					                                                            </div>
                            <div class="editor-list-articles__item-content">
                                                                                                                                        <div class="editor-list-articles__item-cat">    
                                                                            	    KI &amp; Machine Learning                                    	                                    </div>
                                                                <div class="editor-list-articles__item-title">
                                    <div class="h5">KI und Computer Vision: Die Zukunft der visuellen Intelligenz</div>
                                </div>
                            </div>
                        </a>
                    </div>
                                                                            <div class="editor-list-articles__item">
                        <a class="editor-list-articles__item-inner" href="https://sam-solutions.de/blog/ki-assistent-fuer-automatisierte-lead-generierung/">
                            <div class="editor-list-articles__item-picture">
                                                    					<img decoding="async" class="editor-list-articles__item-img owl-lazy" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="
                							 data-src="https://sam-solutions.de/wp-content/uploads/fly-images/33309/blog-1464├u940-360x230.webp" data-src-retina="https://sam-solutions.de/wp-content/uploads/fly-images/33309/blog-1464├u940-720x460.webp"
                							 width="358" height="230"
                							 alt="Entwicklung eines KI-Assistenten-Prototyps zur automatisierten Lead-Identifikation und -Qualifizierung">
                					                                                            </div>
                            <div class="editor-list-articles__item-content">
                                                                                                                                        <div class="editor-list-articles__item-cat">    
                                                                            	    Real-Life-Projekte,                                     	                                    	    KI &amp; Machine Learning                                    	                                    </div>
                                                                <div class="editor-list-articles__item-title">
                                    <div class="h5">Entwicklung eines KI-Assistenten-Prototyps zur automatisierten Lead-Identifikation und -Qualifizierung</div>
                                </div>
                            </div>
                        </a>
                    </div>
                                                                            <div class="editor-list-articles__item">
                        <a class="editor-list-articles__item-inner" href="https://sam-solutions.de/blog/ki-entwicklungszyklus/">
                            <div class="editor-list-articles__item-picture">
                                                    					<img decoding="async" class="editor-list-articles__item-img owl-lazy" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="
                							 data-src="https://sam-solutions.de/wp-content/uploads/fly-images/17148/cover@2x-360x230.webp" data-src-retina="https://sam-solutions.de/wp-content/uploads/fly-images/17148/cover@2x-720x460.webp"
                							 width="360" height="230"
                							 alt="KI-Entwicklungszyklus – Ein umfassender Leitfaden">
                					                                                            </div>
                            <div class="editor-list-articles__item-content">
                                                                                                                                        <div class="editor-list-articles__item-cat">    
                                                                            	    KI &amp; Machine Learning,                                     	                                    	    Digitale Transformation                                    	                                    </div>
                                                                <div class="editor-list-articles__item-title">
                                    <div class="h5">KI-Entwicklungszyklus – Ein umfassender Leitfaden</div>
                                </div>
                            </div>
                        </a>
                    </div>
                        </div>
    </div>
    



<p class="wp-block-paragraph">Es wurde ein bedingter Veröffentlichungsablauf eingerichtet:</p>



<ul class="wp-block-list">
<li><strong>News-Beiträge</strong> (sofern sie in der Originalsprache veröffentlicht sind) werden nach erfolgreicher Übersetzung automatisch veröffentlicht.</li>



<li><strong>Artikel</strong> bleiben zunächst unveröffentlicht und werden zur manuellen Prüfung an zuständige Redakteure weitergeleitet. Der Grund dafür ist, dass Artikel in der Regel länger sind und häufig spezielle Terminologie enthalten (branchenspezifisch oder unternehmensspezifisch), wodurch eine höhere Übersetzungsgenauigkeit erforderlich ist. Dies ist besonders wichtig für Unternehmensrichtlinien, ISO-Dokumentation und andere sensible Materialien.</li>
</ul>



<p class="wp-block-paragraph">Dieser Ansatz schafft ein Gleichgewicht zwischen Automatisierung und Qualitätssicherung und ermöglicht eine schnelle Bereitstellung von Inhalten, während dort, wo es erforderlich ist, eine redaktionelle Kontrolle erhalten bleibt.</p>



<h3 class="wp-block-heading has-medium-font-size">Key Tools</h3>



<p class="wp-block-paragraph">Wir entschieden uns für Hangfire, eine robuste Job-Scheduling-Bibliothek für <a href="/leistungen/technologien/net-software-entwicklung/">.NET</a>, um Übersetzungs-Workflows zu verwalten. Hangfire bietet:</p>



<ul class="wp-block-list">
<li>Zuverlässige Ausführung von Hintergrundjobs,</li>



<li>Wiederholungslogik für fehlgeschlagene Aufgaben,</li>



<li>Ein integriertes UI-Dashboard zur Überwachung und Verwaltung des Jobstatus.</li>
</ul>



<p class="wp-block-paragraph">Um einen sicheren und komfortablen Zugriff zu gewährleisten, haben wir das Hangfire-Dashboard direkt in die Umbraco-CMS-Oberfläche eingebettet und mit internen Authentifizierungskontrollen konfiguriert.</p>



<p class="wp-block-paragraph">Um Hangfire an unsere spezifischen Anforderungen anzupassen, führten wir mehrere wichtige Erweiterungen ein:</p>



<ul class="wp-block-list">
<li><strong>Erweiterte Logging-Funktionen:</strong><strong><br></strong>Wir integrierten eine Logging-Bibliothek eines Drittanbieters in Hangfire, um eine detaillierte Überwachung und ein einfacheres Debugging von Hintergrundaufgaben zu ermöglichen.</li>



<li><strong>Erweiterung des Task-Managements:</strong><strong><br></strong>Wir entwickelten zusätzliche Funktionen, die es ermöglichen, bestimmte Aufgaben (z. B. Übersetzungsjobs) direkt in Hangfire manuell hinzuzufügen oder neu zu starten. Diese Steuerungen wurden nahtlos in das Hangfire-Dashboard integriert und geben uns mehr Kontrolle und Transparenz über unsere Job-Queue.</li>
</ul>



<p class="wp-block-paragraph">Übersetzungsjobs können so geplant werden, dass sie außerhalb der Hauptlastzeiten ausgeführt werden, um Ressourcenkonflikte zu minimieren und Störungen anderer interner Prozesse zu vermeiden. Dadurch können wir die Systemleistung aufrechterhalten und gleichzeitig große Inhaltsmengen effizient verarbeiten.</p>



<h2 class="wp-block-heading">Überwindung von Herausforderungen</h2>



<p class="wp-block-paragraph">Während der Entwicklung und <a href="/leistungen/qa-dienstleistungen/">Testphase</a> traten mehrere praktische Herausforderungen auf, die wir durch gezielte technische Entscheidungen angegangen sind.</p>




 
    
    <div class="editor-list-icons editor-list-icons_style_1 editor-list-icons_index_8">
        
    <div class="editor-list-icons__items">
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Umgang mit langen Dokumenten</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Lange Texte überschritten gelegentlich die optimale Eingabelänge des Modells. Um die Stabilität zu gewährleisten, implementierten wir einen Segmentierungsmechanismus, der Inhalte in Abschnitte unterteilt, die das ausgewählte Modell-Kontextfenster nicht überschreiten.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/4-Customization.svg"
                                                                                                  alt="Customization"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Umgang mit komplexem Format</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Artikel mit aufwendigem Markup oder eingebetteten HTML-Tags führten manchmal zu fehlerhaften oder „halluzinierten“ Ausgaben. Obwohl solche Fälle selten waren, implementierten wir einen Post-Translation-Validierungsschritt, der die Formatintegrität überprüft und Konsistenz sicherstellt. Bei einem Validierungsfehler erstellt das System automatisch einen Log-Eintrag und markiert den Inhalt zur manuellen Prüfung.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/2-4.svg"
                                                                                                  alt="Umgang mit komplexem Format"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Erkennung von Abkürzungen</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Bestimmte Inhalte bestanden aus kurzen Zeichenketten, wie Akronymen oder Produktcodes, die nicht übersetzt werden müssen. Ein Pre-Processing-Filter wurde hinzugefügt, um diese Fälle zu umgehen.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/Abbreviation-detection.svg"
                                                                                                  alt="Erkennung von Abkürzungen"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Prompt-Tuning</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Da die Qualität des Prompts entscheidend für die Übersetzungsgenauigkeit ist, stellten wir fest, dass selbst gut optimierte Prompts unvorhersehbare Ergebnisse liefern können. Wir verfeinern die Prompts kontinuierlich anhand beobachteter Sonderfälle.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/Prompt-tuning.svg"
                                                                                                  alt="Prompt-Tuning"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Retry-Logik</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Wenn ein Übersetzungsversuch fehlschlägt oder unvollständigen Inhalt liefert, wird der Job automatisch bis zu dreimal wiederholt. Fehler werden für Diagnosezwecke protokolliert.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/Retry.svg"
                                                                                                  alt="Retry-Logik"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Post-Processing-Checks</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Abgeschlossene Übersetzungen werden auf Fehlerindikatoren wie gemischte Sprachen oder nicht übersetzte Abschnitte geprüft. Diese werden zur manuellen Kontrolle markiert, um die Qualitätssicherung sicherzustellen.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/Post-processing-checks.svg"
                                                                                                  alt="Post-Processing-Checks"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
            </div>
    </div>
    




 
    
    <div class="editor-content editor-content_style_1 editor-content_index_9">
        
    
    <div class="editor-content__descr">
        <div class="wysiwyg-editor"><h2>Leistungskennzahlen</h2>
<p>Während der anfänglichen Einführung zeigte das System eine solide Leistung und konsistente Verarbeitung:</p>
<ul>
<li><strong>Verarbeitete Anfangsbatch:</strong> Mehr als 1.300 Dokumente erfolgreich übersetzt.</li>
<li><strong>Durchschnittliche Übersetzungszeit pro Dokument</strong> (unter 1.000 Wörtern): ca. 30 Sekunden.</li>
<li><strong>Lange Dokumente</strong> (über 1.000 Wörter): in der Regel in etwa 2 Minuten abgeschlossen.</li>
<li><strong>Seltene Ausreißer:</strong> Spitzenzeiten zwischen 5 und 6 Minuten.</li>
<li><strong>Betriebliche Effizienz:</strong> Die Übersetzungszeit für den gesamten Korpus wurde von geschätzten 2,5 Wochen manueller Arbeit auf wenige Stunden reduziert.</li>
</ul>
<p>Dieses Leistungsniveau entsprach unseren Erwartungen und bestätigte die Machbarkeit einer kontinuierlichen, automatisierten Lokalisierung für interne Content-Workflows.</p>
</div>
    </div>
    </div>
    



<h2 class="wp-block-heading">Ausblick</h2>



<p class="wp-block-paragraph">Um die Content-Lokalisierung weiter zu optimieren, planen wir die Entwicklung eines dedizierten Plugins für das Umbraco CMS. Dieses Plugin wird einen „Mit KI übersetzen“-Button direkt in der Redaktionsoberfläche einführen, sodass Benutzer Übersetzungsaufgaben mit einem Klick starten können.</p>



<p class="wp-block-paragraph">Die Lösung wird sowohl lokal gehostete als auch externe LLMs unterstützen und den Redakteuren die Flexibilität geben, die jeweils am besten geeignete Engine auszuwählen. Nach Fertigstellung planen wir, das Plugin über den offiziellen Umbraco-Marktplatz der breiteren Community zur Verfügung zu stellen.</p>



<h2 class="wp-block-heading">Fazit</h2>



<p class="wp-block-paragraph">Dieses Projekt zeigt, wie KI verantwortungsvoll und effektiv eingesetzt werden kann, um praktische geschäftliche Herausforderungen zu lösen. Durch die Kombination sorgfältiger Modellauswahl, robuster Systemarchitektur und durchdachter Integration in bestehende Workflows haben wir eine sichere und skalierbare Lösung geschaffen, die unsere internen Abläufe verbessert und uns auf zukünftige Anforderungen der Lokalisierung vorbereitet.</p>




 
    
    <div class="editor-media-text editor-media-text_style_1 editor-media-text_index_10">
        
<div class="editor-media-text__split">
    
                
        <div class="editor-media-text__left">
            <div class="editor-media-text__image">
                                
                                    <img decoding="async" class="editor-media-text__img" src="https://sam-solutions.de/wp-content/uploads/photo-Andrey-Kopanev.webp"
                                                                              
                            srcset="https://sam-solutions.de/wp-content/uploads/photo-Andrey-Kopanev.webp 1x, https://sam-solutions.de/wp-content/uploads/photo-Andrey-Kopanev-2x.webp 2x"
                                                  alt="Consulting on LLM deployment project"
                         width="200" height="292">
                        
            </div>     
        </div>   
        
    <div class="editor-media-text__right">
                                      
            <div class="editor-media-text__title">
                <div class="h4">Herausforderung bei Content-Lokalisierung?</div>            </div>
                
                            
            <div class="editor-media-text__descr">
                <div class="wysiwyg-editor"><p>Lokal gehostete KI-Modelle bieten die perfekte Lösung: schnell, sicher und vollständig unter Ihrer Kontrolle – für nahtlose Unternehmensübersetzungen.</p>
<p><strong>Andrey Kopanev, Senior .NET Developer, AI-Enthusiast</strong></p>
</div>
            </div>
                
                            
            <div class="editor-media-text__event">
                                    <div class="editor-media-text__button button button_style_1">
                        <a class="button__inner" href="https://sam-solutions.de/kontakt/">                                                            <div class="button__name">Starten Sie Ihr Projekt jetzt.</div>
                                                        <div class="button__icon">
                                <svg class="button__icon-svg" xmlns="http://www.w3.org/2000/svg" width="32" height="12" viewBox="0 0 32 12" fill="none">
                                    <path d="M30.9834 5.50256C31.2581 5.77731 31.2581 6.22278 30.9834 6.49753L26.5062 10.9747C26.2315 11.2494 25.786 11.2494 25.5113 10.9747C25.2365 10.6999 25.2365 10.2545 25.5113 9.97977L29.491 6.00004L25.5113 2.02032C25.2365 1.74558 25.2365 1.30014 25.5113 1.02539C25.786 0.750651 26.2315 0.750651 26.5062 1.02539L30.9834 5.50256ZM0 5.29652H30.4859V6.70357H1.09781e-07L0 5.29652Z" fill="#FCFCFC"/>
                                </svg>
                            </div>
                        </a>                    </div>
                            </div>
            </div>
    
</div>    </div>
    



<div id="video-content" class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Interne KI-Bereitstellung für nahtlose Inhaltsübersetzung: Eine reale Projektgeschichte" width="500" height="281" class="lazyload" referrerpolicy="strict-origin-when-cross-origin" data-src="https://www.youtube.com/embed/ZkBn43kVUKg?feature=oembed"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope;  web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
</div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://sam-solutions.de/blog/interne-ki-bereitstellung-fallstudie/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:content url="https://www.youtube.com/watch?v=ZkBn43kVUKg" medium="video">
			<media:player url="https://www.youtube.com/watch?v=ZkBn43kVUKg" />
			<media:title type="plain">Interne KI-Bereitstellung für nahtlose Inhaltsübersetzung: Eine reale Projektgeschichte</media:title>
			<media:description type="html"><![CDATA[In heutigen mehrsprachigen Arbeitsumgebungen ist eine schnelle und zuverlässige Lokalisierung essenziell. Bei SaM Solutions haben wir uns kürzlich der Herausforderung gestellt, eine große Menge interner Inhalte ins Englische zu übersetzen, indem wir eine KI-gestützte Lösung implementiert haben. Diese Fallstudie beschreibt, wie unser Team ein lokal gehostetes Large Language Model (LLM) nutzte, um die Übersetzung direkt in unserem Content-Management-System (CMS) zu automatisieren und dabei Effizienz, Kosteneinsparungen und vollständige Datenkontrolle zu erreichen.]]></media:description>
			<media:thumbnail url="https://i.ytimg.com/vi/ZkBn43kVUKg/maxresdefault.jpg" />
			<media:rating scheme="urn:simple">adult</media:rating>
		</media:content>
	</item>
		<item>
		<title>Wie wir ein Risikomanagementsystem für ein internationales Unternehmen entwickelt haben: Eine Projektgeschichte aus der Praxis</title>
		<link>https://sam-solutions.de/blog/risikomanagementsystem-fur-ein-internationales-unternehmen/</link>
					<comments>https://sam-solutions.de/blog/risikomanagementsystem-fur-ein-internationales-unternehmen/#respond</comments>
		
		<dc:creator><![CDATA[Natallia Sakovich]]></dc:creator>
		<pubDate>Thu, 05 Mar 2026 08:04:41 +0000</pubDate>
				<guid isPermaLink="false">https://sam-solutions.com/?post_type=article&#038;p=34478</guid>

					<description><![CDATA[(Wenn Sie Videoinhalte bevorzugen, sehen Sie sich bitte die kurze Videozusammenfassung dieses Artikels unten an.) Risiken über mehrere internationale Standorte hinweg zu steuern und gleichzeitig interne Sicherheitsrichtlinien einzuhalten, ist alles andere als einfach. Genau vor dieser Herausforderung stand unser Kunde – ein global tätiges Unternehmen mit Niederlassungen auf mehreren Kontinenten. Gesucht wurde ein zentrales Risikomanagementsystem, [&#8230;]]]></description>
										<content:encoded><![CDATA[<span id="more-34478"></span>
<!--noteaser-->



<iframe style="margin: 0;" width="100%" height="115" scrolling="no" frameborder="no" allow="autoplay" title="Wie wir ein Risikomanagementsystem für ein internationales Unternehmen entwickelt haben" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/soundcloud%253Atracks%253A2277812657&#038;color=%23ff5500&#038;auto_play=false&#038;hide_related=false&#038;show_comments=false&#038;show_user=false&#038;show_reposts=false&#038;show_teaser=false"> </iframe>


<p style="font-size:14px;"> <em>(Wenn Sie Videoinhalte bevorzugen, sehen Sie sich bitte <a href="#video-content">die kurze Videozusammenfassung</a> dieses Artikels unten an.)</em> </p>




<p class="wp-block-paragraph">Risiken über mehrere internationale Standorte hinweg zu steuern und gleichzeitig interne Sicherheitsrichtlinien einzuhalten, ist alles andere als einfach. Genau vor dieser Herausforderung stand unser Kunde – ein global tätiges Unternehmen mit Niederlassungen auf mehreren Kontinenten. Gesucht wurde ein zentrales Risikomanagementsystem, das Sicherheitsvorgaben, Zugriffsregeln und Workflow-Automatisierung unternehmensweit miteinander verbindet.</p>



<p class="wp-block-paragraph"><a href="/leistungen/software-engineering/">Das Entwicklungsteam von SaM Solutions</a> konzipierte und implementierte ein maßgeschneidertes Enterprise-Risk-Management-(ERM)-Modul auf Basis von .NET, das in eine bestehende Systemlandschaft integriert wurde. Ziel war es, Transparenz, Kontrolle und Effizienz im Umgang mit Risiken deutlich zu erhöhen.</p>



<p class="wp-block-paragraph">Lesen Sie weiter und erfahren Sie Schritt für Schritt, wie wir dieses Projekt umgesetzt haben. Und wenn Sie vor einer ähnlichen Aufgabe stehen, sprechen Sie uns gerne an.</p>




 
    
    <div class="editor-list-cta editor-list-cta_style_1 editor-list-cta_index_11">
        
    <div class="editor-list-cta__items">
                                    
                    			    				<style>
    					.editor-list-cta_index_11 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-button {
            				            				
            				            				        							    background: linear-gradient(to right, #a067e8, #527eff);
    							            				    					}
    				</style>
    			    			
    			    			    				<style>
    					.editor-list-cta_index_11 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left {
    					    padding-left: 10px;
    					}
    					
    					.editor-list-cta_index_11 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left:before {
    					    left: 0;
    					    top: 50%;
    					    width: 3px;
    					    content: '';
    					    position: absolute;
    					    margin-left: -10px;
    					    height: calc(100% + 10px);
    					    transform: translateY(-50%);

            				            					    							    background: linear-gradient(45deg, #527eff, #a067e8);
    							            				    					}
    					
    					@media (max-width: 475px) {
    					    .editor-list-cta_index_11 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left:before {
    					        width: 2px;
                                margin-left: -3.5px;
    					    }
    					}
    				</style>
    			                
                    			    			        
    			
                    			
                                
                <div class="editor-list-cta__item editor-list-cta__item_index_1">
                    <div class="editor-list-cta__item-inner">
            		                		                                <div class="editor-list-cta__item-left">
                                                                                                    <div class="editor-list-cta__item-title"><p>Verwandeln Sie Ideen in skalierbare .NET-Anwendungen</p>
</div>
                                                	        </div>
            	        
            	                    	            <div class="editor-list-cta__item-right">
            	                                    	                                	                                	            <div class="editor-list-cta__item-event">
                    	                <div class="editor-list-cta__item-button button button_style_1">
                                            <a class="button__inner" href="https://sam-solutions.de/leistungen/technologien/net-software-entwicklung/?utm_source=blog&#038;utm_medium=post_ID_34478&#038;utm_campaign=cta_post_content_34598">                                                <div class="button__name">Zu den Lösungen</div>
                                            </a>                                        </div>
                                    </div>    
                                                                        
            	            </div>
            	                	        </div>
                </div>
                        </div>
    </div>
    



<h2 class="wp-block-heading">Businessanforderungen</h2>



<p class="wp-block-paragraph">Unser Kunde ist ein weltweit führendes Technologieunternehmen in den Bereichen Elektrifizierung und Automatisierung. Mit Aktivitäten in über 140 Ländern und rund 160.000 Mitarbeitenden benötigte das Unternehmen leistungsfähige Werkzeuge, um die wachsende Komplexität – insbesondere im Risikomanagement und in internen Prozessen – besser zu steuern.</p>



<p class="wp-block-paragraph">Eine zentrale Herausforderung war die bestehende Systemlandschaft: Viele Abläufe basierten noch auf Lotus-Notes-Formularen, die veraltet und schwer wartbar waren. Der Kunde wollte diese Situation nicht nur für eine Migration nutzen, sondern seinen gesamten Ansatz modernisieren und zukunftssicher neu aufstellen.</p>



<p class="wp-block-paragraph">Ganz oben auf der Prioritätenliste stand die Entwicklung eines zentralen Risikomanagement-Moduls. Die Lösung sollte weltweit in allen Niederlassungen einsetzbar sein und eng mit Sicherheitsmechanismen, Rollen- und Berechtigungskonzepten sowie Genehmigungs-Workflows integriert werden. Gleichzeitig musste das System Risiken übersichtlich visualisieren und strukturiert darstellen, damit Teams fundierte Entscheidungen treffen können.</p>



<p class="wp-block-paragraph"><strong>Darüber hinaus umfasste unser Auftrag weitere zentrale Aufgaben</strong>:</p>



<ul class="wp-block-list">
<li>Entwicklung einer maßgeschneiderten IT-Lösung für das unternehmensweite F&amp;E-Zentrum, abgestimmt auf interne Prozesse und globale Zusammenarbeit.</li>



<li>Aufbau eines separaten Moduls für Reporting, Personalbudgetierung, Cross-Budgeting sowie mehrstufige Genehmigungsprozesse, um Finanzplanung und Transparenz über Abteilungsgrenzen hinweg zu unterstützen.</li>
</ul>



<h2 class="wp-block-heading">Die Ausgangssituation des Kunden</h2>



<p class="wp-block-paragraph">Zu Beginn der Zusammenarbeit wurde schnell deutlich: Gesucht war nicht einfach ein neues System, sondern eine nachhaltige Lösung, um zentrale Prozesse wieder beherrschbar zu machen, die mit dem internationalen Wachstum zunehmend komplex geworden waren.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>„Es ging nicht nur darum, ein Altsystem zu ersetzen. Ziel war es, das Risiko- und Prozessmanagement über die gesamte globale Organisation hinweg neu zu denken.“</em></p>
</blockquote>



<p class="wp-block-paragraph">Wie viele große Unternehmen stand auch dieser Kunde vor mehreren typischen Herausforderungen.</p>




 
    
    <div class="editor-retina-image editor-retina-image_style_1 editor-retina-image_index_12">
        

        
    <img decoding="async" class="editor-retina-image__img" src="https://sam-solutions.de/wp-content/uploads/Risk-Management-Challenges.png"
                
                     srcset="https://sam-solutions.de/wp-content/uploads/Risk-Management-Challenges.png 1x, https://sam-solutions.de/wp-content/uploads/Risk-Management-Challenges@2x.png 2x"
                  
         alt="Rist Management Anforderungen"
         width="856" height="251">
    </div>
    



<ul class="wp-block-list">
<li><strong>Fragmentierte Datenstruktur:</strong> Dutzende unstrukturierte Lotus-Notes-Formulare waren über Abteilungen und Länder verteilt, jeweils mit eigener Logik und eigenem Zweck. Eine zentrale, verlässliche Quelle zur Steuerung von Risiken fehlte.</li>



<li><strong>Zugriffsprobleme:</strong> Benutzerberechtigungen waren uneinheitlich geregelt. Einige Mitarbeitende hatten zu weitreichenden Zugriff, andere hingegen zu eingeschränkten – was sowohl Sicherheitsrisiken als auch operative Engpässe verursachte.</li>



<li><strong>Probleme mit der Datenintegrität:</strong> Ohne ein einheitliches System war es schwierig, Daten korrekt, aktuell und standortübergreifend synchron zu halten. Dadurch stieg das Risiko von Fehlern und Compliance-Verstößen.</li>



<li><strong>Begrenzte Transparenz:</strong> Eine visuelle Darstellung und Priorisierung von Risiken war nicht möglich. Führungskräfte konnten nur schwer erkennen, wo Probleme auftraten, wie sie bearbeitet wurden oder wie die aktuelle Risikolage insgesamt aussah.</li>



<li><strong>Manuelle und uneinheitliche Genehmigungen:</strong> Besonders im F&amp;E-Bereich waren Genehmigungsprozesse komplex und wurden manuell abgewickelt. Das verlangsamte Projekte und führte zu unnötigen Reibungsverlusten.</li>



<li><strong>Keine einheitliche Risikomanagement-Strategie:</strong> Jede Niederlassung bewertete und behandelte Risiken auf eigene Weise. Dadurch entstanden Inkonsistenzen bei der weltweiten Umsetzung von Sicherheits- und Compliance-Standards.</li>
</ul>



<p class="wp-block-paragraph">All diese Faktoren bremsten das Unternehmen aus – sie verlangsamten Abläufe und erhöhten sowohl operative als auch regulatorische Risiken. Benötigt wurde ein zentrales, flexibles System, das alle Prozesse zusammenführt, international einsetzbar ist und gleichzeitig so benutzerfreundlich bleibt, dass sowohl technische als auch nicht-technische Mitarbeitende effizient damit arbeiten können.</p>



<h2 class="wp-block-heading">Mögliche Lösungsansätze</h2>



<p class="wp-block-paragraph">Zu Beginn des Projekts prüften wir verschiedene technologische Optionen. Ein komplexes, unternehmensweites und sicherheitskritisches System dieser Art ließe sich grundsätzlich mit <a href="/leistungen/technologien/java-entwicklungsdienstleistungen/">Java-Frameworks</a>, <a href="/leistungen/technologien/python-entwicklungsdienstleistungen/">Python-basierten</a> Backends, <a href="/leistungen/technologien/kundenspezifische-php-entwicklung/">PHP-Lösungen</a> oder auch Low-Code-Enterprise-Plattformen umsetzen. Jede dieser Varianten hatte ihre Vorteile.</p>



<h2 class="wp-block-heading">Warum .NET die beste Wahl für dieses Projekt war</h2>



<p class="wp-block-paragraph">Am Ende setzte sich .NET klar durch – und das nicht nur, weil die Plattform große Datenmengen auf Enterprise-Niveau effizient verarbeiten kann und integrierte Authentifizierungs- sowie rollenbasierte Zugriffskontrollen bietet.</p>



<p class="wp-block-paragraph">Der Kunde verfügte bereits über mehrere interne Systeme auf .NET-Basis und über eine gut etablierte IT-Abteilung mit entsprechender Expertise. Zudem kamen unternehmensweit Microsoft-Technologien zum Einsatz, was Integration und laufenden Support deutlich vereinfachte. Durch die Wahl von .NET konnten wir auf dem bestehenden Ökosystem aufbauen, dank des langfristigen Supports durch Microsoft eine hohe Wartbarkeit sicherstellen und die Entwicklung durch enge Zusammenarbeit mit dem internen Team effizient gestalten. Für dieses Projekt war es daher sinnvoll, die Reihe .NET-basierter Lösungen fortzuführen.</p>



<h2 class="wp-block-heading">Unser Vorgehen im Projekt</h2>



<p class="wp-block-paragraph">Nachdem Technologie-Stack und Ziele abgestimmt waren, arbeiteten wir nach einem agilen Entwicklungsansatz. In Sprints und mit enger Abstimmung mit den Stakeholdern des Kunden blieben wir flexibel, lieferten früh Mehrwert und entwickelten das System kontinuierlich auf Basis realer Rückmeldungen weiter.</p>




 
    
    <div class="editor-retina-image editor-retina-image_style_1 editor-retina-image_index_13">
        

        
    <img decoding="async" class="editor-retina-image__img" src="https://sam-solutions.de/wp-content/uploads/Team-composition.png"
                
                     srcset="https://sam-solutions.de/wp-content/uploads/Team-composition.png 1x, https://sam-solutions.de/wp-content/uploads/Team-composition@2x.png 2x"
                  
         alt="Das Team"
         width="856" height="294">
    </div>
    



<p class="wp-block-paragraph">Um ein System dieser Größenordnung und Komplexität umzusetzen, stellten wir ein funktionsübergreifendes Team zusammen, bestehend aus:</p>



<ul class="wp-block-list">
<li><strong>2 Solution Architects (seitens des Kunden)</strong> – verantwortlich für das Gesamtdesign des Systems und die Integrationsstrategie.</li>



<li><strong>2 .NET-Entwicklern</strong> – zuständig für Backend-Entwicklung und Business-Logik.</li>



<li><strong>3 Full-Stack-Entwicklern</strong> – verantwortlich für UI-Komponenten und Datenvisualisierungen.</li>



<li><strong>1 QA Engineer</strong> – zuständig für Testautomatisierung und manuelle Tests in verschiedenen Umgebungen.</li>
</ul>



<p class="wp-block-paragraph">Dieses Team arbeitete eng mit der internen IT-Abteilung des Kunden zusammen, die ebenfalls über .NET-Spezialisten verfügte. Diese wurden schrittweise eingebunden, um Support und zukünftige Weiterentwicklung sicherzustellen.</p>



<h3 class="wp-block-heading has-medium-font-size">Implementierte Kernfunktionen</h3>




 
    
    <div class="editor-list-step editor-list-step_style_2 editor-list-step_index_14">
        
    <div class="editor-list-step__items">
                                    <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Risikomanagement-Modul (CRUD)</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Wir entwickelten ein umfassendes Modul zur Verwaltung von Risikodaten. Nutzer können Risiken auf verschiedenen Organisationsebenen erfassen, bearbeiten und nachverfolgen – mit Filtermöglichkeiten nach Region, Abteilung und Kategorie. Die im Modul definierten Risikokategorien umfassen:</p>
<ul>
<li><i><strong>Externe Risiken</strong> entstehen außerhalb des Unternehmens und liegen häufig außerhalb der direkten Kontrolle.</i><br />
<i>Geopolitische Instabilität (z. B. Sanktionen, Krieg), regulatorische Änderungen (z. B. DSGVO, Steuergesetze), Marktveränderungen oder Wettbewerbsdruck, Störungen in der Lieferkette, Währungsschwankungen.</i></li>
<li><i><strong>Operative Risiken</strong> betreffen interne Prozesse, Systeme oder das Tagesgeschäft.</i><br />
<i>IT-Systemausfälle oder Softwarefehler, Produktionsmängel, Cyberangriffe und Datenpannen, Prozessverzögerungen oder menschliche Fehler, unzureichende Wartung oder Anlagenausfälle.</i></li>
<li><i><strong>Risiken in Bezug auf Menschen und Unternehmenskultur</strong> stehen im Zusammenhang mit Belegschaft, Führung und Organisationskultur.</i><br />
<i>Fachkräftemangel oder hohe Fluktuation, Widerstand gegen organisatorische Veränderungen, schlecht abgestimmte globale Teams, Überlastung oder geringe Motivation von Mitarbeitenden, Führungskonflikte.</i></li>
<li><strong>Finanz- und Organisationsrisiken</strong> beeinflussen die finanzielle Stabilität und strukturelle Ausrichtung<i>.</i></li>
</ul>
<p><i>Budgetüberschreitungen oder ungenaue Prognosen, Betrug oder finanzielle Unregelmäßigkeiten, Verstöße gegen Reporting-Vorgaben, ineffiziente Organisationsstrukturen, Umsatzrückgänge durch Markt- oder interne Probleme.</i></p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Risikovisualisierung</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Wir entwickelten eine interaktive Oberfläche zur Visualisierung von Risiken, gruppiert nach Kategorie, Geografie, Schweregrad und Status. Farbige Dashboards, Heatmaps und Trendindikatoren helfen den Nutzern, aufkommende Gefahren und prioritäre Bereiche schnell zu erkennen.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Reporting-Modul</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Ein separates Modul ermöglicht es den Nutzern, Berichte für interne Zwecke, Audits oder Compliance-Prüfungen zu erstellen. Berichte lassen sich in verschiedenen Formaten exportieren und nach Organisationsebene und Risikoparametern filtern.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Flexibles Zugriffskontrollsystem</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Wir implementierten ein dynamisches, rollenbasiertes Zugriffsmodell, das mit der Organisationshierarchie des Kunden übereinstimmt. Zugriffsrechte können auf Objektebene (z. B. spezifische Risiken oder Berichte) konfiguriert werden, sodass Nutzer nur sehen, was für sie relevant ist.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Flexibles Zugriffskontrollsystem</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Wir implementierten ein dynamisches, rollenbasiertes Zugriffsmodell, das mit der Organisationshierarchie des Kunden übereinstimmt. Zugriffsrechte können auf Objektebene (z. B. spezifische Risiken oder Berichte) konfiguriert werden, sodass Nutzer nur sehen, was für sie relevant ist.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Personalbudgetierung und Cross-Budgeting-Modul</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Zur Unterstützung der operativen Planung lieferten wir ein Tool für Personalprognosen, Kostenplanung und Ressourcenzuweisung. Das System unterstützt Cross-Budgeting zwischen Abteilungen und enthält mehrstufige Genehmigungsprozesse, um Finanzpläne unternehmensweit abzustimmen.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Integration mit Workflow- und Genehmigungsprozessen</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Wir integrierten das Risikomodul in die interne Workflow-Engine des Unternehmens, sodass Risikoobjekte automatisiert durch verschiedene Genehmigungsstufen geleitet werden. Dies standardisierte Entscheidungsprozesse und reduzierte manuelles Hin- und Herschieben.</p>
</div>
                        </div>
                                    </div>  
                        
    </div>
    </div>
    



<p class="wp-block-paragraph">Das gesamte System basiert auf .NET Core, mit einem SQL Server-Backend und einem JavaScript-Frontend nach dem MVC-Pattern. CI/CD-Pipelines sorgen für reibungslose Deployments, und das System wird auf Azure gehostet, um globale Verfügbarkeit, Leistung und Sicherheit zu gewährleisten.</p>



<h2 class="wp-block-heading">Herausforderungen während der Entwicklung</h2>



<p class="wp-block-paragraph">Wie jedes großangelegte Unternehmensprojekt brachte auch dieses seine eigenen technischen und organisatorischen Herausforderungen mit sich. So sind wir die wichtigsten Punkte angegangen.</p>




 
    
    <div class="editor-list-icons editor-list-icons_style_1 editor-list-icons_index_15">
        
    <div class="editor-list-icons__items">
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Flexible Risikovisualisierung gestalten</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Eine zentrale Anforderung war, den Nutzern ein visuelles Verständnis der Risiken im Unternehmen zu vermitteln. Bei so vielen Variablen – Regionen, Kategorien, Schweregrade, Zeitachsen – mussten wir eine Visualisierung entwickeln, die sowohl flexibel als auch benutzerfreundlich ist.</p>
<p>Unser Team entwarf eine modulare, interaktive Oberfläche, die Risiken in Echtzeit gruppieren, filtern und farblich darstellen kann. Das Ergebnis ermöglicht es den Nutzern, ihre Risikolage sofort zu erfassen, ohne von Daten überwältigt zu werden.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/4-5.svg"
                                                                                                  alt="Flexible Risikovisualisierung gestalten"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Zugriffsrechte gemeinsam mit dem Kunden abstimmen</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Die Umsetzung der Zugriffsrechte bezog sich nicht nur auf Rollen, sondern musste die Organisationsstruktur, Betriebsmodelle und internen Richtlinien des Kunden widerspiegeln. Gemeinsam mit dem Kunden haben wir die reale Hierarchie in ein flexibles Berechtigungssystem übertragen, das regionale und abteilungsspezifische Zugriffe unterstützt.</p>
<p>Nach mehreren Iterationen entstand ein Modell, das die Sicherheitsanforderungen präzise abdeckt und zugleich für Administratoren einfach zu verwalten ist.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/3-┬aAdaptive-security.svg"
                                                                                                  alt="Security posture"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Daten aus Altsystemen migrieren</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Der Kunde hatte jahrelange Risiko-Daten in verschiedenen Lotus-Notes-Formularen und Tabellen gespeichert. Diese in das neue System zu übertragen und dabei Genauigkeit sowie Beziehungen zwischen den Datensätzen zu erhalten, war eine große Aufgabe.</p>
<p>Wir entwickelten eine maßgeschneiderte Migrationspipeline, um die Daten zu bereinigen, zu transformieren und in die neue Struktur zu importieren, mit gründlichen Tests zur Sicherstellung der Datenintegrität. So konnten die Nutzer ohne Verlust historischer Kontexte im neuen System arbeiten.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/data-migration.svg"
                                                                                                  alt="Infographic that shows two arrows depicting data migration. "
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Echtzeit-Updates ohne Mehraufwand ermöglichen</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Im Risikomanagement zählt Timing – Risiken können täglich auftreten oder sich ändern. Das System musste häufige Updates unterstützen, ohne den Nutzern oder dem Support-Team zusätzlichen Aufwand zu bereiten.</p>
<p>Zur Lösung setzten wir auf smarte Voreinstellungen, Inline-Bearbeitung und Änderungsverfolgung. Außerdem wurde das System so entwickelt, dass es erwartete Leistungskennzahlen erfüllt, inklusive eines Notfallplans zur Wiederherstellung.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/real-time-updates.svg"
                                                                                                  alt="Echtzeit-Updates ohne Mehraufwand ermöglichen"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
            </div>
    </div>
    




 
    
    <div class="editor-content editor-content_style_1 editor-content_index_16">
        
    
    <div class="editor-content__descr">
        <div class="wysiwyg-editor"><h2>Ergebnisse und Geschäftlicher Nutzen</h2>
<p>Am Ende des Projekts verfügte der Kunde über ein zentrales, flexibles System, das alle Anforderungen für das Risikomanagement eines globalen Unternehmens erfüllte. Aus der anfänglichen Fragmentierung durch veraltete Formulare entstand eine moderne, integrierte Plattform, die sowohl den täglichen Betrieb als auch strategische Entscheidungen auf hoher Ebene unterstützt.</p>
<p>Die neue Lösung brachte mehrere wesentliche Vorteile:</p>
<ul>
<li><strong>Eine zentrale Datenquelle für Risikoinformationen</strong> über alle Niederlassungen und Abteilungen hinweg,</li>
<li><strong>Mehr Transparenz und Verantwortlichkeit</strong> durch klare Workflows und anschauliche Visualisierungen,</li>
<li><strong>Schnellere Reaktion auf neue Risiken</strong> dank Echtzeit-Updates und optimierter Freigabeprozesse,</li>
<li><strong>Verbesserte Sicherheit und Compliance</strong> durch rollenbasierte Zugriffe und Audit-Trails,</li>
<li><strong>Weniger manuelle Arbeit</strong> und effizientere Zusammenarbeit zwischen Teams.</li>
</ul>
<p>Die Module für F&amp;E und Budgetplanung statteten die internen Teams mit Tools aus, um intelligenter zu planen, effizienter zu arbeiten und funktions- sowie standortübergreifend besser abgestimmt zu bleiben. Für den Kunden war dies nicht nur ein neues System, sondern ein strategisches Upgrade, das die Basis für zukünftige Innovation und Wachstum legte.</p>
</div>
    </div>
    </div>
    




 
    
    <div class="editor-media-text editor-media-text_style_1 editor-media-text_index_17">
        
<div class="editor-media-text__split">
    
                
        <div class="editor-media-text__left">
            <div class="editor-media-text__image">
                                
                                    <img decoding="async" class="editor-media-text__img" src="https://sam-solutions.de/wp-content/uploads/photo-dzmitry-verasau.webp"
                                                                              
                            srcset="https://sam-solutions.de/wp-content/uploads/photo-dzmitry-verasau.webp 1x, https://sam-solutions.de/wp-content/uploads/photo-dzmitry-verasau@2x.webp 2x"
                                                  alt="Dzmitry Verasau"
                         width="200" height="292">
                        
            </div>     
        </div>   
        
    <div class="editor-media-text__right">
                                      
            <div class="editor-media-text__title">
                <div class="h4">Stehen Sie vor ähnlichen Herausforderungen?</div>            </div>
                
                            
            <div class="editor-media-text__descr">
                <div class="wysiwyg-editor"><p>Wenn Ihr Unternehmen vor Fragen des Risikomanagements, der Prozessautomatisierung oder der Modernisierung von Systemen steht, ist unser Team für Sie da. Bei SaM Solutions verbinden wir tiefgehende technische Expertise mit einem praxisnahen, geschäftsorientierten Ansatz, um maßgeschneiderte Lösungen zu entwickeln, die skalierbar und zukunftssicher sind.</p>
<p><strong>Dzmitry Verasau, Chief .NET Technologist</strong></p>
</div>
            </div>
                
                            
            <div class="editor-media-text__event">
                                    <div class="editor-media-text__button button button_style_1">
                        <a class="button__inner" href="https://sam-solutions.de/kontakt/">                                                            <div class="button__name">Projekt besprechen</div>
                                                        <div class="button__icon">
                                <svg class="button__icon-svg" xmlns="http://www.w3.org/2000/svg" width="32" height="12" viewBox="0 0 32 12" fill="none">
                                    <path d="M30.9834 5.50256C31.2581 5.77731 31.2581 6.22278 30.9834 6.49753L26.5062 10.9747C26.2315 11.2494 25.786 11.2494 25.5113 10.9747C25.2365 10.6999 25.2365 10.2545 25.5113 9.97977L29.491 6.00004L25.5113 2.02032C25.2365 1.74558 25.2365 1.30014 25.5113 1.02539C25.786 0.750651 26.2315 0.750651 26.5062 1.02539L30.9834 5.50256ZM0 5.29652H30.4859V6.70357H1.09781e-07L0 5.29652Z" fill="#FCFCFC"/>
                                </svg>
                            </div>
                        </a>                    </div>
                            </div>
            </div>
    
</div>    </div>
    



<div id="video-content" class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Wie wir ein Risikomanagementsystem für ein internationales Unternehmen entwickelt haben" width="500" height="281" class="lazyload" referrerpolicy="strict-origin-when-cross-origin" data-src="https://www.youtube.com/embed/9iOyyLf5QGM?feature=oembed"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope;  web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
</div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://sam-solutions.de/blog/risikomanagementsystem-fur-ein-internationales-unternehmen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:content url="https://www.youtube.com/watch?v=9iOyyLf5QGM" medium="video">
			<media:player url="https://www.youtube.com/watch?v=9iOyyLf5QGM" />
			<media:title type="plain">Wie wir ein Risikomanagementsystem für ein internationales Unternehmen entwickelt haben</media:title>
			<media:description type="html"><![CDATA[Unser Kunde, ein global tätiges Unternehmen, stand vor der Herausforderung, Risiken über mehrere internationale Standorte hinweg zu steuern und gleichzeitig interne Sicherheitsrichtlinien einzuhalten. SaM Solutions entwickelte dafür ein maßgeschneidertes .NET-basiertes Enterprise-Risk-Management-Modul, das Transparenz, Kontrolle und Effizienz im Risikomanagement erheblich steigert.]]></media:description>
			<media:thumbnail url="https://i.ytimg.com/vi/9iOyyLf5QGM/maxresdefault.jpg" />
			<media:rating scheme="urn:simple">adult</media:rating>
		</media:content>
	</item>
		<item>
		<title>E-Commerce unter Wachstumsdruck: Wie Unternehmen ihre IT-Architektur in der Praxis modernisieren</title>
		<link>https://sam-solutions.de/blog/e-commerce-unter-wachstumsdruck/</link>
					<comments>https://sam-solutions.de/blog/e-commerce-unter-wachstumsdruck/#respond</comments>
		
		<dc:creator><![CDATA[Anastasia Runets]]></dc:creator>
		<pubDate>Wed, 18 Feb 2026 11:08:40 +0000</pubDate>
				<guid isPermaLink="false">https://sam-solutions.com/?post_type=article&#038;p=33875</guid>

					<description><![CDATA[(Wenn Sie Videoinhalte bevorzugen, sehen Sie sich bitte die kurze Videozusammenfassung dieses Artikels unten an.) Das Fachmedium Ecommerce Germany schreibt, dass die DACH-Region „goes into 2026 as a very online, very picky, and very price-aware group of shoppers“. Fast alle Menschen im Alter von 16 bis 74 Jahren nutzen das Internet, laut European E-commerce Report [&#8230;]]]></description>
										<content:encoded><![CDATA[<span id="more-33875"></span>
<!--noteaser-->



<iframe style="margin: 0;" width="100%" height="115" scrolling="no" frameborder="no" allow="autoplay" title="E-Commerce unter Wachstumsdruck: Wie Unternehmen ihre IT-Architektur in der Praxis modernisieren" 
src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/soundcloud%253Atracks%253A2268764600&#038;color=%23ff5500&#038;auto_play=false&#038;hide_related=false&#038;show_comments=false&#038;show_user=false&#038;show_reposts=false&#038;show_teaser=false"> </iframe>


<p style="font-size:14px;"> <em>(Wenn Sie Videoinhalte bevorzugen, sehen Sie sich bitte <a href="#video-content">die kurze Videozusammenfassung</a> dieses Artikels unten an.)</em> </p>




 
    
    <div class="editor-content editor-content_style_1 editor-content_index_18">
        
    
    <div class="editor-content__descr">
        <div class="wysiwyg-editor"><h2>Wichtiges im Überblick</h2>
<ul>
<li>Fast alle Menschen im Alter von 16–74 Jahren nutzen das Internet, rund <strong>78 % kaufen mindestens einmal pro Jahr online ein</strong>, und inzwischen erfolgt jeder zweite Einkauf über digitale Zahlverfahren.</li>
<li><strong>Gewachsene E‑Commerce-Architekturen stoßen unter Wachstum an Grenzen</strong>: steigende Release-Risiken, fragile Integrationen, Daten-Inkonsistenzen, schwer kalkulierbare Betriebs- und Change-Kosten.</li>
<li><strong>Bei Fluent Commerce führten verzögerte Bestandsupdates zu Risiken</strong>; ein optimiertes OMS stabilisierte Prozesse und schuf Wachstumsspielraum.</li>
<li><strong>Die Brooklyn Soap Company stockte der Magento 2-Shop</strong>; die Migration zu Shopify mit individuellem Theme und Checkout-Optimierungen brachte Skalierbarkeit und bessere User Experience.</li>
<li><strong>DiscountFilterStore.com war durch Oracle NetSuite in Agilität limitiert</strong>; die Migration zu Odoo reduzierte Kosten, erhöhte Stabilität und schuf eine skalierbare ERP-Architektur.</li>
<li>SaM Solutions analysiert die Herausforderungen von E‑Commerce-Unternehmen und entwickelt maßgeschneiderte Lösungen, die <strong>Wachstum, Skalierbarkeit und operative Stabilität nachhaltig sichern</strong>.</li>
</ul>
</div>
    </div>
    </div>
    



<p class="wp-block-paragraph">Das Fachmedium Ecommerce Germany schreibt, dass die DACH-Region „goes into 2026 as a very online, very picky, and very price-aware group of shoppers“.</p>



<p class="wp-block-paragraph"><strong>Fast alle Menschen im Alter von 16 bis 74 Jahren nutzen das Internet</strong>, laut European E-commerce Report 2025. Und die Formulierung „fast alle“ ist wörtlich zu verstehen: In der Schweiz hat dieser Wert 100 % erreicht, in Österreich und Deutschland etwas weniger — 95 % bzw. 94 %. Rund 78 % kaufen mindestens einmal pro Jahr online ein. Es ist daher nicht überraschend, dass inzwischen <strong>jeder zweite Einkauf über digitale Zahlverfahren erfolgt</strong>.</p>



<p class="wp-block-paragraph">Die Chancen und Herausforderungen für <a href="/leistungen/e-commerce-losungen/ecommerce-entwicklung/">E-Commerce-Unternehmen</a> wachsen, und in der aktuellen Situation können sie sich veraltete Architekturen schlicht nicht leisten.</p>




 
    
    <div class="editor-list-cta editor-list-cta_style_1 editor-list-cta_index_19">
        
    <div class="editor-list-cta__items">
                                    
                    			    				<style>
    					.editor-list-cta_index_19 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-button {
            				            				
            				            				        							    background: linear-gradient(to right, #a067e8, #527eff);
    							            				    					}
    				</style>
    			    			
    			    			    				<style>
    					.editor-list-cta_index_19 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left {
    					    padding-left: 10px;
    					}
    					
    					.editor-list-cta_index_19 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left:before {
    					    left: 0;
    					    top: 50%;
    					    width: 3px;
    					    content: '';
    					    position: absolute;
    					    margin-left: -10px;
    					    height: calc(100% + 10px);
    					    transform: translateY(-50%);

            				            					    							    background: linear-gradient(45deg, #527eff, #a067e8);
    							            				    					}
    					
    					@media (max-width: 475px) {
    					    .editor-list-cta_index_19 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left:before {
    					        width: 2px;
                                margin-left: -3.5px;
    					    }
    					}
    				</style>
    			                
                    			    			        
    			
                    			
                                
                <div class="editor-list-cta__item editor-list-cta__item_index_1">
                    <div class="editor-list-cta__item-inner">
            		                		                                <div class="editor-list-cta__item-left">
                                                                                                    <div class="editor-list-cta__item-title"><p>Steigern Sie Ihren Umsatz mit der richtigen E-Commerce-Lösung</p>
</div>
                                                	        </div>
            	        
            	                    	            <div class="editor-list-cta__item-right">
            	                                    	                                	                                	            <div class="editor-list-cta__item-event">
                    	                <div class="editor-list-cta__item-button button button_style_1">
                                            <a class="button__inner" href="https://sam-solutions.de/leistungen/e-commerce-losungen/ecommerce-entwicklung/?utm_source=blog&#038;utm_medium=post_ID_33875&#038;utm_campaign=cta_post_content_28372">                                                <div class="button__name">Lösungen anzeigen</div>
                                            </a>                                        </div>
                                    </div>    
                                                                        
            	            </div>
            	                	        </div>
                </div>
                        </div>
    </div>
    



<h2 class="wp-block-heading">Warum gewachsene E-Commerce-Architekturen an ihre Grenzen stoßen</h2>



<p class="wp-block-paragraph">Viele deutsche Händler sind technologisch organisch gewachsen: erst der Shop, dann ERP-, PIM- und WMS-Anbindungen, später Marktplatz-Connectoren, Marketing-Tools und Analytics. Über die Jahre entsteht ein funktionierender, aber hochgekoppelter Systemverbund.</p>



<p class="wp-block-paragraph">Unter weiterem Wachstum werden jedoch typische Systemgrenzen sichtbar:&nbsp;</p>



<ul class="wp-block-list">
<li>steigende Release-Risiken,&nbsp;</li>



<li>fragile Integrationen,&nbsp;</li>



<li>Daten-Inkonsistenzen,</li>



<li>schwer kalkulierbare Betriebs- sowie Change-Kosten.&nbsp;</li>
</ul>



<p class="wp-block-paragraph">Diese Dynamik ist grundsätzlich branchenweit zu beobachten, wird im deutschen Markt jedoch häufig durch starke ERP-Prägung, regulatorische Anforderungen und komplexe Organisationsstrukturen verstärkt.</p>



<h3 class="wp-block-heading has-medium-font-size">Typische Wachstumstreiber im E-Commerce</h3>



<p class="wp-block-paragraph">Im deutschen E-Commerce wächst die Systemkomplexität vor allem entlang von drei Achsen: Last, Funktionsumfang und Kanalvielfalt.</p>




 
    
    <div class="editor-list-step editor-list-step_style_2 editor-list-step_index_20">
        
    <div class="editor-list-step__items">
                                    <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Peak-Traffic durch Kampagnen</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Black Friday &amp; Co. erzeugen kurze, extreme Lastspitzen über den gesamten Funnel (Frontend, Suche, Checkout, Payment, Inventory).</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Marktplatz- und Omnichannel-Expansion</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Mehr Kanäle bedeuten bidirektionale Integrationen, kanalabhängige Preis-/Bestandslogik und höhere Observability-Anforderungen.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Internationalisierung</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Cross-Border-Commerce bringt Steuer-, Payment-, Fraud- und Lokalisierungs-Komplexität in die Architektur.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Sortiments- und Datenwachstum</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Mehr Varianten, Rich Product Data und Re-Commerce-Modelle erhöhen Datenvolumen und Konsistenzanforderungen.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Personalisierung und First-Party-Data</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Consent-Management, Customer-360 und Privacy-by-Design werden zu Architekturtreibern.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">B2B-Funktionalitäten</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Kundenspezifische Preise, Freigaben, EDI und Rollenmodelle erzwingen zusätzliche Domänenlogik.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Mobile-First und UX-Performance</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Core Web Vitals, Edge-Caching und resiliente APIs werden geschäftskritisch.</p>
</div>
                        </div>
                                    </div>  
                        
    </div>
    </div>
    



<p class="wp-block-paragraph">In Summe entsteht kein linearer, sondern ein überproportionaler Komplexitätsanstieg, der gewachsene Architekturen besonders stark unter Druck setzt.</p>



<h3 class="wp-block-heading has-medium-font-size">Wo Legacy-Systeme zum Risiko werden</h3>



<p class="wp-block-paragraph">Monolithische oder suite-zentrierte Kerne entwickeln sich zu Change-Bottlenecks: Releases werden langsamer, Testaufwände steigen und Upgrades geraten zu Großprojekten.</p>



<p class="wp-block-paragraph">Gleichzeitig verschiebt sich der Fokus vieler Teams von Feature-Delivery hin zur Beherrschung von Integration Debt. Mit jedem zusätzlichen Partner, Payment-Provider oder Marktplatz wächst die operative Komplexität nichtlinear. Häufig verstärken Daten-Silos und konkurrierende Sources of Truth das Problem.</p>



<p class="wp-block-paragraph">Unter Last zeigen sich die Folgen besonders deutlich: <strong>Skalierung wird teuer, Verfügbarkeit leidet bei starker Kopplung, und Performance-Regressionen schlagen direkt auf Conversion und Umsatz durch</strong>. Parallel erhöhen <a href="/leistungen/software-engineering/cloud-entwicklung/">Cloud</a>-Abhängigkeiten und neue regulatorische Pflichten das strategische Risiko. Legacy ist damit nicht nur ein technisches, sondern ein betriebswirtschaftliches Problem.</p>



<h3 class="wp-block-heading has-medium-font-size">Woran Unternehmen kritische Engpässe erkennen</h3>



<p class="wp-block-paragraph"><a href="/leistungen/software-engineering/maintenance-und-modernisierung/">Modernisierungen</a> scheitern selten am Ziel — meist daran, dass Teams den Engpass zu spät sehen. Die cleveren Organisationen kombinieren klassische Systemmetriken (Golden Signals: Latenz, Traffic, Errors, Saturation) mit E-Commerce-Kennzahlen wie Add-to-Cart-Rate oder Payment-Success, um Probleme früh als Umsatzrisiko zu erkennen. Lasttests simulieren echte User-Journeys inklusive Peak-Spikes und Payment-Mix, Postmortems und Observability liefern direktes Feedback für Architekturentscheidungen. Wer Verantwortung übernimmt („you build it, you run it“), erkennt Engpässe rechtzeitig und kann gezielt gegensteuern.</p>



<h2 class="wp-block-heading">Wie echte Unternehmen ihre E-Commerce-Architektur fit für Wachstum machen</h2>



<p class="wp-block-paragraph">SaM Solutions hat die Herausforderungen von drei E‑Commerce-Unternehmen genau unter die Lupe genommen.</p>




 
    
    <div class="editor-list-icons editor-list-icons_style_1 editor-list-icons_index_21">
        
    <div class="editor-list-icons__items">
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Wenn Auftrags- und Bestandsprozesse zum Skalierungsproblem werden</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p><a href="https://sam-solutions.de/fallstudien/optimiertes-auftrags-und-bestandsmanagement-fallstudie/">Fluent Commerce</a> ist ein international tätiger Anbieter einer Order-Management-Plattform, die Einzelhändlern hilft, Bestände und Aufträge kanalübergreifend in Echtzeit zu steuern. Mit der Expansion in neue Märkte stiegen die Anforderungen an Skalierbarkeit, Performance und Transparenz deutlich. Ohne moderne Architektur kam es zu Verzögerungen bei Bestandsaktualisierungen, eingeschränkter Echtzeit-Übersicht und steigenden operativen Risiken.</p>
<p>SaM Solutions implementierte eine optimierte OMS-Lösung: Echtzeit-Bestandsmanagement, Multi-Paket-Processing, verbesserte Systemüberwachung, nahtlose Payment-Integration und optimierte Benutzeroberflächen. Dadurch konnte Fluent Commerce die Performance steigern, die Order- und Bestandsprozesse stabilisieren und die Grundlage für weiteres Wachstum und innovative Services schaffen.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/10-1.svg"
                                                                                                  alt="Wenn Auftrags- und Bestandsprozesse zum Skalierungsproblem werden"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Wenn die Shop-Plattform an ihre Grenzen stößt</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p><a href="https://sam-solutions.de/fallstudien/migration-einer-premium-grooming-marke-zu-einer-skalierbaren-shopify-architektur/">Brooklyn Soap Company</a> ist eine Grooming-Marke für Männer, die hochwertige, natürliche Pflegeprodukte anbietet und in mehrere europäische Märkte expandierte. Ihr Shop lief auf Magento 2, was zunehmend die Skalierbarkeit und Entwicklung verlangsamte: Datenformate waren inkompatibel, zentrale Funktionen mussten neu gedacht werden, und Marketing-Teams hatten nur begrenzte Flexibilität bei der Shop‑Administration.</p>
<p>SaM Solutions migrierte den gesamten Storefront zu Shopify, entwickelte ein vollständig individuelles Theme und baute zentrale Funktionen wie einen „Bundle Builder“ und Checkout‑Upsells neu. Dabei wurde eine maßgeschneiderte Datenkonvertierung implementiert, um Kunden, Bestellungen, Produkte und Konfigurationen fehlerfrei zu übertragen.</p>
<p>Das Ergebnis ist eine leistungsstarke, modulare E‑Commerce‑Plattform, die flexibel wächst, schneller in neue Märkte geht und die User Experience verbessert — inklusive höherer Skalierbarkeit, besserer Produkt‑ und Content‑Verwaltung sowie einzigartiger Checkout‑Funktionen, die den durchschnittlichen Bestellwert steigern.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/5-2.svg"
                                                                                                  alt="Wenn die Shop-Plattform an ihre Grenzen stößt"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><h3 class="h5">Wenn das ERP-System die digitale Agilität begrenzt</h3>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p><a href="https://sam-solutions.de/fallstudien/netsuite-zu-odoo-erp-migration/">DiscountFilterStore.com</a> ist ein global tätiger Onlinehändler für Wasserfiltersysteme, der über eigenen Shop und große Marktplätze wie Amazon, eBay und Walmart verkauft. Um Kosten zu senken und mehr Flexibilität zu gewinnen, entschied sich das Unternehmen, seine Geschäftsprozesse von Oracle NetSuite auf Odoo zu migrieren — ohne Unterbrechung der laufenden Verkäufe oder Integrationen.</p>
<p>SaM Solutions entwarf eine kontrollierte ERP‑Migration inklusive eines speziell entwickelten Synchronisationstools, optimierter Marktplatz‑Integrationen und Workflow‑Anpassungen, die Odoo als zentrales System etablierten. Parallel wurden bestehende Marktplatzverknüpfungen und die WMS‑Integration angepasst und die Lösung in Odoo.sh bereitgestellt.</p>
<p>Die Migration führte zu deutlich reduzierten ERP‑Kosten (bis zu 10‑fach), verbesserter Stabilität aller Integrationen, höherer Daten‑Transparenz sowie einer skalierbareren, ressourcenschonenderen ERP‑Architektur — und das alles ohne Datenverlust oder Ausfallzeiten.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/7-Faster-time-to-market.svg"
                                                                                                  alt="Wenn das ERP-System die digitale Agilität begrenzt"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
            </div>
    </div>
    




 
    
    <div class="editor-list-articles editor-list-articles_style_1 editor-list-articles_index_22">
        
    <div class="editor-list-articles__items owl-carousel">
                                                                <div class="editor-list-articles__item">
                        <a class="editor-list-articles__item-inner" href="https://sam-solutions.de/blog/composable-commerce-migration/">
                            <div class="editor-list-articles__item-picture">
                                                    					<img decoding="async" class="editor-list-articles__item-img owl-lazy" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="
                							 data-src="https://sam-solutions.de/wp-content/uploads/fly-images/30978/title-22-360x230.webp" data-src-retina="https://sam-solutions.de/wp-content/uploads/fly-images/30978/title-22-720x460.webp"
                							 width="358" height="230"
                							 alt="Composable Commerce Migration: Ihre Schritt-für-Schritt-Strategie">
                					                                                            </div>
                            <div class="editor-list-articles__item-content">
                                                                                                                                        <div class="editor-list-articles__item-cat">    
                                                                            	    E-Commerce &amp; Kundenerlebnis (CX)                                    	                                    </div>
                                                                <div class="editor-list-articles__item-title">
                                    <div class="h5">Composable Commerce Migration: Ihre Schritt-für-Schritt-Strategie</div>
                                </div>
                            </div>
                        </a>
                    </div>
                                                                            <div class="editor-list-articles__item">
                        <a class="editor-list-articles__item-inner" href="https://sam-solutions.de/blog/composable-commerce-und-digitale-transformation/">
                            <div class="editor-list-articles__item-picture">
                                                    					<img decoding="async" class="editor-list-articles__item-img owl-lazy" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="
                							 data-src="https://sam-solutions.de/wp-content/uploads/fly-images/29898/title-20-360x230.webp" data-src-retina="https://sam-solutions.de/wp-content/uploads/fly-images/29898/title-20-720x460.webp"
                							 width="358" height="230"
                							 alt="Composable Commerce und Digitale Transformation">
                					                                                            </div>
                            <div class="editor-list-articles__item-content">
                                                                                                                                        <div class="editor-list-articles__item-cat">    
                                                                            	    Digitale Transformation,                                     	                                    	    E-Commerce &amp; Kundenerlebnis (CX)                                    	                                    </div>
                                                                <div class="editor-list-articles__item-title">
                                    <div class="h5">Composable Commerce und Digitale Transformation</div>
                                </div>
                            </div>
                        </a>
                    </div>
                                                                            <div class="editor-list-articles__item">
                        <a class="editor-list-articles__item-inner" href="https://sam-solutions.de/blog/composable-commerce/">
                            <div class="editor-list-articles__item-picture">
                                                    					<img decoding="async" class="editor-list-articles__item-img owl-lazy" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="
                							 data-src="https://sam-solutions.de/wp-content/uploads/fly-images/29202/1280x720-1-360x230.jpg" data-src-retina="https://sam-solutions.de/wp-content/uploads/fly-images/29202/1280x720-1-720x460.jpg"
                							 width="360" height="202"
                							 alt="Was ist Composable Commerce?">
                					                                                            </div>
                            <div class="editor-list-articles__item-content">
                                                                                                                                        <div class="editor-list-articles__item-cat">    
                                                                            	    E-Commerce &amp; Kundenerlebnis (CX)                                    	                                    </div>
                                                                <div class="editor-list-articles__item-title">
                                    <div class="h5">Was ist Composable Commerce?</div>
                                </div>
                            </div>
                        </a>
                    </div>
                        </div>
    </div>
    



<h2 class="wp-block-heading">Strategische Erkenntnisse aus drei Modernisierungsprojekten</h2>




 
    
    <div class="editor-list-step editor-list-step_style_2 editor-list-step_index_23">
        
    <div class="editor-list-step__items">
                                    <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Skalierbarkeit ist keine Option, sondern Pflicht</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Legacy‑Systeme oder monolithische Shops bremsen Wachstum. Migration zu modularen Plattformen (Shopify, Odoo, OMS) ermöglicht Traffic‑Spitzen, internationale Expansion und flexible Funktionsentwicklung.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Echtzeit‑Daten und konsistente „Sources of Truth“ sichern die Operations</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Verzögerte Bestands- oder Preisupdates führen direkt zu Umsatzverlusten. Zentrale Read‑APIs, Event‑Driven-Integration und klar definierte Datenverantwortlichkeiten verhindern Inkonsistenzen.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Flexibilität für Marketing und Customer Experience steigert Conversion</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Individuelle Bundle-Builder, Checkout‑Upsells oder Content-Management verbessern UX und Umsatz. Moderne Plattformen ermöglichen schnelle Feature-Iterationen ohne riskante Full-Deployments.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Prozess- und ERP-Migrationen senken Kosten und Risiken</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>ERP-Wechsel (NetSuite → Odoo) reduzieren Betriebs- und Lizenzkosten, erhöhen Transparenz und Stabilität, besonders bei Multi-Channel‑Vertrieb und Marktplatzintegration.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Observability und SLO‑basiertes Monitoring sichern Peak-Performance</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Golden Signals + Customer Journey KPIs + Error Budgets helfen, kritische Engpässe früh zu erkennen und Ausfälle bei Kampagnen oder Peak-Saisons zu vermeiden.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Ownership und Plattformdenken fördern schnelle Entscheidungen</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Teams, die Services selbst betreiben („you build it, you run it“) können Bottlenecks schneller adressieren, Releases stabiler planen und Integrationen sauber gestalten.</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Compliance und Payment-Architektur müssen von Anfang integriert werden</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>DSGVO, NIS2, BFSG, GPSR und lokale Zahlarten (PayPal, Rechnung, Lastschrift) sollten frühzeitig berücksichtigt werden, sonst entstehen Risiken für Umsatz und Audit.</p>
</div>
                        </div>
                                    </div>  
                        
    </div>
    </div>
    



<h2 class="wp-block-heading">Architektur-Quick-Check für E-Commerce-Verantwortliche</h2>



<p class="wp-block-paragraph">Unternehmen, die ihre E-Commerce-Architektur modernisieren wollen, müssen typische Engpässe früh erkennen. Die folgenden Checkpoints zeigen Warnsignale und praxisnahe Maßnahmen, um Risiken bei Traffic, Daten, Integrationen und Compliance zu minimieren.</p>



<figure class="wp-block-table is-style-stripes"><table class="has-fixed-layout"><thead><tr><th>Checkpoint</th><th>Warnsignal</th><th>Schweregrad</th><th>Praktische Remediation</th></tr></thead><tbody><tr><td>Peak-Readiness</td><td>Queue‑Backlogs, Inventory‑Lag, verzögerte Preis-/Bestandsupdates</td><td>Kritisch</td><td>Capacity‑Model + Spike‑Tests; Caching/Serving‑Layer; Entkopplung Produkt vs Offer/Stock</td></tr><tr><td>SLOs / Error Budgets</td><td>Keine SLOs für Checkout, Payment, Search; Entscheidungen „gefühlt“</td><td>Hoch</td><td>SLOs pro Domain-Service; Error‑Budget‑Policy vor Peak-Wochen</td></tr><tr><td>Observability</td><td>Alerts nur auf Infrastruktur; Funnel-Korrelation fehlt</td><td>Hoch</td><td>Golden Signals + Journey-KPIs; Postmortems als Pflicht</td></tr><tr><td>Datenquelle</td><td>Mehrere Produkt-/Preis-/Bestandsquellen; Data Lineage fehlt</td><td>Hoch</td><td>Zentraler Read‑API‑Layer; klare Data Contracts; Sunset-Plan für Legacy</td></tr><tr><td>Shop ↔ ERP/WMS</td><td>Checkout blockiert bei ERP-Latenz</td><td>Kritisch</td><td>Async Order-Orchestration; Event‑Driven Integration</td></tr><tr><td>Payment-Orchestrierung</td><td>Single-Point-of-Failure; Refund/Chargeback manuell</td><td>Hoch</td><td>Zahlungs-Router mit mehreren Providern; Failover-Flows; Monitoring pro Zahlart</td></tr><tr><td>Release-Fähigkeit</td><td>Seltene, risikoreiche Releases; Feature-Flags fehlen</td><td>Hoch</td><td>CI/CD-Pipeline; Feature-Flags; Canary/Blue-Green; Freeze vor Peak</td></tr><tr><td>Architektur-Modularität</td><td>Alles im Shop → Upgrade-Blockaden</td><td>Hoch</td><td>Modularisierung (modularer Monolith/Strangler); API-first; klare Domänen</td></tr><tr><td>Cloud-Kosten / Lock-in</td><td>Überraschende Kosten; Abhängigkeit von Providern</td><td>Mittel-Hoch</td><td>FinOps-KPIs; Dashboards pro Service; Proprietarität minimieren</td></tr><tr><td>Compliance-Readiness</td><td>PII-Flows unklar; Barrierefreiheit &amp; Produktdaten nicht systematisch</td><td>Hoch</td><td>Privacy-by-Design; Accessibility-Backlog; Produktdaten-Governance; Security-Controls/IR-Playbooks</td></tr><tr><td>Team-/Plattform-Organisation</td><td>Viele Teams, keine Standards; Integrationen „per Ticket“</td><td>Mittel-Hoch</td><td>Platform-Engineering; Self-Service &amp; Standards; Developer Experience</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Fazit: Skalierbarkeit beginnt bei der Architektur</h2>



<p class="wp-block-paragraph">Nur wer modulare Systeme nutzt, klare Datenflüsse etabliert und flexible Integrationen implementiert, kann Traffic-Spitzen meistern, Multi-Channel-Expansion ermöglichen und schnelle Anpassungen im Wettbewerb umsetzen. Moderne Plattformen bilden die Basis für stabile Prozesse, bessere Customer Experience und nachhaltiges Wachstum im E‑Commerce.</p>



<div id="video-content" class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="E-Commerce unter Wachstumsdruck: Wie Unternehmen ihre IT-Architektur in der Praxis modernisieren" width="500" height="281" class="lazyload" referrerpolicy="strict-origin-when-cross-origin" data-src="https://www.youtube.com/embed/HFVb18j1Mzk?feature=oembed"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope;  web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
</div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://sam-solutions.de/blog/e-commerce-unter-wachstumsdruck/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:content url="https://www.youtube.com/watch?v=HFVb18j1Mzk" medium="video">
			<media:player url="https://www.youtube.com/watch?v=HFVb18j1Mzk" />
			<media:title type="plain">E-Commerce unter Wachstumsdruck: Wie Unternehmen ihre IT-Architektur in der Praxis modernisieren</media:title>
			<media:description type="html"><![CDATA[Die Chancen und Herausforderungen für E‑Commerce-Unternehmen nehmen zu, und in der aktuellen Situation können sie sich veraltete Architekturen schlicht nicht leisten. SaM Solutions zeigt anhand realer Beispiele, wie Modernisierung Prozesse spürbar verbessert und was Unternehmen bereits jetzt prüfen können.]]></media:description>
			<media:thumbnail url="https://i.ytimg.com/vi/HFVb18j1Mzk/maxresdefault.jpg" />
			<media:rating scheme="urn:simple">adult</media:rating>
		</media:content>
	</item>
		<item>
		<title>Entwicklung eines KI-Assistenten-Prototyps zur automatisierten Lead-Identifikation und -Qualifizierung</title>
		<link>https://sam-solutions.de/blog/ki-assistent-fuer-automatisierte-lead-generierung/</link>
					<comments>https://sam-solutions.de/blog/ki-assistent-fuer-automatisierte-lead-generierung/#respond</comments>
		
		<dc:creator><![CDATA[Andrey Kopanev]]></dc:creator>
		<pubDate>Fri, 06 Feb 2026 11:25:53 +0000</pubDate>
				<guid isPermaLink="false">https://sam-solutions.com/?post_type=article&#038;p=33303</guid>

					<description><![CDATA[Praxisnahe Fallstudie zur Entwicklung eines KI-Assistenten für automatisierte Lead-Identifikation und -Qualifizierung in der Softwareentwicklung, der LLMs, strukturierte Gesprächsabläufe und menschenähliche Nachrichten kombiniert, um Outreach effektiv und respektvoll zu skalieren.]]></description>
										<content:encoded><![CDATA[<span id="more-33303"></span>
<!--noteaser-->



<iframe style="margin: 0;" width="100%" height="115" scrolling="no" frameborder="no" allow="autoplay" title="KI-Assistent zur automatisierten Lead-Identifikation und -Qualifizierung" 
src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/soundcloud%253Atracks%253A2261294621&#038;color=%23ff5500&#038;auto_play=false&#038;hide_related=false&#038;show_comments=false&#038;show_user=false&#038;show_reposts=false&#038;show_teaser=false"> </iframe>


<p style="font-size:14px;"> <em>(Wenn Sie Videoinhalte bevorzugen, sehen Sie sich bitte <a href="#video-content">die kurze Videozusammenfassung</a> dieses Artikels unten an.)</em> </p>





 
    
    <div class="editor-content editor-content_style_1 editor-content_index_24">
        
    
    <div class="editor-content__descr">
        <div class="wysiwyg-editor"><h2>Das Wichtigste</h2>
<ul>
<li>Die Kombination aus strukturierten Gesprächsskripten und der Anpassungsfähigkeit von LLMs ermöglicht eine skalierbare, natürliche Lead-Qualifizierung, ohne „robotisch“ zu wirken.</li>
<li>Ein KI-Assistent kann den ICP-Fit präzise bewerten, indem er relevante Geschäftsdaten aus frei formulierten Gesprächen extrahiert und validiert.</li>
<li>Die Beachtung der Nutzerintention und das Erkennen von Desinteresse sind entscheidend für eine ethische und effektive KI-gestützte Ansprache.</li>
<li>Produktionsreife KI-Leadgenerierung erfordert nicht nur leistungsfähige Modelle, sondern auch durchdachtes Prompt-Design, Validierungslogik und konsequente Kostenkontrolle.</li>
</ul>
</div>
    </div>
    </div>
    



<p class="wp-block-paragraph">Die Gewinnung potenzieller Kunden für Softwareentwicklungsdienstleistungen ist selten eine einfache Aufgabe. In der Praxis bedeutet sie häufig, Chats, Foren und soziale Netzwerke manuell zu beobachten, vielversprechende Gespräche zu identifizieren und potenzielle Kontakte anschließend einzeln mit ähnlichen Einleitungsnachrichten anzusprechen. Dieser Prozess ist zeitaufwendig, repetitiv und kaum skalierbar.</p>



<p class="wp-block-paragraph">In diesem Artikel erläutere ich, wie ich einen funktionsfähigen Prototyp eines KI-gestützten Assistenten namens SaMio entwickelt habe, der die frühzeitige Lead-Identifikation und -Qualifizierung für Softwareentwicklungsanbieter automatisiert und dabei Gespräche natürlich, respektvoll und kontextsensitiv gestaltet.</p>



<h2 class="wp-block-heading">Die Herausforderung: Manuelle Lead-Identifikation skaliert nicht</h2>



<p class="wp-block-paragraph">Der Ausgangspunkt war ein sehr typischer Workflow aus der Praxis.</p>



<p class="wp-block-paragraph">Ein Mitarbeiter eines Unternehmens überwacht kontinuierlich Chats und soziale Plattformen, um Personen zu identifizieren, die möglicherweise an Softwareentwicklungsdienstleistungen interessiert sind. Wird eine solche Person gefunden, ähnelt der nächste Schritt klassischer Kaltakquise – nur über moderne Messenger statt per Telefon. Die Ansprache folgt dabei meist einem festen Muster: Begrüßung, einige qualifizierende Fragen und anschließend entweder ein konkretes Angebot oder ein höflicher Rückzug.</p>



<p class="wp-block-paragraph"><strong>Die Probleme dieses Ansatzes lagen auf der Hand:</strong></p>



<ul class="wp-block-list">
<li>Dieselben Einleitungsnachrichten mussten immer wieder manuell formuliert werden.</li>



<li>Gespräche verliefen selten strikt linear entlang eines Skripts.</li>



<li>Personen konnten jederzeit ablehnen, nicht reagieren oder das Thema wechseln.</li>



<li>Es war schwierig, konsistent zu bewerten, ob eine Person tatsächlich dem Ideal Customer Profile (ICP) entsprach.</li>
</ul>



<p class="wp-block-paragraph">Ziel war es daher, diesen Prozess zu automatisieren, ohne daraus eine robotische Spam-Maschine zu machen und ohne Menschen zu verärgern.</p>




 
    
    <div class="editor-list-cta editor-list-cta_style_1 editor-list-cta_index_25">
        
    <div class="editor-list-cta__items">
                                    
                    			    				<style>
    					.editor-list-cta_index_25 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-button {
            				            				
            				            				        							    background: linear-gradient(to right, #a067e8, #527eff);
    							            				    					}
    				</style>
    			    			
    			    			    				<style>
    					.editor-list-cta_index_25 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left {
    					    padding-left: 10px;
    					}
    					
    					.editor-list-cta_index_25 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left:before {
    					    left: 0;
    					    top: 50%;
    					    width: 3px;
    					    content: '';
    					    position: absolute;
    					    margin-left: -10px;
    					    height: calc(100% + 10px);
    					    transform: translateY(-50%);

            				            					    							    background: linear-gradient(45deg, #527eff, #a067e8);
    							            				    					}
    					
    					@media (max-width: 475px) {
    					    .editor-list-cta_index_25 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left:before {
    					        width: 2px;
                                margin-left: -3.5px;
    					    }
    					}
    				</style>
    			                
                    			    			        
    			
                    			
                                
                <div class="editor-list-cta__item editor-list-cta__item_index_1">
                    <div class="editor-list-cta__item-inner">
            		                		                                <div class="editor-list-cta__item-left">
                                                                                                    <div class="editor-list-cta__item-title"><p><span style="font-weight: 400;">SaM Solutions ist seit 1993 auf dem deutschen IT-Markt aktiv und bietet professionelle Softwareentwicklung für Kunden aus allen Branchen.</span></p>
</div>
                                                	        </div>
            	        
            	                    	            <div class="editor-list-cta__item-right">
            	                                    	                                	                                	            <div class="editor-list-cta__item-event">
                    	                <div class="editor-list-cta__item-button button button_style_1">
                                            <a class="button__inner" href="https://sam-solutions.de/leistungen/software-engineering/?utm_source=blog&#038;utm_medium=post_ID_33303&#038;utm_campaign=cta_post_content_17399">                                                <div class="button__name">Mehr erfahren</div>
                                            </a>                                        </div>
                                    </div>    
                                                                        
            	            </div>
            	                	        </div>
                </div>
                        </div>
    </div>
    



<h2 class="wp-block-heading">Die Grundidee: Skriptbasierter Ablauf und Anpassungsfähigkeit von LLMs</h2>



<p class="wp-block-paragraph">Anstatt Gespräche vollständig frei zu improvisieren, habe ich mit einem strukturierten, skriptbasierten Ansatz begonnen.</p>



<p class="wp-block-paragraph">Im Kern von SaMio steht eine definierte Gesprächslogik, die aus folgenden Elementen besteht:</p>



<ul class="wp-block-list">
<li>initialen Begrüßungsnachrichten,</li>



<li>einer Abfolge qualifizierender Fragen,</li>



<li>abschließenden Erfolgs- oder Abbruchnachrichten.</li>
</ul>



<p class="wp-block-paragraph">Jeder Frageschritt verfolgt ein konkretes Validierungsziel, zum Beispiel die Identifikation der Branche, der Unternehmensgröße oder der Rolle der Person im Unternehmen. Die Anzahl der Fragen ist flexibel und kann je nach geschäftlichen Anforderungen erweitert werden.</p>



<p class="wp-block-paragraph">Ein statisches Skript allein würde jedoch niemals natürlich wirken. Reale Gespräche sind unordentlich: Menschen antworten indirekt, stellen themenfremde Fragen oder präzisieren frühere Aussagen. Genau hier wird KI unverzichtbar.</p>



<h2 class="wp-block-heading">Das Gespräch menschlich wirken lassen</h2>



<p class="wp-block-paragraph">Um Dialoge natürlich wirken zu lassen, habe ich ein Large Language Model (LLM) angebunden, das sich an den Kommunikationsstil und den Kontext des Gegenübers anpasst.<br>SaMio versendet dabei nicht einfach vordefinierte Nachrichten, sondern:</p>



<ul class="wp-block-list">
<li>wählt passende Varianten aus dem Skript aus,</li>



<li>interpretiert frei formulierte Antworten der Nutzer,</li>



<li>extrahiert relevante Informationen aus diesen Antworten,</li>



<li>passt Tonfall und Gesprächstempo an den Verlauf der Unterhaltung an.</li>
</ul>



<p class="wp-block-paragraph">Wenn jemand plötzlich über das Wetter spricht oder das Thema wechselt, kann der Assistent natürlich reagieren und das Gespräch bei passender Gelegenheit behutsam wieder zurückführen.</p>



<p class="wp-block-paragraph">Gleichzeitig muss der Assistent klare Grenzen erkennen. Lehnt eine Person das Gespräch ab oder signalisiert deutliches Desinteresse, respektiert der Assistent diese Entscheidung und beendet den Dialog, ohne weiter nachzusetzen.</p>



<p class="wp-block-paragraph">Dieses Gleichgewicht – anpassungsfähig zu sein, ohne aufdringlich zu wirken – war eines der wichtigsten Designziele.</p>



<h2 class="wp-block-heading">Qualifizierungs- und Validierungslogik</h2>



<p class="wp-block-paragraph">Im Verlauf des Gesprächs sammelt SaMio die Antworten auf die qualifizierenden Fragen. Wichtig dabei:</p>



<ul class="wp-block-list">
<li>Die Antworten werden separat gespeichert und können später aktualisiert werden, falls der Nutzer zusätzliche Informationen liefert.</li>



<li>Das System vermeidet es, dieselbe Frage mehrfach zu stellen.</li>



<li>Jede Antwort fließt in eine Gesamtbewertung ein, wie gut die Person zum definierten Ziel-ICP passt.</li>
</ul>



<p class="wp-block-paragraph">Sobald alle relevanten Daten gesammelt sind oder das Gespräch auf natürliche Weise zu einem Ende kommt, bewertet der Assistent das Ergebnis.</p>



<p class="wp-block-paragraph">Passt der potenzielle Kunde zum ICP, wählt der Assistent eine von mehreren Erfolgsmeldungen aus. Diese sind zurückhaltende, nicht aufdringliche Vorschläge, z. B. ein kurzes Demo-Angebot, das Teilen eines Leitfadens oder das Zeigen konkreter Beispiele.</p>



<p class="wp-block-paragraph">Passt die Person nicht oder lehnt eine weitere Diskussion ab, wählt der Assistent eine höfliche, wertschätzende und respektvolle Absage aus.</p>



<h2 class="wp-block-heading">Post-Conversation-Automatisierung</h2>



<p class="wp-block-paragraph">SaMio hört nach der Konversation nicht auf zu arbeiten. Nach dem Ende des Gesprächs:</p>



<ul class="wp-block-list">
<li>wird automatisch eine Zusammenfassungs-E-Mail mit den Ergebnissen des Dialogs versendet,</li>



<li>wird der gesamte Gesprächsverlauf in der Datenbank für spätere Auswertungen gespeichert,</li>



<li>werden relevante Daten mit Google Sheets synchronisiert, sodass die Lead-Verfolgung ohne manuelle Eingaben stets aktuell bleibt.</li>
</ul>



<p class="wp-block-paragraph">Dies gewährleistet Transparenz, Nachvollziehbarkeit und eine einfache Übergabe an Vertriebs- oder Marketingteams.</p>



<p class="has-text-align-center wp-block-paragraph"><strong><em>Beispiel einer Zusammenfassungstabelle</em></strong></p>



<figure class="wp-block-table is-style-stripes"><table class="has-fixed-layout"><thead><tr><th><strong>Name</strong></th><th><strong>Benutzer</strong></th><th><strong>Position</strong></th><th><strong>Firma</strong></th><th><strong>Größe</strong></th><th><strong>Branche</strong></th><th><strong>Datum</strong></th><th><strong>Letztes Update</strong></th></tr></thead><tbody><tr><td>Yena Polrix</td><td>Ypolrix_po</td><td>Benutzer ist Product Owner</td><td>N/A</td><td>ca. 300 Personen</td><td>Composable-Commerce-Sektor</td><td>22.11.2025</td><td>22.11.2025</td></tr><tr><td>Luma Qentari</td><td>lqentari_77</td><td>Benutzer ist Tech Strategy Lead</td><td>N/A</td><td>fast 1000 Mitarbeitende</td><td>Cloud-Automation</td><td>19.10.2025</td><td>10.01.2026</td></tr><tr><td>Nira Solven</td><td>nsolven_vp</td><td>Benutzer ist Direktor des Unternehmens</td><td>N/A</td><td>über 1200 Personen</td><td>Enterprise-Platform-Services</td><td>10.12.2025</td><td>10.12.2025</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Technische Entscheidungen und Architektur</h2>



<p class="wp-block-paragraph">Anfangs habe ich mit einem lokalen LLM (Gemma) experimentiert. Zwar erschien dieser Ansatz aus Kosten- und Datenschutzsicht attraktiv, zeigte aber schnell seine Grenzen.<br>Das Modell hatte Schwierigkeiten, mehrdeutige Antworten korrekt zu interpretieren. Reagierte ein Nutzer themenfremd, aber ohne das Gespräch abzulehnen, konnte das Modell häufig nicht sinnvoll adaptieren und weitermachen.</p>



<p class="wp-block-paragraph">Daraufhin wechselte ich zu GPT-4o-mini, gehostet auf Azure. Dieses Modell bot deutlich bessere Stabilität in der Konversation und ein zuverlässigeres Kontextverständnis.</p>



<p class="wp-block-paragraph">Eine weitere zentrale Herausforderung war die Kontrolle von Gesprächsabweichungen. Da cloudbasierte Modelle kostenpflichtige Tokens verbrauchen, war es nicht möglich, den Assistenten lange, irrelevante Gespräche führen zu lassen. Es galt, sorgfältig abzuwägen zwischen:</p>



<ul class="wp-block-list">
<li>Zulassen von natürlichem Small Talk,</li>



<li>Sanftes Zurückführen des Gesprächs auf das Thema,</li>



<li>Vermeidung unnötiger Token-Verbräuche,</li>



<li>Vermeidung offensichtlichen „Bot-Verhaltens“.</li>
</ul>



<p class="wp-block-paragraph">Hier spielt Prompt-Engineering eine wichtige Rolle, um Grenzen zu definieren und gleichzeitig Flexibilität zu erhalten.</p>



<h3 class="wp-block-heading has-medium-font-size">Technologie-Stack</h3>



<p class="wp-block-paragraph">Der Prototyp wurde aufgebaut mit:</p>



<ul class="wp-block-list">
<li>Azure,</li>



<li>Docker,</li>



<li><a href="/leistungen/technologien/net-software-entwicklung/">.NET</a>,</li>



<li>PostgreSQL</li>
</ul>



<h2 class="wp-block-heading">Das Ergebnis: Ein funktionsfähiger, produktionsreifer Prototyp</h2>



<p class="wp-block-paragraph">SaMio ist ein voll funktionsfähiger Prototyp, der:</p>



<ul class="wp-block-list">
<li>natürliche, adaptive Gespräche führt,</li>



<li>Leads basierend auf echten Antworten qualifiziert,</li>



<li>die Grenzen der Nutzer respektiert,</li>



<li>Follow-ups und Berichte automatisiert,</li>



<li>Daten zuverlässig speichert und synchronisiert.</li>
</ul>



<p class="wp-block-paragraph">Am wichtigsten ist: SaMio zeigt, wie LLM-basierte Assistenten über einfache Chatbots hinausgehen und zu praktischen Werkzeugen für echte Geschäftsprozesse werden können, wenn sie mit strukturierter Logik, Validierungsregeln und durchdachten Einschränkungen kombiniert werden.</p>



<h2 class="wp-block-heading">Fazit</h2>



<p class="wp-block-paragraph">Dieses Projekt hat eindrücklich gezeigt, dass erfolgreiche KI-Systeme selten „reine KI“ sind. Der eigentliche Mehrwert entsteht an der Schnittstelle von strukturierten Geschäftsskripten, menschlichen Kommunikationsmustern und sorgfältig kontrollierten Sprachmodellen.</p>



<p class="wp-block-paragraph">Für Softwareentwicklungsanbieter eröffnet dieser Ansatz neue Möglichkeiten für skalierbare, respektvolle Lead-Generierung, ohne Authentizität oder Vertrauen zu gefährden.</p>



<p class="wp-block-paragraph">Wer ähnliche Automatisierungsherausforderungen untersucht, sollte sich eine einfache Erkenntnis zu Herzen nehmen: Beginnen Sie mit realen menschlichen Arbeitsabläufen und lassen Sie die KI diese verbessern – nicht blind ersetzen.</p>



<div id="video-content" class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="KI-Assistent zur automatisierten Lead-Identifikation und -Qualifizierung" width="500" height="281" class="lazyload" referrerpolicy="strict-origin-when-cross-origin" data-src="https://www.youtube.com/embed/adE-Ubgg5S0?feature=oembed"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope;  web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
</div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://sam-solutions.de/blog/ki-assistent-fuer-automatisierte-lead-generierung/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:content url="https://www.youtube.com/watch?v=adE-Ubgg5S0" medium="video">
			<media:player url="https://www.youtube.com/watch?v=adE-Ubgg5S0" />
			<media:title type="plain">KI-Assistent zur automatisierten Lead-Identifikation und -Qualifizierung</media:title>
			<media:description type="html"><![CDATA[Die Gewinnung potenzieller Kunden für Softwareentwicklungsdienstleistungen ist selten eine einfache Aufgabe. In diesem Video erläutere ich, wie ich einen funktionsfähigen Prototyp eines KI-gestützten Assistenten namens SaMio entwickelt habe, der die frühzeitige Lead-Identifikation und -Qualifizierung für Softwareentwicklungsanbieter automatisiert und dabei Gespräche natürlich, respektvoll und kontextsensitiv gestaltet.]]></media:description>
			<media:thumbnail url="https://i.ytimg.com/vi/adE-Ubgg5S0/maxresdefault.jpg" />
			<media:rating scheme="urn:simple">adult</media:rating>
		</media:content>
	</item>
		<item>
		<title>Wie wir eine produktionsreife RAG-Engine für einen Website-KI-Chatbot entwickelt haben</title>
		<link>https://sam-solutions.de/blog/produktionsreife-rag-engine/</link>
					<comments>https://sam-solutions.de/blog/produktionsreife-rag-engine/#respond</comments>
		
		<dc:creator><![CDATA[Maryia Shapel]]></dc:creator>
		<pubDate>Wed, 28 Jan 2026 02:00:00 +0000</pubDate>
				<guid isPermaLink="false">https://sam-solutions.com/?post_type=article&#038;p=32433</guid>

					<description><![CDATA[(Wenn Sie Videoinhalte bevorzugen, sehen Sie sich bitte die kurze Videozusammenfassung dieses Artikels unten an.) Moderne Websites leiden nicht an einem Mangel an Informationen – im Gegenteil: Sie leiden oft unter Informationsüberfluss. Blogs, News, Leistungsseiten, Eventankündigungen, Case Studies … alles ist relevant, alles wächst, und alles ist über Navigationspfade verteilt, die für Besucher wenig Sinn [&#8230;]]]></description>
										<content:encoded><![CDATA[<span id="more-32433"></span>
<!--noteaser-->



<iframe style="margin: 0;" width="100%" height="115" scrolling="no" frameborder="no" allow="autoplay" title="Wie wir eine produktionsreife RAG-Engine für einen Website-KI-Chatbot entwickelt haben" 
src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/soundcloud%253Atracks%253A2255163623&#038;color=%23ff5500&#038;auto_play=false&#038;hide_related=false&#038;show_comments=false&#038;show_user=false&#038;show_reposts=false&#038;show_teaser=false"> </iframe>


<p style="font-size:14px;"> <em>(Wenn Sie Videoinhalte bevorzugen, sehen Sie sich bitte <a href="#video-content">die kurze Videozusammenfassung</a> dieses Artikels unten an.)</em> </p>




<p class="wp-block-paragraph">Moderne Websites leiden nicht an einem Mangel an Informationen – im Gegenteil: Sie leiden oft unter Informationsüberfluss. Blogs, News, Leistungsseiten, Eventankündigungen, Case Studies … alles ist relevant, alles wächst, und alles ist über Navigationspfade verteilt, die für Besucher wenig Sinn ergeben, wenn sie einfach nur eine konkrete Antwort suchen.</p>




 
    
    <div class="editor-content editor-content_style_1 editor-content_index_26">
        
    
    <div class="editor-content__descr">
        <div class="wysiwyg-editor"><h2>Schlüsselfakten</h2>
<ul>
<li>Produktionsreife KI-Chatbots benötigen eine RAG-Architektur, die zunächst die passenden Inhalte abruft, anstatt sich auf übergroße Prompts oder feinjustierte Modelle zu verlassen.</li>
<li>Saubere Inhaltsextraktion, semantische Aufteilung in Abschnitte und hybrides Retrieval (dense + lexikalisches Re-Ranking) sind entscheidend für die Qualität und Relevanz der Antworten.</li>
<li>Lokale, modulare RAG-Komponenten ermöglichen eine bessere Kontrolle über Kosten, Datenschutz und Skalierbarkeit als vollständig verwaltete Cloud-Ingestions-Pipelines.</li>
<li>Hochwertige Chatbot-Antworten sind das Ergebnis einer durchdachten Architektur – geprägt von Entscheidungen bei Ingestion, Retrieval und Ranking – und nicht allein vom LLM.</li>
</ul>
</div>
    </div>
    </div>
    



<p class="wp-block-paragraph">Genau deshalb haben wir ein internes RAG-Projekt (Retrieval-Augmented Generation) gestartet: um einen Website-Chatbot zu betreiben, der Fragen auf Basis unserer tatsächlichen Inhalte beantwortet. Verlässlich, datenschutzkonform und ohne so zu tun, als würde er Dinge „wissen“, die er nie gesehen hat.</p>



<p class="wp-block-paragraph">Entdecken Sie die praktische Geschichte, wie wir das System aufgebaut haben, was zunächst nicht funktioniert hat und was die Antworten schließlich spürbar präziser gemacht hat.</p>




 
    
    <div class="editor-list-cta editor-list-cta_style_1 editor-list-cta_index_27">
        
    <div class="editor-list-cta__items">
                                    
                    			    				<style>
    					.editor-list-cta_index_27 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-button {
            				            				
            				            				        							    background: linear-gradient(to right, #a067e8, #527eff);
    							            				    					}
    				</style>
    			    			
    			    			    				<style>
    					.editor-list-cta_index_27 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left {
    					    padding-left: 10px;
    					}
    					
    					.editor-list-cta_index_27 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left:before {
    					    left: 0;
    					    top: 50%;
    					    width: 3px;
    					    content: '';
    					    position: absolute;
    					    margin-left: -10px;
    					    height: calc(100% + 10px);
    					    transform: translateY(-50%);

            				            					    							    background: linear-gradient(45deg, #527eff, #a067e8);
    							            				    					}
    					
    					@media (max-width: 475px) {
    					    .editor-list-cta_index_27 .editor-list-cta__item.editor-list-cta__item_index_1 .editor-list-cta__item-left:before {
    					        width: 2px;
                                margin-left: -3.5px;
    					    }
    					}
    				</style>
    			                
                    			    			        
    			
                    			
                                
                <div class="editor-list-cta__item editor-list-cta__item_index_1">
                    <div class="editor-list-cta__item-inner">
            		                		                                <div class="editor-list-cta__item-left">
                                                                                                    <div class="editor-list-cta__item-title"><p>Mit KI zum Erfolg – erleben Sie Marketing, das sich selbst optimiert.</p>
</div>
                                                	        </div>
            	        
            	                    	            <div class="editor-list-cta__item-right">
            	                                    	                                	                                	            <div class="editor-list-cta__item-event">
                    	                <div class="editor-list-cta__item-button button button_style_1">
                                            <a class="button__inner" href="https://sam-solutions.de/leistungen/ki-software-entwicklung/?utm_source=blog&#038;utm_medium=post_ID_32433&#038;utm_campaign=cta_post_content_23816">                                                <div class="button__name">MEHR ERFAHREN </div>
                                            </a>                                        </div>
                                    </div>    
                                                                        
            	            </div>
            	                	        </div>
                </div>
                        </div>
    </div>
    



<h2 class="wp-block-heading">Business-Anforderung des Kunden</h2>



<p class="wp-block-paragraph">Das Projekt begann mit der Anfrage eines Kunden, eine skalierbare KI-Plattform zu entwerfen und zu implementieren. </p>



<p class="wp-block-paragraph"><strong>Unser übergeordnetes Ziel war es, ein System zu schaffen, das:</strong></p>



<ul class="wp-block-list">
<li>die Registrierung und den Zugriff auf das System ermöglicht,</li>



<li>mehrere unterschiedliche Modelle anbinden kann,</li>



<li>einen KI-Pop-up-Chat auf jeder Website einbettet.</li>
</ul>



<p class="wp-block-paragraph"><strong>Im Rahmen des MCP-Umfangs benötigte der Chatbot einige klar definierte Funktionen:</strong></p>



<ul class="wp-block-list">
<li>Beantwortung von Nutzerfragen mithilfe der Website-Inhalte (Blogs, Artikel, News, Event-Seiten).</li>



<li>Versand von E-Mails direkt aus dem Chat-Flow heraus (damit Besucher Fragen stellen, fehlende Informationen bereitstellen und eine Kontaktaufnahme auslösen können, ohne ein klassisches Kontaktformular ausfüllen zu müssen).</li>
</ul>



<h2 class="wp-block-heading">Das eigentliche Problem verstehen</h2>



<p class="wp-block-paragraph">Ein Website-Chatbot wirkt auf den ersten Blick einfach. Das bleibt jedoch nur so lange so, bis man versucht, ihn wirklich präzise zu machen. Die zentrale Einschränkung war dabei klar:</p>



<ul class="wp-block-list">
<li>Ein allgemeines LLM kennt den aktuellen Stand unserer Website nicht automatisch.</li>



<li>Große, cloudbasierte Sprachmodelle bringen zudem erhebliche Herausforderungen in Bezug auf Kosten, Datenschutz und die Abhängigkeit von externer Infrastruktur mit sich. Das gilt insbesondere dann, wenn sie nicht nur auf öffentliche Webinhalte, sondern auch auf interne oder sensible Informationen angewendet werden.</li>



<li>Infolgedessen entscheiden sich viele Teams für kleinere, lokal betriebene Modelle. Dieser Wechsel legt jedoch einen neuen Engpass offen: begrenzte Kontextfenster. Wenn ganze Dokumente oder Seiten in einen einzigen Prompt geladen werden, skaliert dieser Ansatz nicht mehr – Eingaben werden abgeschnitten, und irrelevante Abschnitte verbrauchen wertvollen Kontext. Der Ansatz mit „einem riesigen Prompt“ wird damit fragil und ineffizient.</li>
</ul>



<p class="wp-block-paragraph">Anstatt dem Modell also alles auf einmal „beizubringen“, haben wir uns für den Ansatz entschieden, der sich in realen Produktionssystemen bewährt hat: Zuerst werden die passenden Inhaltsbausteine abgerufen, und erst danach wird auf deren Basis die Antwort generiert. Genau das ist <a href="https://sam-solutions.de/blog/rag-llm-architektur/">RAG</a>.</p>



<h2 class="wp-block-heading">Lösungen entdecken</h2>



<p class="wp-block-paragraph">Wir haben verschiedene Ansätze untersucht, bevor wir uns festgelegt haben.</p>



<h3 class="wp-block-heading has-medium-font-size">Option 1: Die Seite als Prompt verwenden</h3>



<p class="wp-block-paragraph"><strong>Warum es scheiterte:</strong></p>



<ul class="wp-block-list">
<li>Webseiten enthalten LLM-irrelevantes Rauschen (z. B. Navigation, wiederholte Abschnitte, versteckte Elemente, Cookie-Hinweise), das nichts mit der eigentlichen Anfrage zu tun hat.</li>



<li>Begrenzte Kontextfenster führen dazu, dass das Modell Inhalte sowieso verwirft.</li>



<li>Die Antworten können je nach abgeschnittenen Inhalten stark variieren.</li>
</ul>



<h3 class="wp-block-heading has-medium-font-size"><strong>Option 2: Cloud-Ingestion + verwaltete Suche (z. B. Azure)</strong></h3>



<p class="wp-block-paragraph"><strong>Warum wir uns in dieser Phase dagegen entschieden haben:</strong></p>



<ul class="wp-block-list">
<li>Die Kosten steigen schnell, sobald Inhalte häufig indexiert und die Nutzung skaliert wird.</li>



<li>Datenschutz und Kontrolle werden auf lange Sicht komplexer, insbesondere bei internen Erweiterungen.</li>
</ul>



<h3 class="wp-block-heading has-medium-font-size">Option 3: Fine-Tuning</h3>



<p class="wp-block-paragraph"><strong>Warum es nicht passt:</strong></p>



<ul class="wp-block-list">
<li>Ständige Website-Updates würden ständiges Nachtrainieren oder Modell-Drift erfordern.</li>



<li>Fine-Tuning beantwortet nicht automatisch die Frage: „Woher stammt diese Antwort?“</li>



<li>Zudem ist es rechenintensiv und erfordert tiefgehendes ML-Fachwissen, um Modelle effektiv zu trainieren, zu warten und zu debuggen.</li>
</ul>



<h3 class="wp-block-heading has-medium-font-size">Option 4: RAG mit lokalen Komponenten</h3>



<p class="wp-block-paragraph"><strong>Warum wir uns dafür entschieden haben:</strong></p>



<ul class="wp-block-list">
<li>Wir behalten die volle Kontrolle über Daten und Kosten.</li>



<li>Wir können das Konzept zunächst mit öffentlichen Inhalten testen und später sicher auf internes Wissen ausweiten.</li>



<li>Wir können die Wissensbasis kontinuierlich aktualisieren, indem Inhalte neu indexiert werden.</li>
</ul>




 
    
    <div class="editor-list-articles editor-list-articles_style_1 editor-list-articles_index_28">
        
    <div class="editor-list-articles__items owl-carousel">
                                                                <div class="editor-list-articles__item">
                        <a class="editor-list-articles__item-inner" href="https://sam-solutions.de/blog/rag-llm-architektur/">
                            <div class="editor-list-articles__item-picture">
                                                    					<img decoding="async" class="editor-list-articles__item-img owl-lazy" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="
                							 data-src="https://sam-solutions.de/wp-content/uploads/fly-images/24319/title-10-360x230.webp" data-src-retina="https://sam-solutions.de/wp-content/uploads/fly-images/24319/title-10-720x460.webp"
                							 width="360" height="230"
                							 alt="Was ist Retrieval Augmented Generation (RAG)?">
                					                                                            </div>
                            <div class="editor-list-articles__item-content">
                                                                                                                                        <div class="editor-list-articles__item-cat">    
                                                                            	    KI &amp; Machine Learning                                    	                                    </div>
                                                                <div class="editor-list-articles__item-title">
                                    <div class="h5">Was ist Retrieval Augmented Generation (RAG)?</div>
                                </div>
                            </div>
                        </a>
                    </div>
                                                                            <div class="editor-list-articles__item">
                        <a class="editor-list-articles__item-inner" href="https://sam-solutions.de/blog/ki-entwicklungszyklus/">
                            <div class="editor-list-articles__item-picture">
                                                    					<img decoding="async" class="editor-list-articles__item-img owl-lazy" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="
                							 data-src="https://sam-solutions.de/wp-content/uploads/fly-images/17148/cover@2x-360x230.webp" data-src-retina="https://sam-solutions.de/wp-content/uploads/fly-images/17148/cover@2x-720x460.webp"
                							 width="360" height="230"
                							 alt="KI-Entwicklungszyklus – Ein umfassender Leitfaden">
                					                                                            </div>
                            <div class="editor-list-articles__item-content">
                                                                                                                                        <div class="editor-list-articles__item-cat">    
                                                                            	    KI &amp; Machine Learning,                                     	                                    	    Digitale Transformation                                    	                                    </div>
                                                                <div class="editor-list-articles__item-title">
                                    <div class="h5">KI-Entwicklungszyklus – Ein umfassender Leitfaden</div>
                                </div>
                            </div>
                        </a>
                    </div>
                                                                            <div class="editor-list-articles__item">
                        <a class="editor-list-articles__item-inner" href="https://sam-solutions.de/blog/was-ist-agentic-ai/">
                            <div class="editor-list-articles__item-picture">
                                                    					<img decoding="async" class="editor-list-articles__item-img owl-lazy" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="
                							 data-src="https://sam-solutions.de/wp-content/uploads/fly-images/23820/title@2x-14-360x230.webp" data-src-retina="https://sam-solutions.de/wp-content/uploads/fly-images/23820/title@2x-14-720x460.webp"
                							 width="360" height="230"
                							 alt="Was ist Agentic AI? Der Leitfaden zu agentenbasierter Künstlicher Intelligenz">
                					                                                            </div>
                            <div class="editor-list-articles__item-content">
                                                                                                                                        <div class="editor-list-articles__item-cat">    
                                                                            	    KI &amp; Machine Learning,                                     	                                    	    Softwareentwicklung                                    	                                    </div>
                                                                <div class="editor-list-articles__item-title">
                                    <div class="h5">Was ist Agentic AI? Der Leitfaden zu agentenbasierter Künstlicher Intelligenz</div>
                                </div>
                            </div>
                        </a>
                    </div>
                        </div>
    </div>
    



<h2 class="wp-block-heading">So haben wir den Prozess umgesetzt</h2>



<p class="wp-block-paragraph">Um eine interne RAG-Engine bereitzustellen, die Ingestion, Retrieval, LLM-Orchestrierung und die Einbettung auf der Website abdeckt, haben wir ein funktionsübergreifendes Team zusammengestellt:</p>



<ul class="wp-block-list">
<li><strong>Project Manager (PM)</strong> – koordinierte die Stakeholder, definierte Iterationen und Meilensteine und hielt den Umfang unter Kontrolle, während sich die Anforderungen weiterentwickelten.</li>



<li><strong>Architekt</strong> – verantwortete die Zielarchitektur, den Integrationsansatz und zentrale technische Entscheidungen wie Sicherheit, Skalierbarkeit und Datenfluss.</li>



<li><strong>.NET-Entwickler</strong> – implementierte die RAG-Services, die Retrieval-Pipeline, die Integration der Vektordatenbank und die MCP-Tools (Suche, Aktionen).</li>



<li><strong>Frontend-Entwickler</strong> – entwickelte die Chatbot-Benutzeroberfläche und die Nutzerflows, die notwendig sind, um den Chatbot auf der Website einzubetten und in realen Sessions nutzbar zu machen.</li>



<li><strong>2 Java-Entwickler </strong>– unterstützten Java-basierte Backend-Services und Integrationen; entwickelten die MCP-Plattform sowohl in .NET als auch in Java mit einheitlicher Architektur, wobei die Java-Implementierung für die Produktion ausgewählt wurde; bauten und pflegten CI/CD, Kubernetes, GitOps und überwachten die Stabilität der Plattform.</li>
</ul>




 
    
    <div class="editor-retina-image editor-retina-image_style_1 editor-retina-image_index_29">
        

        
    <img decoding="async" class="editor-retina-image__img" src="https://sam-solutions.de/wp-content/uploads/Team-composition-1.webp"
                
                     srcset="https://sam-solutions.de/wp-content/uploads/Team-composition-1.webp 1x, https://sam-solutions.de/wp-content/uploads/Team-composition@2x-1.webp 2x"
                  
         alt=""
         width="824" height="309">
    </div>
    



<p class="wp-block-paragraph">Dieses Setup ermöglichte es uns, schnell zu iterieren und die endgültige Antwortqualität zu verbessern, während das formalisierten Kommunikationsprotokoll von MCP einem mehrsprachigen, heterogenen Team die Zusammenarbeit erlaubte, ohne von einer einzelnen Expertise abhängig zu sein.</p>



<p class="wp-block-paragraph">Wir haben die Lösung in Iterationen entwickelt – die erste funktionierte „technisch“, aber noch nicht „produktseitig“.</p>



<h3 class="wp-block-heading"><strong>Version 1: Ein schneller Python-Prototyp (funktionierte, aber war chaotisch)</strong></h3>



<p class="wp-block-paragraph"><strong>Wir starteten mit einem Skript, das:</strong></p>



<ul class="wp-block-list">
<li>Seiten crawlte,</li>



<li>Inhalte extrahierte,</li>



<li>JSON-Dateien mit den extrahierten Inhalten erzeugte, die anschließend von einem separaten Tool verarbeitet wurden, um Embeddings zu erstellen und sie in der Vektordatenbank zu speichern.</li>
</ul>



<p class="wp-block-paragraph"><strong>Was schiefging:</strong></p>



<ul class="wp-block-list">
<li>Wir erstellten Embeddings für ganze Seiten inklusive HTML und Tags, was viel irrelevantes „semantisches Rauschen“ erzeugte.</li>



<li>Zudem stießen wir auf praktische Probleme bei der stabilen Text-zu-Embedding-Konvertierung und der Konsistenz.</li>
</ul>



<p class="wp-block-paragraph"><strong>Ergebnis:</strong> Der Chatbot konnte antworten, aber die Antworten wirkten oft unscharf, zu allgemein oder auf dem falschen Textfragment basierend.</p>



<h3 class="wp-block-heading"><strong>Version 2: Eine Microservice-basierte Pipeline (sauberer, skalierbar)</strong></h3>



<p class="wp-block-paragraph">Sobald unser Microservices-Team eingebunden war, haben wir den Ingestion-Ansatz neu gestaltet: Statt sich durch Querverlinkungen zu „hangeln“, nutzte der Service – wo möglich – die Website-APIs. Der Microservice:</p>



<ul class="wp-block-list">
<li>rief Inhalte ab,</li>



<li>bereinigte sie,</li>



<li>teilte sie in Chunks auf,</li>



<li>erstellte Embeddings für diese Chunks</li>



<li>und übertrug sie in die Vektordatenbank.</li>
</ul>



<p class="wp-block-paragraph">Allein dadurch verbesserte sich die Relevanz deutlich, da das Modell aufhörte, Navigationsmenüs und wiederholte UI-Blöcke „mitzulernen“.</p>




 
    
    <div class="editor-cta editor-cta_style_1 editor-cta_index_30">
        
<a class="editor-cta__inner" href="https://sam-solutions.de/blog/rag-llm-architektur/">

                
    <div class="editor-cta__split">
                
                    <div class="editor-cta__right">
                <div class="editor-cta__title">
                    <div class="h5">Alles über RAG in einem Artikel</div>
                </div>
            </div>
            </div>
    
    <div class="editor-cta__event">
        <div class="editor-cta__button">
            <span></span>
            <span></span>
            <span></span>
        </div>    
    </div>
    
</a>    </div>
    



<h2 class="wp-block-heading">Entwurf der RAG-Strategie</h2>



<p class="wp-block-paragraph">Der Erfolg von RAG hängt von zwei Dingen ab:</p>



<ul class="wp-block-list">
<li><strong>wie Inhalte in Chunks aufgeteilt werden</strong>,</li>



<li><strong>wie die abgerufenen Inhalte gerankt werden</strong>.</li>
</ul>



<h3 class="wp-block-heading has-medium-font-size">Getestete Chunking-Experimente</h3>



<p class="wp-block-paragraph">Wir haben mehrere Strategien untersucht, da manuelles, menschlich gesteuertes Aufteilen langsam ist, sich bei Updates nur schwer warten lässt und keinen skalierbaren Ansatz darstellt.</p>



<p class="wp-block-paragraph"><strong>Unsere Untersuchungen umfassten unter anderem:</strong></p>



<ul class="wp-block-list">
<li>Satzfenster-Chunking,</li>



<li>Semantisches Chunking (Split/Merge auf Basis von Embedding-Ähnlichkeit),</li>



<li>Hybride Ansätze, die feste Fenster mit semantischem Zusammenführen kombinierten.</li>
</ul>



<p class="wp-block-paragraph"><strong>Verwendete Bibliotheken und Komponenten:</strong></p>



<ul class="wp-block-list">
<li>TextChunker (Microsoft.SemanticKernel.Text)</li>



<li>drittich.SemanticSlicer</li>



<li>SemanticChunker.NET</li>
</ul>



<p class="wp-block-paragraph"><strong>Eigene Strategien, z. B.:</strong></p>



<ul class="wp-block-list">
<li>SemanticDoubleParseMergeStrategy</li>



<li>WindowChunkStrategy</li>
</ul>



<p class="wp-block-paragraph"><strong>WindowChunkStrategy (Grundidee):</strong></p>



<ul class="wp-block-list">
<li>Ein Fenster aus drei Sätzen bilden</li>



<li>Um einen Satz verschieben → nächstes Fenster</li>



<li>Embeddings benachbarter Fenster vergleichen</li>



<li>Fenster zusammenführen, wenn sie semantisch nah beieinander liegen</li>
</ul>



<p class="wp-block-paragraph">So blieb der inhaltliche Zusammenhang erhalten, ohne riesige Textblöcke zu erzeugen. Am Ende haben wir uns für SemanticSlicer entschieden.</p>



<h3 class="wp-block-heading has-medium-font-size">Finaler Retrieval-Flow (der Teil, der alles verändert hat)</h3>



<p class="wp-block-paragraph">Unsere erste Implementierung setzte auf eine einfache Vektorsuche. Sie funktionierte – aber nicht so gut, wie wir es brauchten. Deshalb haben wir zwei zentrale Schritte ergänzt: Query-Enrichment und Re-Ranking.</p>



<p class="wp-block-paragraph">Vereinfachter Ablauf: Der Nutzer stellt eine Frage im Chat (Beispiel: „Welche Expertise hat Ihr Unternehmen?“)</p>




 
    
    <div class="editor-list-step editor-list-step_style_1 editor-list-step_index_31">
        
    <div class="editor-list-step__items">
                                    <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Schritt 1 — Query-Enrichment</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Bevor die Anfrage eingebettet wird, senden wir sie an das LLM, das sie semantisch erweitert. Beispiel für die Transformation: „die Expertise des Unternehmens“ → „die Expertise des Unternehmens, erfolgreiche Projekte, Kunden, Kompetenzen, Branchen“.</p>
<p>Anschließend führen wir das Retrieval zweimal aus:</p>
<ul>
<li>Vektorsuche für die ursprüngliche Anfrage,</li>
<li>Vektorsuche für die angereicherte Anfrage.</li>
</ul>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Schritt 2 — Re-Ranking (BM25 / lexikalische Relevanz)</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Das System ruft 15 Ergebnisse aus der angereicherten Anfrage und 10 aus der ursprünglichen ab, rankt sie anschließend neu und wählt die Top 5 für die Antwortgenerierung aus. Dabei werden Chunks mit starker Keyword-Übereinstimmung sowie seltenen, charakteristischen Begriffen bevorzugt. Da alles als modulare Microservice-Plattform aufgebaut ist, lassen sich sämtliche Retrieval- und Ranking-Parameter zur Laufzeit konfigurieren, um Relevanz, Performance und Skalierbarkeit zu optimieren. Wir wählen die Top-5-Chunks aus. Diese Datensätze bilden den fundierten Kontext für die LLM-Antwort.</p>
</div>
                        </div>
                                    </div>  
                        
    </div>
    </div>
    



<p class="wp-block-paragraph">An diesem Punkt verbesserten sich die Antworten spürbar: präzisere Aussagen, weniger irrelevante Zitate und eine bessere Ausrichtung daran, wie Menschen tatsächlich Fragen stellen.</p>



<h2 class="wp-block-heading">Implementierte Funktionen</h2>



<p class="wp-block-paragraph">Die folgenden Funktionen bilden den Kern des Systems und ermöglichen zuverlässige Aktionen, präzises Retrieval und eine nachvollziehbare Wissensverankerung im realen Produktionseinsatz.</p>




 
    
    <div class="editor-list-step editor-list-step_style_2 editor-list-step_index_32">
        
    <div class="editor-list-step__items">
                                    <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">MCP-Tools für echte Aktionen</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Innerhalb von MCP haben wir Tools implementiert, die der Assistent programmgesteuert aufrufen kann: Vektordatenbank-Suche (semantisches Retrieval), E-Mail-Versand (Lead-Erfassung / Follow-up).</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Eine Wissensbasis aus realen Website-Inhalten</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Jeder Chunk ist bis zur jeweiligen Quellseite rückverfolgbar. Die Neuindexierung läuft zeitgesteuert (anfangs alle paar Stunden, bis zu zweimal täglich – abhängig von der vordefinierten Konfiguration).</p>
</div>
                        </div>
                                    </div>  
                                                <div class="editor-list-step__item">
                                            <div class="editor-list-step__item-title"><div class="h5">Verbesserungen der hybriden Retrieval-Qualität</div>                        </div>
                                                                <div class="editor-list-step__item-descr">
                            <div class="wysiwyg-editor"><p>Wir haben ein Zwei-Pass-Retrieval (ursprüngliche + angereicherte Anfrage), BM25-Re-Ranking und eine Top-K-Auswahl implementiert, um Prompts klein und relevant zu halten – im Wesentlichen beschreibt dies den Kern von RAG, dessen Hauptaufgabe darin besteht, die für eine gegebene Anfrage relevantesten Dokumente zu finden.</p>
</div>
                        </div>
                                    </div>  
                        
    </div>
    </div>
    



<h2 class="wp-block-heading">Überwindung von Herausforderungen</h2>




 
    
    <div class="editor-list-icons editor-list-icons_style_1 editor-list-icons_index_33">
        
    <div class="editor-list-icons__items">
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><div class="h5">Content-Rauschen und „falsche Inhalte einbetten“</div>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Früh führte das Einbetten von Rohseiteninhalten dazu, dass der Assistent falsche Signale „lernte“. Lösung: sauberere Extraktion + Chunking, fokussiert auf sinnvolle Textblöcke.</p>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/1-Content-noise.svg"
                                                                                                  alt="1-The content noise"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><div class="h5">Namen und mehrsprachige Randfälle</div>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Einige Nutzerfragen waren nicht auf Englisch (z. B. „Who is the named person?“). Embedding-Modelle, die in den Fremdsprachen nicht stark sind, können fehlerhafte Ergebnisse liefern. So kann das System beispielsweise eine andere Person mit demselben Namen abrufen, nur weil die Vektorähnlichkeit nicht genau genug ist. Untersuchte Lösungsansätze:</p>
<ul>
<li>Hybrides sparse + dense Retrieval,</li>
<li>Zusätzliche Signale zur Erkennung von Personennamen.</li>
</ul>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/2-Name.svg"
                                                                                                  alt="2-Names"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><div class="h5">Evaluation und Testing</div>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Das RAG-Retrieval selbst ist deterministisch für dieselben Eingaben, seine Nicht-Determinismus-Quellen liegen jedoch in der Generierung der Query-Embeddings und darin, wie das LLM den abgerufenen Kontext verarbeitet und formuliert. Erkenntnis: Der stabilste Testansatz besteht darin, Folgendes zu prüfen:</p>
<ul>
<li>Retrieval-Korrektheit: Wurden die richtigen Chunks abgerufen?</li>
<li>Antwort-Grundlage: Nutzt die Antwort tatsächlich den bereitgestellten Kontext?</li>
</ul>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/3-Evaluation.svg"
                                                                                                  alt="3-The Evaluation"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
                    <div class="editor-list-icons__item">
                <div class="editor-list-icons__item-inner">
                                            <div class="editor-list-icons__item-title"><div class="h5">Aktualität und Indexierungs-Latenz</div>                        </div>
                                                                <div class="editor-list-icons__item-descr">
                            <div class="wysiwyg-editor"><p>Neue Inhalte werden nicht sofort durchsuchbar – die Ingestion benötigt Zeit. Wir mussten ein Gleichgewicht finden zwischen:</p>
<ul>
<li>Infrastruktur-Last,</li>
<li>Nutzererwartung, dass „der Chatbot wissen sollte, was wir heute veröffentlicht haben“,</li>
<li>Indexierungsfrequenz, die vollständig konfigurierbar war (bis zu alle 15 Minuten).</li>
</ul>
</div>
                        </div>
                                                                                                            <div class="editor-list-icons__item-image">
                            <img decoding="async" class="editor-list-icons__item-img" src="https://sam-solutions.de/wp-content/uploads/4-Freshness.svg"
                                                                                                  alt="4-The freshness"
                                 width="40" height="40">
                        </div>         
                                    </div>
            </div>
            </div>
    </div>
    



<h2 class="wp-block-heading">Ergebnisse und Geschäftlicher Nutzen</h2>



<p class="wp-block-paragraph">Selbst zu diesem Zeitpunkt ist der Nutzen bereits deutlich sichtbar.</p>



<p class="wp-block-paragraph"><strong>Was sich für die Nutzer geändert hat:</strong></p>



<ul class="wp-block-list">
<li>Besucher können Fragen in natürlicher Sprache stellen, statt sich durch Menüs zu kämpfen</li>



<li>Der Chatbot ermöglicht schnellere Auffindbarkeit von Blogs, Artikeln und Updates</li>



<li>Das E-Mail-Tool sorgt für einen reibungsloseren Lead-Flow: Frage stellen → fehlende Details ergänzen → Nachricht senden, ganz ohne das klassische Formular</li>
</ul>



<p class="wp-block-paragraph"><strong>Was sich für das Unternehmen geändert hat:</strong></p>



<ul class="wp-block-list">
<li>Bessere Nutzung von Inhalten: Wertvolle Seiten werden nicht mehr „vergraben“</li>



<li>Skalierbarer Ansatz: Dieselbe Architektur kann über öffentliche Seiten hinaus erweitert werden</li>



<li>Kosten- und Datenschutzkontrolle: Das System ruft nur ab, was benötigt wird, anstatt alles in externe Prompts zu schicken</li>
</ul>



<h2 class="wp-block-heading">Nächste Schritte</h2>



<p class="wp-block-paragraph">Dieses Projekt befindet sich weiterhin in der Entwicklung. Die nächsten Schritte konzentrieren sich auf Zuverlässigkeit und Skalierbarkeit:</p>



<ul class="wp-block-list">
<li>Automatisierte Evaluierung von Retrieval und fundierten Antworten.</li>



<li>Verbesserte Mehrsprachigkeit, insbesondere bei Namen und kurzen Anfragen.</li>



<li>Stärkeres hybrides Retrieval (sparse + dense), um „falsche Treffer“ in den Vektoren zu reduzieren.</li>



<li>Abschluss der Infrastrukturkomponenten (KI-Server und RAG-Collection-Setup).</li>



<li>Überprüfung der Multi-Site-Abdeckung (die US-Website könnte einen eigenen MCP-Server betreiben)</li>
</ul>



<h2 class="wp-block-heading">Summary</h2>



<p class="wp-block-paragraph">Dieses Projekt zeigt, wie eine produktionsreife RAG-Architektur einen KI-Chatbot von einer oberflächlichen Schnittstelle zu einer verlässlichen Wissenszugriffsschicht für eine wachsende Website verwandeln kann. Durch die Kombination von strukturierter Inhaltserfassung, semantischer Aufteilung, hybridem Retrieval und kontrollierter LLM-Orchestrierung haben wir ein System geschaffen, das präzise, fundierte Antworten auf Basis realer Inhalte liefert – und nicht auf Annahmen oder Halluzinationen.</p>



<p class="wp-block-paragraph">Die Lösung verbessert die Auffindbarkeit von Inhalten für Nutzer und legt eine Grundlage, die auf interne Wissensdatenbanken, mehrsprachige Umgebungen und weitere Datenquellen ausgeweitet werden kann. Am wichtigsten ist: Sie zeigt, dass hochwertige KI-Assistenten nicht allein durch Prompts entstehen, sondern durch gezielte architektonische Entscheidungen bei Daten, Retrieval und Infrastruktur.</p>



<div id="video-content" class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Wie wir eine produktionsreife RAG-Engine für einen Website-KI-Chatbot entwickelt haben" width="500" height="281" class="lazyload" referrerpolicy="strict-origin-when-cross-origin" data-src="https://www.youtube.com/embed/PF7vqJTZcJs?feature=oembed"  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope;  web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
</div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://sam-solutions.de/blog/produktionsreife-rag-engine/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
