<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
    <id>https://muench.dev/feed/atom</id>
    <title type="text">muench.dev Articles</title>
    <subtitle type="text">muench.dev Feed</subtitle>
    <link xmlns="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="https://muench.dev/feed/atom"/>
    <updated>2026-09-01T16:43:54+02:00</updated>
    <generator uri="https://github.com/mitydigital/feedamic" version="3.0.13">Feedamic: the Atom and RSS Feed generator for Statamic</generator>
    <entry>
        <title type="text">Hindsight: Ein Agent-Memory-System, das mich begeistert hat</title>
        <link href="https://muench.dev/post/2026-08-hindsight-ein-agent-memory-system-das-mich-begeistert-hat"/>
        <id>https://muench.dev/post/2026-08-hindsight-ein-agent-memory-system-das-mich-begeistert-hat</id>
        <published>2026-08-27T07:00:00+00:00</published>
        <updated>2026-08-28T17:11:20+02:00</updated>
        <summary/>
        <content type="html">&lt;p&gt;Jeder, der täglich mit Claude Code, Codex CLI oder opencode arbeitet, kennt das Problem: Der Agent ist am Ende jeder Session wieder bei null. Man erklärt zum gefühlt zehnten Mal den Tech-Stack, die Team-Konventionen, warum man Redis-Caching vor drei Monaten wieder verworfen hat. Notizen in System-Prompts oder CLAUDE.md-Dateien helfen, skalieren aber nicht – sie erfassen keine gewachsene, sich verändernde Wissensbasis, sondern nur einen statischen Snapshot.&lt;/p&gt;
&lt;p&gt;Ich bin seit ein paar Wochen mit &lt;strong&gt;Hindsight&lt;/strong&gt; unterwegs, einem Open-Source-Memory-System von Vectorize.io, und bin ziemlich angetan. Oder sagen wir es wie es ist. Ich bin seit langem mal wieder richtig begeistert von einer Software-Lösung gewesen.  Es macht genau das, was man sich unter &amp;quot;Agent-Gedächtnis&amp;quot; vorstellt, wenn man es nicht auf die naive Vektor-DB-Lösung reduziert. Es haben sich für mich gedanklich aber auch technisch neue Welten aufgetan.&lt;/p&gt;
&lt;h2&gt;Warum sollte man Hindsight nutzen?&lt;/h2&gt;
&lt;p&gt;Bevor ich in die technischen Details gehe, kurz die drei Gründe, die für mich den Ausschlag gegeben haben:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Erhöhte Kontextkontinuität&lt;/strong&gt;: Agenten behalten relevantes Vorwissen über Sessions hinweg und liefern dadurch konsistente, personalisierte Empfehlungen – statt bei jeder neuen Session wieder bei null anzufangen.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bessere Genauigkeit bei komplexen Fragen&lt;/strong&gt;: Temporal- und Graph-Retrieval kombiniert mit automatischer Beobachtungs-Konsolidierung erhöhen die Trefferquote spürbar, gerade bei historischen oder indirekt verknüpften Fakten.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kontrollierte, erklärbare Erinnerungs-Logik&lt;/strong&gt;: Missionen und Direktiven schaffen Sicherheits- und Compliance-Guardrails, Evidenz-Tracking macht nachvollziehbar, worauf eine Antwort eigentlich basiert.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Was Hindsight ist – und was nicht&lt;/h2&gt;
&lt;p&gt;Der wichtigste Punkt zuerst: Hindsight ist keine reine Vektor-Datenbank mit hübscher API drumherum. Wer Rohdaten reinwirft und hofft, dass Cosine-Similarity am Ende die richtige Antwort liefert, wird von naiven RAG-Ansätzen regelmäßig enttäuscht. Sobald man ein paar hundert Memories über verschiedene Themen und Zeiträume hat, bricht das Prinzip &amp;quot;Embed alles, hol dir Top-K&amp;quot; oft zusammen.&lt;/p&gt;
&lt;p&gt;Hindsight geht einen anderen Weg. Im Hintergrund läuft &lt;strong&gt;PostgreSQL mit der pgvector-Extension&lt;/strong&gt; als Speicher, aber was aber genutzt wird, sind nicht die Rohdaten, sondern das Ergebnis eines Extraktionsprozesses: strukturierte Fakten, aufgelöste Entitäten (aus &amp;quot;Alice&amp;quot; und &amp;quot;meine Kollegin Alice&amp;quot; wird ein und dieselbe Entität), Zeitstempel für temporale Auswertungen und ein Wissensgraph, der die Beziehungen zwischen den Entitäten abbildet. Wer jetzt angst um seine Daten hat... ok, es sind auch die Dokumente in der Postgres Datenbank weiterhin gespeichert als &amp;quot;Document&amp;quot;. Aber die reinen Dokuemten sind eben in dem gesamten Prozess nicht das spannende sondern die aufbereiteten Daten.&lt;/p&gt;
&lt;p&gt;Angebunden wird das Ganze über &lt;strong&gt;MCP&lt;/strong&gt; – Claude Code, Codex, opencode, Cursor, VS Code, praktisch jeder MCP-fähige Client kann sich verbinden. Für die interne Verarbeitung (Fakten-Extraktion, Entity-Resolution, Reflect-Operationen) braucht Hindsight einen eigenen LLM-Provider – unabhängig vom Modell, das der eigentliche Agent nutzt. Das ist ein Detail, das mir gut gefällt: Man kann hier bewusst ein günstiges, schnelles Modell einsetzen, weil diese Verarbeitung im Hintergrund läuft und nicht die Qualität der eigentlichen Agent-Antworten beeinflusst. Ich habe für meine Tests das GPT-5.6 Luna Modell verwendet, weil es erstmal auf meine private Rechnung lief. Trotz des günstigen Modells habe ich aber richtig gute Ergebnisse bekommen. Man kann in Hindsight aber auch mehrere Modelle nutzen und falles feintunen. Ich habe ehrlicherweise bisher vielleicht 30-40% der Funktionen ausprobiert. Aber das macht nichts. Man bekommen einfach schnell Ergebnisse und kann mit den Daten arbeiten und auch selbst die Daten verbessern. Wie? Das kommt jetzt.&lt;/p&gt;
&lt;h2&gt;Die drei Kernoperationen&lt;/h2&gt;
&lt;p&gt;Hindsight bietet drei zentrale Operationen, die als MCP-Tools zur Verfügung stehen:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;retain&lt;/code&gt;&lt;/strong&gt; – Speichern. Man füttert Hindsight mit Text (eine einzelne Tatsache, eine ganze Konversation, ein Dokument), und im Hintergrund extrahiert ein LLM strukturierte Fakten, löst Entitäten auf, erzeugt Embeddings und indiziert alles für die spätere Suche. Wichtig: Man sollte &lt;strong&gt;nicht&lt;/strong&gt; vorab selbst zusammenfassen oder Fakten extrahieren – Hindsight braucht den vollen Kontext einer Konversation, sonst wird aus &amp;quot;ja, genau&amp;quot; oder &amp;quot;ich nehme Option 2&amp;quot; schlicht bedeutungsloser Text.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;recall&lt;/code&gt;&lt;/strong&gt; – Suchen. Hier laufen vier Retrieval-Strategien parallel: semantische Suche, BM25-Keyword-Matching, Graph-Traversal über den Wissensgraphen und temporale Filterung. Die Ergebnisse werden anschließend per Cross-Encoder-Reranking sortiert. Das ist der eigentliche Clou gegenüber einer simplen Vektorsuche: Eine Frage wie &amp;quot;Was haben wir zum Caching entschieden?&amp;quot; findet die richtige Antwort auch dann, wenn die ursprüngliche Memory eine andere Terminologie verwendet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;reflect&lt;/code&gt;&lt;/strong&gt; – Synthetisieren. Reflect geht über reines Abrufen hinaus und lässt ein LLM über mehrere Memories hinweg Schlüsse ziehen – etwa auf die Frage &amp;quot;Welchen Tech-Stack würdest du mir basierend auf meinen bisherigen Entscheidungen empfehlen?&amp;quot;.&lt;/p&gt;
&lt;div class=&quot;mermaid-diagram not-prose&quot;&gt;&lt;pre class=&quot;mermaid&quot;&gt;flowchart LR    
    subgraph YourApp[&amp;quot;Your Application&amp;quot;]
        A[&amp;quot;AI Agent&amp;quot;]
    end

    subgraph Hindsight[&amp;quot;Hindsight&amp;quot;]
        API[&amp;quot;API Server&amp;quot;]

        subgraph MemoryBank[&amp;quot;Memory Bank&amp;quot;]
            direction TB
            MM[&amp;quot;Mental Models&amp;quot;]
            OBS[&amp;quot;Observations&amp;quot;]
            ME[&amp;quot;Memories &amp;amp; Entities&amp;quot;]
            CH[&amp;quot;Chunks&amp;quot;]
            DOC[&amp;quot;Documents&amp;quot;]

            MM --&amp;gt; OBS
            OBS --&amp;gt; ME
            ME --&amp;gt; CH
            CH --&amp;gt; DOC
        end
    end

    A --&amp;gt;|retain| API
    A --&amp;gt;|recall| API
    A --&amp;gt;|reflect| API

    API --&amp;gt; ME
&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Extraktionsstrategien und Tagging&lt;/h2&gt;
&lt;p&gt;Ein Punkt, der in der Praxis unterschätzt wird: Nicht jede Datenquelle soll gleich verarbeitet werden. Hindsight bietet dafür benannte Retain-Strategien – etwa &lt;code&gt;verbatim&lt;/code&gt; für Inhalte, die wortwörtlich gespeichert werden sollen, oder &lt;code&gt;chunks&lt;/code&gt; für größere Dokumente, die in Abschnitte zerlegt werden. Diese Strategien lassen sich in der Bank-Konfiguration definieren und dann je nach Quelle gezielt beim &lt;code&gt;retain&lt;/code&gt;-Aufruf auswählen.&lt;/p&gt;
&lt;p&gt;Dazu kommt ein Tagging-System mit sogenannten Entity Labels: kontrollierte Vokabulare nach dem Schema &lt;code&gt;key:value&lt;/code&gt;, etwa &lt;code&gt;user:christian&lt;/code&gt; oder &lt;code&gt;topic:architektur&lt;/code&gt;, die beim Speichern automatisch extrahiert werden können. Für die reine inhaltliche Suche braucht man das oft gar nicht – Entitäten landen ohnehin im Wissensgraph und treiben die Graph-basierte Suche an. Für explizite Filterung auf entitätsähnliche Werte sind die Tags aber Gold wert, gerade wenn man mehrere Projekte oder Kunden in einer Bank sauber getrennt halten will.&lt;/p&gt;
&lt;h2&gt;Mental Models: lebende Dokumente&lt;/h2&gt;
&lt;p&gt;Was mich am meisten überzeugt hat, sind die &lt;strong&gt;Mental Models&lt;/strong&gt;. Man definiert eine Frage – zum Beispiel &amp;quot;Welche Architekturentscheidungen wurden für Projekt X getroffen?&amp;quot; – und Hindsight erzeugt daraus ein Dokument, das sich automatisch aktualisiert, sobald neue Memories dazukommen oder sich bestehende Dokumente ändern. Man muss also nicht bei jeder Anfrage ein volles &lt;code&gt;reflect&lt;/code&gt; über den kompletten Memory-Bestand laufen lassen, sondern bekommt eine Art vorberechnete, immer aktuelle Zusammenfassung.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-08/mental_models_20260828_162916.png&quot; alt=&quot;Metale Modelle&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Technisch läuft das asynchron über eine Queue: Die eigentliche LLM-gestützte Generierung passiert im Hintergrund, ein API-Aufruf liefert zunächst nur eine Operation-ID zurück, das fertige Ergebnis ist dann nach ein paar Sekunden abrufbar. Das ist konsequent zu Ende gedacht, hat aber auch eine Kehrseite, dazu gleich mehr.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-08/hindsight_queue_20260828_170103.png&quot; alt=&quot;Alles wird asynchron in einer Queue verarbeitet&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Skalieren ist auch kein Problem, denn es gibt im Konzept auch Worker-Instanzen die dann auch per Kubernetes skaliert werden können. Das ist alles möglich. In meinem Homelab Setup tut es auch ein einzelner Worker in einem fixen Docker-Container.&lt;/p&gt;
&lt;h2&gt;Visualisierung&lt;/h2&gt;
&lt;p&gt;Im Control Plane – dem Admin-UI von Hindsight – gibt es die sogenannte &lt;strong&gt;Constellation View&lt;/strong&gt;: eine interaktive, zoombare Graphdarstellung der Entity-Relationships mit Heat-Gradient-Einfärbung, auch im Dark Mode nutzbar. Für mich ist das mehr als nur ein nettes Feature – bei einem wachsenden Wissensgraphen hilft die visuelle Übersicht enorm dabei, ein Gefühl dafür zu bekommen, was die eigene Memory-Bank eigentlich &amp;quot;weiß&amp;quot; und wo die Extraktion vielleicht danebenliegt.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-08/memory_view_world_facts_20260828_134418.png&quot; alt=&quot;Graph Darstellung&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Natürlich kann man auch filtern, zoomen und auf die einzelnen dahinterliegenden Dokumente schauen.&lt;/p&gt;
&lt;h2&gt;Features im Überblick&lt;/h2&gt;
&lt;p&gt;Ein paar Punkte aus der Gesamtliste, die im Artikel bisher noch nicht vorkamen, aber zum Verständnis dazugehören:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hierarchische Memory-Typen&lt;/strong&gt;: Neben Mental Models (kuratierte, selbst definierte Zusammenfassungen) gibt es Observations – automatisch aus Rohfakten konsolidierte, evidenzgestützte Glaubenssätze –, außerdem World Facts und Experience Facts. Diese Trennung sorgt dafür, dass reflect bei der Beantwortung einer Frage zuerst die Mental Models prüft, dann die Observations und erst zuletzt auf Rohfakten zurückgreift.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-Strategie-Retrieval (TEMPR)&lt;/strong&gt;: Die vier parallelen Suchstrategien aus &lt;code&gt;recall&lt;/code&gt; – Semantic, Keyword/BM25, Graph, Temporal – laufen unter dem Namen TEMPR und werden per Reciprocal-Rank-Fusion zusammengeführt, bevor das Cross-Encoder-Reranking greift. Das macht den Abruf auch bei zeitlich oder graphbasiert verknüpften Fragen robust.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Observation Consolidation&lt;/strong&gt;: Nach jedem &lt;code&gt;retain&lt;/code&gt;-Aufruf läuft im Hintergrund automatisch ein Konsolidierungsprozess, der neue Fakten gegen bestehende Observations abgleicht, dedupliziert und mit Evidenz-Verweisen versieht. Beobachtungen, die durch neuere, noch nicht konsolidierte Fakten überholt sein könnten, werden dabei als &amp;quot;stale&amp;quot; markiert und vor der Nutzung gegen die Rohfakten verifiziert.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Temporal Reasoning&lt;/strong&gt;: Abfragen wie &amp;quot;letzten Frühling&amp;quot; oder &amp;quot;im Juni&amp;quot; werden nicht nur semantisch, sondern explizit zeitbasiert aufgelöst – ein Bereich, in dem reine Vektorsuche typischerweise versagt.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Missions- und Richtlinien-Konfiguration&lt;/strong&gt;: Auf Bank-Ebene lässt sich eine Mission definieren, die vorgibt, welches Wissen priorisiert werden soll, dazu unveränderliche Direktiven als Compliance-Guardrails und Disposition-Traits wie Skepsis, Literalität oder Empathie, die beeinflussen, wie &lt;code&gt;reflect&lt;/code&gt; Argumente gewichtet. Wichtig: Diese Einstellungen wirken nur auf &lt;code&gt;reflect&lt;/code&gt;, nicht auf &lt;code&gt;recall&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Evidenz-gestützte Antworten&lt;/strong&gt;: Observations verweisen auf ihre Quell-Memories inklusive Zitat-Belegen und Proof-Counts – das macht die Herleitung einer Antwort nachvollziehbar, statt sie als Black Box hinzunehmen.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clients &amp;amp; SDKs&lt;/strong&gt;: Offizielle SDKs für Python, TypeScript und Go, dazu CLI und HTTP-API – die Integration in bestehende Agent-Stacks jenseits von MCP ist damit unkompliziert.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deployment-Optionen&lt;/strong&gt;: Neben dem lokalen Docker-Setup, wie ich es im Homelab nutze, gibt es Helm-Charts für Kubernetes, eine pip-Installation für den schnellen lokalen Test sowie einen Integrations-Hub für angebundene Datenquellen.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Wie kommen Daten ins System?&lt;/h2&gt;
&lt;p&gt;Daten können auf verschiedenen Wegen in das Memory gelangen. Wird der MCP-Server genutzt kann einfach über das &lt;code&gt;retain&lt;/code&gt; Tool etwas gespeichert werden. Bei jedem erfassten Dokumente können Tags und eine eindeutige Document-ID definiert werden. Das definieren der Document-ID ist optional. Wird keine mitgesendet, erstellt das System eine UUID.&lt;br /&gt;
Wenn man Rohdaten z.B. Chatverläuft speicher will, dann reicht es die generierte UUID zu verwenden. Wenn es Daten wie z.B. der Inhalt hinter Webseite sind, dann kann die Document-ID auch eine URL sein. Wird mit der gleichen Document-ID ein neues Dokument gesendet, dann aktualisiert Hindsight auch den bestehenden Eintrag.&lt;br /&gt;
Zusätzlich lassen sich in Hindsight auch für verschiedene Quellen dann unterschiedliche strategien für das extrahieren der Daten definieren. Man kann dann auch Einfluss auf die RAG spezifischen Parameter wie die Chunk-Size nehmen.&lt;/p&gt;
&lt;p&gt;Da Hindsight durchgängig so konzipiert wurde, dass alles was die UI macht über eine REST-API kommuniziert, ist es auch ein einfaches die gleiche API für das importieren von Daten zu nutzen.&lt;br /&gt;
Beispielhaft habe ich mal ein n8n Community Plugin installiert, dass einfach die drei Grundopterationen in einem n8n Node abbildet.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-08/n8n_example_process_20260828_165134.png&quot; alt=&quot;n8n Beispiel Workflow mit Hindsight Community Node&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Mein Setup im Homelab&lt;/h2&gt;
&lt;p&gt;Ich habe mir das Ganze nicht in der Cloud, sondern in meinem Homelab aufgesetzt – zwei LXC-Container, einer für die API, einer für das Admin-UI beziehungsweise Control Plane. Die Datenbank musste ich nicht neu aufsetzen: Ich hatte bereits einen PostgreSQL-Server mit pgvector-Extension laufen und musste dort nur eine zusätzliche Datenbank anlegen. Das hat das Setup deutlich vereinfacht – wer schon eine Postgres-Instanz mit pgvector betreibt, ist hier in Minuten startklar, statt sich mit der eingebetteten PostgreSQL-Variante aus dem Docker-Quickstart herumzuschlagen.&lt;/p&gt;
&lt;p&gt;Als LLM-Provider für die interne Verarbeitung habe ich schnell OpenRouter angebunden und dort auf &lt;strong&gt;GPT-5.6 Luna&lt;/strong&gt; gesetzt – die günstige, latenzoptimierte Variante aus OpenAIs GPT-5.6-Serie, gedacht für genau solche hochfrequenten, aber nicht sonderlich anspruchsvollen Hintergrundaufgaben wie Fact-Extraction. Das Modell lässt sich aber problemlos austauschen: Hindsight unterstützt eine breite Auswahl an Providern, von OpenAI über Anthropic und Gemini bis zu lokalen Modellen über Ollama oder llama.cpp. Wer die interne Verarbeitung lieber komplett offline und ohne externe API-Calls fahren will, kann das inzwischen ebenfalls tun.&lt;/p&gt;
&lt;h2&gt;Integration in andere Systeme&lt;/h2&gt;
&lt;p&gt;Über MCP lässt sich Hindsight praktisch überall andocken, wo ein Client den Standard spricht – Claude Code, Codex CLI, opencode und weitere Coding-Agents sind direkt unterstützt, teils sogar mit automatischer Ingestion ohne zusätzlichen Setup-Schritt.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-08/claude_code_hindsight_mcp_tool_20260828_163755.png&quot; alt=&quot;Claude Code MCP Tool&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Der MCP Server ist direkt in Hindsight enthalten und kann für jede Memory-Bank einzeln eingestellt werden. Man kann auch die MCP-Tools beschränken.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-08/mcp_tool_restriction_20260828_163932.png&quot; alt=&quot;MCP Tool Einstellungen&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Ich habe bei mir nichts beschränkt da ich sowieso noch einen zwischengeschalteten LiteLLM-Gateway habe.&lt;/p&gt;
&lt;h2&gt;Use Cases&lt;/h2&gt;
&lt;p&gt;Der naheliegendste Use Case für mich persönlich ist gar nicht primär technisch: Ich möchte Daten rund um den Fußballverein &lt;strong&gt;Wormatia Worms&lt;/strong&gt; aufbereiten, um die Mitarbeiter in der Geschäftsstelle zu entlasten. Statt jede Anfrage manuell zu beantworten, könnte ein Agent auf einer Hindsight-Bank mit historischen Informationen, Vereinsregeln und wiederkehrenden Fragen aufsetzen und so einen echten Teil der Kommunikationslast abnehmen.&lt;/p&gt;
&lt;p&gt;Daneben baue ich gerade eine zweite, eigene Bank auf: Dort arbeite ich die Vereinschronik, Saisonergebnisse und Spieler-Steckbriefe ein. Das Interessante hier ist nicht der reine Abruf einzelner Fakten, sondern dass das System selbstständig statistische Besonderheiten und Zusammenhänge über die eingespielten Daten hinweg entdecken soll – etwa, dass eine bestimmte Saison auffällig viele Unentschieden hatte oder ein Spieler in mehreren Spielzeiten überdurchschnittlich oft getroffen hat. Genau dafür ist &lt;code&gt;reflect&lt;/code&gt; gedacht: nicht nur Fakten abrufen, sondern über den gesamten Datenbestand hinweg Schlüsse ziehen. Besonders spannend wird das für den Archivar des Vereins, der Fragen stellen möchte wie &amp;quot;Wann war die längste Siegesserie?&amp;quot; – Fragen, die kein einzelner Datensatz beantwortet, sondern die erst aus der Zusammenschau vieler Saisonergebnisse entstehen.&lt;/p&gt;
&lt;p&gt;Im technischen Projektumfeld sehe ich mindestens zwei weitere sinnvolle Einsatzszenarien:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Architektur- und Richtlinien-Gedächtnis&lt;/strong&gt;: Ein Agent, der Softwarearchitektur-Entscheidungen, Coding-Guidelines und Projektkonventionen im Blick behält und Entwicklern direkt im Coding-Tool als Frage-Antwort-Instanz zur Verfügung steht – ohne dass diese erst in einem Wiki suchen müssen.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vollständigkeitsprüfung bei Anforderungen&lt;/strong&gt;: In Projekten, in denen Anforderungen laufend erfasst werden, kann ein Agent mit Zugriff auf die gesammelten Memories prüfen, ob alle notwendigen Dokumente und Informationen vorliegen, und gezielt auf Lücken hinweisen. Gerade in Business-Kontexten mit vielen Stakeholdern ist das ein Szenario, das echten Mehrwert liefert.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Beurteilung&lt;/h2&gt;
&lt;p&gt;Was gut funktioniert: Der Einstieg ist erfreulich niedrigschwellig, insbesondere wenn – wie in meinem Fall – schon eine Postgres/pgvector-Instanz vorhanden ist. MCP als Anbindungsstandard bedeutet, dass man nicht für jeden Client eine eigene Integration bauen muss. Die Kombination aus Multi-Strategy-Retrieval und Reranking liefert in der Praxis spürbar bessere Trefferqualität als eine simple Vektorsuche, gerade bei größeren, thematisch gestreuten Memory-Beständen.&lt;/p&gt;
&lt;p&gt;Gibt es bei dem Ansatz auch Dinge die mich stören? Nicht wirklch, aber man sollte sich bewusst sein, dass mit der steigenden Anzahl an Informationen und mit jedem Mental Model auch der Aufwand steigt alles aktuell zu halten. Es können schon einige Token-Kosten entstehen.&lt;br /&gt;
Jede &lt;code&gt;retain&lt;/code&gt;-Operation bedeutet zusätzliche LLM-Calls für die interne Verarbeitung, das summiert sich bei hohem Volumen. Und der Reifegrad des Ökosystems ist noch nicht in Stein gemeißelt. Integrationen können sich relativ kurzfristig ändern.&lt;/p&gt;
&lt;p&gt;Hier kommt es einfach darauf an ob man den Context/Memory auch als Wert für sich entdeckt hat.&lt;/p&gt;
&lt;h2&gt;Business-Ausblick&lt;/h2&gt;
&lt;p&gt;Für ein Projekt-Umfeld wie ich es bei valantic kenne sehe ich den größten Hebel darin, dass Agenten über Sessions hinweg Projektkontext, Kundenpräferenzen und getroffene Architekturentscheidungen behalten.  Das bedeutet, dass weniger Zeit für wiederholte Kontext-Vermittlung, mehr Zeit für die eigentliche Wertschöpfung vorhanden ist. Das ist ein handfester Produktivitätsgewinn, gerade in längeren Projekten mit wechselnden Ansprechpartnern.&lt;/p&gt;
&lt;p&gt;Gleichzeitig darf man die Governance-Frage nicht ausblenden: Wo landen die extrahierten Fakten, wer hat Zugriff auf die Memory-Bank, wie sauber lässt sich zwischen Kunden oder Projekten trennen? Self-Hosting via Docker beziehungsweise, wie in meinem Fall, im eigenen Homelab per LXC-Container ist hier eine valide Antwort – man behält die volle Kontrolle über die Daten, statt sie einem Cloud-Anbieter anzuvertrauen.&lt;/p&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Hindsight ist das erste Agent-Memory-System, das mich wirklich direkt begeistert hat, weil es Memory nicht auf &amp;quot;Text in eine Vektor-DB werfen&amp;quot; reduziert, sondern strukturierte Fakten, Entitäten, Zeitbezug und einen Wissensgraphen kombiniert. Das Setup im eigenen Homelab war dank vorhandener Postgres/pgvector-Infrastruktur überraschend unkompliziert, und die Kombination aus MCP-Standard und flexibler LLM-Provider-Wahl macht das System für sehr unterschiedliche Einsatzszenarien interessant – vom Vereinsalltag bei Wormatia Worms bis zum Architektur-Gedächtnis in technischen Projekten. Ich werde das in den kommenden Wochen weiter ausbauen und berichte, sobald sich daraus konkrete Workflows ergeben haben.&lt;/p&gt;</content>
        <author>
            <name>Christian Münch</name>
        </author>
    </entry>
    <entry>
        <title type="text">mage-remote-run mit JSON Body Support und anderen neuen Features</title>
        <link href="https://muench.dev/post/2026-06-mage-remote-run-mit-json-body-support-in-virtual-commands"/>
        <id>https://muench.dev/post/2026-06-mage-remote-run-mit-json-body-support-in-virtual-commands</id>
        <published>2026-06-25T07:00:00+00:00</published>
        <updated>2026-06-25T20:28:48+02:00</updated>
        <summary/>
        <content type="html">&lt;p&gt;Zwei Releases an einem Tag - das passiert, wenn Features bereit sind. Am 17. Juni 2026 haben ich v1.9.0 und v1.10.0 von &lt;a href=&quot;https://github.com/muench-dev/mage-remote-run&quot;&gt;mage-remote-run&lt;/a&gt; veröffentlicht. Das Highlight in v1.9: Virtual Commands unterstützen jetzt JSON Request Bodies — POST- und PUT-Requests gegen die Magento REST API sind damit ohne eigenen JavaScript-Code möglich. v1.10 bringt eine sauberere Plugin-Infrastruktur: Inkompatible Plugins werden jetzt beim Laden erkannt und mit klarer Fehlermeldung abgewiesen.&lt;/p&gt;
