KI-Overkill: Warum dein Code meistens schlauer ist als ein Agent

·

KI Overkill: Roboterarm zieht Schraube zu

Der Druck ist spürbar. Egal ob auf Twitter/X, in Tech-Newslettern oder auf Konferenzen: Überall schwirrt es vor Buzzwords. „Autonome Agenten“, „Self-healing Workflows“, „Die LLM-Revolution“. Als Entwickler fühlt man sich schnell so, als müsste man jedes Feature mit KI bewerfen und für jeden simplen Task einen Agenten losschicken.

Aber was, wenn der schlaueste Move nicht darin besteht, KI zu nutzen – sondern genau zu wissen, wann man sie nicht nutzt?

Versteh mich nicht falsch: Das hier ist kein Rant gegen Fortschritt. Es ist ein Aufruf zu pragmatischem Engineering. Der aktuelle Hype verleitet uns oft dazu, zum komplexesten Werkzeug im Kasten zu greifen, auch wenn der gute alte Schraubenzieher den Job besser erledigen würde. Du würdest ja auch keinen Kubernetes-Cluster hochfahren, nur um eine statische HTML-Landingpage zu hosten, oder? Genauso wenig solltest du ein mächtiges, probabilistisches LLM für eine Aufgabe nutzen, die eigentlich deterministisch ist.

In diesem Guide schneiden wir durch den Lärm. Wir schauen uns an, warum blinder KI-Einsatz ein Anti-Pattern ist, und ich zeige dir ein Framework, mit dem du entscheidest, wann Agenten wirklich Sinn ergeben – und wann du dir damit nur ins eigene Fleisch schneidest.


Das „1+1“-Problem: Willkommen im Over-Engineering

Würdest du einen Cloud-basierten KI-Service nutzen, um 1 + 1 zu rechnen? Natürlich nicht. Das klingt absurd. Aber viele KI-Implementierungen, die ich aktuell in WordPress-Plugins oder SaaS-Tools sehe, sind das Äquivalent genau dazu. Wir sind so fasziniert von dem, was KI kann, dass wir vergessen zu fragen, ob sie es sollte.

Ein LLM für eine simple, klar definierte Aufgabe zu nutzen, bringt drei massive Strafen mit sich, die traditioneller Code vermeidet.

1. Die Kosten-Strafe (The Cost Penalty) 💰

API-Calls zu GPT-4o oder Claude 3.5 Sonnet sind nicht gratis. Nehmen wir an, du willst validieren, ob eine Benutzereingabe eine gültige E-Mail-Adresse ist. Du könntest den String an ein LLM senden mit dem Prompt: „Ist das eine valide E-Mail? Antworte nur mit true oder false.“

Ein simpler Regex in JavaScript (oder PHP) ist hingegen kostenlos und läuft lokal in Mikrosekunden.

function isValidEmail(email) {
  const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  return regex.test(email);
}

Stell dir vor, dieser Check läuft bei jedem Tastendruck in einem Formular für Tausende von Nutzern. Die LLM-Kosten explodieren. Der Regex bleibt gratis. Für immer.

2. Die Latenz-Strafe (The Latency Penalty) ⏳

Jeder API-Aufruf an ein LLM ist ein Netzwerk-Roundtrip. Prompt senden, Verarbeitung abwarten (Token-Generierung), Antwort empfangen. Für den User bedeutet das: Lags.

Beispiel: Einen String von 'snake_case' in 'camelCase' umwandeln.

  • Lokale Funktion: Sofort (0ms spürbar).
  • LLM-Call: 300ms bis mehrere Sekunden.

In einer Welt, in der wir um Core Web Vitals und Millisekunden kämpfen, ist so ein Flaschenhals für triviale Aufgaben ein Rückschritt in die 90er.

3. Die Zuverlässigkeits-Strafe (The Reliability Penalty) 🎲

Das ist der wichtigste Punkt für uns Coder.

  • Code ist deterministisch: Gleicher Input = Gleicher Output. Immer. Das ist das Fundament stabiler Software.
  • LLMs sind probabilistisch: Sie würfeln das nächste Wort.

LLMs halluzinieren oder missverstehen den Kontext. Wenn dein KI-E-Mail-Validator plötzlich entscheidet, dass .io-Domains „verdächtig“ sind und sie ablehnt, hast du einen Bug, der wahnsinnig schwer zu reproduzieren ist. Für Core-Logik brauchst du 100% Verlässlichkeit.


