Zum Inhalt springen

Wissensbasis

Context Engineering

Techniken für eine schlanke Claude-Code-Sitzung: was MCP-Server an Kontext kosten, Priming statt wachsender CLAUDE.md, Übergabe an frische Agenten, Compact oder Clear.

Verfasst von

Aktualisiert:

Tools 4

Unsere Position. Kontext-Hygiene ist für uns eine Gewohnheit, keine Einstellung. Wir starten bare metal (öffnet in einem neuen Tab) und laden nur, was die aktuelle Aufgabe braucht. Den Füllstand des Kontexts beobachten wir wie einen Build-Status. Recherchiert wird in einem Fenster, umgesetzt dann nach dem geschriebenen Plan in einem frischen.

Das Kontextfenster enthält alles, was der Agent sieht: den System-Prompt, die CLAUDE.md, MCP-Tool-Definitionen, gelesene Dateien und die Unterhaltung selbst. Füllt es sich, beginnt der Agent Abkürzungen zu nehmen, um fertig zu werden, bevor sein Budget aufgebraucht ist (I Didn’t Know These Claude Code Rules (Big Mistake) (öffnet in einem neuen Tab)).

Was unterscheidet es von Prompt Engineering?

Prompt Engineering feilt an einer einzelnen Anfrage. Context Engineering steuert alles drumherum, über viele Schritte hinweg. Ein Agent läuft in einer Schleife und zieht in jedem Durchgang neue Tokens nach. Wie gut sein nächster Schritt wird, hängt deshalb weniger von der Formulierung des ersten Prompts ab. Entscheidend ist, was sich bis dahin im Fenster angesammelt hat (Anthropic - Effective context engineering for AI agents (öffnet in einem neuen Tab)).

Wie haltet ihr das Kontextfenster klein?

Jede Kontext-Technik verkleinert entweder, was der Hauptagent mitträgt, oder verlagert Arbeit in ein anderes Fenster.

Es gibt nur zwei Wege, euer Kontextfenster zu steuern:

  1. Reduzieren: Unnötige Tokens aus dem Hauptagenten heraushalten
  2. Delegieren: Arbeit an Subagents oder Hintergrund-Agenten mit eigenem Kontextfenster abgeben

Jede Technik des Context Engineering lässt sich einem dieser Wege zuordnen oder beiden.

“A focused agent is a performant agent.” – Elite Context Engineering with Claude Code (öffnet in einem neuen Tab)

Wie viel Kontext kosten MCP-Server?

Standardmäßig geladene MCP-Server verbrauchen Kontext, bevor die Arbeit überhaupt beginnt.

In der eigenen Sitzung des Sprechers belegten die standardmäßig geladenen MCP-Tools in Claude Code mit Opus 24.100 Tokens, also 12 % des verfügbaren Kontextfensters (Elite Context Engineering with Claude Code (öffnet in einem neuen Tab)).

Abhilfe:

  1. Löscht eure Standard-Datei .mcp.json
  2. Ladet MCP-Server bei Bedarf: claude --mcp-config path/to/specific-config.json
  3. Verhindert mit --strict-mcp-config, dass globale Server geladen werden
  4. Prüft das Ergebnis mit dem Befehl /context
# Load only the specific MCP server you need:
claude --mcp-config .mcp-firecrawl-4k.json

# Verify:
/context
# Should show ~92% free on startup

“Be very conscious with the state going into your context window. There are many places to be wasteful as an engineer. The context window of your agents is not one of them.” – Elite Context Engineering with Claude Code (öffnet in einem neuen Tab)

Wie ladet ihr nur die MCP-Server, die eine Sitzung braucht?

Verteilt die MCP-Server auf getrennte Konfigurationsdateien und übergebt nur die, die eine Sitzung braucht.

Claude Code nimmt in einer Sitzung mehrere --mcp-config-Dateien an. So könnt ihr jeden MCP-Server in eine eigene Konfigurationsdatei legen und beim Start nur die kombinieren, die ihr braucht (LATEST Claude Code Features & Tools (öffnet in einem neuen Tab)).

claude --mcp-config browser-automation.json --mcp-config supabase-readonly.json

Vorteil: Das ist sauberer, als alles in eine einzige .mcp.json zu packen. Ihr ladet pro Sitzung nur, was ihr braucht. Und ihr könnt eine Nur-Lese- und eine Schreib-Version desselben Dienstes getrennt halten.

Kontext primen oder CLAUDE.md wachsen lassen?

Beschränkt die CLAUDE.md auf das allgemein Nötige und ladet den Kontext für die Aufgabe mit einem Priming-Befehl.

Problem: Die CLAUDE.md wird immer geladen, und sie wächst nur. Eine CLAUDE.md mit 23.000 Tokens belegt 10 % eures Opus-Kontextfensters (Elite Context Engineering with Claude Code (öffnet in einem neuen Tab)).

“Large CLAUDE.md will impact performance. The CLAUDE.md file is incredible for one reason: it’s a reusable memory file that’s always loaded. Simultaneously, it’s terrible for the exact same reason.” – Elite Context Engineering with Claude Code (öffnet in einem neuen Tab)

Lösung: Schrumpft die CLAUDE.md auf das absolut allgemein Nötige (~43 Zeilen, ~350 Tokens). Den Rest ersetzt Context Priming über eigene Slash-Commands.