&lt;h2&gt;v1.9.0: Virtual Commands mit JSON Body, Choices und interaktiven Prompts&lt;/h2&gt;
&lt;p&gt;Virtual Commands sind seit v1.4 ein zentrales Erweiterungs-Feature: REST-Requests per Konfiguration definieren, ohne JavaScript schreiben zu müssen. Bisher waren sie auf GET-Requests beschränkt. Das ist jetzt Geschichte.&lt;/p&gt;
&lt;h3&gt;JSON Body Templates&lt;/h3&gt;
&lt;p&gt;Mit &lt;code&gt;body&lt;/code&gt; in der Command-Definition lassen sich POST- und PUT-Requests direkt aus der Konfiguration absetzen. Der Body ist ein JSON-Template. Optionen werden als Platzhalter eingebettet und zur Laufzeit ersetzt.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-json hljs json&quot; data-lang=&quot;json&quot;&gt;{
  &lt;span class=&quot;hljs-attr&quot;&gt;&quot;name&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;customer update-email&quot;&lt;/span&gt;,
  &lt;span class=&quot;hljs-attr&quot;&gt;&quot;method&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;PUT&quot;&lt;/span&gt;,
  &lt;span class=&quot;hljs-attr&quot;&gt;&quot;endpoint&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;/V1/customers/:id&quot;&lt;/span&gt;,
  &lt;span class=&quot;hljs-attr&quot;&gt;&quot;description&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;Update customer email address&quot;&lt;/span&gt;,
  &lt;span class=&quot;hljs-attr&quot;&gt;&quot;body&quot;&lt;/span&gt;: {
    &lt;span class=&quot;hljs-attr&quot;&gt;&quot;customer&quot;&lt;/span&gt;: {
      &lt;span class=&quot;hljs-attr&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;:id&quot;&lt;/span&gt;,
      &lt;span class=&quot;hljs-attr&quot;&gt;&quot;email&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;:email&quot;&lt;/span&gt;
    }
  },
  &lt;span class=&quot;hljs-attr&quot;&gt;&quot;options&quot;&lt;/span&gt;: {
    &lt;span class=&quot;hljs-attr&quot;&gt;&quot;id&quot;&lt;/span&gt;: {
      &lt;span class=&quot;hljs-attr&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;string&quot;&lt;/span&gt;,
      &lt;span class=&quot;hljs-attr&quot;&gt;&quot;required&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-literal&quot;&gt;true&lt;/span&gt;,
      &lt;span class=&quot;hljs-attr&quot;&gt;&quot;description&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;Customer ID&quot;&lt;/span&gt;
    },
    &lt;span class=&quot;hljs-attr&quot;&gt;&quot;email&quot;&lt;/span&gt;: {
      &lt;span class=&quot;hljs-attr&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;string&quot;&lt;/span&gt;,
      &lt;span class=&quot;hljs-attr&quot;&gt;&quot;required&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-literal&quot;&gt;true&lt;/span&gt;,
      &lt;span class=&quot;hljs-attr&quot;&gt;&quot;description&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;New email address&quot;&lt;/span&gt;
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;mage-remote-run customer update-email --id 42 --email new@example.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Damit öffnet sich die gesamte Magento REST API für Virtual Commands und eben nicht nur lesende Operationen, sondern auch schreibende Workflows, ohne eigenen Plugin-Code.&lt;/p&gt;
&lt;p&gt;Die vollständige Dokumentation dazu findet ihr unter: &lt;a href=&quot;https://mage-remote-run.muench.dev/extensibility/virtual-commands&quot;&gt;mage-remote-run.muench.dev/extensibility/virtual-commands&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Choices für Options-Definitionen&lt;/h3&gt;
&lt;p&gt;Optionen können jetzt vordefinierte Auswahlwerte bekommen. Das macht Commands benutzerfreundlicher und verhindert ungültige Eingaben:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-json hljs json&quot; data-lang=&quot;json&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;options&quot;&lt;/span&gt;: {
  &lt;span class=&quot;hljs-attr&quot;&gt;&quot;status&quot;&lt;/span&gt;: {
    &lt;span class=&quot;hljs-attr&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;string&quot;&lt;/span&gt;,
    &lt;span class=&quot;hljs-attr&quot;&gt;&quot;required&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-literal&quot;&gt;true&lt;/span&gt;,
    &lt;span class=&quot;hljs-attr&quot;&gt;&quot;description&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;Order status&quot;&lt;/span&gt;,
    &lt;span class=&quot;hljs-attr&quot;&gt;&quot;choices&quot;&lt;/span&gt;: [&lt;span class=&quot;hljs-string&quot;&gt;&quot;pending&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-string&quot;&gt;&quot;processing&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-string&quot;&gt;&quot;complete&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-string&quot;&gt;&quot;canceled&quot;&lt;/span&gt;]
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Im interaktiven Modus erscheinen die &lt;code&gt;choices&lt;/code&gt; als Auswahlmenü. Per CLI werden ungültige Werte direkt zurückgewiesen.&lt;/p&gt;
&lt;h3&gt;Interaktive Prompts für fehlende Pflichtoptionen&lt;/h3&gt;
&lt;p&gt;Virtual Commands fragen fehlende Required Options jetzt interaktiv ab anstatt mit einer Fehlermeldung abzubrechen. Das Verhalten hängt vom Kontext ab: Im Terminal erscheint ein Prompt, in CI/CD-Pipelines wird der Fehler wie bisher ausgegeben. Soweit möglich werden Variablen die bereits von CI/CD Systemen wie Gitlab-CI oder Github Actions standardmäßig definiert wurden (wie &lt;code&gt;CI=1&lt;/code&gt;), automatisch erkannt, sodass der interaktive Modus nicht die Pipeline blockieren kann.&lt;/p&gt;
&lt;p&gt;Für Pipelines lässt sich der interaktive Modus aber auch explizit deaktivieren:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;NON_INTERACTIVE=1 mage-remote-run my-command
&lt;span class=&quot;hljs-comment&quot;&gt;# alternativ:&lt;/span&gt;
NONINTERACTIVE=1 mage-remote-run my-command
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Beide Environment-Variablen werden als Alias akzeptiert an das Homebrew-Konvention-Feeling für Shell-Scripting.&lt;/p&gt;
&lt;h3&gt;Weitere Änderungen in v1.9&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Performance&lt;/strong&gt;: Config-I/O läuft jetzt vollständig asynchron (&lt;code&gt;fs.promises&lt;/code&gt; statt synchronem &lt;code&gt;fs&lt;/code&gt;) — spürbar bei häufigen Profil-Wechseln&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Performance&lt;/strong&gt;: &lt;code&gt;findRegisteredPluginIndex&lt;/code&gt; nutzt &lt;code&gt;Promise.all&lt;/code&gt; für parallele Prüfungen&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fix&lt;/strong&gt;: Verschluckte Fehler in Catch-Blöcken wurden repariert — Fehler sind jetzt sichtbar statt still ignoriert&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Refactoring&lt;/strong&gt;: Duplicated Filter-Matching-Logik wurde in &lt;code&gt;parseFilterOption&lt;/code&gt; extrahiert&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deps&lt;/strong&gt;: axios, zod, inquirer und @modelcontextprotocol/sdk auf aktuelle Versionen gehoben&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;v1.10.0: Plugin-Kompatibilitätsprüfung über peerDependencies&lt;/h2&gt;
&lt;p&gt;Plugins deklarieren seit v1.6 eine &lt;code&gt;peerDependency&lt;/code&gt; auf &lt;code&gt;mage-remote-run&lt;/code&gt;. Ab v1.10 wird diese beim Laden tatsächlich ausgewertet.&lt;/p&gt;
&lt;p&gt;Wenn ein Plugin eine Version von &lt;code&gt;mage-remote-run&lt;/code&gt; voraussetzt, die nicht mit der installierten übereinstimmt, bricht das Laden mit einer klaren Fehlermeldung ab — statt mit unerklärlichem Laufzeitverhalten.&lt;/p&gt;
&lt;p&gt;Das ist das übliche Prinzip: explizit schlechter als stumm falsch. Wer Plugins entwickelt oder nutzt, deklariert die &lt;code&gt;peerDependency&lt;/code&gt; in der &lt;code&gt;package.json&lt;/code&gt; des Plugins:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-json hljs json&quot; data-lang=&quot;json&quot;&gt;{
  &lt;span class=&quot;hljs-attr&quot;&gt;&quot;name&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;my-mage-remote-run-plugin&quot;&lt;/span&gt;,
  &lt;span class=&quot;hljs-attr&quot;&gt;&quot;peerDependencies&quot;&lt;/span&gt;: {
    &lt;span class=&quot;hljs-attr&quot;&gt;&quot;mage-remote-run&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;&amp;gt;=1.10.0&quot;&lt;/span&gt;
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Die Prüfung läuft beim Plugin-Laden — noch bevor Commands registriert werden. Inkompatible Plugins werden übersprungen und der Fehler protokolliert.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Update&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;npm update -g mage-remote-run
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Oder direkt auf die aktuelle Version:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;npm install -g mage-remote-run@latest
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Feedback und Bugreports wie immer via &lt;a href=&quot;https://github.com/muench-dev/mage-remote-run/issues&quot;&gt;GitHub Issues&lt;/a&gt;. Wer Virtual Commands produktiv einsetzt oder Plugins entwickelt... ich freue mich über Erfahrungsberichte.&lt;/p&gt;</content>
        <author>
            <name>Christian Münch</name>
        </author>
    </entry>
    <entry>
        <title type="text">valantic wird Anthropic Partner – und ich war dabei</title>
        <link href="https://muench.dev/post/2026-06-valantic-wird-anthropic-partner-und-ich-war-dabei"/>
        <id>https://muench.dev/post/2026-06-valantic-wird-anthropic-partner-und-ich-war-dabei</id>
        <published>2026-06-18T08:46:00+00:00</published>
        <updated>2026-06-18T10:56:47+02:00</updated>
        <summary/>
        <content type="html">&lt;p&gt;valantic ist offiziell &lt;a href=&quot;https://www.valantic.com/de/blog/valantic-tritt-claude-partner-network-von-anthropic-bei/&quot;&gt;&lt;strong&gt;Select Partner im Claude Partner Network (Services Track)&lt;/strong&gt;&lt;/a&gt; von Anthropic geworden - eines der ersten Consulting- und Solutions-Unternehmen in Europa überhaupt. Ich durfte an diesem Prozess inhaltlich mitwirken und war selbst Teil der Schulung, die dazu notwendig war.&lt;/p&gt;
&lt;h2&gt;Was diese Partnerschaft bedeutet&lt;/h2&gt;
&lt;p&gt;Eine Partnerschaft mit Anthropic ist kein reines Marketing-Abkommen. Um Select Partner zu werden, muss man nachweisen, dass man die Materie wirklich versteht: Claude, das Anthropic-Ökosystem, die Architektur hinter Agenten-Systemen. Und man muss in der Lage sein, dieses Wissen weiterzugeben – intern an Kolleginnen und Kollegen, aber auch in Kundenprojekten und Schulungen.&lt;/p&gt;
&lt;p&gt;Der Gedanke dahinter ist nachvollziehbar: Anthropic will sicherstellen, dass Implementierungspartner nicht nur Lizenzen verkaufen, sondern echten Mehrwert liefern. Das setzt voraus, dass die Leute, die Kunden beraten, wissen, wovon sie reden.&lt;/p&gt;
&lt;h2&gt;London: Schulung zum Trainer&lt;/h2&gt;
&lt;p&gt;Ein Teil dieses Nachweises war eine Schulung in London, die ich zusammen mit meinem Kollegen Alexander Weinfurter besuchen durfte. Das Ziel war klar: Wir sollten das Wissen erwerben, um andere zu schulen – sowohl intern bei valantic als auch für Kunden.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-06/anthropic-partner-bootcamp-london-collage.png&quot; alt=&quot;Zwei Personen lächeln in die Kamera, während sie in einem Raum sitzen. Im Hintergrund sind ein Mann und ein Tisch mit Getränken zu sehen. Neben ihnen steht ein Schild mit der Aufschrift &amp;quot;Welcome to Partner Basecamp&amp;quot; und Informationen zu einem Programm. In der unteren Ecke sieht man die Themse und das London Eye im Hintergrund.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Inhaltlich war es ein intensives Format. Wir haben uns tief mit der &lt;strong&gt;Evaluierung von Prompt-Ergebnissen&lt;/strong&gt; beschäftigt – ein Thema, das in der Praxis oft unterschätzt wird. Es reicht nicht, einen Prompt zu bauen, der auf den ersten Blick funktioniert. Man muss strukturiert messen können, ob ein Modell konsistent, korrekt und für den jeweiligen Use Case geeignet antwortet. Dafür gibt es Methoden und Frameworks, die wir in London durchgearbeitet haben.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-06/anthtropic-exercices-terminal-2026-06-18-um-10.05.36.png&quot; alt=&quot;Verzeichnisbaum mit Unterordnern für ein Projekt. Enthält Ordner für 'day1' und 'day2' mit verschiedenen Übungen, sowie eine README.md-Datei. Die Benutzerberechtigungen und Änderungsdaten sind angezeigt.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Ein weiterer Schwerpunkt war das &lt;strong&gt;Erstellen und Deployment von Agenten in der Cloud&lt;/strong&gt;. Es ging darum wie man KI-Agenten produktionsreif aufsetzt, welche Infrastruktur dahintersteckt und wo die typischen Fallstricke liegen. Das ist genau der Bereich, der in vielen Projekten über Erfolg oder Misserfolg entscheidet: nicht das Modell selbst, sondern wie es eingebettet und verwendet wird.&lt;/p&gt;
&lt;p&gt;Wir haben außerdem verschiedene Anthropic-Modelle verglichen und ein Gefühl dafür bekommen, wann welches Modell für welchen Einsatzzweck sinnvoll ist.&lt;/p&gt;
&lt;p&gt;Was mich persönlich am meisten gefreut hat: der direkte Austausch mit Anthropic-Mitarbeitern und KI-Architekten und meinem valantic Kollegen. Alexander war zum Beispiel viel besser in der Optimierung der Prompts. So lernt man gegenseitig. Man bekommt in solchen Formaten einen anderen Einblick als durch Dokumentation und Blog-Posts. Fragen, die man im Alltag nicht einfach stellen kann, lassen sich dort direkt klären.&lt;/p&gt;
&lt;h2&gt;Was das für Kunden bedeutet&lt;/h2&gt;
&lt;p&gt;Wenn ich mir die valantic-Seite zur &lt;a href=&quot;https://www.valantic.com/de/ki/claude-implementierung/&quot;&gt;Claude Implementierung&lt;/a&gt; anschaue, sehe ich genau das abgebildet, was wir in London erarbeitet haben. Der Ansatz ist nicht &amp;quot;KI einschalten und fertig&amp;quot;, sondern ein strukturierter Prozess: von der ersten Sondierung über einen Pilot mit messbarem Business Case bis zum unternehmensweiten Rollout.&lt;/p&gt;
&lt;p&gt;Besonders wichtig finde ich den Aspekt, den valantic explizit benennt: Viele Unternehmen scheitern beim Sprung von einzelnen Tests zur produktiven Nutzung. Nicht weil das Modell schlecht ist, sondern weil Strategie, Governance und Integration fehlen. Das deckt sich mit dem, was ich in Projekten erlebe. Die Technologie ist selten das Problem.&lt;/p&gt;
&lt;p&gt;Als konkreten Einstieg bietet valantic &lt;strong&gt;Claude Code Workshops&lt;/strong&gt; für Entwicklungsteams an – ein direkter, praxisnaher Weg in Anthropics agentische Coding-Fähigkeiten. Für Entwickler, die verstehen wollen wie KI-gestützte Softwareentwicklung in der Praxis aussieht, ist das ein guter erster Schritt.&lt;/p&gt;
&lt;p&gt;Der Select Partner Status bedeutet außerdem: valantic hat direkten Zugang zu Anthropic-Expertise und -Roadmaps. Das ist in einem Bereich, der sich so schnell entwickelt, kein unwichtiger Punkt. Einen Vorsprung beim Zugriff auf Informationen oder Modelle ist gerade jetzt ein Wettbewerbsvorteil.&lt;/p&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Ich finde es gut, dass valantic diesen Schritt gemacht hat – und ich finde es noch besser, dass er mit echtem Substanz-Aufwand verbunden war. Eine Schulung in London, inhaltliche Auseinandersetzung mit Evaluierung, Deployment und Architektur, direkter Kontakt zu Anthropic. Das ist kein Badge auf der Website, sondern Grundlage für Projekte, die tatsächlich funktionieren.&lt;/p&gt;
&lt;p&gt;Wer das Thema Claude im Unternehmenskontext ernsthaft angehen will, hat bei valantic jetzt einen Ansprechpartner, der weiß, wovon er spricht.&lt;/p&gt;</content>
        <author>
            <name>Christian Münch</name>
        </author>
    </entry>
    <entry>
        <title type="text">Google Cloud Summit DACH 2026</title>
        <link href="https://muench.dev/post/2026-06-besuch-beim-google-cloud-summit-dach-2026-in-frankfurt"/>
        <id>https://muench.dev/post/2026-06-besuch-beim-google-cloud-summit-dach-2026-in-frankfurt</id>
        <published>2026-06-15T08:25:00+00:00</published>
        <updated>2026-06-15T10:28:00+02:00</updated>
        <summary/>
        <content type="html">&lt;p&gt;Letzte Woche war ich für valantic beim Google Coud Summit DACH in Frankfurt. Die Anreise war entspannt: mit dem Deutschlandticket per Zug, klimafreundlich und ohne Parkplatz-Stress. Schon das Rahmenprogramm hat gesetzt, was den Ton für die zwei Tage vorgab – groß, professionell, durchdacht. Mehrere Tausend Teilnehmer, kostenfreie Veranstaltung inklusive Essen und Getränken. Google lässt sich das was kosten.&lt;/p&gt;
&lt;h2&gt;Tag 1: Der AI Experience Walk&lt;/h2&gt;
&lt;p&gt;Der erste Tag stand für mich im Zeichen des &lt;strong&gt;AI Experience Walk&lt;/strong&gt; – einer Art begehbaren KI-Ausstellung, bei der Google seine Lösungen entlang der kompletten Wertschöpfungskette vorgestellt hat. Vom ersten Kundenkontakt bis zur internen Prozessautomatisierung war alles vertreten.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-06/google-cloud-summit-emea-2026-collage.png&quot; alt=&quot;Google Cloud Summit 2026 - Impressionen&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Google gab selbst Einblicke wie sich die Entwicklung aufgrund der Nutzung von KI geändert hat. Es gibt immer mehr Entwickler die nur noch mit Prompts arbeiten und die IDE selbst gar nicht mehr wirklich nutzen.&lt;br /&gt;
&lt;img src=&quot;/assets/content/blog/2026-06/ai-replaces-developers_20260609_101513660.jpg&quot; alt=&quot;AI isn't going to replace developers. But a develop using AI will replavce a developer sho isn't.&quot; /&gt;&lt;br /&gt;
Was für mich imer wieder durchkam war, dass das Thema &amp;quot;Grounding&amp;quot; einfach viel ernster genommen werden muss. Über Tests gilt es die Ergebnisse (gerade in Verbindung mit eigenen Daten) immer wieder zu automatisch zu überprüfen. Das Test-Driven-Development ist wieder da aber eben anders wie früher.&lt;/p&gt;
&lt;p&gt;Was mich am meisten beeindruckt hat: &lt;strong&gt;Live-Remote-Video-Übersetzung in 15 Sprachen&lt;/strong&gt;, in Echtzeit, direkt im Video-Stream. Das war kein Demo-Video und kein &amp;quot;coming soon&amp;quot; – das hat funktioniert. Solche Momente zeigen, wo KI gerade wirklich steht. Nicht alles ist noch Versprechen.&lt;/p&gt;
&lt;p&gt;Ein zweites großes Thema am ersten Tag war &lt;strong&gt;Digitale Souveränität&lt;/strong&gt;. Das ist kein neues Thema, aber es war auffällig, wie prominent Google es platziert hat. Wer kontrolliert die Infrastruktur, wer hat Zugriff auf die Daten, wo laufen die Modelle? Für viele Unternehmen sind das inzwischen keine akademischen Fragen mehr, sondern konkrete Entscheidungskriterien bei der Plattformwahl.&lt;/p&gt;
&lt;h2&gt;Tag 2: Hands-on statt Hype&lt;/h2&gt;
&lt;p&gt;Tag 2 war für mich der wertvollere. Weniger Bühne, mehr Werkstatt. In den Hands-on Sessions konnte man direkt selbst ran – und das macht einen Unterschied.&lt;/p&gt;
&lt;p&gt;Ich habe einen &lt;strong&gt;MCP Server live auf das Google ADK umgestellt&lt;/strong&gt; – direkt auf der Veranstaltung, nicht vorher vorbereitet, nicht in einer kontrollierten Demo-Umgebung. Das hat funktioniert, und das war ein gutes Signal. Das ADK ist praxistauglich genug, um spontan damit zu arbeiten.&lt;/p&gt;
&lt;p&gt;Besonders interessant war ein Vortrag zum Thema &lt;strong&gt;RAG (Retrieval-Augmented Generation)&lt;/strong&gt; am konkreten Anwendungsfall: Gesetzestexte. Die Herausforderung bei juristischen Dokumenten ist nicht nur, die richtige Passage zu finden – sondern sie auch korrekt zu zitieren, mit Paragraphen-Referenz und im richtigen Kontext. Genau das wurde gezeigt. Ein Anwendungsfall, der echte Anforderungen hat und bei dem schlechte Ergebnisse echte Konsequenzen hätten. RAG muss hier nicht nur &amp;quot;meistens&amp;quot; funktionieren.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-06/rag-is-hard_20260610_090752659.jpg&quot; alt=&quot;RAG is hard&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Google als einziger Full-Stack-KI-Anbieter&lt;/h2&gt;
&lt;p&gt;Eine Beobachtung zieht sich durch beide Tage: Google ist der einzige Anbieter, der &lt;strong&gt;Hardware, Software und Plattform&lt;/strong&gt; für KI aus einer Hand liefert. Eigene TPUs, eigene Modelle (Gemini), eigene Cloud-Infrastruktur, eigene Entwicklertools. Das ist eine andere Ausgangssituation als bei Anbietern, die sich auf externe Chip-Hersteller oder Drittanbieter-Infrastruktur verlassen.&lt;/p&gt;
&lt;p&gt;Ob das ein Vorteil ist, hängt davon ab, was man sucht. Wer tief in das Google-Ökosystem einsteigen will, hat eine konsistente Stack-Erfahrung. Wer Unabhängigkeit und Portabilität priorisiert, sieht das vielleicht anders. Ich finde es trotzdem bemerkenswert, dass kein anderer Hyperscaler diese Kombination in dieser Tiefe vorweisen kann.&lt;/p&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Zwei Tage, mehrere Tausend Teilnehmer, kein Eintrittsgeld. Google investiert sichtbar in Community und Sichtbarkeit – und das zahlt sich aus. Man verlässt so eine Veranstaltung nicht mit fertigen Entscheidungen, aber mit einem guten Gefühl dafür, wo die Reise hingeht.&lt;/p&gt;
&lt;p&gt;Für mich persönlich: Tag 2 hat mehr gebracht als Tag 1. Nicht weil der AI Experience Walk uninteressant war – sondern weil Hands-on-Erfahrung durch nichts zu ersetzen ist. Einen MCP Server live umzustellen und direkt Feedback zu bekommen, ist mehr wert als zehn Folien über dasselbe Thema.&lt;/p&gt;
&lt;p&gt;Wer die Möglichkeit hat, beim nächsten Google Summit dabei zu sein: lohnt sich.&lt;/p&gt;</content>
        <author>
            <name>Christian Münch</name>
        </author>
    </entry>
    <entry>
        <title type="text">PHP Supply Chain Security: Composer und Packagist machen den nächsten Schritt</title>
        <link href="https://muench.dev/post/2026-05-php-supply-chain-security-composer-und-packagist-machen-den-naechsten-schritt"/>
        <id>https://muench.dev/post/2026-05-php-supply-chain-security-composer-und-packagist-machen-den-naechsten-schritt</id>
        <published>2026-05-28T07:00:00+00:00</published>
        <updated>2026-06-13T15:16:35+02:00</updated>
        <summary/>
        <content type="html">&lt;p&gt;Die letzten Wochen haben gezeigt, wie verwundbar auch das PHP-Ökosystem gegenüber Angriffen auf die Software-Lieferkette ist. Lange galt Supply Chain Security vor allem als NPM-Problem. Wer die jüngsten Vorfälle rund um &lt;code&gt;laravel-lang&lt;/code&gt; (22. Mai) und &lt;code&gt;intercom/intercom-php&lt;/code&gt; (30. April) verfolgt hat, weiß: PHP ist nicht weniger betroffen – wir haben es nur seltener auf dem Radar.&lt;/p&gt;
&lt;p&gt;In beiden Fällen haben Angreifer kompromittierte GitHub-Accounts oder gestohlene Access-Tokens genutzt, um schadhafte Git-Tags auf Paketen zu veröffentlichen, auf die sie keinen legitimen Zugriff hatten. Das Ergebnis: Schadcode in weit verbreiteten Paketen, der bei einem &lt;code&gt;composer update&lt;/code&gt; auf tausenden Systemen landet.&lt;/p&gt;
&lt;p&gt;Das Packagist-Team hat jetzt in einem ausführlichen &lt;a href=&quot;https://blog.packagist.com/an-update-on-composer-packagist-supply-chain-security/&quot;&gt;Blog-Post&lt;/a&gt; dargelegt, was bereits aktiv ist, was diese Woche ausgeliefert wird und wohin die Reise langfristig geht. Die Roadmap ist beeindruckend – und zeigt, dass hier seit fast einem Jahr konsequent an der Infrastruktur gearbeitet wird.&lt;/p&gt;
&lt;h2&gt;Was bereits funktioniert&lt;/h2&gt;
&lt;p&gt;Seit März 2026 ist &lt;strong&gt;Aikido&lt;/strong&gt;-Malware-Erkennung direkt in Packagist.org integriert. Wenn eine Version als schädlich markiert wird, erscheint das sowohl in der Packagist-UI als auch in den Metadaten, die Composer abruft. In den jüngsten Vorfällen hat Aikido die kompromittierten Versionen korrekt geflagged.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-05/screenshot_aikido_n98magerun2_20260528_112848.png&quot; alt=&quot;Dashboard einer Softwareanwendung zur Verwaltung von Magento-Projekten. Die Gesamtbewertung beträgt 100 %. Es werden keine Sicherheitsanfälligkeiten für das Paket angezeigt. Informationen zu verschiedenen Paketversionen und wöchentlichen Downloads sind ebenfalls enthalten.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Parallel dazu gibt es bereits ein &lt;strong&gt;öffentliches Transparenz-Log&lt;/strong&gt; auf Packagist.org. Dieses Log zeichnet sicherheitsrelevante Ereignisse auf: Eigentümerwechsel, Maintainer-Änderungen, Versionsreferenz-Änderungen. Bei den aktuellen Angriffen – bei denen Angreifer bestehende Git-Tags im Nachhinein manipulierten – hat das Log genau das dokumentiert, was verändert wurde. Das ist solide forensische Infrastruktur.&lt;/p&gt;
&lt;h2&gt;Was diese Woche kommt: Composer 2.10&lt;/h2&gt;
&lt;p&gt;Das ist der Teil, der mich am meisten interessiert – und der unmittelbaren Handlungsbedarf schafft.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Unveränderlichkeit stabiler Versionen&lt;/strong&gt; ist die wichtigste Änderung. Bisher konnte ein Angreifer (oder ein unvorsichtiger Maintainer) ein bestehendes Git-Tag einfach neu setzen – und Packagist aktualisierte die Referenz stillschweigend. Das ist vorbei. Ab diesem Deploy können stabile Versionen nicht mehr lautlos überschrieben werden. Tag-Änderungen am Upstream-Repository werden erkannt und abgelehnt; der Maintainer bekommt eine E-Mail-Benachrichtigung.&lt;/p&gt;
&lt;p&gt;Das klingt wie eine Kleinigkeit, ist es aber nicht. Mutable Releases bedeuten: Ein kompromittierter Account kann eine bereits millionenfach installierte, als vertrauenswürdig eingestufte Version mit Backdoor versehen. Wer dann &lt;code&gt;composer update&lt;/code&gt; ausführt, bekommt den manipulierten Code, ohne Warnung, ohne Versionsnummernänderung. Diese Angriffsfläche wird jetzt geschlossen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Composer 2.10&lt;/strong&gt; führt außerdem ein einheitliches &lt;strong&gt;Dependency Policy Framework&lt;/strong&gt; ein. Malware-Flags, Sicherheitswarnungen und verwaiste Pakete werden damit über einen gemeinsamen, konfigurierbaren Mechanismus gesteuert statt als Einzelfeatures übereinander gestapelt. Das ist die richtige Architekturentscheidung, weil es einen klaren Erweiterungspunkt für künftige Policies schafft.&lt;/p&gt;
&lt;p&gt;Der &lt;strong&gt;Source-Fallback wird deprecated&lt;/strong&gt; und in Version 2.11 komplett entfernt. Bisher konnte Composer bei einem fehlgeschlagenen Dist-Download auf das Git-Repository als Quelle zurückfallen. Das ist ein Verhalten, das in bestimmten Angriffsszenarien zu unerwartetem Code-Download führen konnte. Gut, dass das weg kommt.&lt;/p&gt;
&lt;h2&gt;Was folgt: Cooldown-Phasen und MFA-Sichtbarkeit&lt;/h2&gt;
&lt;p&gt;Zwei geplante Features, die ich für besonders wirksam halte:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Minimum Release Age&lt;/strong&gt;: Eine Policy, die verhindert, dass brandneue Releases sofort in CI/CD-Pipelines installiert werden. Die meisten eingeschleusten schädlichen Versionen werden innerhalb von Stunden entdeckt und entfernt. Wer einen Cooldown von z.B. 24 Stunden erzwingt, nimmt Angreifern das entscheidende Zeitfenster. Diese Policy ist direkt abhängig von der oben beschriebenen Versions-Unveränderlichkeit – deswegen kam sie noch nicht, kommt aber bald.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MFA-Status wird öffentlich sichtbar&lt;/strong&gt;: Künftig wird der MFA-Status von Maintainern auf ihren Profilen und im Transparenz-Log erscheinen. Das erzeugt sozialen Druck was ich für einen wirkungsvollen Hebel halte. Wer als Maintainer eines viel genutzten Pakets ohne 2FA dasteht, wird das merken.&lt;/p&gt;
&lt;h2&gt;Was mich dazu bewogen hat, heute zu handeln&lt;/h2&gt;
&lt;p&gt;Ich pflege mehrere Pakete auf Packagist.org, unter anderem n98-magerun2. &lt;strong&gt;Ich habe heute meinen Packagist-Account mit 2FA abgesichert.&lt;/strong&gt;. Ehrlich gesagt hatte ich das gar nicht auf dem Schirm. Aber lieber spät als gar nicht.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-05/screenshot_composer_2fa_20260528_113133.png&quot; alt=&quot;Die Benutzeroberfläche von Packagist zeigt die Einstellungen für die Zwei-Faktor-Authentifizierung an. Ein Hinweis informiert, dass die Zwei-Faktor-Authentifizierung derzeit aktiviert ist.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Nicht weil es mich jemand gezwungen hat. Sondern weil mir beim Lesen des Packagist-Blog-Posts klar wurde: Das ist keine hypothetische Bedrohung mehr. Die Vorfälle sind real, die Angriffsvektoren sind dokumentiert, und die Konsequenzen eines kompromittierten Accounts treffen nicht nur mich – sondern alle, die das Tool nutzen.&lt;/p&gt;
&lt;p&gt;Wer noch keinen guten Passwortmanager nutzt, sollte das ohnehin ändern. Tools wie &lt;strong&gt;1Password&lt;/strong&gt;, &lt;strong&gt;Bitwarden&lt;/strong&gt; oder &lt;strong&gt;KeePassXC&lt;/strong&gt; unterstützen heute alle TOTP-basiertes 2FA direkt – kein separates Authenticator-App-Chaos nötig. Ein Passwortmanager, der 2FA abdeckt, senkt die Hürde zur Aktivierung auf nahezu null. Es gibt keine sinnvolle Ausrede mehr.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vertrauen ist eine Währung.&lt;/strong&gt; Wer ein weit genutztes Open-Source-Paket pflegt, trägt Mitverantwortung für die Sicherheit der Systeme, auf denen es läuft. Das geht nicht an jemand anderen weiter. Nicht an Packagist, nicht an Composer, nicht an GitHub.&lt;/p&gt;
&lt;h2&gt;Was ich jedem Maintainer empfehle&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;2FA auf Packagist.org aktivieren – jetzt.&lt;/strong&gt; Der MFA-Status wird bald öffentlich einsehbar sein. Wer jetzt handelt, tut das aus Überzeugung und nicht aus Druck.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Composer auf 2.10 aktualisieren&lt;/strong&gt;, sobald die Version veröffentlicht ist. Das Source-Fallback-Verhalten allein ist ein guter Grund.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Keine shared Company Accounts&lt;/strong&gt; für Pakete nutzen. Das Packagist-Team baut gerade Organizational Package Ownership, um diesen Übergang zu erleichtern.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Das Transparenz-Log kennen.&lt;/strong&gt; Wer Pakete pflegt oder nutzt, sollte wissen, dass dort Änderungen protokolliert werden – und ab wann auch MFA-Ereignisse.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Einordnung: Ein Ökosystem zieht die Schrauben an&lt;/h2&gt;
&lt;p&gt;NPM hatte obligatorisches 2FA für beliebte Pakete bereits früher eingeführt, PyPI machte es im Januar 2024 für alle Maintainer verpflichtend. Das Packagist-Team sagt selbst, dass Composer hier punktuell hinterherhinkt – aber die jetzt angekündigte Roadmap ist keine Ad-hoc-Reaktion. Versions-Unveränderlichkeit, ein Dependency Policy Framework, FIDO2-gestützte Release-Flows, SLSA-Provenance – das ist erkennbar über Monate geplante Arbeit. Die Sovereign Tech Agency hat Teile davon mitfinanziert, was zeigt, dass kritische Open-Source-Infrastruktur inzwischen als schützenswert gilt.&lt;/p&gt;
&lt;p&gt;KI hat hier übrigens Dynamik in beide Richtungen gebracht. Automatisierte Analyse hilft beim Erkennen von Anomalien – aber sie senkt auch die Hürde für Angreifer, überzeugende schädliche Commits zu erstellen. Das Wettrüsten ist real.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Was von uns als Community bleibt: unseren Teil tun.&lt;/strong&gt; Und der beginnt mit dem Aktivieren von 2FA. Das dauert fünf Minuten.&lt;/p&gt;</content>
        <author>
            <name>Christian Münch</name>
        </author>
    </entry>
    <entry>
        <title type="text">Coding Agents im Vergleich: Meine Erfahrungen – und was Claude Code anders macht</title>
        <link href="https://muench.dev/post/2026-04-coding-agents-im-vergleich-meine-erfahrungen-und-was-claude-code-anders-macht"/>
        <id>https://muench.dev/post/2026-04-coding-agents-im-vergleich-meine-erfahrungen-und-was-claude-code-anders-macht</id>
        <published>2026-04-14T07:00:00+00:00</published>
        <updated>2026-04-17T16:17:04+02:00</updated>
        <summary/>
        <content type="html">&lt;p&gt;In den letzten Monaten habe ich mich intensiv mit Coding Agents beschäftigt. Angefangen mit dem GitHub Copilot Agent, über Google Jules, JetBrains Junie bis hin zu Kiro und OpenCode – ich habe fast alle relevanten Tools getestet und auf muench.dev beschrieben. Jetzt, wo ich (auch) Claude Code täglich im Einsatz habe, wird es Zeit für eine Zusammenfassung: Wo stehen die einzelnen Tools? Was unterscheidet Claude Code von der Konkurrenz? Und – eine Frage, die ich mir zunehmend stelle – wie schütze ich mich eigentlich vor einem Vendor-Lock-in?&lt;/p&gt;
&lt;h2&gt;Meine bisherigen Coding-Agent-Tests im Überblick&lt;/h2&gt;
&lt;p&gt;Wer meine Artikel kennt, weiß: Ich teste Dinge so lange, bis ich mir ein echtes Bild gemacht habe – mit echten Projekten, echten Fehlern und echten Erkenntnissen. Hier die Übersicht der bisher auf diesem Blog vorgestellten Agents:&lt;/p&gt;
&lt;h3&gt;JetBrains Junie&lt;/h3&gt;
&lt;p&gt;Mein erster &amp;quot;Wow, das klappt ja wirklich&amp;quot;-Moment in der Vibe-Coding-Serie. Junie ist tief in die JetBrains-IDE integriert, läuft serverbasiert und hat mich mit seinem iterativen Ansatz (Tests ausführen, Fehler korrigieren, weitermachen) wirklich beeindruckt. Einziger Nachteil: Rate-Limits treffen schnell, und wer nicht im JetBrains-Ökosystem lebt, ist außen vor.&lt;/p&gt;
&lt;h3&gt;Google Jules&lt;/h3&gt;
&lt;p&gt;Jules arbeitet in einer isolierten Cloud-Umgebung – asynchron und ohne dass man dabei sein muss. Interessanter Ansatz, aber die fehlende Interaktivität war für mich bei explorativer Entwicklung ein echtes Handicap. Für definierbare Batch-Aufgaben ein solider Kandidat.&lt;/p&gt;
&lt;p&gt;Jules lasse ich inzwischen Code-Verbesserungen in meinen Open Source Projekten automatisch vorschlagen. Das produziert auch einiges an guten Ergebnissen. Allerdings bin ich als Mensch beim Review selbst das Bottleneck. Aber hier habe ich selten Zeitdruck. Daher ist das alles in Ordnung für mich. Generell habe ich 100 Tasks pro Tag in meinem AI Pro Account. Das ist sehr großzügig. Im Hintergrund arbeitet ein Gemini Pro Modell. Mein Anfangstest war noch mit durchwachsenen Ergebnissen. Das ist inzwischen aber alles sehr gut und brauchbar was produziert wird.&lt;/p&gt;
&lt;p&gt;Ebenso sind die Sandboxes die Jules besser ausgestattet was den Speicherplatz angeht. Jetzt passen auch alle meine Projekte in deren Speicher.&lt;/p&gt;
&lt;h3&gt;GitHub Copilot Agent&lt;/h3&gt;
&lt;p&gt;Der bekannteste Name im Feld. VS Code-Integration ist unschlagbar, MCP-Support ist vorhanden und die Tiefe der Workspace-Analyse ist stark. Im direkten Vergleich mit Junie hatte ich allerdings etwas schlechtere Ergebnisse – und bei größeren Aufgaben musste ich die Arbeit auf mehrere Sessions aufteilen.&lt;/p&gt;
&lt;h3&gt;GitHub Copilot als asynchroner Agent&lt;/h3&gt;
&lt;p&gt;Spannend ist sicherlich die Nutzung des CoPilot auch als Helfer in GitHub Projekten selbst. Das kostet immer mindestens einen Premium-Request, wenn man eine Task verteilt. Davon habe ich in meinem Account 300 pro Monat. Geschäftlich hosten wir in unserem Team keine Kunden-Projekte in GitHub. Allerdings haben wir bei dem einen oder anderen Open Source Repository auch mal den GitHub CoPilot direkt Code prüfen gelassen. Der CoPilot meldet sich auch proaktiv in Pull Requests. Man kann das Ticket dann direkt dem CoPilot als Benutzer zuweisen und er arbeitet los.&lt;/p&gt;
&lt;p&gt;Das ist schon sehr praktisch. Allerdings nutze ich den CoPilot selbst nur selten.&lt;/p&gt;
&lt;h3&gt;OpenAI Codex&lt;/h3&gt;
&lt;p&gt;Das Cloud-basierte Modell von OpenAI direkt als Agent. Gut für isolierte Tasks, aber mit der bekannten Cloud-Abhängigkeit und den üblichen Datenschutz-Abwägungen.&lt;/p&gt;
&lt;p&gt;Ich habe Codex sehr zu schätzen gelernt. Er fragt weniger nach als Claude (mein subjektiver Eindruck). Die Ergebnisse von Codex bewerte ich meistens als sehr gut. Daher sehr zu empfehlen. Codex lässt sich auch über ein offizielles Plugin in Claude einbauen um dort Tokens zu sparen.&lt;/p&gt;
&lt;h3&gt;Codex CLI&lt;/h3&gt;
&lt;p&gt;Das CLI-Tool von OpenAI – kompakter als der vollständige Codex, aber flexibel einsetzbar. Für meinen Linux-Setup war es anfangs ein fester Bestandteil geworden. Hier nutze ich aber inzwischen Codex nur in Verbindung mit OpenCode.&lt;/p&gt;
&lt;h3&gt;Vibe-Coding mit Qwen Code&lt;/h3&gt;
&lt;p&gt;Qwen Code ist der Open-Source-Vertreter aus dem Hause Alibaba. Wer lokale Modelle bevorzugt oder keine Cloud-Daten möchte, wird hier fündig. Performance auf Augenhöhe mit den großen Playern – zumindest für eine bestimmte Klasse von Aufgaben. Qwen Code müsste ich mir neu anschauen. Daher habe ich keine aktualisierte Meinung.&lt;/p&gt;
&lt;h3&gt;Kiro&lt;/h3&gt;
&lt;p&gt;Kiro von AWS hat mich mit seinem &amp;quot;Spec-Driven Development&amp;quot;-Ansatz überrascht: erst Spezifikation, dann Implementierung. Der strukturierte Ansatz reduziert Missverständnisse zwischen Entwickler und Agent – aber auch hier: tief im AWS-Ökosystem verankert.&lt;/p&gt;
&lt;p&gt;Damals hatte ich nur so &amp;quot;semi gute&amp;quot; Ergebnisse. Das Tool müsste ich heute nochmal neu bewerten.&lt;/p&gt;
&lt;h3&gt;OpenCode&lt;/h3&gt;
&lt;p&gt;Mein Favorit für maximale Flexibilität. OpenCode läuft mit fast jedem Modell, unterstützt MCP, hat eine schicke TUI und hält mich unabhängig von einem einzelnen Anbieter. Genau darum geht es mir.&lt;/p&gt;
&lt;p&gt;Leider blocken sowohl Google als auch Anthropic die Nutzung über die Subscriptions. Man kann die Modelle aber per API anbinden.&lt;/p&gt;
&lt;p&gt;OpenCode gefällt mir weiterhin sehr gut. Die TUI ist einfach schön und gut bedienbar. Auch in Gitlab CI habe ich OpenCode an den Start gebracht. Das ist einfach ein tolles und vielseitiges Tool. OpenCode verwende ich wie oben schon geschrieben inzwischen nur noch mit Codex und ich habe auch meinen GitHub CoPilot Account verknüpft. Damit kann man einfache Tasks in z.B. Sub-Agents an das nicht Token-limitierte GPT 4.1 Modell delegieren.&lt;/p&gt;
&lt;h2&gt;Vendor-Lock-in&lt;/h2&gt;
&lt;p&gt;Zwischen all den Feature-Vergleichen und Benchmark-Diskussionen geht eine Frage oft unter: Was passiert, wenn das Tool, auf das ich mich eingelassen habe, plötzlich die Preise erhöht, den Dienst einstellt oder – wie im Fall von Anthropic und OpenCode – politisch eingreift?&lt;/p&gt;
&lt;p&gt;In meinem OpenCode-Artikel habe ich das bereits angesprochen: Anthropic hat zeitweise signalisiert, dass sie es nicht mögen, wenn Claude-Modelle über Drittanbieter-Tools wie OpenCode genutzt werden. OpenAI hat diesen Sachverhalt nun genutzt, um OpenCode öffentlich seine Unterstützung auszudrücken. Da ist Politik im Spiel – und das erinnert mich daran, dass ich meinen Tool-Stack nicht auf einem einzigen Anbieter aufbauen will.&lt;/p&gt;
&lt;div class=&quot;mermaid-diagram not-prose&quot;&gt;&lt;pre class=&quot;mermaid&quot;&gt;flowchart TD
    M[&amp;quot;🔵 Modell\nNur Modell X? Erpressbar.\nPricing, Einschränkungen&amp;quot;]
    T[&amp;quot;🟡 Tool\nCLI / Extension gebunden.\nCopilot = MS-Ökosystem&amp;quot;]
    W[&amp;quot;🟢 Workflow\nCLAUDE.md, MCP, Skills.\nUmbau kostet Zeit&amp;quot;]

    TRIGGER[&amp;quot;⚡ Auslöser\nPreiserhöhung · Dienst eingestellt · Politischer Eingriff (Anthropic / OpenCode)&amp;quot;]

    CONV[&amp;quot;✅ Gute Nachricht: Konvergenz\nAgent Skills funktionieren plattformübergreifend.\nAblage im Dateisystem wird zunehmend genormt.\nPortabilität wächst — Diversifikation wird leichter.&amp;quot;]

    SOL[&amp;quot;🔷 Antwort: Pragmatische Diversifikation\nKein Purismus — kein Single Point of Failure&amp;quot;]

    M --&amp;gt; TRIGGER
    T --&amp;gt; TRIGGER
    W --&amp;gt; TRIGGER
    TRIGGER --&amp;gt; CONV
    CONV --&amp;gt; SOL

    style M fill:#EEEDFE,stroke:#534AB7,color:#3C3489
    style T fill:#FAEEDA,stroke:#854F0B,color:#633806
    style W fill:#E1F5EE,stroke:#0F6E56,color:#085041
    style TRIGGER fill:#F1EFE8,stroke:#5F5E5A,color:#2C2C2A
    style CONV fill:#EAF3DE,stroke:#3B6D11,color:#27500A
    style SOL fill:#E6F1FB,stroke:#185FA5,color:#0C447C
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Das Risiko ist real und betrifft mehrere Ebenen:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Modell-Abhängigkeit:&lt;/strong&gt; Wenn mein Workflow nur mit Modell X funktioniert, bin ich erpressbar. Ändert sich die Pricing-Struktur oder werden bestimmte Nutzungsszenarien eingeschränkt, stehe ich vor einem Migrations-Problem.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tool-Abhängigkeit:&lt;/strong&gt; Wenn das CLI-Tool oder die IDE-Extension nur mit einem bestimmten Backend kommuniziert, ist der Wechsel aufwändig. Copilot ist hier das Paradebeispiel: tief in das Microsoft/GitHub-Ökosystem eingebettet, was Stärke und Schwäche zugleich ist.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Workflow-Abhängigkeit:&lt;/strong&gt; Wenn ich meine &lt;code&gt;CLAUDE.md&lt;/code&gt;, meine MCP-Server-Konfiguration und meine Skills auf eine Plattform zugeschnitten habe, kostet ein Wechsel eventuell einiges an Arbeitszeit.&lt;/p&gt;
&lt;p&gt;Meine Antwort darauf ist kein Purismus, sondern pragmatische Diversifikation.&lt;/p&gt;
&lt;p&gt;Zum Glück gleichen sich aber auch die Agenten in bestimmten Bereichen immer mehr an. So können z.B. Agent Skills quasi in allen Systemen genutzt werden. Auch die Ablage der Skills im Dateisystem wird immer mehr genormt.&lt;/p&gt;
&lt;h2&gt;Und jetzt: Claude Code&lt;/h2&gt;
&lt;p&gt;Ich habe bereits über die Installation von Claude Desktop unter Linux geschrieben. Claude Code ist nochmal eine andere Geschichte – und aktuell mein bevorzugtes Tool für intensive Entwicklungsarbeit.&lt;/p&gt;
&lt;h3&gt;Was Claude Code von den anderen unterscheidet&lt;/h3&gt;
&lt;p&gt;Der entscheidende Unterschied liegt nicht in den Features – fast alle modernen Agents können heute Dateien lesen, Code schreiben, Tests ausführen und Fehler korrigieren. Claude Code unterscheidet sich aus meiner Sicht in vier Punkten:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Qualität der Code-Analyse:&lt;/strong&gt; Claude hat das tiefste Verständnis für bestehende Codebasen, das ich bisher erlebt habe. Es erkennt nicht nur, &lt;em&gt;was&lt;/em&gt; der Code tut, sondern auch &lt;em&gt;warum&lt;/em&gt; er so strukturiert ist. Das führt zu Vorschlägen, die sich nicht wie &amp;quot;generiert&amp;quot; anfühlen, sondern wie von einem Kollegen geschrieben, der den Code wirklich gelesen hat.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Das CLAUDE.md-Prinzip:&lt;/strong&gt; Ähnlich wie GitHub Copilots &lt;code&gt;copilot-instructions.md&lt;/code&gt; oder Kiros Spec-Ansatz setzt Claude Code auf eine &lt;code&gt;CLAUDE.md&lt;/code&gt;-Datei als Projekt-Kontext. Ich definiere einmal Coding-Standards, Architekturentscheidungen und Was-nicht-zu-tun-ist – und Claude Code arbeitet konsequent darin. Das spart enorm viel Korrekturaufwand.&lt;/p&gt;
&lt;p&gt;Was ich inzwischen auch mache ist die CLAUDE.md Datei auf die AGENTS.md verweisen zu lassen. In der Art wie Claude mit der Datei umgeht sehe ich schon Unterschiede zu den anderen Agenten. Hier ist Claude einfach das Maß der Dinge.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MCP als First-Class-Feature:&lt;/strong&gt; Das Model Context Protocol (MCP) ist nicht zufällig das Protokoll, das ich am meisten nutze – Anthropic hat es entwickelt. In Claude Code ist MCP keine Erweiterung, sondern der Kern des Tool-Konzepts. Das merkt man in der Stabilität der Integration und in der Tiefe der möglichen Automatisierungen.&lt;/p&gt;
&lt;p&gt;Wenn es sinnvoll ist und kein Skill ausreichend ist, erstelle ich MCP Server für wichtige Workflows wie z.B. das Anlegen von Drafts in meinem Blog.&lt;/p&gt;
&lt;p&gt;Oft reicht aber auch ein einfacher Agent Skill aus. Da auch die Agent Skills ebenfalls ursprünglich von Anthropic stammen sind diese natürlich auch bestens integriert. In vielen Fällen sind die Skills sogar effizienter als MCP selbst. Aber egal was ich davon nutze, Claude ist eben genau dabei immer etwas vor der Konkurrenz.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Desktop Integration&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Claude ist sehr gut in den Desktop integriert und ist hier Vorreiter. Die anderen Anbieter versuchen gerade nachzuziehen. Es gibt auch einen Codex Desktop oder OpenCode Desktop. Hier hat Anthropic einen guten Vorsprung und erlaubt es jetzt auch, dass auch Nicht-Entwickler das Tool im Arbeitsalltag einsetzen können.&lt;/p&gt;
&lt;h2&gt;Mein aktueller Stack&lt;/h2&gt;
&lt;p&gt;Nach all diesen Tests bin ich zu einer klaren Erkenntnis gekommen: Es gibt nicht den einen Coding Agent. Und ehrlich gesagt gilt das nicht nur für Agents – auch beim klassischen Chat-Interface setze ich bewusst auf mehrere Anbieter.&lt;/p&gt;
&lt;h3&gt;Coding Agents&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Intensive Entwicklungsarbeit &amp;amp; Architekturentscheidungen:&lt;/strong&gt; Claude Code – hier ist die Modellqualität entscheidend, und die API-Kosten rechtfertigen sich durch die Ergebnisqualität. Skills und MCP-Server (die Anthropic selbst erfunden hat) sind hier am besten integriert. Auch das Ökosystem zum Teilen von Agents und Skills über Plugins und Marktplätze ist schon sehr ausgereift.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Daily Driver mit Provider-Flexibilität:&lt;/strong&gt; OpenCode mit OpenAI Codex als Backend – das gibt mir die Unabhängigkeit, die ich brauche, und hält mich nicht an ein einzelnes Modell gebunden.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Autonome Code-Verbesserungen:&lt;/strong&gt; Google Jules im Hintergrund – vor allem für automatische Vorschläge in meinen Open-Source-Projekten. Mit 100 Tasks pro Tag im AI Pro Account ist das sehr großzügig. Dass ich als Mensch beim Review das Bottleneck bin, nehme ich in Kauf. Bei Open-Source-Projekten habe ich selten Zeitdruck.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Antigravity:&lt;/strong&gt; Ebenfalls im Einsatz, wenn es darum geht, Coding-Aufgaben asynchron und toolgestützt zu delegieren.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Chat-Interfaces&lt;/h3&gt;
&lt;p&gt;Der Coding Agent ist aber nur eine Seite meines KI-Stacks. Für Recherche, Konzeption, Textentwürfe und ad-hoc-Fragen nutze ich ganz bewusst verschiedene Chat-Interfaces – und bin auch hier an keinen Anbieter gebunden:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Claude Desktop&lt;/strong&gt; – mein täglicher Begleiter, auch unter Linux. Ich habe das Setup bereits in einem eigenen Artikel beschrieben.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Google Gemini&lt;/strong&gt; – vor allem wenn es um große Kontextfenster geht oder ich eine zweite Meinung zu einer Architekturentscheidung brauche.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ChatGPT&lt;/strong&gt; – nach wie vor ein solides Interface, das ich regelmäßig nutze.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mistral&lt;/strong&gt; – als europäische Alternative schätze ich Mistral, gerade wenn es um datenschutzsensible Themen geht. Die Modelle haben sich in letzter Zeit deutlich verbessert.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Das ist kein dogmatisches Setup, sondern ein lebendiges. Wenn in drei Monaten ein neuer Agent oder ein neues Chat-Interface einen dieser Slots besser besetzt, tausche ich ihn aus. Genau das ist der Punkt: kein Lock-in, sondern Entscheidungsfreiheit.&lt;/p&gt;
&lt;p&gt;Was ist euer Stack? Und wie geht ihr mit dem Vendor-Lock-in-Thema um? Ich bin gespannt auf eure Perspektiven in den Kommentaren.&lt;/p&gt;</content>
        <author>
            <name>Christian Münch</name>
        </author>
    </entry>
    <entry>
        <title type="text">Adobe Commerce Optimizer: Das Unified Data Model unter der Haube</title>
        <link href="https://muench.dev/post/2026-04-adobe-commerce-optimizer-das-unified-data-model-unter-der-haube"/>
        <id>https://muench.dev/post/2026-04-adobe-commerce-optimizer-das-unified-data-model-unter-der-haube</id>
        <published>2026-04-13T07:00:00+00:00</published>
        <updated>2026-04-14T12:59:13+02:00</updated>
        <summary/>
        <content type="html">&lt;p&gt;Vor kurzem habe ich bei einem Adobe Event das Produkt &lt;strong&gt;Adobe Commerce Optimizer (ACO)&lt;/strong&gt; vorgestellt. Bei der Vorstellung wollte ich nicht mit den Standard-Demodaten arbeiten und wollte meine eigenen Demo-Daten nutzen. Dazu musste ich folgende Dinge klären: Welche API nimmt Daten entgegen? Wie ist das Datenmodell strukturiert? Und wie kommt das Ergebnis in mein Storefront (oder eigenes Frontend)?&lt;/p&gt;
&lt;h2&gt;Was ist das Unified Data Model?&lt;/h2&gt;
&lt;p&gt;Hinter ACO steckt eine SaaS-Schicht namens &lt;strong&gt;Merchandising Services&lt;/strong&gt;, die auf einem zentralisierten, quellenunabhängigen Datenspeicher basiert. Adobe spricht in diesem Zusammenhang von der &lt;strong&gt;CCDM&lt;/strong&gt;-Architektur – &lt;em&gt;Composable Catalog Data Model&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Der Kerngedanke: Produktdaten kommen aus beliebigen Quellen (ERP, PIM, Magento, Shopify, was auch immer), landen in einem einzigen Basiskatalog und werden dort nach einem einheitlichen Modell gespeichert. Die Storefront greift über GraphQL darauf zu – gefiltert durch &lt;strong&gt;Catalog Views&lt;/strong&gt; und &lt;strong&gt;Policies&lt;/strong&gt; (Regelwerk).&lt;/p&gt;
&lt;p&gt;Das Standardfrontend ist die neue Adobe Commerce Storefront auf Basis von &lt;strong&gt;Edge Delivery Services (EDS)&lt;/strong&gt;. Diese Storefront ist darauf ausgelegt, Produktdaten direkt über die GraphQL-Schicht von ACO zu konsumieren – ohne klassischen Magento-Applikationsstack dazwischen. Wer ein eigenes Headless-Frontend betreiben will, kann ebenfalls direkt auf den GraphQL-Endpoint aufsetzen; die EDS-Storefront bleibt aber der von Adobe vorgesehene und gepflegte Standardweg.&lt;/p&gt;
&lt;h2&gt;Datenerfassung: REST rein&lt;/h2&gt;
&lt;p&gt;Daten kommen über eine &lt;strong&gt;RESTful Data Ingestion API&lt;/strong&gt; in den ACO. Die Base-URL folgt diesem Schema:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-dust hljs dust&quot; data-lang=&quot;dust&quot;&gt;&lt;span class=&quot;xml&quot;&gt;https://&lt;/span&gt;&lt;span class=&quot;hljs-template-variable&quot;&gt;{region}&lt;/span&gt;&lt;span class=&quot;xml&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;hljs-template-variable&quot;&gt;{environment}&lt;/span&gt;&lt;span class=&quot;xml&quot;&gt;.api.commerce.adobe.com/&lt;/span&gt;&lt;span class=&quot;hljs-template-variable&quot;&gt;{tenantId}&lt;/span&gt;&lt;span class=&quot;xml&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Alle Requests benötigen einen &lt;code&gt;Authorization&lt;/code&gt;-Header mit Bearer-Token (&lt;a href=&quot;https://experienceleague.adobe.com/de/docs/commerce-admin/start/admin/ims/adobe-ims-integration-overview&quot;&gt;IMS-Credential&lt;/a&gt;-basiert) sowie &lt;code&gt;Content-Type: application/json&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;Schritt 1: Attribut-Metadaten definieren&lt;/h3&gt;
&lt;p&gt;Bevor ein einziges Produkt importiert werden kann, müssen die &lt;strong&gt;Attribut-Metadaten&lt;/strong&gt; angelegt werden – und das pro Locale. ACO muss vorab wissen, wie es mit jedem Attribut umgehen soll: Ist es filterbar? Sortierbar? Suchbar? Mit welchem Gewicht?&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;curl -X POST \
  &lt;span class=&quot;hljs-string&quot;&gt;'https://na1-sandbox.api.commerce.adobe.com/{tenantId}/v1/catalog/products/metadata'&lt;/span&gt; \
  -H &lt;span class=&quot;hljs-string&quot;&gt;'Content-Type: application/json'&lt;/span&gt; \
  -H &lt;span class=&quot;hljs-string&quot;&gt;'Authorization: Bearer {accessToken}'&lt;/span&gt; \
  -d &lt;span class=&quot;hljs-string&quot;&gt;'[
    {
      &quot;code&quot;: &quot;name&quot;,
      &quot;source&quot;: { &quot;locale&quot;: &quot;en-US&quot; },
      &quot;label&quot;: &quot;Product Name&quot;,
      &quot;dataType&quot;: &quot;TEXT&quot;,
      &quot;visibleIn&quot;: [&quot;PRODUCT_DETAIL&quot;, &quot;PRODUCT_LISTING&quot;, &quot;SEARCH_RESULTS&quot;],
      &quot;filterable&quot;: false,
      &quot;sortable&quot;: true,
      &quot;searchable&quot;: true,
      &quot;searchWeight&quot;: 1,
      &quot;searchTypes&quot;: [&quot;AUTOCOMPLETE&quot;]
    },
    {
      &quot;code&quot;: &quot;brand&quot;,
      &quot;source&quot;: { &quot;locale&quot;: &quot;en-US&quot; },
      &quot;label&quot;: &quot;Brand&quot;,
      &quot;dataType&quot;: &quot;TEXT&quot;,
      &quot;visibleIn&quot;: [&quot;PRODUCT_LISTING&quot;, &quot;SEARCH_RESULTS&quot;],
      &quot;filterable&quot;: true,
      &quot;sortable&quot;: false,
      &quot;searchable&quot;: true,
      &quot;searchWeight&quot;: 1,
      &quot;searchTypes&quot;: [&quot;AUTOCOMPLETE&quot;, &quot;CONTAINS&quot;, &quot;STARTS_WITH&quot;]
    }
  ]'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der &lt;code&gt;dataType&lt;/code&gt; kann &lt;code&gt;TEXT&lt;/code&gt;, &lt;code&gt;DECIMAL&lt;/code&gt;, &lt;code&gt;BOOLEAN&lt;/code&gt; oder &lt;code&gt;INT&lt;/code&gt; sein. &lt;code&gt;visibleIn&lt;/code&gt; steuert, wo das Attribut auf der Storefront erscheint: Produktdetailseite, Listing, Suchergebnisse, Vergleich.&lt;/p&gt;
&lt;h3&gt;Schritt 2: Produkte anlegen&lt;/h3&gt;
&lt;p&gt;Danach kommen die eigentlichen Produkte per POST. Das Produkt-Objekt trägt neben den Pflichtfeldern (&lt;code&gt;sku&lt;/code&gt;, &lt;code&gt;source&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt;, &lt;code&gt;slug&lt;/code&gt;, &lt;code&gt;status&lt;/code&gt;) alle benutzerdefinierten Attribute als flache Key/Value-Liste im &lt;code&gt;attributes&lt;/code&gt;-Array. Über &lt;code&gt;routes&lt;/code&gt; wird das Produkt Kategorien zugeordnet.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;curl -X POST \
  &lt;span class=&quot;hljs-string&quot;&gt;'https://na1-sandbox.api.commerce.adobe.com/{tenantId}/v1/catalog/products'&lt;/span&gt; \
  -H &lt;span class=&quot;hljs-string&quot;&gt;'Content-Type: application/json'&lt;/span&gt; \
  -H &lt;span class=&quot;hljs-string&quot;&gt;'Authorization: Bearer {accessToken}'&lt;/span&gt; \
  -d &lt;span class=&quot;hljs-string&quot;&gt;'[
    {
      &quot;sku&quot;: &quot;aurora-battery-pro-100&quot;,
      &quot;source&quot;: { &quot;locale&quot;: &quot;en-US&quot; },
      &quot;name&quot;: &quot;Aurora Battery Pro 100&quot;,
      &quot;slug&quot;: &quot;aurora-battery-pro-100.html&quot;,
      &quot;status&quot;: &quot;ENABLED&quot;,
      &quot;description&quot;: &quot;High-performance 100Ah lithium battery for electric vehicles.&quot;,
      &quot;shortDescription&quot;: &quot;100Ah LiFePO4 traction battery&quot;,
      &quot;visibleIn&quot;: [&quot;CATALOG&quot;, &quot;SEARCH&quot;],
      &quot;metaTags&quot;: {
        &quot;title&quot;: &quot;Aurora Battery Pro 100&quot;,
        &quot;description&quot;: &quot;100Ah LiFePO4 battery for EVs&quot;,
        &quot;keywords&quot;: [&quot;battery&quot;, &quot;aurora&quot;, &quot;electric vehicle&quot;]
      },
      &quot;attributes&quot;: [
        { &quot;code&quot;: &quot;brand&quot;, &quot;values&quot;: [&quot;Aurora&quot;] },
        { &quot;code&quot;: &quot;location&quot;, &quot;values&quot;: [&quot;US&quot;] },
        { &quot;code&quot;: &quot;capacity_ah&quot;, &quot;values&quot;: [&quot;100&quot;] }
      ],
      &quot;images&quot;: [
        {
          &quot;url&quot;: &quot;https://example.com/images/aurora-battery-pro-100.jpg&quot;,
          &quot;label&quot;: &quot;Aurora Battery Pro 100&quot;,
          &quot;roles&quot;: [&quot;BASE&quot;, &quot;SMALL&quot;],
          &quot;customRoles&quot;: []
        }
      ],
      &quot;routes&quot;: [
        { &quot;path&quot;: &quot;batteries&quot; },
        { &quot;path&quot;: &quot;batteries/lithium&quot;, &quot;position&quot;: 1 }
      ]
    }
  ]'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Auffällig: Alle Attributwerte – egal ob &lt;code&gt;TEXT&lt;/code&gt;, &lt;code&gt;DECIMAL&lt;/code&gt; oder &lt;code&gt;INT&lt;/code&gt; – werden als Strings in &lt;code&gt;values&lt;/code&gt; übergeben. ACO konvertiert sie intern anhand der vorher definierten Metadaten. An manchen Stellen würde ich mir etwas mehr Tiefe im Datenmodell wünschen, um auch kompliziertere Datenstrukturen (z. B. strukturierte Variantenkonfigurationen) sauber abbilden zu können. Das Array-Modell ist funktional, aber manchmal etwas flach.&lt;/p&gt;
&lt;h3&gt;Schritt 3: Price Books und Preise&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Price Books&lt;/strong&gt; ermöglichen unterschiedliche Preisstrukturen für verschiedene Kundensegmente, Regionen oder Kanäle – ohne den Basiskatalog zu verändern. Price Books können hierarchisch aufgebaut werden: Ein Basis-Price-Book legt die Währung fest, Kind-Price-Books erben davon und können selektiv überschreiben.&lt;/p&gt;
&lt;p&gt;Zunächst werden die Price Books selbst angelegt:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;curl -X POST \
  &lt;span class=&quot;hljs-string&quot;&gt;'https://na1-sandbox.api.commerce.adobe.com/{tenantId}/v1/catalog/price-books'&lt;/span&gt; \
  -H &lt;span class=&quot;hljs-string&quot;&gt;'Content-Type: application/json'&lt;/span&gt; \
  -H &lt;span class=&quot;hljs-string&quot;&gt;'Authorization: Bearer {accessToken}'&lt;/span&gt; \
  -d &lt;span class=&quot;hljs-string&quot;&gt;'[
    {
      &quot;priceBookId&quot;: &quot;us&quot;,
      &quot;name&quot;: &quot;US Base Price Book&quot;,
      &quot;currency&quot;: &quot;USD&quot;
    },
    {
      &quot;priceBookId&quot;: &quot;us-retail&quot;,
      &quot;parentId&quot;: &quot;us&quot;,
      &quot;name&quot;: &quot;US Retail&quot;
    },
    {
      &quot;priceBookId&quot;: &quot;us-wholesale&quot;,
      &quot;parentId&quot;: &quot;us&quot;,
      &quot;name&quot;: &quot;US Wholesale&quot;
    },
    {
      &quot;priceBookId&quot;: &quot;eu&quot;,
      &quot;name&quot;: &quot;EU Base Price Book&quot;,
      &quot;currency&quot;: &quot;EUR&quot;
    }
  ]'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ein Price Book ohne &lt;code&gt;parentId&lt;/code&gt; ist ein Root-Price-Book und muss eine &lt;code&gt;currency&lt;/code&gt; definieren. Kind-Price-Books erben die Währung vom Parent und brauchen kein eigenes &lt;code&gt;currency&lt;/code&gt;-Feld – nur eine &lt;code&gt;parentId&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Danach werden die Preise pro SKU und Price Book über einen separaten Endpoint gepflegt:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;curl -X POST \
  &lt;span class=&quot;hljs-string&quot;&gt;'https://na1-sandbox.api.commerce.adobe.com/{tenantId}/v1/catalog/products/prices'&lt;/span&gt; \
  -H &lt;span class=&quot;hljs-string&quot;&gt;'Content-Type: application/json'&lt;/span&gt; \
  -H &lt;span class=&quot;hljs-string&quot;&gt;'Authorization: Bearer {accessToken}'&lt;/span&gt; \
  -d &lt;span class=&quot;hljs-string&quot;&gt;'[
    {
      &quot;sku&quot;: &quot;aurora-battery-pro-100&quot;,
      &quot;regular&quot;: 899.99,
      &quot;priceBookId&quot;: &quot;us&quot;
    },
    {
      &quot;sku&quot;: &quot;aurora-battery-pro-100&quot;,
      &quot;regular&quot;: 749.99,
      &quot;priceBookId&quot;: &quot;us-wholesale&quot;
    },
    {
      &quot;sku&quot;: &quot;aurora-battery-pro-100&quot;,
      &quot;regular&quot;: 849.00,
      &quot;priceBookId&quot;: &quot;eu&quot;
    }
  ]'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dasselbe Produkt bekommt also je nach Price Book einen anderen Preis. Welchen Preis die GraphQL-API zurückliefert, steuert der &lt;code&gt;AC-Price-Book-ID&lt;/code&gt;-Header im Storefront-Request – ohne dass dafür die Produktdaten angepasst werden müssten.&lt;/p&gt;
&lt;h2&gt;Das Datenmodell: Catalog Views und Policies&lt;/h2&gt;
&lt;p&gt;Der eigentlich interessante Teil der CCDM-Architektur ist nicht der Import, sondern die &lt;strong&gt;Filterschicht&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Catalog Views&lt;/strong&gt; definieren eine Geschäftseinheit: ein Händler, eine Marke, ein Markt. Jede View ist mit einer Katalogquelle (Locale) und einer Menge von Policies verknüpft.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Policies&lt;/strong&gt; sind Datenzugriffsfilter auf Basis von Produktattributen. Eine Policy &lt;code&gt;Brand&lt;/code&gt; mit Wert &lt;code&gt;Aurora&lt;/code&gt; liefert beispielsweise ausschließlich Produkte, die das Attribut &lt;code&gt;brand = Aurora&lt;/code&gt; tragen.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Das bedeutet: Derselbe Basiskatalog kann über verschiedene Catalog Views mit verschiedenen Policies völlig unterschiedliche Produktmengen ausliefern – ohne Datenduplizierung. Für Szenarien mit mehreren Marken, Märkten oder Vertriebskanälen ist das ein erheblicher architektonischer Vorteil.&lt;/p&gt;
&lt;p&gt;Ein konkretes Beispiel aus der offiziellen Dokumentation: Ein fiktives Unternehmen (&lt;em&gt;Zenith Automotive&lt;/em&gt;) pflegt einen einzigen Katalog für zwei Marken und zwei Märkte. Statt vier separate Instanzen zu betreiben, wird ein View mit zwei Policies konfiguriert:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Policy &lt;code&gt;Location&lt;/code&gt; filtert nach Zielmarkt (USA, UK)&lt;/li&gt;
&lt;li&gt;Policy &lt;code&gt;Brand&lt;/code&gt; filtert nach Marke (Aurora, Bolt)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ein Produkt trägt die entsprechenden Attribute. Welche Produkte ein API-Aufruf zurückliefert, hängt ausschließlich von den übergebenen Policy-Headern ab – nicht von der Datenstruktur selbst.&lt;/p&gt;
&lt;h2&gt;Datenzugriff: GraphQL raus&lt;/h2&gt;
&lt;p&gt;Die Storefront – ob EDS-basiert oder eine eigene Headless-Implementierung – greift auf die Daten per &lt;strong&gt;GraphQL Merchandising API&lt;/strong&gt; zu. Authentifizierung ist auf dieser Ebene nicht erforderlich; die Steuerung läuft über HTTP-Header:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Header&lt;/th&gt;
&lt;th&gt;Bedeutung&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AC-View-ID&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Pflichtfeld – welche Catalog View soll verwendet werden?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AC-Policy-{Name}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Optional – Filterung nach Policy-Wert, z. B. &lt;code&gt;AC-Policy-Brand: Aurora&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AC-Price-Book-ID&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Optional – welches Price Book soll für die Preisberechnung genutzt werden?&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Eine typische Produktsuche sieht so aus:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;curl -X POST \
  &lt;span class=&quot;hljs-string&quot;&gt;'https://na1-sandbox.api.commerce.adobe.com/{tenantId}/graphql'&lt;/span&gt; \
  -H &lt;span class=&quot;hljs-string&quot;&gt;'Content-Type: application/json'&lt;/span&gt; \
  -H &lt;span class=&quot;hljs-string&quot;&gt;'AC-View-ID: {catalogViewId}'&lt;/span&gt; \
  -H &lt;span class=&quot;hljs-string&quot;&gt;'AC-Policy-Brand: Aurora'&lt;/span&gt; \
  -H &lt;span class=&quot;hljs-string&quot;&gt;'AC-Price-Book-ID: us-wholesale'&lt;/span&gt; \
  -d &lt;span class=&quot;hljs-string&quot;&gt;'{
    &quot;query&quot;: &quot;query ProductSearch($search: String!) {
      productSearch(phrase: $search, page_size: 10) {
        items {
          productView {
            sku
            name
            description
            images { url }
            ... on SimpleProductView {
              price {
                regular {
                  amount { value currency }
                }
              }
            }
          }
        }
      }
    }&quot;,
    &quot;variables&quot;: { &quot;search&quot;: &quot;battery&quot; }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Die Response enthält ausschließlich Produkte, die zur konfigurierten View und Policy passen. Das Frontend muss nur die richtigen Header mitschicken – die gesamte Kataloglogik liegt in der ACO-Konfiguration.&lt;/p&gt;
&lt;h2&gt;Praktische Use Cases&lt;/h2&gt;
&lt;p&gt;Wo ist dieser Ansatz in der Praxis relevant?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Multi-Brand-Händler ohne Datensilos:&lt;/strong&gt; Wer heute für jede Marke eine separate Magento-Instanz betreibt, kennt den Aufwand: Doppelte Pflege, doppelte Synchronisation, doppelter Upgrade-Aufwand. Mit CCDM ist das ein einziger Basiskatalog mit konfigurierten Views – und die organisatorische Trennung bleibt über Policies erhalten.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Internationalisierung ohne Datenduplizierung:&lt;/strong&gt; Verschiedene Märkte, verschiedene Preise, verschiedene Sortimente – über Price Books und Policies steuerbar, ohne den Katalog zu kopieren.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Headless-Storefronts mit beliebigem Backend:&lt;/strong&gt; ACO ist explizit darauf ausgelegt, dass das datenliefernde System kein Adobe Commerce sein muss. ERP, PIM, Shopify, ein eigenes System – alles kann über die REST Ingestion API einspeisen. Die EDS-Storefront konsumiert dann via GraphQL. Wer die EDS-Storefront nicht nutzen will, kann mit einem eigenen Frontend direkt an den GraphQL-Endpoint andocken. Ich habe das exemplarisch umgesetzt unter &lt;a href=&quot;https://aco.demo.muench.dev&quot;&gt;aco.demo.muench.dev&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Warenkorb und Checkout bleiben flexibel:&lt;/strong&gt; ACO stellt bewusst keinen Warenkorb bereit. Der wird über API Mesh oder App Builder an ein bestehendes System angebunden. Das ist pragmatisch – und verhindert, dass für einen Storefront-Umbau die gesamte Transaktionslogik angefasst werden muss.&lt;/p&gt;
&lt;h2&gt;Ehrliche Einschätzung&lt;/h2&gt;
&lt;p&gt;Das Modell ist relativ einfach aufgebaut (mir manchmal zu einfach). Die klare Trennung zwischen Ingestion (REST), Konfiguration (Catalog Views/Policies) und Delivery (GraphQL) ist sauber durchdacht. Gerade für komplexe Multi-Brand- oder Multi-Market-Setups ist das eine Architektur, die in klassischen Magento-Projekten mit erheblich mehr Aufwand gebaut werden muss.&lt;/p&gt;
&lt;p&gt;Allerdings bietet ACO keine Transaktionslogik direkt von Haus aus an. Alles was komplizierter ist, muss momentan selbst angebaut werden.&lt;/p&gt;
&lt;p&gt;Dazu kommt: ACO ist &lt;strong&gt;SaaS-only&lt;/strong&gt;. Für Händler, die ihre Datenhaltung im eigenen Rechenzentrum behalten müssen oder wollen – ein Thema, das ich im &lt;a href=&quot;&quot;&gt;Tech-Trends-Post für 2026&lt;/a&gt; unter dem Stichwort Sovereign Commerce ausgeführt habe – ist ACO in seiner aktuellen Form keine Option.&lt;/p&gt;
&lt;p&gt;Für die richtige Zielgruppe dagegen – Enterprise-Händler mit komplexen Katalogstrukturen, die ihren bestehenden Backend-Stack behalten und die Storefront-Experience modernisieren wollen – ist ACO ein überzeugender Ansatz.&lt;/p&gt;
&lt;p&gt;Für alle die vielleicht schon eine sehr heterogene Landschaft haben und sowieso vieles auf Services verteilt haben, ist ACO echt spannend. Die Stärken von ACO sind auch immer in Verbindung mit einem hochskalierenden Frontend auf Basis von Adobe Edge Delivery Services zu sehen. Wer nur einach Daten halten und ausspielen will, für den ist ACO vielleicht nicht das richtige. Das heisst aber nicht, dass es nicht auch spannend sein kann ein eigenes Frontend direkt auf die GraphQL Schnittstelle zu setzen.&lt;/p&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Das &lt;strong&gt;Unified Data Model&lt;/strong&gt; hinter Adobe Commerce Optimizer ist keine Abstraktionsschicht ohne Substanz. Es ist ein einfaches, quellenunabhängiges Katalogmodell: Daten kommen per REST-API rein, werden über Catalog Views und Policies konfiguriert und per GraphQL ausgeliefert – an die EDS-Storefront oder ein eigenes Frontend.&lt;/p&gt;
&lt;p&gt;Wer das selbst erkunden will: Die offizielle Dokumentation ist inzwischen gut aufgestellt. Einstiegspunkte sind die &lt;a href=&quot;https://developer.adobe.com/commerce/services/optimizer/data-ingestion/using-the-api/&quot;&gt;Developer-Doku zur Data Ingestion API&lt;/a&gt; und der &lt;a href=&quot;https://developer.adobe.com/commerce/services/optimizer/ccdm-use-case/&quot;&gt;End-to-End Use Case&lt;/a&gt; in der Adobe-Dokumentation. Ihr braucht dann zum Ausprobieren eine Sandbox von Adobe oder lasst es euch von mir zeigen. :-)&lt;/p&gt;</content>
        <author>
            <name>Christian Münch</name>
        </author>
    </entry>
    <entry>
        <title type="text">Agentic Commerce: Wenn KI-Agenten den Einkaufswagen übernehmen</title>
        <link href="https://muench.dev/post/2026-04-agentic-commerce-wenn-ki-agenten-den-einkaufswagen-uebernehmen"/>
        <id>https://muench.dev/post/2026-04-agentic-commerce-wenn-ki-agenten-den-einkaufswagen-uebernehmen</id>
        <published>2026-04-10T05:00:00+00:00</published>
        <updated>2026-06-29T13:28:56+02:00</updated>
        <summary/>
        <content type="html">&lt;p&gt;In den letzten Monaten beschäftigt mich ein Thema mehr als jedes andere im E-Commerce-Umfeld: &lt;strong&gt;Agentic Commerce&lt;/strong&gt;. KI-Agenten, die autonom einkaufen, verhandeln und bezahlen – ohne dass ein Mensch auch nur einen Button klickt. Das klingt nach Science-Fiction, ist aber bereits Realität. Und wer im Magento/Adobe-Commerce-Ökosystem unterwegs ist, sollte jetzt genauer hinschauen. Aus diesem Grund gibt es in diesem Blog-Beitrag auch einen Blick ins Magento Ökosystem.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-automation-curve-in-agentic-commerce&quot;&gt;McKinsey&lt;/a&gt; beziffert das globale Marktpotenzial auf &lt;strong&gt;3–5 Billionen US-Dollar bis 2030&lt;/strong&gt;, &lt;a href=&quot;https://www.gartner.com/en/articles/strategic-predictions-for-2026&quot;&gt;Gartner&lt;/a&gt; prognostiziert, dass 90 % aller B2B-Einkäufe bis 2028 von KI-Agenten abgewickelt werden. Gleichzeitig zeigt ein nüchterner Blick auf die aktuellen Daten: Der Hype ist der realen Nutzeradoption weit voraus. OpenAI hat sein Instant Checkout in ChatGPT Anfang 2026 bereits wieder auf Händler-Apps umgestellt. Deutsche Verbraucher würden einem KI-Agenten im Schnitt maximal 50 Euro pro Monat anvertrauen.&lt;/p&gt;
&lt;p&gt;Ich versuche in diesem Post, das Thema strukturiert aufzudröseln: Was ist Agentic Commerce überhaupt? Welche Protokolle setzen sich durch? Wer sind die relevanten Player? Und was bedeutet das konkret für das Magento/Adobe-Ökosystem?&lt;/p&gt;
&lt;h2&gt;Was Agentic Commerce vom klassischen E-Commerce unterscheidet&lt;/h2&gt;
&lt;p&gt;Der entscheidende Unterschied liegt in der Rollenverteilung. Im traditionellen E-Commerce sucht, vergleicht und kauft der Mensch aktiv. Bei Conversational Commerce führt ein Chatbot ein Gespräch, aber der Mensch entscheidet. Bei &lt;strong&gt;Agentic Commerce delegiert der Mensch&lt;/strong&gt; – er definiert Ziele, Budget und Präferenzen, und der Agent handelt innerhalb dieser Leitplanken eigenständig.&lt;/p&gt;
&lt;p&gt;Deloitte beschreibt vier evolutionäre Stufen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Assisted Discovery&lt;/strong&gt; – KI hilft bei der Produktsuche&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agentic Shopping&lt;/strong&gt; – Agent übernimmt Teilschritte autonom&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Autonomous Shopping&lt;/strong&gt; – vollständig eigenständige Käufe&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent-to-Agent Commerce&lt;/strong&gt; – Käufer- und Verkäufer-Agenten verhandeln direkt miteinander, ohne dass je ein Mensch einen Bildschirm sieht&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wir stehen gerade zwischen Stufe 1 und 2. Stufe 4 ist Zukunft – aber die Infrastruktur dafür entsteht jetzt.&lt;/p&gt;
&lt;h2&gt;Der Protokoll-Stack: Kein Krieg, sondern Schichten&lt;/h2&gt;
&lt;p&gt;Anfangs gab es viel Lärm um einen angeblichen „Protocol War&amp;quot; zwischen MCP, A2A, UCP und ACP. Das hat sich inzwischen differenziert. Die Protokolle sind &lt;strong&gt;keine Konkurrenten, sondern Schichten eines gemeinsamen Stacks&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;MCP – die universelle Datenschicht&lt;/h3&gt;
&lt;p&gt;Das &lt;a href=&quot;https://en.wikipedia.org/wiki/Model_Context_Protocol&quot;&gt;Model Context Protocol (MCP)&lt;/a&gt;, im November 2024 von Anthropic vorgestellt, ist mittlerweile der De-facto-Standard dafür, wie Sprachmodelle auf externe Daten, APIs und Tools zugreifen. Es funktioniert wie „USB-C für KI&amp;quot; – eine standardisierte Schnittstelle, unabhängig vom Modell-Hersteller.&lt;/p&gt;
&lt;p&gt;Im Dezember 2025 übergab Anthropic MCP an die &lt;strong&gt;&lt;a href=&quot;https://www.linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation&quot;&gt;Agentic AI Foundation (AAIF)&lt;/a&gt;&lt;/strong&gt; unter dem Dach der Linux Foundation. Gründungsmitglieder sind AWS, Google, Microsoft und OpenAI – inzwischen sind über 10.000 öffentliche MCP-Server registriert. Das ist ein starkes Signal für langfristige Stabilität.&lt;/p&gt;
&lt;h3&gt;A2A – Agenten reden miteinander&lt;/h3&gt;
&lt;p&gt;Googles &lt;strong&gt;&lt;a href=&quot;https://www.ibm.com/think/topics/agent2agent-protocol&quot;&gt;Agent-to-Agent Protocol (A2A)&lt;/a&gt;&lt;/strong&gt;, im April 2025 vorgestellt, ermöglicht Agenten unterschiedlicher Hersteller, einander zu entdecken und Aufgaben zu delegieren. Kernkonzept sind &lt;strong&gt;Agent Cards&lt;/strong&gt; – JSON-Metadaten unter &lt;code&gt;/.well-known/agent.json&lt;/code&gt;, die Fähigkeiten und Auth-Anforderungen beschreiben. Quasi eine Visitenkarte für Agenten. Im Juni 2025 ebenfalls an die Linux Foundation übergeben, inzwischen mit 150+ unterstützenden Organisationen.&lt;/p&gt;
&lt;h3&gt;UCP vs. ACP – die eigentliche Protokollfrage im Commerce&lt;/h3&gt;
&lt;p&gt;Das ist die Frage, die mich im Moment am meisten beschäftigt. Die Kollegen bei valantic haben dazu einen lesenswerten &lt;a href=&quot;https://www.valantic.com/de/blog/agentic-commerce-protocol/&quot;&gt;Deep-Dive zum Agentic Commerce Protocol&lt;/a&gt; veröffentlicht, der die technischen Unterschiede beider Ansätze gut herausarbeitet.&lt;/p&gt;
&lt;p&gt;Das &lt;strong&gt;Universal Commerce Protocol (UCP)&lt;/strong&gt; wurde im Januar 2026 auf der NRF von Google und Shopify gemeinsam vorgestellt. Es deckt den kompletten Commerce-Lebenszyklus ab – von Discovery über Checkout bis Post-Purchase-Support. Transport-agnostisch, mit REST-, MCP- und A2A-Bindings. Die Koalition dahinter ist beeindruckend: Walmart, Target, Etsy, Wayfair, Zalando, Mastercard, Visa, Stripe und 20+ weitere Partner.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-04/ucp-checkout.png&quot; alt=&quot;UCP Checkout&quot; /&gt;&lt;br /&gt;
&lt;em&gt;Universal Commerce Protocol: Checkout Sequenz&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Layered Architecture&lt;/strong&gt;: UCP trennt die Verantwortlichkeiten in Schichten. Der Shopping Service definiert die Grundbausteine (Warenkorb, Status), während Capabilities (Checkout, Catalog, Orders) und Extensions (z. B. spezielle Liefermodelle) flexibel hinzugefügt werden können.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Discovery via /.well-known&lt;/strong&gt;: Ähnlich wie bei A2A nutzt UCP einen standardisierten Pfad (/.well-known/ucp), über den Agenten die &amp;quot;Fähigkeiten&amp;quot; eines Shops entdecken und aushandeln können, welche Protokollversionen beide Seiten beherrschen.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;State-Management&lt;/strong&gt;: Ein Checkout im UCP durchläuft definierte Zustände: incomplete (fehlende Daten), requires_escalation (Eingriff nötig) und ready_for_complete (bereit zum Abschluss). Dies ermöglicht den nahtlosen Übergang zwischen KI-Automatisierung und menschlicher Interaktion über das Embedded Checkout Protocol (ECP).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Das &lt;strong&gt;Agentic Commerce Protocol (ACP)&lt;/strong&gt; wurde von OpenAI und Stripe entwickelt und trieb ChatGPTs „Instant Checkout&amp;quot; an. &lt;a href=&quot;https://www.digitalcommerce360.com/2026/03/06/openai-shifts-checkout-plans-agentic-commerce-strategy/&quot;&gt;OpenAI hat diesen Ansatz Anfang März 2026 jedoch bereits angepasst&lt;/a&gt;: Der Checkout-Prozess verlagert sich zunehmend in händlerspezifische „ChatGPT Apps&amp;quot;, weil die Komplexität des Handels – dynamische Preise, Echtzeit-Bestände, Steuerregeln – besser in kontrollierten Händler-Umgebungen abgebildet werden kann. Walmart meldete eine 3x schlechtere Conversion als auf walmart.com direkt.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-04/acp-checkout.png&quot; alt=&quot;ACP Checkout&quot; /&gt;&lt;br /&gt;
&lt;em&gt;Agentic Commerce Protocol: Checkout Sequenz&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Minimalistische Architektur&lt;/strong&gt;: Das Protokoll beschränkt sich auf die vier Endpunkte Create, Update, Complete und Cancel Checkout, um die Komplexität für Händler gering zu halten.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shared Payment Token (SPT)&lt;/strong&gt;: Dies ist der entscheidende Sicherheitsmechanismus. Der Agent (z. B. ChatGPT) sieht niemals die echten Kreditkartendaten des Nutzers. Er erhält lediglich einen &amp;quot;selbstzerstörenden&amp;quot;, einmaligen Token von Stripe, den er an den Händler weiterreicht.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Merchant of Record&lt;/strong&gt;: Im ACP-Modell bleibt der Händler der rechtliche Verkäufer (&amp;quot;Merchant of Record&amp;quot;) und behält die Kontrolle über die Abwicklung, Steuern und den Kundensupport.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Voraussetzung&lt;/strong&gt;: Händler müssen ihre Produktkataloge maschinenlesbar (Product Feed) bereitstellen und ihre Checkout-Logik über die ACP-Schnittstellen zugänglich machen.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Strategisch klug aufgestellt sind Stripe und Shopify&lt;/strong&gt; – beide sind in beiden Lagern vertreten. Das macht sie zu Gewinnern unabhängig vom Ausgang.&lt;/p&gt;
&lt;h3&gt;AP2 und ANP als Ergänzungen&lt;/h3&gt;
&lt;p&gt;Googles &lt;strong&gt;Agent Payments Protocol (AP2)&lt;/strong&gt; regelt die kryptographisch abgesicherte Payment-Autorisierung durch Agenten, mit drei abgestuften Autonomie-Levels.&lt;/p&gt;
&lt;p&gt;Das AP2 nutzt das Konzept der Verifiable Credentials (VC), um Vertrauen in autonomen Systemen zu schaffen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Intent Mandate (Absicht)&lt;/strong&gt;: Erteilt dem Agenten den Auftrag, innerhalb bestimmter Leitplanken (z. B. „maximal 150 €“) zu suchen und zu verhandeln. Es dient als Beweis, dass der Agent nicht eigenmächtig handelt.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cart Mandate (Warenkorb)&lt;/strong&gt;: Dieses Dokument wird vom Händler und vom Nutzer signiert. Es fixiert den Preis und die Artikelmenge, sodass der Agent den Preis während des Checkouts nicht mehr (zuungunsten des Nutzers) verändern kann.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Payment Mandate (Zahlung)&lt;/strong&gt;: Ein minimaler Datensatz, der an die Bank übermittelt wird. Er signalisiert dem Zahlungsnetzwerk, ob der Nutzer gerade anwesend ist (Human-Present) oder ob der Agent eine vorab genehmigte Daueraufgabe ausführt (Human-Not-Present).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-04/ap2.png&quot; alt=&quot;AP2 Mandat&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Das &lt;strong&gt;Agent Network Protocol (ANP)&lt;/strong&gt; verfolgt den ambitioniertesten Ansatz mit dezentraler Agenten-Entdeckung via W3C DIDs – ist aber ohne starkes Unternehmens-Backing noch deutlich weniger reif.&lt;/p&gt;
&lt;p&gt;ANP verfolgt im Gegensatz zu den meist Client-Server-basierten Protokollen wie ACP oder UCP einen radikal dezentralen &lt;strong&gt;Peer-to-Peer (P2P)&lt;/strong&gt; Ansatz. Es wird oft als das „HTTP des Agentic Web“ bezeichnet und setzt konsequent auf Web-Standards wie W3C DIDs (Decentralized Identifiers) und Semantic Web Technologien.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-04/anp.png&quot; alt=&quot;ANP Protokoll&quot; /&gt;&lt;br /&gt;
&lt;em&gt;Mandat im ANP Protokoll&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Computer Use als pragmatischer Fallback&lt;/h3&gt;
&lt;p&gt;Für die vielen Websites ohne API-Anbindung bleibt Browser-Automatisierung der Fallback. Claudes Computer Use erreicht inzwischen 72,5 % auf dem OSWorld-Benchmark (von 14,9 % bei Launch). Langsamer und fehleranfälliger als saubere APIs – aber sofort einsetzbar. McKinsey sieht Web-Crawling als Zwischenschritt, bevor Merchants standardisierte Protokolle implementieren.&lt;/p&gt;
&lt;h2&gt;Wer baut die Infrastruktur?&lt;/h2&gt;
&lt;h3&gt;Shopify hat den größten Vorsprung&lt;/h3&gt;
&lt;p&gt;Shopify ist der aggressivste Akteur. Seit den Summer '25 Editions hat &lt;strong&gt;jeder Shopify-Store einen eigenen MCP-Endpoint&lt;/strong&gt; (&lt;code&gt;your-store.myshopify.com/api/mcp&lt;/code&gt;). Der &lt;strong&gt;Shopify Catalog&lt;/strong&gt; kategorisiert Milliarden von Produkten für KI-Agenten. &lt;strong&gt;Agentic Storefronts&lt;/strong&gt; ermöglichen es Händlern, ihre Markenpräsenz auf ChatGPT, Perplexity, Google Gemini und Microsoft Copilot direkt aus dem Admin zu steuern.&lt;/p&gt;
&lt;p&gt;Besonders interessant: Der neue &lt;strong&gt;Agentic Plan&lt;/strong&gt; öffnet den Shopify Catalog explizit für Marken auf Magento, Salesforce Commerce Cloud und Custom-Stacks – ohne Migration. Das ist eine aggressive Einladung an unsere Community.&lt;/p&gt;
&lt;h3&gt;Google baut den vollständigsten Stack&lt;/h3&gt;
&lt;p&gt;Google hat: eigene Protokolle (A2A, AP2), gemeinsam mit Shopify entwickelten Commerce-Standard (UCP), 50 Milliarden indexierte Produkte im Shopping Graph, KI-Shopping in AI Mode und Gemini sowie eine neue Enterprise-Plattform mit Kroger, Lowe's und Woolworths als Live-Kunden. Über eine Milliarde Shopping-Interaktionen täglich laufen durch Google-Oberflächen.&lt;/p&gt;
&lt;h3&gt;Adobe Commerce ist drin – aber noch nicht live&lt;/h3&gt;
&lt;p&gt;Für unser Ökosystem ist die Situation ehrlich gesagt gemischt. &lt;a href=&quot;https://business.adobe.com/blog/adobe-commerce-commits-to-agentic-commerce-standards&quot;&gt;Adobe hat am 18. Februar 2026 offiziell die Unterstützung von UCP, ACP und AP2 angekündigt&lt;/a&gt; – aber noch kein Live-Shopping über KI-Plattformen. Während Shopify-Händler bereits über ChatGPT und Gemini verkaufen, baut Adobe seine Grundlagen noch auf.&lt;/p&gt;
&lt;p&gt;Adobe nennt dabei beeindruckende Zahlen aus dem &lt;a href=&quot;https://www.digitalcommerce360.com/2026/02/23/adobe-commerce-platform-agentic-ai-standards/&quot;&gt;Adobe Digital Insights Report vom Januar 2026&lt;/a&gt;: KI-Referrals erzielen eine 31 % höhere Konversionsrate, 254 % mehr Umsatz pro Besuch und 45 % längere Verweildauer gegenüber herkömmlichem Traffic.&lt;/p&gt;
&lt;p&gt;Adobes Strategie hat drei Säulen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Discovery Layer&lt;/strong&gt; mit dem LLM Optimizer (GA seit Oktober 2025) – macht Produktkataloge für KI-Agenten auffindbar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent-to-Agent Commerce Layer&lt;/strong&gt; durch UCP/ACP-Unterstützung (angekündigt, noch nicht live)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Brand-Owned Experience&lt;/strong&gt; mit dem Adobe Brand Concierge als konversationelle KI-Schicht auf AEP-Profildaten&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Der &lt;strong&gt;&lt;a href=&quot;https://business.adobe.com/summit/2025/sessions/optimize-your-commerce-experiences-with-catalog-s304.html&quot;&gt;Adobe Commerce Optimizer&lt;/a&gt;&lt;/strong&gt; ist das vielversprechendste neue Produkt: ein eigenständiges Commerce-Frontend auf Edge Delivery Services mit Lighthouse-Score 100, einer GraphQL-Merchandising API für Agents und Frontends sowie einer Data Ingestion REST API. Entscheidend: Es arbeitet mit jedem Commerce-Backend, nicht nur Adobe Commerce.&lt;/p&gt;
&lt;p&gt;Die &lt;strong&gt;&lt;a href=&quot;https://experienceleague.adobe.com/en/docs/experience-cloud-ai/experience-cloud-ai/agents/agent-orchestrator&quot;&gt;AEP Agent Orchestrator&lt;/a&gt;&lt;/strong&gt; Plattform (GA September 2025) ist das technische Fundament: 10 zweckgebundene KI-Agenten, ein Reasoning Engine, Agent SDK und Agent Registry. Über 70 % der berechtigten AEP-Kunden nutzen bereits den AI Assistant.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-04/media_1ff35d548470de5ced1d492e199ffe9e831b256fd.webp&quot; alt=&quot;Components of Agent Orchestrator&quot; /&gt;&lt;br /&gt;
&lt;em&gt;Bildquelle: Adobe&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Das Magento MCP-Ökosystem lebt&lt;/h3&gt;
&lt;p&gt;Was mich positiv überrascht hat: Das MCP-Ökosystem rund um Magento ist überraschend lebendig. Neben dem offiziellen &lt;strong&gt;Adobe Commerce Extensibility MCP Server&lt;/strong&gt; (mit RAG-Zugriff auf die gesamte Dokumentation und 7 AI-Agent-Skills) gibt es mindestens 10 Community-Server:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/rafaelcg/why-i-built-an-adobe-commerce-dev-mcp-server-and-how-it-can-help-you-code-faster-5ac9&quot;&gt;Rafael Corrêa Gomes' GraphQL-basierter Dev MCP&lt;/a&gt; (Practice Director bei Valtech)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mirasvit.com/magento-2-mcp-ai-integration.html&quot;&gt;Mirasvits kommerzieller AI Agent Connector&lt;/a&gt; – ermöglicht Befehle wie „Reduziere alle Sommerprodukte, die sich 30 Tage nicht verkauft haben, um 15 %&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://commercemarketplace.adobe.com/partner/Freento&quot;&gt;Freentos Extension auf dem Adobe Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://magenable.com.au/data-science/connect-your-magento-or-adobe-commerce-store-with-openai-agent-builder/&quot;&gt;Magenable Magento MPC&lt;/a&gt; für OpenAI Agent Builder&lt;/li&gt;
&lt;li&gt;Magendoos REST- und GraphQL-MCP-Server mit 594 Endpoints und weitere&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mage-remote-run.muench.dev/command-docs/mcp&quot;&gt;mage-remote-run MCP&lt;/a&gt; - Der Vollständigkeit wegen liste ich hier auch den MCP Server meines eigenen neuen Tools über den mal auch beliebige Shops flexibel andocken kann ohne etwas in dem jeweiligen Shop zu installieren.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Die Community reagiert schnell. Ob das reicht, um mit Shopifys nativem MCP-Endpoint pro Store mitzuhalten – das ist die Frage, die mich treibt.&lt;/p&gt;
&lt;h3&gt;ACP-Module für Magento 2: Die Community liefert bereits&lt;/h3&gt;
&lt;p&gt;Parallel zum MCP-Ökosystem entstehen erste Open-Source-Implementierungen des Agentic Commerce Protocol direkt für Magento 2. Zwei Projekte, die ich im Blick habe:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/run-as-root/ACP-for-Magento-2&quot;&gt;run-as-root/ACP-for-Magento-2&lt;/a&gt;&lt;/strong&gt; ist das technisch ausgefeilteste der beiden. Das Modul der Würzburger Agentur run_as_root setzt zu 95 % die OpenAI-ACP-Spezifikation um: vollständige Checkout Session API mit fünf Endpunkten, ACP-konformer Product Feed (inkl. Varianten, Gallery-Images, Echtzeit-Inventory), HMAC-Signaturvalidierung, Idempotency-Key-Handling via Redis und Replay-Attack-Schutz. Die Stripe-Integration für Delegated Payments ist dabei, ebenso wie 39 Unit- und Integrationstests.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/magebitcom/magento2-agentic-commerce-module&quot;&gt;magebitcom/magento2-agentic-commerce-module&lt;/a&gt;&lt;/strong&gt; kommt von der lettischen Agentur Magebit und bezeichnet sich selbst als erstes öffentlich verfügbares Open-Source-ACP-Modul für Magento 2. Der Funktionsumfang ist ähnlich: ChatGPT-kompatibler Product Feed Export, Instant Checkout, Delegated Payment via Stripe, Webhooks. Wichtig: Das Modul ist &lt;strong&gt;Hyva- und Adobe Commerce Cloud-kompatibel&lt;/strong&gt; – das ist für viele Projekte entscheidend.&lt;/p&gt;
&lt;h3&gt;Salesforce und Amazon der Vollständigkeit halber&lt;/h3&gt;
&lt;p&gt;Salesforce hat mit Agentforce Commerce (GA November 2025) über 6.000 bezahlte Deals abgeschlossen. Die KI-gestützte Intent-Aware Search basiert auf einem Commerce-optimierten Small Language Model. Salesforce-eigene Daten: KI-Agenten beeinflussten 17 % ($13,5 Mrd.) der Holiday-Weekend-Bestellungen 2025.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://ppc.land/amazons-ai-shopping-assistant-drove-12-billion-in-sales-for-2025/&quot;&gt;Amazon betreibt mit Rufus&lt;/a&gt; (300 Millionen aktive Nutzer, geschätzt 12 Mrd. Dollar inkrementeller Jahresumsatz) und der „Buy for Me&amp;quot;-Funktion ein geschlossenes Ökosystem. Alle OpenAI-Crawler blockiert, nicht in ACP oder UCP integriert. &lt;strong&gt;40 % des US-E-Commerce sind damit für externe KI-Agenten unsichtbar&lt;/strong&gt; – eine strategische Entscheidung, die Amazon teuer werden könnte.&lt;/p&gt;
&lt;h3&gt;Stripe als Payment-Schicht beider Welten&lt;/h3&gt;
&lt;p&gt;Stripe hat mit der Agentic Commerce Suite (Dezember 2025) eine vollständige Lösung: Katalog-Syndizierung, Checkout, Payments und Fraud Detection. &lt;strong&gt;&lt;a href=&quot;https://defiprime.com/stripe-mpp-vs-x402&quot;&gt;Shared Payment Tokens (SPT)&lt;/a&gt;&lt;/strong&gt; – einmal verwendbar, widerrufbar, programmierbar – lösen das Problem, wie Agenten sicher bezahlen können, ohne Zahlungsdaten offenzulegen. Parallel dazu treiben Coinbase und Cloudflare den &lt;strong&gt;&lt;a href=&quot;http://www.rootdata.com/news/584290&quot;&gt;x402-Standard&lt;/a&gt;&lt;/strong&gt; voran – optimiert für Micropayments im Machine-to-Machine-Bereich. Bis März 2026 wurden darüber bereits 50 Millionen Transaktionen abgewickelt, durchschnittlich 0,20 US-Dollar je Transaktion.&lt;/p&gt;
&lt;p&gt;Was der Wandel für PSPs konkret bedeutet, beleuchtet valantic in einem separaten Artikel: &lt;a href=&quot;https://www.valantic.com/de/blog/agentic-commerce-payment-service-provider/&quot;&gt;Agentic Commerce und Payment Service Provider&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Was Agentic Commerce konkret bedeutet&lt;/h2&gt;
&lt;h3&gt;Im B2C noch in der Frühphase&lt;/h3&gt;
&lt;p&gt;Amazons „Buy for Me&amp;quot; (Beta seit April 2025), Googles entsprechendes Feature in Gemini, ChatGPT Shopping mit 50 Millionen täglichen Anfragen – die erste Welle läuft. Autonomous Reordering durch IoT-Geräte, Preisvergleichs-Agenten, die dutzende Retailer simultan scannen und beim optimalen Zeitpunkt kaufen – das sind die ersten real nutzbaren Use Cases.&lt;/p&gt;
&lt;p&gt;Laut &lt;a href=&quot;https://martech.org/how-ai-agents-shaped-the-record-breaking-2025-holiday-season/&quot;&gt;Adobe&lt;/a&gt; beeinflussten KI-Agenten in der Weihnachtssaison 2025 bereits &lt;strong&gt;262 Milliarden US-Dollar&lt;/strong&gt; des globalen Online-Umsatzes. KI-generierte Produktempfehlungen erzielen eine 4,4-fach höhere Konversionsrate als die traditionelle Suche.&lt;/p&gt;
&lt;h3&gt;Im B2B liegt der eigentliche Hebel&lt;/h3&gt;
&lt;p&gt;Hier sehe ich das größte Potenzial. Procurement-Agenten überwachen Verbrauchssignale, validieren Vertragspreise und platzieren Orders automatisch unter Budgetlimits. Auf der Verkäuferseite reagiert ein Sales Agent dynamisch, passt Rabatte und Lieferkonditionen an und schließt die Bestellung ab – alles in Sekunden. &lt;a href=&quot;https://www.digitalcommerce360.com/2025/11/28/gartner-ai-agents-15-trillion-in-b2b-purchases-by-2028/&quot;&gt;Gartner prognostiziert bis 2028 ein B2B-Beschaffungsvolumen von 15 Billionen US-Dollar&lt;/a&gt; durch KI-vermittelte Einkäufe.&lt;/p&gt;
&lt;h3&gt;Die unbequemen Fragen: Vertrauen, Haftung, Sichtbarkeit&lt;/h3&gt;
&lt;p&gt;Was die Adoption bremst, sind nicht die Protokolle – sondern &lt;strong&gt;Vertrauen und ungelöste Haftungsfragen&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Eine Riverty/Adyen-Umfrage (1.000 Deutsche, Dezember 2025) zeigt: 50 % würden KI-Agenten maximal 50 Euro pro Monat anvertrauen. 46 % assoziieren KI-Shopping mit Skepsis. 93 % verlangen, KI-Entscheidungen jederzeit einsehen und stoppen zu können.&lt;/p&gt;
&lt;p&gt;Die Haftungsfrage ist juristisch ungeklärt. Wer haftet, wenn der Agent falsch kauft? Vermutlich bleibt es am Merchant hängen. Hinzu kommt ein 25 % Anstieg bösartiger Händleraktivitäten im Zusammenhang mit Agentic Commerce (Visa) – Betrüger manipulieren agentische Shopping-Ergebnisse gezielt.&lt;/p&gt;
&lt;p&gt;Und dann ist da noch &lt;strong&gt;Agent Optimization&lt;/strong&gt; – der Nachfolger von SEO. Wenn nicht mehr Menschen, sondern KI-Agenten die ersten „Kunden&amp;quot; sind, braucht es maschinenlesbare Produktdaten, strukturierte Kataloge und API-First-Architektur. &lt;a href=&quot;https://www.creatuity.com/insights/agentic-ai-commerce-adobe-commerce-readiness/&quot;&gt;Creatuity empfiehlt&lt;/a&gt; dabei konkret: vollständige Produktattribute (technische Daten, Materialien, Zertifizierungen), GraphQL-Abdeckung (reduziert Payload um 30–50 %) und korrektes Schema.org Markup. Gartner prognostiziert einen 25 % Rückgang des traditionellen Suchvolumens bis 2026. Der KI-getriebene Traffic zu US-Retail-Sites stieg laut Adobe im Juli 2025 um 4.700 % im Jahresvergleich.&lt;/p&gt;
&lt;p&gt;Eine zentrale strategische Frage bleibt dabei oft ungestellt: &lt;a href=&quot;https://www.valantic.com/de/blog/agentic-commerce-webshop-strategie/&quot;&gt;Brauchen wir in Zukunft überhaupt noch eigene Webshops?&lt;/a&gt; Die valantic-Kollegen haben das klar eingeordnet: Der Webshop verschwindet nicht, seine Rolle verschiebt sich aber vom zentralen Einstiegspunkt zum Fundament eines vernetzten Vertriebssystems. Wer eine modulare, API-basierte Architektur betreibt, ist klar im Vorteil.&lt;/p&gt;
&lt;h2&gt;Mein Fazit (bisher)&lt;/h2&gt;
&lt;p&gt;Agentic Commerce ist weder bloßer Hype noch unmittelbare Revolution – es ist eine &lt;strong&gt;fundamentale Infrastruktur-Transformation&lt;/strong&gt;, deren Nutzung der Technologie um 12–24 Monate hinterherhinkt.&lt;/p&gt;
&lt;p&gt;Für das Magento/Adobe-Commerce-Ökosystem sehe ich eine gemischte Lage: Wir haben eine lebendige MCP-Community, reichhaltige APIs und mit dem Commerce Optimizer ein zukunftsfähiges Produkt. Der Rückstand auf Shopifys native Agentic Storefronts ist aber real – und die Community holt aktiv auf, wie die ersten ACP-Module zeigen.&lt;/p&gt;
&lt;p&gt;Was ich jedem empfehle, der heute im Commerce-Bereich entwickelt:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MCP-Server für den eigenen Shop evaluieren&lt;/strong&gt; – ob offiziell, kommerziell oder aus der Community&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ACP-Modul testen&lt;/strong&gt; – Magebit oder run-as-root bieten funktionierende Ausgangspunkte&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Strukturierte Produktdaten optimieren&lt;/strong&gt; – Schema.org, JSON-LD und maschinenlesbare Kataloge sind die Grundlage&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adobe Commerce Optimizer imf Auge behalten&lt;/strong&gt; – als potenzieller Weg zu Agent-fähigen Storefronts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shopifys Agentic Plan beobachten&lt;/strong&gt; – Shopify ist hier vorne und sollte immer im Blick sein. Das gilt auch dann, wenn man selbst nicht auf Shopify setzt.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Die nächsten 12 Monate werden von &lt;em&gt;Low-Consideration-Käufen&lt;/em&gt; dominiert sein – Nachbestellungen, Standardprodukte, Commodity-Elektronik. Die wirkliche Disruption im High-Engagement-Commerce kommt später, aber langsamer als die Keynote-Slides vermuten lassen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;API-First ist kein Nice-to-have mehr, sondern existenzkritisch.&lt;/strong&gt; Wer heute maschinenlesbare, gut dokumentierte APIs betreibt, wird morgen von KI-Agenten gefunden. Wer sich ausschließlich auf menschliche Browser-Interaktion verlässt, wird zunehmend unsichtbar.&lt;/p&gt;
&lt;h2&gt;Weiterführende Artikel&lt;/h2&gt;
&lt;p&gt;Das Thema ist breit – hier ein paar Beiträge von direkten Kollegen von mir, die ich empfehle um einen Überblick zu bekommen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;valantic:&lt;/strong&gt; &lt;a href=&quot;https://www.valantic.com/de/blog/agentic-commerce-interview/&quot;&gt;Agentic Commerce – Interview und Einordnung&lt;/a&gt; – Was Agentic Commerce wirklich bedeutet und wo wir heute stehen&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;valantic:&lt;/strong&gt; &lt;a href=&quot;https://www.valantic.com/de/blog/agentic-commerce-protocol/&quot;&gt;Das Agentic Commerce Protocol im Detail&lt;/a&gt; – Technischer Deep-Dive zu ACP und UCP&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;valantic:&lt;/strong&gt; &lt;a href=&quot;https://www.valantic.com/de/blog/agentic-commerce-payment-service-provider/&quot;&gt;Agentic Commerce und Payment Service Provider&lt;/a&gt; – Was der Wandel für PSPs und Zahlungsinfrastruktur bedeutet&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;valantic:&lt;/strong&gt; &lt;a href=&quot;https://www.valantic.com/de/blog/agentic-commerce-webshop-strategie/&quot;&gt;Brauchen wir noch eigene Webshops?&lt;/a&gt; – Strategische Einordnung der Rolle des eigenen Shops im Zeitalter von KI-Agenten&lt;/li&gt;
&lt;/ul&gt;</content>
        <author>
            <name>Christian Münch</name>
        </author>
    </entry>
    <entry>
        <title type="text">Stabil vs. Volatil: Wann klassische Automatisierung die bessere Wahl ist – und wann nicht</title>
        <link href="https://muench.dev/post/2026-04-stabil-vs-volatil-wann-klassische-automatisierung-die-bessere-wahl-ist-und-wann-nicht"/>
        <id>https://muench.dev/post/2026-04-stabil-vs-volatil-wann-klassische-automatisierung-die-bessere-wahl-ist-und-wann-nicht</id>
        <published>2026-04-07T07:00:00+00:00</published>
        <updated>2026-04-07T10:45:14+02:00</updated>
        <summary/>
        <content type="html">&lt;p&gt;Wer mich kennt, weiß: Ich liebe Automatisierung, die einfach funktioniert. Um ein Prinzip zu verdeutlichen, das mir gerade durch den Kopf geht, habe ich ein kleines Gedankenexperiment in n8n aufgebaut. Es ist ein fiktives Szenario, das aber ein reales Problem moderner Workflows auf den Punkt bringt. Ich habe zwei parallele Wege konstruiert, um nützliche Daten zu generieren.&lt;/p&gt;
&lt;p&gt;Auf der einen Seite: Ein simpler Code-Node – mein &amp;quot;Fels in der Brandung&amp;quot;. Er tut exakt das, was er soll, jedes Mal gleich, nahezu kostenlos. Auf der anderen Seite: Ein AI-Agent, befeuert durch OpenRouter. Das &amp;quot;kreative Chaos&amp;quot;, das Lösungen findet, die man nicht hart codieren kann, aber eben auch eine gewisse Unberechenbarkeit mitbringt.&lt;/p&gt;
&lt;p&gt;Mir kamen dann die Begriffe &lt;strong&gt;Stabil&lt;/strong&gt; oben in Grün und &lt;strong&gt;Volatil&lt;/strong&gt; unten in Gelb in den Sinn.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-04/n8n-automatisierung-vs-ki-2026-04-04.png&quot; alt=&quot;n8n Workflow: Stabil vs. Volatil – zwei Automatisierungswege im Vergleich&quot; /&gt;&lt;br /&gt;
&lt;em&gt;Zwei fiktive Wege in einem n8n Workflow&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Das ist keine Wertung. Es ist eine Kategorisierung. Und genau darum geht es mir in diesem Post: Wann greife ich zu welchem Werkzeug – und warum?&lt;/p&gt;
&lt;h2&gt;Was &amp;quot;stabil&amp;quot; bedeutet&lt;/h2&gt;
&lt;p&gt;Klassische Automatisierung – also regelbasierte Systeme, Skripte, Code-Nodes, Regex – arbeitet &lt;strong&gt;deterministisch&lt;/strong&gt;. Gleiche Eingabe, gleiches Ergebnis. Immer. Das klingt langweilig, ist aber in vielen Kontexten genau das, was ich brauche.&lt;/p&gt;
&lt;p&gt;Nehmen wir ein konkretes Beispiel aus der Forschung: Bei der Extraktion von &lt;a href=&quot;https://radiopaedia.org/articles/breast-imaging-reporting-and-data-system-bi-rads-2&quot;&gt;BI-RADS-Scores&lt;/a&gt; aus radiologischen Berichten (Röntgenbilder) wurde Regex direkt mit LLMs verglichen &lt;a href=&quot;#ref-1&quot;&gt;[1]&lt;/a&gt;. Die Genauigkeit? Nahezu identisch. Der Unterschied: Regex war &lt;strong&gt;28.120-mal schneller&lt;/strong&gt;. Nicht ein bisschen schneller. 28.000-mal. Das ist kein akademisches Detail – das ist ein Architektur-Argument.&lt;/p&gt;
&lt;p&gt;Stabile Automatisierung ist auch aus Sicht der Betriebskosten attraktiv. Ein Code-Node in n8n kostet mich nichts extra. Ein LLM-Aufruf schon. Und bei jedem Zyklus wieder. Wer Workflows mit hohem Durchsatz betreibt, merkt das am Ende des Monats.&lt;/p&gt;
&lt;p&gt;Was klassische Automatisierung braucht: &lt;strong&gt;saubere, strukturierte Daten&lt;/strong&gt; und &lt;strong&gt;klar definierte Regeln&lt;/strong&gt;. Wenn ich weiß, was rein geht und was raus kommen soll, ist ein Code-Node die überlegene Wahl. Keine Überraschungen, keine Halluzinationen, kein Token-Verbrauch.&lt;/p&gt;
&lt;h2&gt;Was &amp;quot;volatil&amp;quot; bedeutet – und warum das kein Fehler ist&lt;/h2&gt;
&lt;p&gt;KI ist &lt;em&gt;nicht instabil&lt;/em&gt;. KI ist in einer gewissen Weise &lt;strong&gt;kreativ&lt;/strong&gt; (KI im Sinne von Generative KI). Das ist ein wichtiger Unterschied.&lt;/p&gt;
&lt;p&gt;Wenn ich einem AI Agent eine Aufgabe gebe, bekomme ich nicht zwingend das identische Ergebnis bei identischer Eingabe. Das klingt nach Nachteil – ist aber oft genau das, was ich brauche. Nämlich dann, wenn:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;die Eingabedaten &lt;strong&gt;unstrukturiert&lt;/strong&gt; sind (Freitexte, E-Mails, PDFs ohne Schema)&lt;/li&gt;
&lt;li&gt;ich &lt;strong&gt;keine vollständigen Regeln&lt;/strong&gt; definieren kann, weil die Varianz zu groß ist&lt;/li&gt;
&lt;li&gt;ich &lt;strong&gt;Kontext und Intention&lt;/strong&gt; verstehen muss, nicht nur Muster matchen&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ein Beispiel: Ich möchte eingehende Support-Anfragen automatisch kategorisieren und priorisieren. Kein Regex der Welt kommt damit klar, wenn Kunden auf zwölf verschiedene Arten schreiben, dass ihr Shop-Login nicht funktioniert. Ein LLM versteht das – auch in holprigem Deutsch, mit Rechtschreibfehlern und ohne klare Struktur.&lt;/p&gt;
&lt;p&gt;Das ist die Stärke der volatilen Seite. Kein Regelbuch nötig. Dafür: Laufzeitkosten, potenziell variierende Ergebnisse und – wichtig – höherer Ressourcenverbrauch.&lt;/p&gt;
&lt;h2&gt;Das Demokratisierungsproblem&lt;/h2&gt;
&lt;p&gt;Hier wird es interessant – und ehrlich gesagt auch ein bisschen heikel.&lt;/p&gt;
&lt;p&gt;KI-Tools haben die Automatisierung &lt;strong&gt;demokratisiert&lt;/strong&gt;. Wer früher einen Entwickler brauchte, um einen Workflow zu bauen, kann heute in n8n einen AI Agent hinwerfen, einen Prompt schreiben und loslegen. Das ist großartig. Im Prinzip.&lt;/p&gt;
&lt;p&gt;In der Praxis sehe ich aber immer häufiger, dass Nicht-Techniker – und leider auch manche Dienstleister – &lt;strong&gt;AI Agents einsetzen, wo ein einfacher Code-Node die bessere Lösung wäre&lt;/strong&gt;. Nicht aus Böswilligkeit, sondern weil:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Der AI Agent &amp;quot;einfach funktioniert&amp;quot; – zumindest beim ersten Test&lt;/li&gt;
&lt;li&gt;Die Kosten und Konsequenzen erst später sichtbar werden&lt;/li&gt;
&lt;li&gt;Das Verständnis fehlt, was unter der Haube passiert&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Konkret: Wer eine Bestellbestätigung per E-Mail versendet und dafür einen LLM-Aufruf macht, weil &amp;quot;das KI kann&amp;quot;, zahlt sinnlose Token-Kosten für eine Aufgabe, die ein Template mit drei Variablen in Millisekunden löst. Sicher ist das nicht zwingend teuer – aber es skaliert schlecht. Und es ist fehleranfälliger: Was, wenn das Modell mal kreativ wird und den Inhalt der E-Mail leicht variiert?&lt;/p&gt;
&lt;p&gt;Noch kritischer wird es bei &lt;strong&gt;sicherheitsrelevanten Prozessen&lt;/strong&gt;. KI-generierter Output ist kein deterministischer Output. Wer das in Berechtigungsprüfungen einbaut, ohne das zu verstehen, baut sich ein Problem auf Vorrat.&lt;/p&gt;
&lt;p&gt;Schon im Jahr 2020 haben Kollegen von mir bei einer Studie in Deutschland große Defizite bei Expertise zu KI, Prozessoptimierung und Automatisierung &lt;a href=&quot;#ref-2&quot;&gt;[2]&lt;/a&gt; festgestellt. Ob wir jetzt in 2026 viel besser darstehen?&lt;/p&gt;
&lt;h2&gt;Ressourcen, Kosten, Geschwindigkeit&lt;/h2&gt;
&lt;p&gt;Ein paar Zahlen, die ich im Hinterkopf behalte:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ein einfacher Code-Node: &lt;strong&gt;nahezu keine Laufzeitkosten&lt;/strong&gt;, Ausführung in Millisekunden&lt;/li&gt;
&lt;li&gt;Ein LLM-Aufruf via API: Token-Kosten, die sich bei hohem Durchsatz summieren – und das nicht linear, sondern kumulativ, weil bei Multi-Turn-Konversationen der gesamte Verlauf mitbezahlt wird&lt;/li&gt;
&lt;li&gt;Reasoning-Modelle (die mit explizitem &amp;quot;Thinking&amp;quot;): bis zu &lt;strong&gt;50-facher CO₂-Ausstoß&lt;/strong&gt; gegenüber kompakten Modellen – für oft marginale Genauigkeitsgewinne &lt;a href=&quot;#ref-3&quot;&gt;[3]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Das bedeutet nicht, KI zu vermeiden. Es bedeutet, &lt;strong&gt;bewusst zu wählen&lt;/strong&gt;. Brauche ich wirklich ein Reasoning-Modell für das Taggen von Blog-Posts? Nein. Reicht ein kleineres, schnelles Modell für die Sentiment-Klassifikation von Kundenbewertungen? Ja, in den meisten Fällen.&lt;/p&gt;
&lt;p&gt;In meinem privaten n8n habe ich die Metriken immer im Blick.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-04/grafana-dashboard-used-ai-models-in-my-n8n.png&quot; alt=&quot;n8n Metriken&quot; /&gt;&lt;br /&gt;
&lt;em&gt;Dashboard in Grafana&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Die meisten meiner n8n Prozesse sind immer noch klassisch ohne KI oder nur an gewissen Stellen mit KI ergänzt. Es gibt aber auch Workflows die nur auf KI basieren.&lt;/p&gt;
&lt;h2&gt;Wann ich zur KI muss&lt;/h2&gt;
&lt;p&gt;Es gibt Aufgaben, bei denen ich mit klassischer Automatisierung schlicht nicht weiterkomme:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Unstrukturierte Eingaben verstehen&lt;/strong&gt; – Freitexte, OCR-Ergebnisse, gescannte Dokumente&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inhaltliche Bewertung&lt;/strong&gt; – Ist diese Produktbeschreibung vollständig? Klingt dieser Text professionell?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kontextabhängige Entscheidungen&lt;/strong&gt; – Was ist die passende Antwort auf diese Kundenfrage, abhängig von Bestellhistorie und aktuellem Kontext?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kreative Aufgaben&lt;/strong&gt; – Texte generieren, variieren, übersetzen, zusammenfassen&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Für alles davon gibt es keine Regex. Kein if-else-Baum wächst hoch genug. Hier ist KI nicht die bequeme Option – sie ist die einzig sinnvolle.&lt;/p&gt;
&lt;h2&gt;Der hybride Weg: Determinismus als Leitplanke&lt;/h2&gt;
&lt;p&gt;Meine persönliche Architektur-Präferenz sieht so aus: &lt;strong&gt;deterministischer Rahmen, KI dort wo nötig&lt;/strong&gt; &lt;a href=&quot;#ref-4&quot;&gt;[4]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In n8n bedeutet das konkret: Ich prüfe zuerst, ob ich ein Problem regelbasiert lösen kann. Wenn ja, Code-Node. Wenn nein, AI Agent – aber mit klaren Leitplanken: definierten Eingabeformaten, validierten Ausgaben, und einem deterministischen Weiterverarbeitungsschritt danach.&lt;/p&gt;
&lt;p&gt;Das Diagramm am Anfang dieses Posts zeigt genau das: Beide Wege laufen in denselben Output. Ich entscheide pro Aufgabe, welcher Pfad sinnvoller ist. Das ist keine Entweder-oder-Frage. Es ist eine Designentscheidung.&lt;/p&gt;
&lt;h2&gt;Wo steckt bei mir überall KI drin?&lt;/h2&gt;
&lt;p&gt;Wichtig finde ich auch, dass man seine KI-Prozesse im Blick hat. Auch diese benötigen eine Wartung und müssen immer mal wieder angepasst werden. Gerade, wenn neue Modelle auf den Markt kommen.&lt;/p&gt;
&lt;p&gt;In meinen Fall habe ich verschiedene Dashboards in meinen Grafana erstellt. Unter anderem eines, dass mir eine Übersicht der in den n8n Workflows genutzten Modelle und Provider bietet.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-04/n8n-prod-statistics-2026-04-04.png&quot; alt=&quot;Grafana Dashboard - Genutzte Modelle &quot; /&gt;&lt;br /&gt;
&lt;em&gt;Metriken in n8n&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Gelöst habe ich das über einen n8n Workflow der mir täglich alle anderen Workflows analyisiert und die Metadaten dann in meiner Postgres Datenbank abgelegt.&lt;/p&gt;
&lt;p&gt;Eine weiterer wichtiger Teil ist, dass man seine KI Modelle auch mit Testdaten testet. Dazu gibt es aber bestimmt mal einen eigenen Blog-Post von mir.&lt;/p&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;KI ist kein Allheilmittel – und klassische Automatisierung ist kein Relikt. Beides hat seinen Platz. Die Kunst liegt darin zu erkennen, &lt;strong&gt;welches Werkzeug für welche Aufgabe geeignet ist&lt;/strong&gt; &lt;a href=&quot;#ref-5&quot;&gt;[5]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Was mich bei der aktuellen Entwicklung beschäftigt: Immer mehr Menschen automatisieren, ohne die Implikationen zu verstehen. Das ist erst mal gut – Automatisierung ist wichtig. Aber die Wahl des falschen Werkzeugs produziert Systeme, die teurer, langsamer, fehleranfälliger und schwerer wartbar sind als nötig.&lt;/p&gt;
&lt;p&gt;Meine Faustregel: Wenn ich das Problem vollständig beschreiben kann, brauche ich keine KI. Wenn nicht – dann schon.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Literatur&lt;/h2&gt;
&lt;p&gt;&lt;a id=&quot;ref-1&quot;&gt;&lt;/a&gt;[1] Lacoste et al. (2025): &lt;em&gt;A Comparative Performance Analysis of Regular Expressions and an LLM-Based Approach to Extract the BI-RADS Score from Radiological Reports.&lt;/em&gt; medRxiv.&lt;br /&gt;
&lt;a href=&quot;https://www.medrxiv.org/content/10.1101/2025.06.01.25328636v1.full-text&quot;&gt;https://www.medrxiv.org/content/10.1101/2025.06.01.25328636v1.full-text&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a id=&quot;ref-2&quot;&gt;&lt;/a&gt;[2] valantic (2020): &lt;em&gt;Exklusive valantic-Studie: Große Defizite bei Expertise zu KI, Prozessoptimierung und Automatisierung&lt;/em&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.valantic.com/de/presse/exklusive-valantic-studie-mit-luenendonk/&quot;&gt;https://www.valantic.com/de/presse/exklusive-valantic-studie-mit-luenendonk/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a id=&quot;ref-3&quot;&gt;&lt;/a&gt;[3] ScienceDaily (2025): &lt;em&gt;Thinking AI models emit 50x more CO2 — and often for nothing.&lt;/em&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.sciencedaily.com/releases/2025/06/250619035520.htm&quot;&gt;https://www.sciencedaily.com/releases/2025/06/250619035520.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a id=&quot;ref-4&quot;&gt;&lt;/a&gt;[4] Elementum AI (2025): &lt;em&gt;Deterministic vs. Probabilistic AI: Enterprise Workflow Guide.&lt;/em&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.elementum.ai/blog/deterministic-vs-probabilistic-ai&quot;&gt;https://www.elementum.ai/blog/deterministic-vs-probabilistic-ai&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a id=&quot;ref-5&quot;&gt;&lt;/a&gt;[5] ECI Software Solutions: &lt;em&gt;AI vs. Automation: Why the Difference Matters for SMB Growth.&lt;/em&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.ecisolutions.com/blog/ai-vs-automation-smb-difference/&quot;&gt;https://www.ecisolutions.com/blog/ai-vs-automation-smb-difference/&lt;/a&gt;&lt;/p&gt;</content>
        <author>
            <name>Christian Münch</name>
        </author>
    </entry>
    <entry>
        <title type="text">Claude Desktop unter Linux</title>
        <link href="https://muench.dev/post/2026-03-claude-desktop-unter-linux"/>
        <id>https://muench.dev/post/2026-03-claude-desktop-unter-linux</id>
        <published>2026-03-31T16:12:00+00:00</published>
        <updated>2026-04-07T16:22:15+02:00</updated>
        <summary/>
        <content type="html">&lt;p&gt;Ich arbeite seit Jahren auf Fedora. Linux ist für mich kein Experiment, sondern Alltag. Umso mehr hat es mich gestört, dass Anthropic Claude Desktop offiziell nur für macOS und Windows anbietet. Für Linux: Fehlanzeige.&lt;/p&gt;
&lt;p&gt;Mein Kollege bei valantic, &lt;a href=&quot;https://github.com/patrickjaja&quot;&gt;&lt;strong&gt;Patrick Schönfeld&lt;/strong&gt;&lt;/a&gt;, hat das nicht einfach hingenommen. Er ist KI-Experte, Open-Source-Enthusiast – und jemand, der lieber Probleme löst als darüber redet.&lt;/p&gt;
&lt;p&gt;Das Ergebnis: &lt;a href=&quot;https://github.com/patrickjaja/claude-desktop-bin&quot;&gt;claude-desktop-bin&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/content/blog/2026-03/screenshot_claude_desktop_linux_20260331_200608-1.png&quot; alt=&quot;Claude Desktop unter Linux&quot; /&gt;&lt;br /&gt;
&lt;em&gt;Hier ein Screenshot von meinem Fedora Desktop&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Installation: Für jede Distribution&lt;/h2&gt;
&lt;p&gt;Patrick hat wirklich alle großen Distributionen bedacht. Kein halbgarer Single-Distro-Port.&lt;/p&gt;
&lt;h3&gt;Arch Linux / Manjaro&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;yay -S claude-desktop-bin
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Updates kommen automatisch über den AUR-Helper – nichts weiter zu tun.&lt;/p&gt;
&lt;h3&gt;Debian / Ubuntu&lt;/h3&gt;
&lt;p&gt;Der empfohlene Weg über das APT-Repository bringt automatische Updates mit:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;curl -fsSL https://patrickjaja.github.io/claude-desktop-bin/install.sh | sudo bash
sudo apt install claude-desktop-bin
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wer kein fremdes Install-Script ausführen möchte – das ist ein vollkommen legitimer Standpunkt – greift zum &lt;code&gt;.deb&lt;/code&gt; direkt von den Releases:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;wget https://github.com/patrickjaja/claude-desktop-bin/releases/latest/download/claude-desktop-bin_1.1.5749-1_amd64.deb
sudo dpkg -i claude-desktop-bin_*_amd64.deb
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Fedora / RHEL&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;wget https://github.com/patrickjaja/claude-desktop-bin/releases/latest/download/claude-desktop-bin-1.1.4088-1.x86_64.rpm
sudo dnf install ./claude-desktop-bin-*-1.x86_64.rpm
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;NixOS&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;hljs-comment&quot;&gt;# Ausprobieren ohne Installation&lt;/span&gt;
nix run github:patrickjaja/claude-desktop-bin

&lt;span class=&quot;hljs-comment&quot;&gt;# Dauerhaft ins Profil&lt;/span&gt;
nix profile install github:patrickjaja/claude-desktop-bin
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wer es direkt in die Systemkonfiguration übernehmen will:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-nix hljs nix&quot; data-lang=&quot;nix&quot;&gt;{
  inputs.claude-desktop.&lt;span class=&quot;hljs-attr&quot;&gt;url&lt;/span&gt; = &lt;span class=&quot;hljs-string&quot;&gt;&quot;github:patrickjaja/claude-desktop-bin&quot;&lt;/span&gt;;

  environment.&lt;span class=&quot;hljs-attr&quot;&gt;systemPackages&lt;/span&gt; = [
    inputs.claude-desktop.packages.x86_64-linux.default
  ];
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;AppImage (alle anderen)&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;wget https://github.com/patrickjaja/claude-desktop-bin/releases/latest/download/Claude_Desktop-1.1.5749-x86_64.AppImage
chmod +x Claude_Desktop-*-x86_64.AppImage
./Claude_Desktop-*-x86_64.AppImage
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Cowork unter Linux&lt;/h2&gt;
&lt;p&gt;Cowork ist Anthropics agentic Workspace-Feature – Dateioperationen, Desktop-Automatisierung, Task-Management direkt vom Desktop aus. Auch hier: offiziell kein Linux-Support.&lt;/p&gt;
&lt;p&gt;Patrick hat den Windows Service &lt;strong&gt;reverse-engineered&lt;/strong&gt; und unter Linux lauffähig gemacht. Das Projekt: &lt;a href=&quot;https://github.com/patrickjaja/claude-cowork-service&quot;&gt;claude-cowork-service&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Der Service ist optional. Claude Desktop funktioniert auch ohne Cowork. Wer ihn möchte:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;hljs-comment&quot;&gt;# Schnellinstallation, jede Distribution&lt;/span&gt;
curl -fsSL https://raw.githubusercontent.com/patrickjaja/claude-cowork-service/main/scripts/install.sh | bash

&lt;span class=&quot;hljs-comment&quot;&gt;# Arch Linux per AUR&lt;/span&gt;
yay -S claude-cowork-service
systemctl --user &lt;span class=&quot;hljs-built_in&quot;&gt;enable&lt;/span&gt; --now claude-cowork
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Voraussetzung ist die &lt;strong&gt;Claude Code CLI&lt;/strong&gt; – sie muss installiert und im Pfad erreichbar sein. Die Pfade &lt;code&gt;/usr/bin/claude&lt;/code&gt;, &lt;code&gt;~/.local/bin/claude&lt;/code&gt; und &lt;code&gt;/usr/local/bin/claude&lt;/code&gt; werden automatisch erkannt.&lt;/p&gt;
&lt;h2&gt;Was dahintersteckt&lt;/h2&gt;
&lt;p&gt;Das ist kein Quick-Port. Das Paket enthält eine ganze Reihe gezielter Patches, die aus Claude Desktop – einer Electron-App, primär für macOS entwickelt – eine funktionale Linux-Anwendung machen. Tray-Icon-Integration, DBus-Handling, MCP-Server-Support, Computer Use via &lt;code&gt;xdotool&lt;/code&gt; und &lt;code&gt;scrot&lt;/code&gt; – alles dabei.&lt;/p&gt;
&lt;p&gt;Ein automatisierter CI-Job prüft täglich auf neue Claude-Desktop-Versionen, validiert alle Patches in Docker und stellt sicher, dass nur funktionierende Builds ins AUR kommen. Das ist solide Arbeit.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ein Hinweis für Wayland-Nutzer:&lt;/strong&gt; Der globale Shortcut (&lt;code&gt;Ctrl+Alt+Space&lt;/code&gt;) funktioniert nur unter X11. Wer auf einem Wayland-Compositor unterwegs ist, startet Claude Desktop so:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash hljs bash&quot; data-lang=&quot;bash&quot;&gt;claude-desktop --ozone-platform=x11
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Das lässt sich auch dauerhaft in der &lt;code&gt;.desktop&lt;/code&gt;-Datei eintragen.&lt;/p&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Es ist inzwischen ein bekanntes Muster: Hersteller ignoriert Linux, Community oder engagierte Entwickler wie mein Kollege Patrick übernehmen.&lt;/p&gt;
&lt;p&gt;Danke, Patrick – für die Arbeit, die da drin steckt. Das Ergebnis ist wirklich brauchbar.&lt;/p&gt;
&lt;p&gt;Habt ihr Claude Desktop unter Linux schon ausprobiert? Auf welcher Distribution läuft es bei euch?&lt;/p&gt;
&lt;h2&gt;Update 7. April 2026&lt;/h2&gt;
&lt;p&gt;Ich habe den Text nach Feedbacl von Patrick nochmal angepasst. Bei RPMs und AppImage hatte ich geschrieben, dass es keine automatischen Update gibt. Das war nicht korrekt. Patrick hat auch für diese Installationen ein automatisches Update bereitgestellt.&lt;/p&gt;</content>
        <author>
            <name>Christian Münch</name>
        </author>
    </entry>
</feed>