Der Sweet Spot: Wann KI wirklich glänzt

Okay, wenn wir KI nicht für deterministische Aufgaben nutzen sollen, wofür dann? Die Faustregel ist simpel:

„Nutze deterministischen Code für deterministische Probleme. Nutze probabilistische Modelle für probabilistische Probleme.“

KI ist fantastisch, wenn die Logik „fuzzy“ ist, Daten unstrukturiert sind und das Ziel Interpretation oder Generierung ist, nicht reine Berechnung.

Hier sind Bereiche, in denen ein 'import openai' (oder Anthropic/DeepSeek) genau richtig ist:

  • Unstrukturierte Daten analysieren: Du kannst keinen Regex schreiben, um die Stimmung („Sentiment“) von 1.000 Kundenbewertungen zu verstehen. Ein LLM kann das in Sekunden.
  • Natürliche Sprache (NLP): Ein Chatbot, der versteht: „Zeig mir die Umsätze aus Q3 in Bayern“, statt den User durch Filter-Menüs zu quälen.
  • Kreative Generierung: Marketing-Mails, Blog-Entwürfe, Produktbeschreibungen. Hier ist die KI Assistent, nicht Logik-Baustein.

KI als dein persönliches Dev-Tool

Vergiss nicht den Nutzen außerhalb deiner App. Nutze LLMs, um dich schneller zu machen, ohne die App langsamer zu machen:

  • Boilerplate Code: „Schreib mir eine React-Komponente für eine Pricing-Table.“
  • Docs schreiben: „Erkläre diese Python-Funktion und generiere Docstrings.“
  • Sparringspartner: „Welche Nachteile hat diese Datenbank-Architektur?“

Der Agenten-Hype vs. Strukturierte Workflows

Jetzt kommen wir zum Elefanten im Raum: KI-Agenten. Oft werden sie als magische Wesen verkauft, die autonom im Web surfen, Tools nutzen und komplexe Probleme lösen – alles mit einem einzigen Prompt.

Diese Autonomie ist ein Risiko. Wenn ein LLM selbst entscheidet, welches Tool es nutzt, führst du noch mehr Zufall (Non-Determinismus) ein. Was, wenn der Agent in einem Loop hängen bleibt und dein API-Budget verbrennt?

Bevor du einen vollautonomen Agenten baust, schau dir das Spektrum an, das die Experten von Anthropic in ihrem Artikel definiert haben. Sie unterscheiden:

  • Workflows: Systeme, in denen LLMs und Tools durch festen Code orchestriert werden.
  • Agenten: Systeme, in denen das LLM den Ablauf dynamisch steuert.

Die Bausteine: Das „Augmented LLM“

Die Basis für alles ist das Augmented LLM. Das ist nicht nur das Modell, sondern das Modell plus Superkräfte:

  • Tool Use (Function Calling): Das LLM sagt nicht „Ich rechne das“, sondern liefert ein JSON: '{ "tool": "calculator", "args": "1+1" }'. Dein Code führt es aus und gibt das Ergebnis zurück. Zuverlässigkeit trifft Intelligenz.
  • RAG (Retrieval): Statt zu halluzinieren, sucht das System erst in deiner Datenbank (z.B. deiner WordPress Knowledge Base) und füttert das LLM mit Fakten. Flow: Suchen Anreichern Generieren.

Workflows statt Chaos: 5 Muster für die Praxis

Statt alles einem Agenten zu überlassen, nutze diese Patterns (siehe Anthropic):

  1. Prompt Chaining: Schritt A füttert Schritt B. Simpel und robust.
  2. Routing: Ein LLM klassifiziert die Anfrage („Ist das Support oder Sales?“) und leitet sie an den passenden (deterministischen) Prozess weiter.
  3. Parallelization: Zwei LLMs arbeiten gleichzeitig (z.B. eines prüft AGBs, das andere prüft Preise) und das Ergebnis wird aggregiert.
  4. Orchestrator-Workers: Ein „Chef“-LLM zerteilt die Aufgabe und gibt sie an spezialisierte „Arbeiter“-LLMs.
  5. Evaluator-Optimizer: Ein LLM schreibt einen Entwurf, ein anderes bewertet ihn („Kritiker-Modus“), das erste bessert nach.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert