Anti-Pattern Overengineering Agents: zu komplexe Agent-Architektur

Dieses Anti-Pattern entsteht, wenn Agent-Systeme unnötig komplex aufgebaut werden.
Auf dieser Seite
  1. Idee in 30 Sekunden
  2. Beispiel für das Anti-Pattern
  3. Warum es entsteht und was schiefläuft
  4. Richtiger Ansatz
  5. Schnelltest
  6. Worin es sich von anderen Anti-Patterns unterscheidet
  7. Multi-Agent Overkill vs Overengineering Agents
  8. Giant System Prompt vs Overengineering Agents
  9. Agent Everywhere Problem vs Overengineering Agents
  10. Selbstcheck: Habt ihr dieses Anti-Pattern?
  11. FAQ
  12. Was als Nächstes

Idee in 30 Sekunden

Overengineering Agents ist ein Anti-Pattern, bei dem für eine einfache Aufgabe eine zu komplexe Agentenarchitektur gebaut wird: zu viele Schichten, Rollen, Router und Checks ohne echten Nutzen.

Das System wird dadurch teurer, langsamer und schwerer wartbar. Das Team verbringt mehr Zeit mit Architekturpflege als mit Nutzerwert.

Einfache Regel: Wenn eine Aufgabe mit einem workflow oder einem Agenten stabil lösbar ist, baut keine mehrstufige Architektur.


Beispiel für das Anti-Pattern

Das Team möchte typische Fragen zur Rückgabe beantworten.

Statt eines einfachen Szenarios baut das Team eine Kaskade aus mehreren Agenten und Zwischenschichten.

PYTHON
response = gateway_agent.run(
    "User: Wie kann ich einen Artikel aus Bestellung #7342 zurückgeben?"
)

Praktisch läuft eine einfache Anfrage durch diese Kette:

PYTHON
plan = planner_agent.run(user_message)
routed = router_agent.run(plan)
draft = faq_agent.run(routed)
checked = policy_agent.run(draft)
final = critic_agent.run(checked)
return final

Für diesen Fall reicht ein kurzer workflow:

PYTHON
policy = get_return_policy(order_id)
return format_return_answer(policy)

In diesem Fall fügt die überladene Architektur nur hinzu:

  • unnötige Schichten zwischen Anfrage und Antwort
  • mehr potenzielle Ausfallpunkte
  • höhere Kosten pro Run

Warum es entsteht und was schiefläuft

Dieses Anti-Pattern entsteht oft, wenn Teams sofort eine "Enterprise-Lösung" bauen wollen, selbst für Basisszenarien.

Typische Ursachen:

  • Sorge, dass eine einfache Architektur "nicht skaliert"
  • Übernahme komplexer Schemata aus fremden Fällen ohne Validierung der eigenen Aufgabe
  • Wunsch, Komponenten "vorsorglich" hinzuzufügen
  • fehlende Metriken, die den Nutzen jeder Schicht belegen

Daraus folgen Probleme:

  • höhere latency - Antworten laufen durch unnötige Stufen
  • schwieriges Debugging - Fehler kann in jeder Schicht liegen
  • höhere Kosten - mehr LLM-Calls und technische Zwischenschritte
  • aufgeblähter Kontext - Agenten reichen Historie und Zwischenresultate weiter
  • niedrigere Zuverlässigkeit - mehr Komponenten = mehr potenzielle Ausfälle

Typische Production-Signale, dass ein System bereits überengineered ist:

  • Änderung einer Policy-Regel erfordert Anpassungen in mehreren Schichten
  • das Team kann nicht schnell zeigen, wo die finale Entscheidung getroffen wird
  • eine typische User-Anfrage startet 4-6 LLM/tool-Schritte, obwohl 1-2 ausreichen würden
  • das Entfernen einer Zwischenschicht bricht bereits ein Basisszenario

Am Ende kann das Team nicht mehr schnell erklären, welche Schicht wirklich nötig ist, und jede Änderung an einem einfachen Szenario betrifft sofort mehrere Komponenten. Wenn ein System komplex wird, ohne trace und Ausführungsvisualisierung, wird Debugging sehr schwierig. Deshalb haben Production-Systeme meist eine eigene Observability-Schicht für Agent-Runs.

Richtiger Ansatz

Startet mit dem einfachsten Pfad, der heute die meisten Anfragen stabil löst. Fügt neue Schichten nur hinzu, wenn es einen messbaren Ausfall, ein Risiko oder eine Grenze des aktuellen Designs gibt.

Praktischer Rahmen:

  • workflow für deterministische Szenarien
  • ein Agent für komplexe oder nicht-standardisierte Fälle
  • neue Schicht nur bei messbarem Grund (zum Beispiel bessere success rate oder weniger Fehler ohne starken Anstieg von latency und cost per request)
PYTHON
def answer_return_question(order_id: str, user_message: str) -> str:
    policy = get_return_policy(order_id)

    if policy.is_standard_case:
        return format_return_answer(policy)

    return agent.run(
        f"Erkläre diesen nicht standardmäßigen Rückgabefall: {policy.context}"
    )