Context Priming heißt: Ein eigener, wiederverwendbarer Prompt (/prime) baut den Anfangskontext eures Agenten gezielt für die Art der anstehenden Aufgabe auf.

Umsetzung:

.claude/commands/prime.md          # General codebase understanding
.claude/commands/prime-cc.md       # Prime for Claude Code file operations
.claude/commands/prime-feature.md  # Prime for feature work
.claude/commands/prime-bug.md      # Prime for bug investigation

Beispiel für den Aufbau eines Prime-Befehls:

# Prime: General Codebase Understanding

## Purpose

Execute the workflow and report sections to understand the codebase and summarize your understanding.

## Workflow

1. Run: Read the README.md
2. Read: Review the directory structure

## Report

Summarize your understanding of the codebase architecture.

“Instead of relying on a static always-loaded memory file, we’re using context priming to gain full control over the initial context of our agents.” – Elite Context Engineering with Claude Code (öffnet in einem neuen Tab)

Regel: In eure CLAUDE.md gehört nur, was ihr zu 100 % sicher zu 100 % der Zeit geladen haben wollt.

Wie übergebt ihr den vollen Kontext an einen frischen Agenten?

Ein per Hook erzeugtes Protokoll der Tool Calls lässt einen frischen Agenten den wesentlichen Stand einer Sitzung nachspielen.

Mit Hooks in Claude Code legt ihr während einer Sitzung ein Protokoll der Tool Calls an, an das nur angehängt wird. Dieses “Context Bundle” spielt den wesentlichen Stand in einen frischen Agenten ein (Elite Context Engineering with Claude Code (öffnet in einem neuen Tab)).

So funktioniert es:

  1. Ein post-tool-use-Hook schreibt jeden Tool Call (Tool-Name, Eingabe, Ausgabe) in eine Bundle-Datei für die jeweilige Sitzung
  2. Die Bundle-Dateien liegen geordnet nach day/hour/session-id
  3. Läuft der Kontext über, startet ihr eine neue Claude-Code-Instanz
  4. /load-bundle <path> spielt die wesentlichen Lese- und Schreibvorgänge der vorigen Sitzung nach
  5. Der neue Agent baut ein Verständnis der bisherigen Arbeit auf, ohne alle Tokens zu verbrauchen

Wichtiges Detail: Bundles halten NICHT jeden Vorgang in allen Einzelheiten fest. Sie kürzen auf das Nötige zum Nachspielen: welche Dateien gelesen wurden, welche Prompts kamen, was geschrieben wurde. So sprengt das Bundle nicht selbst den Kontext des nächsten Agenten.

# .claude/commands/load-bundle.md

Load the context bundle at $ARGUMENTS and deduplicate read commands.
Create an understanding of the work done up till this point.

Warum Planung und Umsetzung in getrennten Kontextfenstern?

Nutzt ein Kontextfenster für die Planung und startet für die Umsetzung ein frisches.

Das erste Kontextfenster gehört der Planung und Recherche. Für die Umsetzung öffnet ihr ein separates, frisches Kontextfenster.

Schritte:

  1. Öffnet Claude Code, beschreibt die Aufgabe und lasst Claude Code alles durchdenken und planen (die Tokens fließen in die Recherche)
  2. Lasst den Plan in einer Markdown-Datei speichern
  3. Öffnet ein neues Kontextfenster
  4. Fügt den Pfad zur Plan-Datei ein und gebt den Auftrag zur Umsetzung

“Use a different prompt for the very first context window of a major thing that you are doing. First context window for planning, separate context windows to actually implement.” – I Didn’t Know These Claude Code Rules (Big Mistake) (öffnet in einem neuen Tab)

Warum das funktioniert: Der Planungskontext verbraucht seine Tokens für die Erkundung. Der Umsetzungskontext startet frisch mit einem fokussierten Plan und holt so die beste Qualität heraus.

Wie verhindert ihr, dass der Agent kurz vor dem Limit Abkürzungen nimmt?

Sagt dem Agenten, dass die automatische Compaction den Überlauf auffängt. Dann hetzt er nicht mehr zum Abschluss.

Claude Code nimmt Abkürzungen, sobald es sich dem Limit seines Kontextfensters nähert. Dagegen könnt ihr etwas tun.

Diesen Prompt ergänzen (im System-Prompt oder inline):

Your context window will be automatically compacted as it approaches its limit,
which allows you to continue working infinitely from where it left off.
Therefore, do not stop tasks early due to token budget concerns.
As you approach your token budget limit, save your progress to state memory
and continue working systematically until the task is complete.

“The way Claude Code works is that once it approaches its context window limit, it starts cutting corners. It’s thinking ‘I need to complete this before my token allocation runs out.’ So it’s optimizing for finishing the task.” – I Didn’t Know These Claude Code Rules (Big Mistake) (öffnet in einem neuen Tab)

Compact oder Clear?

Den Fortschritt in eine Datei sichern und das Fenster mit Clear leeren ist besser als Compact.

Alter Ansatz: Das Fenster mit Compact verdichten und Instruktionen ergänzen, die den Stand festhalten. Besserer Ansatz: Den Fortschritt in eine To-do- oder Fortschrittsdatei sichern, den Kontext leeren und auf die Datei verweisen.

“When in doubt, clear it out.” – I Didn’t Know These Claude Code Rules (Big Mistake) (öffnet in einem neuen Tab)

Verwandte Seiten

Quellen

Artikel

Talks und Videos