Im Jahr 2002 hat der Chef von Amazon allen Mitarbeitenden ein berühmtes Memo geschrieben, welches als “The Jeff Bezos API Mandate” in die Geschichte Eingang fand. Kernaussage: All teams will henceforth expose their data and functionality through service interfaces. Und zum Abschluss: Anyone who doesn’t do this will be fired.
Mit dem Aufkommen von KI-Agenten und KI-Systemen, welche selbständig Programmcode schreiben und unsere Computer bedienen, verstehen wir alle die Mächtigkeit der damaligen Vision. Doch was ist ein Service Interface?
Auftritt des Model Context Protocols (MCP)
Ein Ansatz, um KI-Systeme mit beliebigen (externen) Systemen kommunizieren zu lassen, ist das von Anthropic im Jahr 2024 lancierte MCP-Protokoll. Eine Art USB-C für Anwendungen.
Die Umsetzung? Klassische Informatikdenke: Client, Server und Spezifikationen für Tools (executable functions) inklusive Discovery, Datenquellen und Prompts (reusable templates).
Doch bald zeigte sich, dass KI von Menschen gelernt hat und ein Konzept aus den frühen Sechzigerjahren eigentlich cooler findet: Das Command-line Interface (CLI).
Was ist CLI?
Mit dem Übergang von Computern von Lochkarten zu “interaktiven Systemen” wurde es möglich, diese über eine Tastatur zu bedienen. Die Schnittstelle zwischen Mensch und Maschine hiess “Kommandozeile” oder eben Command-line.
Die Art der Interaktion war sehr simpel und auch sehr strukturiert. Etwa 1978 kamen die UNIX-Entwurfsprinzipien für die CLI dazu, die sich wie folgt zusammenfassen lassen:
- Schreibe Programme, die eine einzige Aufgabe erfüllen und diese gut erledigen.
- Schreibe Programme, die zusammenarbeiten.
- Schreibe Programme, die mit Textströmen umgehen können, denn das ist eine universelle Schnittstelle.
Somit gab es nicht nur eine einfache Schnittstelle, um Befehle auszuführen, sondern auch Prinzipien um diese zu verknüpfen. Ein simples Beispiel:
ls -la | grep stuker | wc
- ls, grep und wc sind Befehle
- “|” ist die Übergabe des Ergebnis der Ausführung des vorangehenden Befehls an den nächsten Befehl
- -la und stuker sind Parameter der Befehle
Auf Deutsch: Liste den Inhalt des aktuellen Verzeichnisses (ls = list) vollständig (-a = all) in Langform (-l = long), filtere alle Zeilen raus in welchen stuker vorkommt (grep = global regular expression print) und zähle diese (wc = word count).
Eine CLI für alle und alles
Findet KI eine einfachere Lösung, so bevorzugt sie den faulen Weg. Ist sowohl MCP wie auch CLI verfügbar, so wählt die KI bevorzugt die Variante des Command-line Interface. Zudem ist CLI meist effizienter und die KI macht damit typischerweise weniger Fehler. Die CLI ist einfacher, strukturierter und seit 50 Jahren bewährt: Die für Menschen gemachte Schnittstelle gewinnt.
Zusätzlich gibt es auch viele weitere Argumente zugunsten der CLI wie Jahrzehnte an Dokumentation in Manpages, Stack Overflow und Tutorials. Zudem passen Textströme als „universelle Schnittstelle” exakt zu Sprachmodellen. Und die ausführlichen Fehlermeldungen der CLIs sind Gold für LLMs.
Und jetzt zu einem spannenden Projekt: Building a CLI for all of Cloudflare. Nach eigenen Aussagen hat Cloudflare rund 100 Produkte und etwa 3000 Schnittstellen. Mit dem Neubau des Projektes “Wrangler” sind sie dran, ALLES über eine einzige CLI zugänglich zu machen.
Damit dies möglich wird, soll die Erstellung der gesamten Schnittstelle vollständig automatisiert werden. Das Argument dazu steht in einem lesenswerten Blogpost: We want to make every Cloudflare product available in all of the ways agents need.
Abschluss
Natürlich lösen MCP und CLI nicht ganz dasselbe Problem (CLI brilliert lokal, MCP bei entfernten Diensten mit Authentifizierung und Session State), doch an meinen Empfehlungen ändert das nichts.
- Wer dem Memo von Jeff Bezos nicht folgt, verpasst den Anschluss an die Möglichkeiten von KI
- Einfachheit gewinnt: Nutzt CLI wenn möglich und nicht MCP
- Cloudflare zeigt, wie eine moderne, KI-taugliche Schnittstelle aussieht: eine einzige, generierte CLI
