Ein Entwickler öffnet Claude Code oder Cursor in einer gewachsenen Monolithen-Codebase mit 280.000 Zeilen Legacy-Code. Der Prompt lautet scheinbar harmlos: „Refaktoriere die Session-Verwaltung im Checkout“. Nach zwei Minuten liest der Agent blind 45 Dateien ein, flutet das Kontextfenster mit 180.000 Tokens, halluziniert veraltete Methoden und bricht mit Syntaxfehlern ab. Warum scheitert naives Vibe Coding in Brownfield-Projekten so spektakulär – und wie gibt man dem Agenten einen strukturierten Kompass, damit er nicht im Code-Dschungel ertrinkt?
Erfolgreiches Brownfield-Coding erfordert systematisches Context Engineering statt blindem Datei-Grepping: Graphify kartiert Code-Strukturen und Abhängigkeiten deterministisch als Wissensgraph, Obsidian fungiert als versioniertes Team-Gedächtnis für Architekturentscheidungen, und das Model Context Protocol (MCP) liefert dem Agenten punktgenaue Werkzeuge zur gezielten Abfrage. Die Grenze: Stark dynamischer Code ohne Typisierung erfordert weiterhin menschliche Leitplanken und lückenlose Testsuiten.
Ein KI-Agent scheitert in Legacy-Code nicht an mangelnder Intelligenz, sondern an Kontext-Verschmutzung: Subtraktives Context Engineering und Wissensgraphen senken den Token-Footprint um 95 Prozent und bändigen den Blast-Radius.
Die 100k-Token-Falle: Warum naives Prompting an Legacy-Code zerschellt
Während Greenfield-Projekte auf einem sauberen Reißbrett mit isolierten Modulen starten, sind Brownfield-Codebases von Jahren impliziten Wissens geprägt. Hier treffen Sprachmodelle auf drei strukturelle Sollbruchstellen:
- Context Rot und die „Lost in the Middle“-Amnesie: Selbst bei Kontextfenstern von 200.000 bis zu einer Million Tokens sinkt die Aufmerksamkeitsdichte eines Modells massiv, wenn Hunderte Seiten unstrukturierter Quellcode, Boilerplate und Konfigurationsdateien in den Prompt gekippt werden (Context Poisoning). Randbedingungen in der Mitte des Textes werden systematisch übersehen.
- Der Blast-Radius von : In Legacy-Systemen existieren fast immer Klassen wie
OrderManageroderSessionStore, an denen dutzende Subsysteme hängen. Ein unbedarfter Agent sieht beim Ändern einer Methode nicht, welche 14 Nebensysteme auf genau das alte Verhalten angewiesen sind. - Das Rätsel der impliziten Verträge (Invisible Contracts): Code verrät nur das Wie, aber fast nie das Warum. Ohne Zugriff auf historische Architekturentscheidungen und dokumentierte Eigenheiten refaktoriert der Agent scheinbar umständliche, aber überlebenswichtige Workarounds und Fallbacks einfach weg.
Context Engineering statt Prompting: Das mentale Modell des Agenten
In der modernen Agenten-Architektur gilt der Grundsatz: Prompt Engineering steuert, was das Modell sagt – Context Engineering kuratiert, was das Modell sieht.
Ein erfahrener Principal Engineer lädt bei der Fehlersuche in einem gewachsenen Monolithen niemals 300.000 Zeilen Code auf einmal in sein biologisches Arbeitsgedächtnis. Das menschliche Gehirn stützt sich auf eine bewährte kognitive Hierarchie:
- Das topologische Schema: Eine mentale Landkarte der Systemgrenzen („Der Checkout-Service spricht asynchron über Kafka mit dem Buchungsjournal“).
- Das episodische Gedächtnis: Dokumentiertes Team-Wissen („Achtung: Die Steuerberechnung enthält einen historischen Rundungs-Fix für Skandinavien“).
- Das fokussierte Arbeitsgedächtnis: Nur die zwei bis drei tatsächlich geöffneten Dateien im Editor.
Wenn Entwickler von einem KI-Agenten verlangen, 50 Quelldateien ungefiltert einzulesen, fordern sie etwas Kognitiv Unmögliches: Das Modell ertrinkt in syntaktischem Rauschen. Context Engineering rekonstruiert genau diese kognitive Hierarchie für den Agenten: Graphify liefert das topologische Schema, Obsidian das episodische Gedächtnis, und Repomix schützt das Arbeitsgedächtnis vor Rauschen.
Was brauche ich? (Prerequisites)
- Topologische Code-Landkarte: zur lokalen, deterministischen Analyse des Quellcodes über .
- Persistenter Wissensspeicher: Ein lokales Vault mit Architektur-Entscheidungen (), Systemgrenzen und bekannten Schulden-Tags (
#tech-debt). - Werkzeug-Schnittstelle: Ein lokaler Server (MCP), der den Wissensgraphen und das Vault für Claude Code, Cursor oder Antigravity exponiert.
- Subtraktive Kontext-Kompression: Ein Werkzeug wie zum Slicen auf reine Typ- und Methodensignaturen.
Wie kann ich das prüfen? (Verification & Audit)
- Topologie-Audit: Führe
graphify query "Welche Module rufen X auf?"im Terminal aus und verifiziere, dass alle statischen Abhängigkeiten im Output auftauchen. - MCP-Konnektivität: Prüfe in den Agenten-Einstellungen (z. B.
claude mcp list), dassgraphify-mcpundobsidian-mcpaktiv sind und Werkzeuge wieget_neighborsundread_noteanbieten. - Token-Disziplin: Überwache bei einer Refaktorisierung, dass der Session-Footprint unter 10.000 Tokens bleibt, statt das Kontextfenster mit 100.000 Tokens zu überfluten.
Typische Praxisszenarien (Use Cases)
- Sichere Refaktorisierung: Vor dem Ändern einer Methode fragt der Agent den Graphen nach allen Aufrufern ab und schützt bestehende Verträge.
- Orientierung in fremden Monolithen: Schnelles Erkennen von Datenflüssen („Wie fließt ein Webhook durch das System?“) ohne manuelles Durchsuchen dutzender Dateien.
- Multi-Agenten-Handoffs: Ein Architektur-Agent dokumentiert seinen Plan in einer Obsidian-Notiz, die ein nachgelagerter Ausführungs-Agent verlustfrei übernimmt.
Die dreistufige Navigations-Kaskade: Von der Topologie zum minimalen Diff
Gutes Context Engineering arbeitet subtraktiv: Kontext entsteht durch das Weglassen von Rauschen. Statt die Codebase mit grep zu durchforsten, folgt der Agent einer dreistufigen Konsultationskette:
Tier 1: Topologische Landkarte
Mithilfe lokaler AST-Parser wird der Quellcode in einen Wissensgraphen überführt. Der Agent fragt über Werkzeuge wie graphify:query() und get_neighbors() gezielt ab, welche Klassen interagieren, welche Communities existieren und wo kritische God-Nodes lauern.
Tier 2: Lebendiges Gedächtnis
Über das Obsidian-MCP-Gateway greift der Agent auf dokumentierte Architektur-Entscheidungen zu (obsidian:search_notes()). Statt zu raten, warum ein Fallback existiert, liest er den zugehörigen ADR und teilt das mentale Modell des Teams.
Tier 3: Chirurgisches Slicing
Erst wenn Zielort und Nebenwirkungen geklärt sind, lädt der Agent den konkreten Quelltext. Unbeteiligte Funktionskörper werden ausgeblendet und nur Signaturen übergeben. Der finale Patch betrifft exakt die minimal notwendigen Zeilen.
Werkzeug-Matrix: Volltext-Grep vs. Vector-RAG vs. GraphRAG
Kein Werkzeug löst alle Probleme allein. Die folgende Matrix vergleicht die gängigen Kontext-Strategien nach Skalierbarkeit, Token-Effizienz und Kopplungserkennung:
Kontext-Budget im Stresstest: Simulator für Token-Verbrauch und Regressionsrisiko
Erprobe selbst, wie sich unterschiedliche Kontext-Strategien in realen Legacy-Szenarien auswirken. Wähle ein Projekt-Szenario, schalte die Komponenten der MCP-Toolchain zu und beobachte, wie sich Token-Verbrauch, das Risiko für Kontext-Kollaps und die Erkennung versteckter Kopplungen verändern:
Brownfield Context & Agent Architecture Simulator
Vergleiche Token-Footprint, Kontext-Kollaps und Tool-Traces für Legacy-Codebases.
Was zeigt dieses Experiment?
Der Simulator demonstriert den Hebel von Context Engineering: Während naives Einlesen in einem 320.000-Zeilen-Projekt über 180.000 Tokens verbrennt und die Aufmerksamkeitsspanne des Modells überfordert, reduziert der 3-Tier-Stack den Footprint auf unter 4.000 Tokens. Gleichzeitig steigt die Erkennung versteckter Kopplungen von 14% auf 100%.
Was beweist das Experiment ausdrücklich nicht?
Das Experiment modelliert statische Aufrufbeziehungen via AST. Es beweist nicht, dass hochgradig dynamische Konstrukte (wie Reflection in Java, dynamisches eval() in JavaScript oder komplexe Dependency-Injection-Container zur Laufzeit) fehlerfrei aufgelöst werden. Solche dynamischen Bindungen erfordern weiterhin automatisierte Integrationstests und manuelle Code-Reviews.
Das Schutzgeschirr: Codebase-Zoning und Leitplanken gegen Kollateralschäden
In gewachsenen Systemen entscheidet das Schutzgeschirr (Agent Harness) über den Erfolg: Klare Zonen und deterministische Leitplanken verhindern, dass der Agent ungewollte Zerstörung anrichtet.
- Immer zuerst den AST-Graphen (
graphify query) nach Aufrufern und Nachbarn befragen - Kuratierte Architekturnotizen in Obsidian auf bekannte Ausnahmen (
#tech-debt) prüfen - Nur die minimal betroffenen Dateien und Signaturen ins Kontextfenster laden
- Vor Refactorings automatisierte Characterization Tests ausführen
- Niemals ganze Verzeichnisse ungefiltert in den Prompt werfen
- Keine Refaktorisierungen an God-Nodes vornehmen, ohne alle Aufrufer vorher identifiziert zu haben
- Nicht darauf vertrauen, dass ein LLM undokumentierte Business-Logik aus 4.000 Zeilen Spaghetticode errät
Module mit mehr als 30 ausgehenden oder eingehenden Kanten im Wissensgraphen bergen extremes Regressionsrisiko. Weist der Wissensgraph eine Klasse als God-Node aus, sollte der Agent niemals die Klassensignatur oder Schnittstelle ändern, sondern ausschließlich abwärtskompatible Adapter oder Überladungen implementieren.
Führe Graphify im Pre-Commit-Hook oder in der CI-Pipeline mit --update aus. Dadurch bleibt die Datei graphify-out/graph.json stets synchron zum Git-Head, ohne dass der Agent bei jedem Task teure Neuindizierungen anstoßen muss.
Das Agenten-Protokoll: Verbindliche Direktiven für AGENTS.md und CLAUDE.md
Damit Coding-Agenten wie Claude Code, Cursor oder Antigravity den Wissensgraphen und das Obsidian-Vault nicht ignorieren, müssen die Verhaltensregeln in Projektdateien wie AGENTS.md oder CLAUDE.md verbindlich verankert werden:
Du arbeitest in einer gewachsenen Brownfield-Codebase. Halte dich strikt an dieses 3-Stufen-Protokoll:
-
TOPOLOGIE-CHECK VOR CODE-ZUGRIFF:
- Führe vor dem Lesen oder Bearbeiten von Quellcodedateien IMMER einen Graphify-Aufruf aus:
graphify:query(question="<Modul oder Funktion>") - Prüfe mit
graphify:get_neighbors(node="<Name>", depth=1)alle Aufrufer und Abhängigkeiten. - Wenn ein Modul als 'God Node' identifiziert ist, behandle die Signatur als unveränderlich.
- Führe vor dem Lesen oder Bearbeiten von Quellcodedateien IMMER einen Graphify-Aufruf aus:
-
ARCHITEKTUR-ABGLEICH VIA OBSIDIAN:
- Frage das Obsidian-Vault per MCP nach relevanten Architekturentscheidungen ab:
obsidian:search_notes(query="<Domäne oder Problem> #tech-debt") - Beachte historische Workarounds und dokumentierte Schnittstellen-Einschränkungen.
- Frage das Obsidian-Vault per MCP nach relevanten Architekturentscheidungen ab:
-
CHIRURGISCHES SLICING:
- Lies niemals ganze Verzeichnisse oder Dateien über 500 Zeilen vollständig ein.
- Nutze gezielte AST-Slices oder begrenzte Zeilenbereiche.
- Nach jedem Edit: Führe die Projekt-Tests aus und verifiziere, dass keine Nachbarknoten gebrochen wurden.
Vier Sicherheitsprüfungen vor dem ersten Brownfield-Commit
Verwende diese vier Prüfpunkte, bevor du ein KI-gestütztes Refactoring in die Produktion entlässt:
- Wissensgraph initialisiert:
graphifywurde über das Projekt ausgeführt undgraphify-out/graph.jsonist aktuell. - MCP-Tools verbunden: Der Agent hat im Session-Start Zugriff auf
graphify_queryundobsidian_search_notes. - God-Node-Analyse erfolgt: Alle aufrufenden Module der Zielklasse wurden identifiziert und im Testplan berücksichtigt.
- Regressions-Suite grün: Unit- und Integrationstests laufen lokal erfolgreich durch, ohne dass verwaiste Abhängigkeiten verbleiben.
Quellen und weiterführende Kacheln
Primärquellen und Spezifikationen
- Anthropic: Model Context Protocol Architecture & Spec – Offizieller Standard für tool-basierte Kontext- und Tool-Integrationen für KI-Agenten.
- Tree-sitter: An Incremental Parsing System for Programming Tools – Technische Referenz für performante, lokale AST-Generierung in über 40 Programmiersprachen.
- Graphify: Knowledge Graph extraction via AST and GraphRAG – Werkzeug zur Extraktion strukturierter Wissensgraphen aus Programmcode und Dokumenten.
- Repomix: Pack your codebase into AI-friendly context – Open-Source-Standard zur Token-optimierten Bündelung und Signatur-Kompression von Repositories.
Verwandte Kacheln im Digital Garden
- Web MCP – Standardisierte Browser-Tools – Vertiefung in das Model Context Protocol und standardisierte Schnittstellen für Agenten.
- Enterprise Architektur im KI-Zeitalter – Wie sich Systemlandschaften, Architekturrollen und Governance durch autonome Agenten verändern.