In diesem Setup bleibt das System einfach, und der Agent wird nur dort eingesetzt, wo er wirklich nötig ist.

Schnelltest

Wenn diese Fragen mit "ja" beantwortet werden, habt ihr Overengineering-Risiko:

  • Habt ihr 4+ Schichten, könnt aber für keine den Nutzen in Metriken zeigen?
  • Erfordert ein einfacher Fehler den Durchlauf durch viele Komponenten fürs Debugging?
  • Laufen die meisten Anfragen aktuell durch zusätzliche Agentenstufen, obwohl es einfacher lösbar wäre?

Worin es sich von anderen Anti-Patterns unterscheidet

Multi-Agent Overkill vs Overengineering Agents

Multi-Agent OverkillOverengineering Agents
Hauptproblem: zu viele Agenten und komplexe Koordination zwischen ihnen.Hauptproblem: unnötige Architekturschichten und Komponenten ohne messbaren Nutzen.
Wann es entsteht: wenn eine Anfrage zu viele handoffs zwischen Rollen durchläuft.Wann es entsteht: wenn planner-, router- und gateway-Schichten vorsorglich zu einem Basisszenario ergänzt werden.

Giant System Prompt vs Overengineering Agents

Giant System PromptOverengineering Agents
Hauptproblem: ein monolithischer system prompt mit widersprüchlichen Instruktionen.Hauptproblem: strukturelle Architekturkomplexität, nicht nur auf Prompt-Ebene.
Wann es entsteht: wenn neue Regeln ständig in denselben großen Prompt geschrieben werden.Wann es entsteht: wenn neue Schichten ergänzt werden, statt zu vereinfachen und Metriken zu prüfen.

Agent Everywhere Problem vs Overengineering Agents

Agent Everywhere ProblemOverengineering Agents
Hauptproblem: ein Agent wird sogar für deterministische Aufgaben verwendet.Hauptproblem: das System hat zu viele Schichten, obwohl ein einfacher workflow ausreichen würde.
Wann es entsteht: wenn einfache Szenarien standardmäßig in den Agentenpfad gehen.Wann es entsteht: wenn eine einfache Anfrage unnötige Orchestrierungsstufen durchläuft.

Selbstcheck: Habt ihr dieses Anti-Pattern?

Schnellcheck für das Anti-Pattern Overengineering Agents.
Markiert die Punkte für euer System und prüft den Status unten.

Prüft euer System:

Fortschritt: 0/8

⚠ Es gibt Anzeichen für dieses Anti-Pattern

Verschieben Sie einfache Schritte in einen workflow und behalten Sie den Agenten nur für komplexe Entscheidungen.

FAQ

Q: Bedeutet das, dass komplexe Architektur immer schlecht ist?
A: Nein. Komplexität ist gerechtfertigt, wenn sie ein reales Problem löst und das in Metriken sichtbar ist. Problematisch ist unnötige Komplexität ohne Nutzen.

Q: Wann sollten wir einen neuen Agenten oder eine neue Schicht hinzufügen?
A: Wenn es ein konkretes Signal gibt: Incidents, Qualitätsfehler, Limit-Verletzungen oder eine neue Aufgabenklasse, die das aktuelle Design nicht ohne unverhältnismäßiges Wachstum bei latency, cost oder Debugging-Komplexität abdeckt.

Q: Sollen wir alle Schichten sofort entfernen?
A: Nein. Besser schrittweise: Komponenten ohne messbaren Effekt entfernen und nach jeder Vereinfachung die Metriken prüfen.


Was als Nächstes

Ähnliche Anti-Patterns:

Was ihr stattdessen bauen solltet:

⏱️ 7 Min. LesezeitAktualisiert 16. März 2026Schwierigkeit: ★★★
In OnceOnly umsetzen
Safe defaults for tool permissions + write gating.
In OnceOnly nutzen
# onceonly guardrails (concept)
version: 1
tools:
  default_mode: read_only
  allowlist:
    - search.read
    - kb.read
    - http.get
writes:
  enabled: false
  require_approval: true
  idempotency: true
controls:
  kill_switch: { enabled: true, mode: disable_writes }
audit:
  enabled: true
Integriert: Production ControlOnceOnly
Guardrails für Tool-Calling-Agents
Shippe dieses Pattern mit Governance:
  • Budgets (Steps / Spend Caps)
  • Tool-Permissions (Allowlist / Blocklist)
  • Kill switch & Incident Stop
  • Idempotenz & Dedupe
  • Audit logs & Nachvollziehbarkeit
Integrierter Hinweis: OnceOnly ist eine Control-Layer für Production-Agent-Systeme.
Autor

Diese Dokumentation wird von Engineers kuratiert und gepflegt, die AI-Agenten in der Produktion betreiben.

Die Inhalte sind KI-gestützt, mit menschlicher redaktioneller Verantwortung für Genauigkeit, Klarheit und Produktionsrelevanz.

Patterns und Empfehlungen basieren auf Post-Mortems, Failure-Modes und operativen Incidents in produktiven Systemen, auch bei der Entwicklung und dem Betrieb von Governance-Infrastruktur für Agenten bei OnceOnly.