Context Engineering heisst Dateien umbenennen
Ein neuer Job-Titel tauchte letzte Woche in meinem Feed auf. Context Engineer.
Ich habe geklickt. Zweimal. Drei Artikel, alle definitorisch. Keiner zeigte Code. Jede Definition war eine Umschreibung von “Dinge gut benennen”.
Dann habe ich in mein eigenes Repo geschaut und nach utils.py gesucht. Elf Treffer. Sechs Ordner tief, in einem Projekt, das in Produktion läuft. Dasselbe Projekt, in dem ich an diesem Morgen zwei Stunden mit einem Agenten gekämpft hatte, der ständig die falsche Helper-Datei lud.
Der Fix dauerte dreissig Sekunden. Ich habe die Datei umbenannt.
Der Pitch stimmt
Context Engineering ist die Arbeit, dem Sprachmodell die richtigen Informationen zur Verfügung zu stellen: Dateinamen, Ordnerstruktur, Funktions-Signaturen, Prompts, Retrieval-Regeln. Gut gemacht, findet das Modell den richtigen Code beim ersten Versuch und Du schreibst weniger Folge-Prompts. Schlecht gemacht, schreibst Du Absätze, um einen vagen Dateinamen zu kompensieren.
Der aktuelle Pitch geht weiter. Das sei eine neue Disziplin, sagt die Erzählung, mit eigener Rolle. Dateien kuratieren, Prompts strukturieren, Retrieval-System bauen, Embeddings managen. Jeder Anspruch ist korrekt. Keiner beschreibt ein neues Problem.
Du machst das, seit Du Deine erste Config-Datei geschrieben hast. Jedes Mal, wenn Du helpers.js zu payment-validation.js umbenannt hast, hast Du Context Engineering gemacht. Jedes Mal, wenn Du eine 400-Zeilen-Datei in drei benannte Teile aufgeteilt hast, hast Du Context Engineering gemacht. Das Publikum war immer der nächste Entwickler, der die Datei liest. Jetzt gibt es einen Leser mehr.
Der eigentliche Job
Ein Senior-Entwickler, der in eine Codebase einsteigt, macht in der ersten Woche drei Dinge. Er liest die Ordnerstruktur. Er liest die am meisten genannten Begriffe in den Imports. Er folgt der Brotkrumen-Spur von Dateiname zu Funktion zu Zeile.
Agenten machen dasselbe. Die Retrieval-Schicht in Deinem Agenten-Loop ist grep mit zusätzlichen Schritten. Sie zieht Dateien, deren Namen zur Aufgabe passen. Sie zieht Funktionen, deren Docstrings zur Absicht passen. Sie zieht Kommentare, die sagen, was der Code tut.
Wenn Deine Dateinamen vage sind, ist das Retrieval vage. Wenn Deine Funktionsnamen lügen über das, was die Funktion tut, lädt der Agent die falsche. Wenn Deine Ordnernamen Code nach Dateityp gruppieren statt nach Anliegen, lädt der Agent models/ und bekommt nichts Brauchbares.
Die Disziplin, die wir seit dreissig Jahren nicht durchsetzen, ist tragend geworden in dem Moment, in dem ein probabilistischer Leser dem Loop beigetreten ist.
Drei Dinge, die ich letzten Monat umbenannt habe
api.py wurde zu payment-webhook-handler.py. Der Agent hat aufgehört, die Datei für Payment-fremde Fragen zu laden. Eine Umbenennung, ein Fehler weniger.
utils/ wurde gelöscht. Die fünf Dateien darin sind neben den Code gewandert, der sie aufgerufen hat, mit Namen, die sagten, was sie tun. format-currency.py, parse-iso-date.py, redact-pii.py. Der Agent lädt sie jetzt nur, wenn die Aufgabe Currency, Datum oder PII erwähnt.
Eine 600-Zeilen process.py wurde in vier Dateien aufgeteilt. validate-input.py, dedupe-rows.py, enrich-from-cache.py, write-to-warehouse.py. Der Agent versucht nicht mehr, die ganze Pipeline zu lesen, um Fragen zu einem einzelnen Schritt zu beantworten.
Nenn es Context Engineering, wenn das Buzzword hilft. Die Arbeit ist Umbenennen.
Wo das Modell raten muss
Geh jetzt durch Dein Repo. Zähl die Dateien mit Namen wie utils.py, helpers.js, common.go, lib/, services/, manager/. Zähl die Funktionen mit Namen wie process, handle, run, execute, do.
Jeder davon ist eine Stelle, an der das Modell raten muss. Jeder davon ist eine Stelle, an der Du einen längeren Prompt schreiben musst, um zu kompensieren. Jeder davon ist ein Absatz, den Du nie wieder schreiben musst, wenn Du jetzt umbenennst.
Der Grund, warum Context Engineering schwer wirkt, ist, dass Du beim Retrieval lösen willst, was beim Benennen hätte gelöst werden sollen. Du kannst Dich nicht aus einer vagen Ordnerstruktur grep-en. Du kannst Dich nicht aus process() per Embedding-Search befreien. Das Modell stellt dieselbe Frage, die der Senior-Entwickler in Woche eins stellt. Die Antwort war immer: benenne Dinge nach dem, was sie tun, nicht nach dem, was sie sind.
Die Rolle, die schon existierte
Es gibt eine echte Version von Context Engineering. Chunking-Strategie, Embedding-Wahl, Retrieval-Reranker, Evaluation-Harnesses. Diese Arbeit ist echt und schwer.
Das meiste, was diesen Monat Context Engineering genannt wird, ist die Umbenennung, die Du im ursprünglichen PR weggelassen hast.
Ein Context Engineer ist ein Entwickler, der endlich Dinge benennt.
Welche Datei in Deiner Codebase lädt Dein Agent ständig falsch?