Es gibt immer Tätigkeiten, die wir gerne automatisieren würden, dies aber aus verschiedenen Gründen nicht tun. Oft fehlt die Zeit, es ist nicht wichtig genug oder wir machen es zu selten. Oder es handelt sich um Aufgaben, die kontextabhängig sind und nur mit hohem Aufwand standardisiert werden können. Diese Aufgaben werden bisher von Menschen erledigt, so langweilig sie auch sein mögen.
Bei mir ist eine solche Aufgabe die regelmäßige Reisekostenabrechnung. Grundsätzlich haben wir hier bereits ein gutes Tool, das mir viel Arbeit abnimmt. Es gibt jedoch viele Faktoren wie Reisezeiten, Orte und verschiedene Rechnungsformate, die dazu führen, dass ich das Anlegen von Verpflegungspauschalen, Kostenstellen und das Zuordnen von Belegen selbst machen muss.
Derartige manuelle Tätigkeiten verursachen in Prozessen Kosten. Für mich bedeutet das einen Kontextwechsel zu einer Tätigkeit, die nicht wertschöpfend ist. Daraus entstehen für andere Teile des Unternehmens Wartezeiten. Wartezeiten sind dabei vielleicht das größte Problem und zugleich das größte Potenzial in der Prozessoptimierung. Und weil das nicht gerade eine Tätigkeit ist, mit der ich Umsatz erzeuge oder die ich gerne tue, schiebe ich diese Reisekostenabrechnung immer wieder bis zum letzten Moment auf und bekomme dann eine Erinnerung von der Buchhaltung. Dabei müsste das gar nicht passieren, wenn nur jemand anderes diese Aufgabe für mich erledigen könnte …
Zum Glück kann ein KI-Agent das heute für mich erledigen. Dabei müssen Informationen aus verschiedenen Datenquellen kombiniert und in der Anwendung eingegeben werden. Termine und Reisezeiten stammen aus meinem Kalender, Rechnungen aus meinen E-Mails, und die Reisekosten werden in einer Web-Anwendung angelegt. Um auf diese Daten zuzugreifen, gibt es verschiedene Möglichkeiten. MCP-Server wären der klassische Weg, sie haben aber auch Nachteile. Sie laden ihre ganze Anleitung immer in den Kontext, und man muss die Implementierung der Server gut prüfen und auswählen. MCP-Server sind strukturell RPC – der Aufrufer muss vorab wissen, welche Funktionen existieren. Eine Web-Anwendung zeigt im jeweiligen Kontext dagegen, welche Aktionen gerade möglich und erlaubt sind. Daher habe ich für zwei der Integrationen andere Wege gewählt.
- Kalender: Statt eines MCP-Servers nutze ich einen geteilten Kalender, der als iCal-Feed über HTTP abrufbar ist – ein standardisiertes Format, das ohne zusätzliche Implementierung überall funktioniert.
- Mail: Der Zugriff läuft über einen Kommandozeilen-Client (Himalaya), der eine robuste Implementierung und API liefert. Dies ist nah an der Idee von MCP, funktioniert aber erst einmal ohne den zusätzlichen Kontext-Overhead.
- Reisekosten-Web-Anwendung: Hier gibt es keinen Reisekosten-MCP-Server. Wir nutzen stattdessen den Browser über ein MCP für Playwright.
Doch kann ein KI-Agent gut mit Webseiten arbeiten? Wir denken bei Browserautomatisierung wahrscheinlich an Tools wie Selenium und brüchige automatisierte UI-Tests. Davon müssen wir uns hier lösen. Tatsächlich sind KI-Agenten sehr gut darin, Browser interaktiv zu bedienen. Da sie ihr Verhalten anpassen können, können sie auch mit Fehlern umgehen und Lösungen finden.
Tatsächlich hat die Nutzung von Web-Anwendungen als Schnittstellen für KI-Agenten klare Vorteile gegenüber einem MCP-Server:
- Die Web-Anwendung ist schon da, wir müssen nichts Neues implementieren.
- Web-Anwendungen sind die besten Implementierungen von Hypermedia, wir bekommen über HTML und JavaScript Kontext. Inhalte, Navigationsstrukturen und mögliche Commands sind vorgegeben. Sie ändern sich sogar abhängig vom Kontext, statt wie bei MCP eine statische Auswahl an Funktionen zu liefern.
- Web-Anwendungen sind für Menschen gebaut, die Fehler machen. Wir validieren in Web-Anwendungen bereits Eingaben und prüfen, ob Aktionen erlaubt sind oder zu inkonsistenten Zuständen führen. Es ist normal, dass Menschen zumindest Flüchtigkeitsfehler machen. Das ist ein großer Vorteil für KI-Agenten: Diese können hier Fehleingaben machen, bekommen Feedback und passen ihr Verhalten an, um das Problem zu lösen.
- Web-Anwendungen haben bereits ein Rollen- und Rechtesystem. Ein Agent erhält minimal notwendige Rechte, ohne neue Sicherheitsinfrastruktur implementieren zu müssen.
Somit bewegen sich KI-Agenten in einem konkreten Rahmen an Möglichkeiten, statt ein Problem auf der grünen Wiese zu lösen. Es gibt einen festen Kontext, in dem sich der Agent bewegen kann.
Es gibt keinen Bruch zwischen der Schnittstelle für Menschen und Maschinen, es ist dieselbe Schnittstelle mit den gleichen Möglichkeiten, Sicherheitsgarantien und Problemen.
Im Vergleich dazu würden wir bei einer JSON-API oft nur Rohdaten, aber keine Semantik erhalten.
Wirklich durchgesetzt hat sich Hypermedia[1] bisher nur für „menschliche“ Browser-Nutzer. KI-Agenten sind die ersten nicht menschlichen Nutzer, die diese Schnittstellen vollständig nutzen und von ihnen profitieren können.
Um dies zu ermöglichen, benötigen wir nur einen MCP-Server für die Browsernutzung. Dieser hat selbst, wie ein Webbrowser, keine fachliche Funktionalität. Er ermöglicht den Zugang zu weiteren fachlichen „Tools“ als Web-Anwendungen. Und damit ist die Tool-Auswahl und Tool-Spezifikation kontextabhängig und dynamisch geworden.
Dies passt gut dazu, dass wir auch KI-Agenten durch Prompts dynamisch programmieren. Wir geben eine Anweisung in natürlicher Sprache, und das Sprachmodell ist darauf trainiert, daraus eine Problemlösungsstrategie zu entwickeln. Neu ist die Idee, deklarativ zu programmieren, natürlich nicht. Das erfolgreichste Beispiel ist die Datenbanksprache SQL, bei der ich beschreibe, was ich möchte, aber den Lösungsweg nicht vorgebe. Dies ist jedoch ein viel engerer Anwendungsfall, in dem ein solches Vorgehen bisher möglich war.
Praxis-Beispiel
Beispiel einer Reisekostenabrechnung mit einem KI-Agenten. Wir starten mit einem naiven Prompt.
Für meinen „Event-Storming Workshop“ bei der Capitol Versicherung im Januar muss ich eine Reisekostenabrechnung durchführen. Dazu nutzen wir https://reisekosten.example. Die Reisedaten findest du in meinem Kalender. Rechnungen für Hotel und Bahnfahrt in meinen E-Mails. Bitte lege eine Mappe für die Reise an. Nutze Playwright-MCP, um auf die Webseite zuzugreifen. Lege für jeden Reisetag einen Eintrag Verpflegungspauschale an. Frage mich, wenn etwas unklar sein sollte.
Dieser Prompt ist weit davon entfernt, eine perfekte Anleitung vorzugeben. Dennoch hat der Agent kaum Rückfragen.
Kurz zur Bestätigung:
- Am 09.01.2026 gab es wirklich keine gestellten Mahlzeiten?
- Wurde am 10.01.2026, 11.01.2026 und 12.01.2026 Frühstück im Hotel gestellt?
- Das Projekt „Capitol Versicherung Event-Storming Workshop“ konnte ich nicht finden, ich habe daher nur den Anlass gesetzt. Soll ich das so lassen, oder gibt es bei euch einen anderen Projektnamen, den ich auswählen soll?
Der Agent verpasste mehrere Kontextfaktoren: Dass ich um 22 Uhr Ankunftszeit wahrscheinlich nichts mehr essen möchte, dass die Frühstücksinformation bereits in der Hotelrechnung steht und, dass er nicht versuchte, den Kundennamen für ein existierendes Projekt zu nutzen.
Nachdem ich die Informationen nachgeliefert habe, ist meine Reisekostenabrechnung aber tatsächlich schon fertig. Und das mit wenig Informationen zum Kontext. Vor dem Einreichen prüfe ich die Mappe in der Web-Anwendung selbst.
Nun möchte ich, dass die nächste Reisekostenabrechnung, wenn möglich, ohne Rückfragen läuft. Daher bitte ich den Agenten, selbst eine Anleitung zu schreiben. Zunächst besteht die Anleitung aus einer Ablaufbeschreibung und Heuristiken, die man auch einem Menschen geben würde, um diese Tätigkeit durchzuführen. Zusätzlich hat sich der Agent Notizen zu technischen Problemen bei der Bedienung der Webseite gemacht:
UI-Workarounds (Playwright-MCP)
Wenn Datepicker Checkboxen blockiert:
- Datepicker zuerst schließen.
Wenn UI-Klick weiterhin blockiert:
- Zustand kontrolliert per
evaluatesetzen (checked) undchange-Event auslösen.Bei Projekt-Dropdown ohne Treffer:
- Feld leeren, langsam tippen, auf Listbox warten.
Diese Anleitung können wir als Skill nutzen und den Agenten nun nach jeder Ausführung prüfen und aktualisieren lassen. Somit können auch solche technischen Aspekte dokumentiert werden, die für den Nutzer sonst unsichtbar sind.
Damit haben wir ein selbstlernendes System, das mit jeder Aufgabe dazulernt, effizienter wird und weniger Fehler macht.
Bereits mit einer abschließenden Kontrolle nimmt der Agent hier viel Fleißarbeit ab. Noch läuft der Agent nicht völlig autonom, er wird manuell ausgelöst, beobachtet und das Ergebnis kontrolliert. Um wirklich die Wartezeit zu entfernen, müsste der Agent selbstständig Reisen erkennen und diese auch einreichen.
Um eine solche Entscheidung zu treffen, müssen wir nicht nur wissen, ob der Agent Fehler macht, sondern auch Art und Häufigkeit von Fehlern. Der Prozess ist zum Glück für Menschen entwickelt worden, die auch Fehler machen. Hier kommt eine klassische Risikoanalyse ins Spiel: Welche Arten von Fehlern sind möglich, wie wahrscheinlich sind sie und was wären die Konsequenzen? Am Ende kann dann entschieden werden, ob sich die Vorteile aus der Optimierung des Prozesses und die Risiken in Summe lohnen.
Wenn wir dies für einen Prozess mit größerem Volumen umsetzen wollen, z. B. für alle Reisekostenabrechnungen aller Angestellten, dann werden wir auch mehr Varianz bekommen. Eine Strategie ist es, beide Prozesse parallel laufen zu lassen und zunächst nur die Ergebnisse des Agenten mit den manuellen Abrechnungen zu vergleichen. Erst wenn die Zahlen stimmen, kann man schrittweise umschalten. Wenn dieses Verfahren etabliert wurde, kann es auch zur Kontrolle eingesetzt werden, indem nur ein Teil der Aufgaben automatisiert erledigt wird oder Stichproben durch Menschen und KI-Agenten bearbeitet werden.
Es gibt zahlreiche derartige Prozesse, die von einer solchen Automatisierung profitieren könnten. Wahrscheinlich haben wir diese bisher nicht auf dem Schirm, da sie für die Softwareentwicklung nicht relevant waren. Nun lassen sich jedoch Systeme über Web-Oberflächen automatisiert integrieren. Wir bauen dabei auf einem bestehenden System auf, das Kontext und Sicherheitsgarantien bietet. Die Herausforderung ist es, die Abläufe zu identifizieren, die durch Agenten unterstützt werden können und die größte Auswirkung auf den Geschäftsablauf haben.
-
REST Level 3 (HATEOAS) ↩︎