agent:~/.claude$ cat agent-architecture.md

Agent-Architektur: Aufbau KI-gestützter Entwicklungs-Harnesses

# Das komplette System zum Aufbau produktionsreifer KI-Agent-Harnesses. Skills, Hooks, Memory, Subagents, Multi-Agent-Orchestrierung und die Muster, die KI-Coding-Agents zu zuverlässiger Infrastruktur machen.

words: 11598 read_time: 58m updated: 2026-05-09 06:49
$ less agent-architecture.md

TL;DR: Claude Code ist keine Chatbox mit Dateizugriff. Es ist eine programmierbare Laufzeitumgebung mit 29 dokumentierten Lebenszyklus-Events, von denen jedes mit Shell-Skripten gehookt werden kann, die das Modell nicht überspringen kann. Stapeln Sie Hooks zu Dispatchern, Dispatcher zu Skills, Skills zu Agents, Agents zu Workflows – und Sie erhalten ein autonomes Entwicklungs-Harness, das Beschränkungen durchsetzt, Arbeit delegiert, Speicher über Sessions hinweg persistiert und Multi-Agent-Deliberation orchestriert. Dieser Leitfaden behandelt jede Ebene dieses Stacks: von einem einzelnen Hook bis zu einem 10-Agent-Konsenssystem. Keine Frameworks erforderlich. Alles bash und JSON.

Andrej Karpathy hat einen Begriff geprägt für das, was um einen LLM-Agent herum wächst: claws. Die Hooks, Skripte und Orchestrierung, die es dem Agent ermöglichen, die Welt außerhalb seines Kontextfensters zu greifen.1 Die meisten Entwickler behandeln KI-Coding-Agents als interaktive Assistenten. Sie tippen einen Prompt, beobachten, wie er eine Datei bearbeitet, und ziehen weiter. Diese Sichtweise begrenzt die Produktivität auf das, was Sie persönlich überwachen können.

Das mentale Modell der Infrastruktur ist ein anderes: Ein KI-Coding-Agent ist eine programmierbare Laufzeitumgebung mit einem LLM-Kernel. Jede Aktion, die das Modell ausführt, läuft durch Hooks, die Sie kontrollieren. Sie definieren Richtlinien, keine Prompts. Das Modell operiert innerhalb Ihrer Infrastruktur auf die gleiche Weise, wie ein Webserver innerhalb der nginx-Regeln operiert. Sie sitzen nicht am nginx und tippen Anfragen ein. Sie konfigurieren es, deployen es und überwachen es.

Diese Unterscheidung ist wichtig, weil Infrastruktur kumulativ wirkt. Ein Hook, der Credentials in Bash-Befehlen blockiert, schützt jede Session, jeden Agent, jeden autonomen Lauf. Ein Skill, das Ihre Bewertungsrubrik kodiert, wird konsistent angewendet, ob Sie es aufrufen oder ein Agent es tut. Ein Agent, der Code auf Sicherheit überprüft, führt die gleichen Checks durch, ob Sie zusehen oder nicht.2


Wichtigste Erkenntnisse

  • Hooks garantieren Ausführung; Prompts tun das nicht. Verwenden Sie Hooks für Linting, Formatierung, Sicherheitsprüfungen und alles, was jedes Mal unabhängig vom Modellverhalten laufen muss. Exit-Code 2 blockiert Aktionen. Exit-Code 1 warnt lediglich.3
  • Skills kodieren Domänenexpertise, die automatisch aktiviert wird. Das Feld description bestimmt alles. Claude nutzt LLM-Reasoning (kein Keyword-Matching), um zu entscheiden, wann ein Skill angewendet werden soll.4
  • Subagents verhindern Kontext-Aufblähung. Isolierte Kontextfenster für Exploration und Analyse halten die Hauptsession schlank. Führen Sie unabhängige Subagents parallel aus und setzen Sie Agent-Teams ein, wenn Worker dauerhafte Koordination benötigen.5
  • Speicher lebt im Dateisystem. Dateien überdauern Kontextfenster. CLAUDE.md, MEMORY.md, Regelverzeichnisse und Handoff-Dokumente bilden ein strukturiertes externes Speichersystem.6
  • Multi-Agent-Deliberation deckt blinde Flecken auf. Einzelne Agents können ihre eigenen Annahmen nicht hinterfragen. Zwei unabhängige Agents mit unterschiedlichen Bewertungsprioritäten erkennen strukturelle Fehler, die Quality Gates nicht adressieren können.7
  • Das Harness-Muster ist das System. CLAUDE.md, Hooks, Skills, Agents und Speicher sind keine unabhängigen Funktionen. Sie komponieren sich zu einer deterministischen Schicht zwischen Ihnen und dem Modell, die mit Automatisierung skaliert.

Wie Sie diesen Leitfaden nutzen

Erfahrung Hier starten Dann erkunden
Claude Code täglich nutzen, mehr wollen The Harness Pattern Skills System, Hook Architecture
Autonome Workflows bauen Subagent Patterns Multi-Agent Orchestration, Production Patterns
Agent-Architektur evaluieren Why Agent Architecture Matters Decision Framework, Security Considerations
Ein Team-Harness aufsetzen CLAUDE.md Design Hook Architecture, Quick Reference Card

Jeder Abschnitt baut auf dem vorherigen auf. Das Decision Framework am Ende bietet eine Nachschlagetabelle zur Auswahl des richtigen Mechanismus für jeden Problemtyp.


Der Fünf-Minuten-Goldpfad

Vor dem tiefen Einstieg hier der kürzeste Weg von null zu einem funktionierenden Harness. Ein Hook, ein Skill, ein Subagent, ein Ergebnis.

Schritt 1: Einen Security-Hook erstellen (2 Minuten)

Erstellen Sie .claude/hooks/block-secrets.sh:

#!/bin/bash
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command // empty')
if echo "$CMD" | grep -qEi '(AKIA|sk-|ghp_|password=)'; then
    echo "BLOCKED: Potential secret in command" >&2
    exit 2
fi

Verdrahten Sie ihn in .claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [{ "type": "command", "command": ".claude/hooks/block-secrets.sh" }]
      }
    ]
  }
}

Ergebnis: Jeder Bash-Befehl, den Claude ausführt, wird nun auf durchgesickerte Anmeldeinformationen geprüft. Das Modell kann diese Prüfung nicht umgehen.

Schritt 2: Einen Code-Review-Skill erstellen (1 Minute)

Erstellen Sie .claude/skills/reviewer/SKILL.md mit Frontmatter (name: reviewer, description: Review code for security issues, bugs, and quality problems. Use when examining changes, reviewing PRs, or auditing code., allowed-tools: Read, Grep, Glob) und einer Checkliste: SQL-Injection, XSS, fest codierte Secrets, fehlende Fehlerbehandlung, Funktionen mit mehr als 50 Zeilen.

Ergebnis: Claude aktiviert diese Expertise automatisch, sobald Sie Review, Check oder Audit erwähnen.

Schritt 3: Einen Subagenten starten (30 Sekunden)

Bitten Sie Claude in einer beliebigen Claude Code-Sitzung, die letzten drei Commits mithilfe eines separaten Agenten auf Sicherheitsprobleme zu überprüfen. Claude startet einen Explore-Agenten, der das Diff liest, Ihren Review-Skill anwendet und eine Zusammenfassung zurückgibt. Ihr Hauptkontext bleibt sauber.

Was Sie jetzt haben

Ein dreischichtiges Harness: ein deterministisches Security-Gate (Hook), Domänenexpertise, die sich automatisch aktiviert (Skill), und isolierte Analyse, die Ihren Kontext schützt (Subagent). Jeder folgende Abschnitt vertieft eine dieser drei Schichten.


Warum Agentenarchitektur wichtig ist

Simon Willison bringt den aktuellen Moment auf eine einzige Beobachtung: Code zu schreiben ist jetzt billig.8 Stimmt. Die Folge ist jedoch, dass die Verifikation nun den teuren Teil ausmacht. Billiger Code ohne Verifikationsinfrastruktur produziert Bugs in großem Maßstab. Die Investition, die sich auszahlt, ist nicht ein besserer Prompt. Es ist das System um das Modell herum, das einfängt, was das Modell übersieht.

Drei Kräfte machen Agentenarchitektur notwendig:

Kontextfenster sind endlich und verlustbehaftet. Jeder Dateilesezugriff, jede Tool-Ausgabe und jede Gesprächsrunde verbraucht Tokens. Microsoft Research und Salesforce haben 15 LLMs in über 200.000 simulierten Konversationen getestet und fanden einen durchschnittlichen Leistungsabfall von 39 % vom Einzelturn zur Mehrfachturn-Interaktion.9 Die Verschlechterung beginnt bereits nach zwei Runden und folgt einer vorhersagbaren Kurve: Präzise Multi-Datei-Bearbeitungen in den ersten 30 Minuten verkommen bis zur 90. Minute zu Tunnelblick auf eine einzelne Datei. Längere Kontextfenster beheben das nicht. Die Bedingung „Concat” derselben Studie (vollständige Konversation als einzelner Prompt) erreichte 95,1 % der Einzelturn-Leistung bei identischem Inhalt. Die Verschlechterung stammt von den Turn-Grenzen, nicht von Token-Limits.

Modellverhalten ist probabilistisch, nicht deterministisch. Claude anzuweisen „Führe Prettier nach jedem Dateibearbeiten aus” funktioniert in etwa 80 % der Fälle.3 Das Modell könnte es vergessen, Geschwindigkeit priorisieren oder entscheiden, dass die Änderung „zu klein” ist. Für Compliance, Sicherheit und Team-Standards sind 80 % nicht akzeptabel. Hooks garantieren die Ausführung: jedes Edit oder Write löst Ihren Formatter aus, jedes Mal, ohne Ausnahmen. Deterministisch schlägt probabilistisch.

Einzelperspektiven übersehen mehrdimensionale Probleme. Ein einzelner Agent, der einen API-Endpoint überprüfte, kontrollierte Authentifizierung, validierte die Eingabesanitierung und verifizierte CORS-Header. Sauberer Gesundheitsbefund. Ein zweiter Agent, separat als Penetration Tester instruiert, entdeckte, dass der Endpoint unbegrenzte Query-Parameter akzeptierte, die einen Denial-of-Service durch Datenbankabfrage-Amplifikation auslösen konnten.7 Der erste Agent hatte nie geprüft, weil nichts in seinem Bewertungsrahmen Query-Komplexität als Sicherheitsfläche behandelte. Diese Lücke ist strukturell. Keine Menge an Prompt-Engineering behebt das.

Agentenarchitektur adressiert alle drei Punkte: Hooks erzwingen deterministische Einschränkungen, Subagenten verwalten die Kontextisolation, und Multi-Agent-Orchestrierung liefert unabhängige Perspektiven. Zusammen bilden sie das Harness.


Das Harness-Muster

Das Harness ist kein Framework. Es ist ein Muster: ein zusammensetzbarer Satz von Dateien, Skripten und Konventionen, der einen AI-Coding-Agenten in deterministische Infrastruktur einhüllt. Die Komponenten:

┌──────────────────────────────────────────────────────────────┐
│                      THE HARNESS PATTERN                      │
├──────────────────────────────────────────────────────────────┤
│  ORCHESTRATION                                                │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐             │
│  │   Agent     │  │   Agent    │  │  Consensus │             │
│  │   Teams     │  │  Spawning  │  │  Validation│             │
│  └────────────┘  └────────────┘  └────────────┘             │
│  Multi-agent deliberation, parallel research, voting          │
├──────────────────────────────────────────────────────────────┤
│  EXTENSION LAYER                                              │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐    │
│  │  Skills   │  │  Hooks   │  │  Memory  │  │  Agents  │    │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘    │
│  Domain expertise, deterministic gates, persistent state,     │
│  specialized subagents                                        │
├──────────────────────────────────────────────────────────────┤
│  INSTRUCTION LAYER                                            │
│  ┌──────────────────────────────────────────────────────┐    │
│  │     CLAUDE.md  +  .claude/rules/  +  MEMORY.md       │    │
│  └──────────────────────────────────────────────────────┘    │
│  Project context, operational policy, cross-session memory    │
├──────────────────────────────────────────────────────────────┤
│  CORE LAYER                                                   │
│  ┌──────────────────────────────────────────────────────┐    │
│  │           Main Conversation Context (LLM)             │    │
│  └──────────────────────────────────────────────────────┘    │
│  Your primary interaction; finite context; costs money        │
└──────────────────────────────────────────────────────────────┘

Instruction Layer: CLAUDE.md-Dateien und Regelverzeichnisse definieren, was der Agent über Ihr Projekt weiß. Sie werden automatisch beim Sitzungsstart und nach jeder Komprimierung geladen. Dies ist das langfristige Architekturgedächtnis des Agenten.

Extension Layer: Skills bieten Domänenexpertise, die sich kontextbasiert automatisch aktiviert. Hooks bieten deterministische Gates, die bei jedem passenden Tool-Aufruf ausgelöst werden. Memory-Dateien erhalten den Zustand über Sitzungen hinweg. Custom Agents bieten spezialisierte Subagent-Konfigurationen.

Orchestration Layer: Multi-Agent-Muster koordinieren unabhängige Agenten für Recherche, Review und Deliberation. Spawn-Budgets verhindern unkontrollierte Rekursion. Konsensvalidierung sichert die Qualität.

Die zentrale Erkenntnis: Die meisten Benutzer arbeiten ausschließlich im Core Layer und beobachten, wie Kontext und Kosten in die Höhe schnellen. Power-User konfigurieren die Instruction- und Extension-Layer und nutzen den Core Layer dann nur noch für Orchestrierung und finale Entscheidungen.2

Managed vs. Self-Hosted Harnesses (April 2026)

Anfang 2026 war der Pfad „Bauen Sie Ihr eigenes Harness” die einzige reale Option. Im April 2026 änderte sich das. Anthropic veröffentlichte Claude Managed Agents in der öffentlichen Beta (8. April): Harness-Loop + Tool-Ausführung + Sandbox-Container + State-Persistenz als REST API, abgerechnet zu Standard-Tokens plus 0,08 $/Sitzungsstunde. OpenAIs Agents SDK-Update (16. April) formalisierte dieselbe Aufteilung — Harness und Compute als getrennte Layer, mit nativen Sandbox-Anbietern (Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel) und Snapshot/Rehydrate, um Container-Verlust zu überstehen.2324

Die tiefere SDK-Oberfläche auf der OpenAI-Seite landete in openai-agents Python v0.14.0 (veröffentlicht am 15. April 2026; angekündigt am 16. April): eine SandboxAgent-Subklasse von Agent mit default_manifest, Sandbox-Anweisungen und Fähigkeiten; ein Manifest, das den Fresh-Workspace-Vertrag beschreibt (Dateien, Verzeichnisse, lokale Dateien, Git-Repos, env, Benutzer, Mounts); eine SandboxRunConfig für die laufspezifische Verdrahtung von Sandbox-Client, Live-Session-Injection, Manifest-Overrides, Snapshots und Materialisierungs-Parallelitätslimits. Eingebaute Fähigkeiten umfassen Shell-Zugriff, Dateisystem-Bearbeitung, Bildinspektion, Skills, Sandbox-Memory und Komprimierung. Sandbox-Memory bewahrt extrahierte Lehren über Läufe hinweg und legt sie progressiv offen; Workspaces unterstützen lokale Dateien, Git-Repo-Einträge und Remote-Mounts (S3, R2, GCS, Azure Blob, S3 Files); Snapshots sind anbieterübergreifend portierbar. Backends: UnixLocalSandboxClient, DockerSandboxClient sowie gehostete Clients für Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop und Vercel über optionale Extras.24

Für Python-Projekte, die die Claude Code-Laufzeit als Bibliothek einbetten möchten — zwischen „shell out zu claude” und „REST API zu Managed Agents” — ist claude-agent-sdk-python die dritte Option. Die Serie vom 28.–29. April (v0.1.69 → v0.1.71) hob die mitgelieferte CLI auf v2.1.123 an, hob die Untergrenze der mcp-Abhängigkeit auf >=1.19.0 (ältere Versionen ließen CallToolResult-Rückgaben aus In-Process-MCP-Tools stillschweigend fallen, sodass das Modell mit einem Validierungsfehler-Blob zurückblieb) und brachte SandboxNetworkConfig auf Schema-Parität mit dem TypeScript SDK (allowedDomains, deniedDomains, allowManagedDomainsOnly, allowMachLookup).30

Die architektonische Weggabelung ist nun real:

Dimension Self-Hosted Harness (Standard dieses Leitfadens) Managed Harness (Claude Managed Agents / OpenAI Agents SDK)
Betrieblicher Aufwand Sie betreiben alles Anbieter betreibt Loop, Sandbox, State
Anpassbarkeit Total — Ihre Hooks, Ihre Skills, Ihr Memory Begrenzt — anbieterdefinierte Erweiterungspunkte
Kostenmodell Token + selbst gehostete Compute Token + Aufschlag für Laufzeitstunden
State-Beständigkeit Sie entwerfen sie Anbieter-Checkpoints über Verbindungsabbrüche hinweg
Agent-Team-Orchestrierung Bauen Sie selbst Vom Anbieter bereitgestellte Multi-Agent-Koordination

Wann Sie was wählen sollten: Self-Hosted bleibt richtig für Teams, die bereits Infrastrukturkompetenz besitzen, Skills/Hooks unter eigener Kontrolle wünschen oder einen spezifischen Workflow tiefgreifend optimieren. Managed ist richtig für Teams ohne dedizierte Plattform-Ingenieure, wenn Time-to-Value wichtiger als Anpassbarkeit ist, oder wenn Agent-Läufe Laptop-Schließungen zuverlässig überstehen müssen, ohne dass Sie diese Persistenzschicht selbst bauen. Beide sind kompatibel — Sie können ein Self-Hosted Harness betreiben, das spezifische langlaufende Aufgaben über dessen REST API an Managed Agents delegiert.

Wie das Harness auf der Festplatte aussieht

~/.claude/
├── CLAUDE.md                    # Personal global instructions
├── settings.json                # User-level hooks and permissions
├── skills/                      # Personal skills (44+)
   ├── code-reviewer/SKILL.md
   ├── security-auditor/SKILL.md
   └── api-designer/SKILL.md
├── agents/                      # Custom subagent definitions
   ├── security-reviewer.md
   └── code-explorer.md
├── rules/                       # Categorized rule files
   ├── security.md
   ├── testing.md
   └── git-workflow.md
├── hooks/                       # Hook scripts
   ├── validate-bash.sh
   ├── auto-format.sh
   └── recursion-guard.sh
├── configs/                     # JSON configuration
   ├── recursion-limits.json
   └── deliberation-config.json
├── state/                       # Runtime state
   ├── recursion-depth.json
   └── agent-lineage.json
├── handoffs/                    # Session handoff documents
   └── deliberation-prd-7.md
└── projects/                    # Per-project memory
    └── {project}/memory/MEMORY.md

.claude/                         # Project-level (in repo)
├── CLAUDE.md                    # Project instructions
├── settings.json                # Project hooks
├── skills/                      # Team-shared skills
├── agents/                      # Team-shared agents
└── rules/                       # Project rules

Jede Datei in dieser Struktur erfüllt einen Zweck. Der ~/.claude/-Baum ist persönliche Infrastruktur, die für alle Projekte gilt. Der .claude/-Baum in jedem Repository ist projektspezifisch und wird über Git geteilt. Zusammen bilden sie das vollständige Harness.


Skills-System

Skills sind modellaufgerufene Erweiterungen. Claude erkennt und wendet sie automatisch basierend auf dem Kontext an, ohne dass Sie sie explizit aufrufen müssen.4 Sobald Sie sich dabei ertappen, denselben Kontext über mehrere Sitzungen hinweg erneut zu erklären, ist es Zeit, ein Skill zu erstellen.

Wann Sie ein Skill erstellen sollten

Situation Erstellen Sie ein… Warum
Sie fügen jede Sitzung dieselbe Checkliste ein Skill Domänenwissen, das sich automatisch aktiviert
Sie führen explizit dieselbe Befehlssequenz aus Slash-Befehl Vom Benutzer aufgerufene Aktion mit vorhersehbarem Auslöser
Sie benötigen eine isolierte Analyse, die den Kontext nicht belasten soll Subagent Separates Kontextfenster für fokussierte Arbeit
Sie benötigen eine einmalige Eingabe mit spezifischen Anweisungen Nichts Tippen Sie es einfach ein. Nicht alles braucht eine Abstraktion.

Skills sind für Wissen, das Claude jederzeit verfügbar hat. Slash-Befehle sind für Aktionen, die Sie explizit auslösen. Wenn Sie zwischen den beiden entscheiden müssen, fragen Sie sich: „Soll Claude dies automatisch anwenden oder soll ich entscheiden, wann es ausgeführt wird?”

Ein Skill erstellen

Skills befinden sich an vier möglichen Orten, vom breitesten zum engsten Geltungsbereich:4

Geltungsbereich Speicherort Gilt für
Unternehmen Verwaltete Einstellungen Alle Benutzer in der Organisation
Persönlich ~/.claude/skills/<name>/SKILL.md Alle Ihre Projekte
Projekt .claude/skills/<name>/SKILL.md Nur dieses Projekt
Plugin <plugin>/skills/<name>/SKILL.md Wo das Plugin aktiviert ist

Jedes Skill benötigt eine SKILL.md-Datei mit YAML-Frontmatter:

---
name: code-reviewer
description: Review code for security vulnerabilities, performance issues,
  and best practice violations. Use when examining code changes, reviewing
  PRs, analyzing code quality, or when asked to review, audit, or check code.
allowed-tools: Read, Grep, Glob
---

# Code Review Expertise

## Security Checks
When reviewing code, verify:

### Input Validation
- All user input sanitized before database operations
- Parameterized queries (no string interpolation in SQL)
- Output encoding for rendered HTML content

### Authentication
- Session tokens validated on every protected endpoint
- Permission checks before data mutations
- No hardcoded credentials or API keys in source

Frontmatter-Referenz

Feld Erforderlich Zweck
name Ja Eindeutiger Bezeichner (Kleinbuchstaben, Bindestriche, max. 64 Zeichen)
description Ja Auslöser für die Erkennung (max. 1024 Zeichen). Claude verwendet dies, um zu entscheiden, wann das Skill angewendet wird
allowed-tools Nein Schränkt die Fähigkeiten von Claude ein (z. B. Read, Grep, Glob für nur lesenden Zugriff)
disable-model-invocation Nein Verhindert die automatische Aktivierung; das Skill wird nur über /skill-name aktiviert
user-invocable Nein Auf false setzen, um es vollständig aus dem /-Menü auszublenden
model Nein Überschreibt das zu verwendende Modell, wenn das Skill aktiv ist
context Nein Auf fork setzen, um in einem isolierten Kontextfenster ausgeführt zu werden
agent Nein Als Subagent mit eigenem isoliertem Kontext ausführen
hooks Nein Definiert Lebenszyklus-Hooks, die auf dieses Skill beschränkt sind
$ARGUMENTS Nein String-Ersetzung: wird durch die Benutzereingabe nach /skill-name ersetzt

Das Description-Feld ist alles

Beim Sitzungsstart extrahiert Claude Code den name und die description jedes Skills und fügt sie in den Kontext von Claude ein. Wenn Sie eine Nachricht senden, verwendet Claude Sprachmodell-Reasoning, um zu entscheiden, ob ein Skill relevant ist. Eine unabhängige Analyse des Quellcodes von Claude Code bestätigt den Mechanismus: Skill-Beschreibungen werden in einen available_skills-Abschnitt des System-Prompts eingefügt, und das Modell verwendet standardmäßiges Sprachverständnis, um relevante Skills auszuwählen.10

Schlechte Beschreibung:

description: Helps with code

Wirksame Beschreibung:

description: Review code for security vulnerabilities, performance issues,
  and best practice violations. Use when examining code changes, reviewing
  PRs, analyzing code quality, or when asked to review, audit, or check code.

Die wirksame Beschreibung enthält: was es tut (Code auf bestimmte Problemtypen überprüfen), wann es verwendet werden soll (Untersuchung von Änderungen, PRs, Qualitätsanalyse) und Auslöserphrasen (review, audit, check), die Benutzer auf natürliche Weise eintippen.

Kontextbudget

Alle Skill-Beschreibungen teilen sich ein Kontextbudget, das dynamisch auf 1 % des Kontextfensters skaliert, mit einem Fallback von 8.000 Zeichen.4 Wenn Sie viele Skills haben, halten Sie jede Beschreibung knapp und stellen Sie den wichtigsten Anwendungsfall an den Anfang. Sie können das Budget über die Umgebungsvariable SLASH_COMMAND_TOOL_CHAR_BUDGET überschreiben,11 aber die bessere Lösung sind kürzere, präzisere Beschreibungen. Führen Sie während einer Sitzung /context aus, um zu überprüfen, ob Skills ausgeschlossen werden.

Unterstützende Dateien und Organisation

Skills können auf zusätzliche Dateien im selben Verzeichnis verweisen:

~/.claude/skills/code-reviewer/
├── SKILL.md                    # Required: frontmatter + core expertise
├── SECURITY_PATTERNS.md        # Referenced: detailed vulnerability patterns
└── PERFORMANCE_CHECKLIST.md    # Referenced: optimization guidelines

Verweisen Sie aus SKILL.md mit relativen Links auf sie. Claude liest diese Dateien bei Bedarf, wenn das Skill aktiviert wird. Halten Sie SKILL.md unter 500 Zeilen und verschieben Sie detailliertes Referenzmaterial in unterstützende Dateien.12

Skills über Git teilen

Projekt-Skills (.claude/skills/ im Repo-Root) werden über die Versionskontrolle geteilt:4

mkdir -p .claude/skills/domain-expert
# ... write SKILL.md ...
git add .claude/skills/
git commit -m "feat: add domain-expert skill for payment processing rules"
git push

Wenn Teamkollegen pullen, erhalten sie das Skill automatisch. Keine Installation, keine Konfiguration. Dies ist der wirksamste Weg, um Expertise im Team zu standardisieren.

Skills als Prompt-Bibliothek

Über Skills mit einem einzigen Zweck hinaus funktioniert die Verzeichnisstruktur als organisierte Prompt-Bibliothek:

~/.claude/skills/
├── code-reviewer/          # Activates on: review, audit, check
├── api-designer/           # Activates on: design API, endpoint, schema
├── sql-analyst/            # Activates on: query, database, migration
├── deploy-checker/         # Activates on: deploy, release, production
└── incident-responder/     # Activates on: error, failure, outage, debug

Jedes Skill kodiert eine andere Facette Ihres Fachwissens. Zusammen bilden sie eine Wissensbasis, aus der Claude je nach Kontext automatisch schöpft. Ein Junior-Entwickler erhält Anleitung auf Senior-Niveau, ohne danach fragen zu müssen.

Skills lassen sich mit Hooks kombinieren

Skills können in ihrem Frontmatter eigene Hooks definieren, die nur während der Ausführung des Skills aktiviert werden. Dadurch entsteht domänenspezifisches Verhalten, das andere Sitzungen nicht belastet:2

---
name: deploy-checker
description: Verify deployment readiness. Use when preparing to deploy,
  release, or push to production.
hooks:
  PreToolUse:
    - matcher: Bash
      hooks:
        - type: command
          command: "bash -c 'INPUT=$(cat); CMD=$(echo \"$INPUT\" | jq -r \".tool_input.command\"); if echo \"$CMD\" | grep -qE \"deploy|release|publish\"; then echo \"DEPLOYMENT COMMAND DETECTED. Running pre-flight checks.\" >&2; fi'"
---

Philosophie-Skills aktivieren sich automatisch über SessionStart-Hooks und injizieren Qualitätsbeschränkungen in jede Sitzung, ohne explizit aufgerufen zu werden. Das Skill selbst ist Wissen. Der Hook ist die Durchsetzung. Zusammen bilden sie eine Policy-Schicht.

Häufige Fehler bei Skills

Zu breite Beschreibungen. Ein git-rebase-helper-Skill, das sich bei jedem git-bezogenen Prompt aktiviert (Rebases, Merges, Cherry-Picks, sogar git status), belastet den Kontext bei 80 % der Sitzungen. Die Lösung besteht entweder darin, die Beschreibung zu verschärfen oder disable-model-invocation: true hinzuzufügen und den expliziten Aufruf über /skill-name zu erzwingen.4

Zu viele Skills konkurrieren um das Budget. Mehr Skills bedeuten mehr Beschreibungen, die um das 1 %-Kontextbudget konkurrieren. Wenn Sie feststellen, dass Skills nicht aktiviert werden, prüfen Sie mit /context, welche ausgeschlossen wurden. Bevorzugen Sie wenige, gut beschriebene Skills gegenüber vielen vagen.

Wichtige Informationen in unterstützenden Dateien vergraben. Claude liest SKILL.md sofort, greift aber nur bei Bedarf auf unterstützende Dateien zu. Wenn wichtige Informationen in einer unterstützenden Datei stehen, findet Claude sie möglicherweise nicht. Stellen Sie wesentliche Informationen direkt in SKILL.md ein.4

SDK-Skill-Oberfläche (8. Mai 2026)

Selbst gehostete Harnesses auf claude-agent-sdk-python v0.1.77+ sollten die skills-Option auf ClaudeAgentOptions verwenden, um verfügbare Skills zu deklarieren, und nicht den veralteten "Skill"-Wert in allowed_tools.37 Die "Skill"-Kurzform ist veraltet, und die dedizierte Option gibt Claude Code strukturiertere Informationen darüber, welche Skills verfügbar sind. Das gebündelte CLI in v0.1.77 ist v2.1.133.

Hook-Architektur

Hooks sind Shell-Befehle, die durch Claude Code-Lebenszyklusereignisse ausgelöst werden.3 Sie laufen außerhalb des LLM als reine Skripte, nicht als Prompts, die vom Modell interpretiert werden. Das Modell will rm -rf / ausführen? Ein 10-zeiliges Bash-Skript prüft den Befehl gegen eine Sperrliste und weist ihn ab, bevor die Shell ihn überhaupt zu Gesicht bekommt. Der Hook feuert, ob das Modell will oder nicht.

Verfügbare Ereignisse

Claude Code stellt zum Zeitpunkt dieser Aktualisierung 29 dokumentierte Lebenszyklusereignisse in acht Kategorien bereit. Die Ereignisliste wächst mit jedem Release, behandeln Sie daher die Referenzdokumentation als maßgebliche Quelle und prüfen Sie das Cheat Sheet auf die aktuelle vollständige Tabelle, bevor Sie produktive Hooks verdrahten:13

Kategorie Ereignisse Blockierbar?
Session SessionStart, Setup, SessionEnd Nein
Benutzer / Abschluss UserPromptSubmit, UserPromptExpansion, Stop, StopFailure, TeammateIdle Prompt/Expansion/Stop/Idle können blockieren; StopFailure kann nicht
Tool PreToolUse, PermissionRequest, PermissionDenied, PostToolUse, PostToolUseFailure, PostToolBatch Pre/Permission/Batch können blockieren; Post-Ereignisse können nicht
Subagent / Task SubagentStart, SubagentStop, TaskCreated, TaskCompleted Stop/Task-Ereignisse können blockieren; Start kann nicht
Kontext PreCompact, PostCompact, InstructionsLoaded PreCompact kann blockieren; Post/Load können nicht
Dateisystem / Workspace CwdChanged, FileChanged, WorktreeCreate, WorktreeRemove Worktree-Erstellung kann blockieren; andere nicht
Konfiguration / Benachrichtigung ConfigChange, Notification Konfigurationsänderungen können blockieren, außer Policy-Einstellungen; Benachrichtigungen können nicht
MCP Elicitation, ElicitationResult Ja

Exit-Code-Semantik

Exit-Codes bestimmen, ob Hooks Aktionen blockieren:3

Exit-Code Bedeutung Aktion
0 Erfolg Operation läuft weiter. Stdout wird im Verbose-Modus angezeigt.
2 Blockierender Fehler Operation stoppt. Stderr wird zur Fehlermeldung, die an Claude zurückgegeben wird.
1, 3, etc. Nicht-blockierender Fehler Operation läuft weiter. Stderr wird nur im Verbose-Modus angezeigt (Ctrl+O).

Kritisch: Jeder Sicherheits-Hook muss exit 2 verwenden, nicht exit 1. Exit 1 ist eine nicht-blockierende Warnung. Der gefährliche Befehl wird trotzdem ausgeführt. Dies ist der häufigste Hook-Fehler in Teams.14

Hook-Konfiguration

Hooks leben in Settings-Dateien. Auf Projektebene (.claude/settings.json) für gemeinsam genutzte Hooks. Auf Benutzerebene (~/.claude/settings.json) für persönliche Hooks:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": ".claude/hooks/validate-bash.sh"
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "bash -c 'if [[ \"$FILE_PATH\" == *.py ]]; then black --quiet \"$FILE_PATH\" 2>/dev/null; fi'"
          }
        ]
      }
    ]
  }
}

Das Feld matcher filtert einen ereignisspezifischen Wert. Bei Tool-Ereignissen passt es auf tool_name-Werte wie Bash, Edit, Write, Read, Glob, Grep, MCP-Tool-Namen wie mcp__server__tool oder * für alle Tools. Einfache Namen und durch | getrennte Listen sind exakte Übereinstimmungen; Werte mit anderen Zeichen werden als reguläre Ausdrücke von JavaScript behandelt. Manche Ereignisse unterstützen keine Matcher und feuern bei Konfiguration immer.13

Hook-Eingabe-/Ausgabe-Protokoll

Hooks empfangen JSON über stdin mit vollem Kontext:

{
  "tool_name": "Bash",
  "tool_input": {
    "command": "npm test",
    "description": "Run test suite"
  },
  "session_id": "abc-123",
  "agent_id": "main",
  "agent_type": "main"
}

Für erweiterte Steuerung können PreToolUse-Hooks JSON ausgeben, um die Tool-Eingabe zu modifizieren, Kontext zu injizieren oder Berechtigungsentscheidungen zu treffen. Verwenden Sie den hookSpecificOutput-Wrapper — das ältere Top-Level-Format decision/reason ist für PreToolUse veraltet:

{
  "hookSpecificOutput": {
    "hookEventName": "PreToolUse",
    "permissionDecision": "allow",
    "permissionDecisionReason": "Command validated and modified",
    "updatedInput": {
      "command": "npm test -- --coverage --ci"
    },
    "additionalContext": "Note: This database has a 5-second query timeout."
  }
}

Drei Arten von Garantien

Bevor Sie einen Hook schreiben, fragen Sie: Welche Art von Garantie brauche ich?14

Formatierungsgarantien stellen nachträglich Konsistenz sicher. PostToolUse-Hooks auf Write/Edit führen Ihren Formatter nach jeder Dateiänderung aus. Die Ausgabe des Modells spielt keine Rolle, weil der Formatter alles normalisiert.

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "bash -c 'if [[ \"$FILE_PATH\" == *.py ]]; then black --quiet \"$FILE_PATH\" 2>/dev/null; elif [[ \"$FILE_PATH\" == *.js ]] || [[ \"$FILE_PATH\" == *.ts ]]; then npx prettier --write \"$FILE_PATH\" 2>/dev/null; fi'"
          }
        ]
      }
    ]
  }
}

Sicherheitsgarantien verhindern gefährliche Aktionen, bevor sie ausgeführt werden. PreToolUse-Hooks auf Bash inspizieren Befehle und blockieren destruktive Muster mit Exit-Code 2:

#!/bin/bash
# validate-bash.sh — block dangerous commands
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command')

if echo "$CMD" | grep -qE "rm\s+-rf\s+/|git\s+push\s+(-f|--force)\s+(origin\s+)?main|git\s+reset\s+--hard|DROP\s+TABLE"; then
    echo "BLOCKED: Dangerous command detected: $CMD" >&2
    exit 2
fi

Qualitätsgarantien validieren den Zustand an Entscheidungspunkten. PreToolUse-Hooks auf git commit-Befehle führen Ihren Linter oder Ihre Test-Suite aus und blockieren den Commit, wenn die Qualitätsprüfungen fehlschlagen:

#!/bin/bash
# quality-gate.sh — lint before commit
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command')

if echo "$CMD" | grep -qE "^git\s+commit"; then
    if ! LINT_OUTPUT=$(ruff check . --select E,F,W 2>&1); then
        echo "LINT FAILED -- fix before committing:" >&2
        echo "$LINT_OUTPUT" >&2
        exit 2
    fi
fi

Hook-Typen jenseits von Shell-Befehlen

Claude Code unterstützt fünf Hook-Typen:13

Command-Hooks (type: "command") führen Shell-Skripte aus. Schnell, deterministisch, keine Token-Kosten.

MCP-Tool-Hooks (type: "mcp_tool") rufen ein Tool auf einem bereits verbundenen MCP-Server auf. Verwenden Sie sie, wenn die Validierungslogik bereits hinter einer MCP-Grenze lebt und kein separates Shell-Skript benötigt.

Prompt-Hooks (type: "prompt") senden einen Single-Turn-Prompt an ein schnelles Claude-Modell. Das Modell gibt { "ok": true } zum Erlauben oder { "ok": false, "reason": "..." } zum Blockieren zurück. Verwenden Sie sie für nuancierte Bewertungen, die Regex nicht ausdrücken kann.

Agent-Hooks (type: "agent") starten einen Subagenten mit Tool-Zugriff (Read, Grep, Glob) für mehrstufige Verifikation. Sie sind experimentell; bevorzugen Sie Command-Hooks für produktive Gates und reservieren Sie Agent-Hooks für Prüfungen, die wirklich das Inspizieren tatsächlicher Dateien oder Testausgaben erfordern:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "agent",
            "prompt": "Verify all unit tests pass. Run the test suite and check results. $ARGUMENTS",
            "timeout": 120
          }
        ]
      }
    ]
  }
}

HTTP-Hooks (type: "http") senden die JSON-Eingabe des Ereignisses als POST-Request an eine URL und empfangen JSON zurück. Verwenden Sie sie für Webhooks, externe Benachrichtigungsdienste oder API-basierte Validierung (v2.1.63+). Nicht unterstützt für SessionStart-Ereignisse:

{
  "hooks": {
    "PostToolUse": [
      {
        "hooks": [
          {
            "type": "http",
            "url": "https://your-webhook.example.com/hook",
            "headers": { "Authorization": "Bearer $WEBHOOK_TOKEN" },
            "allowedEnvVars": ["WEBHOOK_TOKEN"],
            "timeout": 10
          }
        ]
      }
    ]
  }
}

Asynchrone Hooks

Hooks können im Hintergrund laufen, ohne die Ausführung zu blockieren. Fügen Sie async: true für unkritische Operationen wie Benachrichtigungen und Logging hinzu:13

{
  "type": "command",
  "command": ".claude/hooks/notify-slack.sh",
  "async": true
}

Verwenden Sie async für Benachrichtigungen, Telemetrie und Backups. Verwenden Sie async niemals für Formatierung, Validierung oder irgendetwas, das vor der nächsten Aktion abgeschlossen sein muss.

Dispatcher statt unabhängiger Hooks

Sieben Hooks, die alle bei demselben Ereignis feuern und jeweils unabhängig stdin lesen, erzeugen Race Conditions. Zwei Hooks, die gleichzeitig in dieselbe JSON-Zustandsdatei schreiben, werden das JSON abschneiden. Jeder nachgelagerte Hook, der diese Datei parst, bricht zusammen.2

Die Lösung: ein Dispatcher pro Ereignis, der Hooks sequenziell aus zwischengespeichertem stdin ausführt:

#!/bin/bash
# dispatcher.sh — run hooks sequentially with cached stdin
INPUT=$(cat)
HOOK_DIR="$HOME/.claude/hooks/pre-tool-use.d"

for hook in "$HOOK_DIR"/*.sh; do
    [ -x "$hook" ] || continue
    echo "$INPUT" | "$hook"
    EXIT_CODE=$?
    if [ "$EXIT_CODE" -eq 2 ]; then
        exit 2  # Propagate block
    fi
done

Hooks debuggen

Fünf Techniken zum Debuggen von Hooks, die stillschweigend fehlschlagen:14

  1. Skripte unabhängig testen. Beispiel-JSON pipen: echo '{"tool_input":{"command":"git commit -m test"}}' | bash your-hook.sh
  2. Stderr für Debug-Ausgaben verwenden. Stderr bei Exit-Code 2 wird an Claude als Fehlermeldung zurückgegeben. Nicht-blockierendes stderr (exit 1, 3, etc.) erscheint nur im Verbose-Modus (Ctrl+O).
  3. Auf jq-Fehler achten. Falsche JSON-Pfade liefern stillschweigend null. Testen Sie jq-Ausdrücke gegen echte Tool-Eingaben.
  4. Exit-Codes verifizieren. Ein PreToolUse-Hook, der exit 1 verwendet, bietet null Durchsetzung, während er zu funktionieren scheint.
  5. Hooks schnell halten. Hooks laufen synchron. Halten Sie alle Hooks unter 2 Sekunden, idealerweise unter 500ms.

SDK-seitiges Hook-Event-Streaming

Selbst gehostete Harnesses, die auf claude-agent-sdk-python aufbauen (v0.1.74+, 6. Mai 2026), können Hook-Events direkt aus dem Message-Stream abonnieren, statt über Shell-Skript-Callbacks zu gehen.36 Setzen Sie include_hook_events=True auf ClaudeAgentOptions, und HookEventMessage-Objekte (PreToolUse, PostToolUse, Stop und andere) werden aus demselben Iterator wie Assistant-Nachrichten und Tool-Ergebnisse geliefert. Dies spiegelt die includeHookEvents-Option des TypeScript-SDK wider; das gebündelte CLI wurde im selben Release auf v2.1.129 angehoben.

Das Event-Stream-Pattern passt am besten, wenn Ihr Harness ohnehin in Python lebt und Sie Hook-Signale im selben Kontrollfluss wie die Modellausgabe haben möchten. Der Shell-Skript-Hook-Vertrag (Exit-Codes, stdin-JSON, Dispatcher) bleibt die richtige Antwort für Harnesses, die mehrere Tools komponieren, Hooks zwischen Claude Code und Codex teilen oder Exit-Code-Semantik zum Blockieren benötigen.

Effort und Session-Provenienz (7.-8. Mai 2026)

Zwei Ergänzungen in Claude Code v2.1.132 und v2.1.133 geben Hooks und Subprozessen besseres Signal über ihren Ausführungskontext:3839

  • effort.level in der Hook-Eingabe. Hooks empfangen jetzt ein effort.level-JSON-Feld auf derselben Eingabe, die tool_input und session_id trägt. Derselbe Wert wird als $CLAUDE_EFFORT-Umgebungsvariable exportiert, sodass Bash-Befehle ihn ohne JSON-Parsing lesen können. Verwenden Sie dies, um die Hook-Kosten mit der Effort-Stufe zu skalieren: überspringen Sie aufwändige Validierung bei low, führen Sie das volle Sicherheits-Gate bei xhigh oder max aus.
  • CLAUDE_CODE_SESSION_ID-Umgebungsvariable in Bash-Subprozessen. Bash-Tool-Subprozesse sehen jetzt denselben session_id-Wert, den die Hooks sehen, exponiert als CLAUDE_CODE_SESSION_ID. Damit schließt sich die Provenienzlücke für Tools, die pro Session Zustand loggen und bisher Subprozess-Ereignisse nicht mit Hook-Ereignissen korrelieren konnten.

Beide Signale sind ohne Code-Änderungen verfügbar; bestehende Hooks, die die neuen Felder ignorieren, funktionieren weiterhin.

Speicher und Kontext

Jede KI-Konversation arbeitet innerhalb eines begrenzten Kontextfensters. Wenn die Konversation wächst, komprimiert das System frühere Turns, um Platz für neue Inhalte zu schaffen. Die Komprimierung ist verlustbehaftet. Architekturentscheidungen, die in Turn 3 dokumentiert wurden, überleben möglicherweise nicht bis Turn 15.9

Die drei Mechanismen des Multi-Turn-Kollapses

Die Studie von MSR/Salesforce identifizierte drei unabhängige Mechanismen, die jeweils eine andere Intervention erfordern:9

Mechanismus Was passiert Intervention
Kontextkomprimierung Frühere Informationen werden verworfen, um Platz für neue Inhalte zu schaffen State-Checkpointing im Dateisystem
Verlust der Argumentationskohärenz Das Modell widerspricht über mehrere Turns hinweg seinen eigenen früheren Entscheidungen Iteration mit frischem Kontext (Ralph-Loop)
Koordinationsfehler Mehrere Agents halten unterschiedliche State-Snapshots Geteilte State-Protokolle zwischen Agents

Strategie 1: Dateisystem als Speicher

Der zuverlässigste Speicher über Kontextgrenzen hinweg liegt im Dateisystem. Claude Code liest CLAUDE.md und Speicherdateien zu Beginn jeder Session und nach jeder Verdichtung.6

~/.claude/
├── configs/           # 14 JSON configs (thresholds, rules, budgets)
│   ├── deliberation-config.json
│   ├── recursion-limits.json
│   └── consensus-profiles.json
├── hooks/             # 95 lifecycle event handlers
├── skills/            # 44 reusable knowledge modules
├── state/             # Runtime state (recursion depth, agent lineage)
├── handoffs/          # 49 multi-session context documents
├── docs/              # 40+ system documentation files
└── projects/          # Per-project memory directories
    └── {project}/memory/
        └── MEMORY.md  # Always loaded into context

Die Datei MEMORY.md erfasst Fehler, Entscheidungen und Muster über Sessions hinweg. Wenn Sie entdecken, dass ((VAR++)) mit set -e in Bash fehlschlägt, sobald VAR den Wert 0 hat, halten Sie das fest. Drei Sessions später, wenn Sie auf einen ähnlichen Integer-Grenzfall in Python stoßen, taucht der MEMORY.md-Eintrag das Muster wieder auf.15

Auto Memory (v2.1.32+): Claude Code erfasst und ruft Projektkontext automatisch ab. Während Sie arbeiten, schreibt Claude Beobachtungen in ~/.claude/projects/{project-path}/memory/MEMORY.md. Auto Memory lädt zu Beginn der Session die ersten 200 Zeilen in Ihren System-Prompt. Halten Sie es prägnant und verlinken Sie auf separate Themendateien für detaillierte Notizen.6

Strategie 2: Proaktive Verdichtung

Der Befehl /compact von Claude Code fasst die Konversation zusammen und gibt Kontextplatz frei, während wichtige Entscheidungen, Dateiinhalte und der Aufgabenstatus erhalten bleiben.15

Wann verdichtet werden sollte: - Nach Abschluss einer abgegrenzten Teilaufgabe (Feature implementiert, Bug behoben) - Bevor Sie einen neuen Bereich der Codebasis in Angriff nehmen - Wenn Claude anfängt, sich zu wiederholen oder früheren Kontext zu vergessen - Etwa alle 25-30 Minuten während intensiver Sessions

Benutzerdefinierte Verdichtungsanweisungen in CLAUDE.md:

# Summary Instructions
When using compact, focus on:
- Recent code changes
- Test results
- Architecture decisions made this session

Strategie 3: Session-Handoffs

Erstellen Sie für Aufgaben, die sich über mehrere Sessions erstrecken, Handoff-Dokumente, die den vollständigen Status erfassen:

## Handoff: Deliberation Infrastructure PRD-7
**Status:** Hook wiring complete, 81 Python unit tests passing
**Files changed:** hooks/post-deliberation.sh, hooks/deliberation-pride-check.sh
**Decision:** Placed post-deliberation in PostToolUse:Task, pride-check in Stop
**Blocked:** Spawn budget model needs inheritance instead of depth increment
**Next:** PRD-8 integration tests in tests/test_deliberation_lib.py

Die Status/Files/Decision/Blocked/Next-Struktur stellt der Nachfolge-Session bei minimalen Token-Kosten den vollständigen Kontext zur Verfügung. Wenn Sie eine neue Session mit claude -c (continue) starten oder das Handoff-Dokument lesen, gelangen Sie direkt zur Implementierung.15

Strategie 4: Iteration mit frischem Kontext (der Ralph-Loop)

Spawnen Sie für Sessions, die 60-90 Minuten überschreiten, pro Iteration eine frische Claude-Instanz. Der State bleibt über das Dateisystem erhalten, nicht über das Konversationsgedächtnis. Jede Iteration erhält das volle Kontextbudget:16

Iteration 1: [200K tokens] -> writes code, creates files, updates state
Iteration 2: [200K tokens] -> reads state from disk, continues
Iteration 3: [200K tokens] -> reads updated state, continues
...
Iteration N: [200K tokens] -> reads final state, verifies criteria

Im Vergleich dazu eine einzelne lange Session:

Minute 0:   [200K tokens available] -> productive
Minute 30:  [150K tokens available] -> somewhat productive
Minute 60:  [100K tokens available] -> degraded
Minute 90:  [50K tokens available]  -> significantly degraded
Minute 120: [compressed, lossy]     -> errors accumulate

Der Ansatz mit frischem Kontext pro Iteration tauscht 15-20 % Overhead für den Orientierungsschritt (Lesen von State-Dateien, Sichten der Git-Historie) gegen volle kognitive Ressourcen pro Iteration ein.16 Die Kosten-Nutzen-Rechnung: Für Sessions unter 60 Minuten ist eine einzige Konversation effizienter. Jenseits von 90 Minuten liefert frischer Kontext trotz des Overheads eine höhere Ausgabequalität.

Strategie 5: Kuratierte Speicherverwaltung (Dreaming)

Die Claude Managed Agents von Anthropic haben am 6. Mai 2026 Dreaming als Research Preview hinzugefügt.35 Laut Anthropic: „Dreaming ist ein geplanter Prozess, der Ihre Agent-Sessions und Memory-Stores überprüft, Muster extrahiert und Erinnerungen kuratiert, sodass sich Ihre Agents im Laufe der Zeit verbessern.”35

Dreaming läuft im Hintergrund zwischen Sessions, nicht auf dem kritischen Pfad. Es ergänzt das Muster „Dateisystem als Speicher”, anstatt es zu ersetzen: Ihre MEMORY.md-Datei bleibt die tragende Schicht; Dreaming schreibt kuratierte Speichereinträge in den Memory-Store der Managed Agents, den der Agent zu Beginn der Session liest. Die beiden Muster koexistieren für Harnesses, die selbstgehosteten Dateisystem-State mit verwalteter Kuratierung kombinieren.

Dateisystem-Speicher Dreaming (verwaltet)
Wo der Speicher liegt In Ihrem Repo, versionskontrolliert Anthropic-verwalteter Memory-Store
Wann er aktualisiert wird Sie schreiben Einträge manuell oder über Hooks Hintergrundprozess zwischen Sessions
Was er erfasst Entscheidungen, Fehler, Muster, die Sie markieren Aus dem Session-Verlauf extrahierte Muster
Geeignet für Projektspezifisches institutionelles Wissen Sitzungsübergreifende Mustererkennung, die Sie manuell nicht erfassen würden

Dreaming befindet sich in der Research Preview, daher kann sich das Verhalten ändern. Die oben dokumentierten Muster für Session-Handoffs und CLAUDE.md bleiben der maßgebliche Speichermechanismus für selbstgehostete Harnesses.

Die Anti-Patterns

Vollständige Dateien lesen, wenn Sie nur 10 Zeilen brauchen. Ein einzelnes Lesen einer Datei mit 2.000 Zeilen verbraucht 15.000-20.000 Tokens. Nutzen Sie Zeilen-Offsets: Read file.py offset=100 limit=20 spart den größten Teil dieser Kosten.15

Ausführliche Fehlerausgaben im Kontext behalten. Nachdem Sie einen Bug debuggt haben, hält Ihr Kontext über 40 Stack-Traces aus fehlgeschlagenen Iterationen. Ein einzelnes /compact nach der Behebung des Bugs befreit diesen toten Ballast.

Jede Session damit beginnen, jede Datei zu lesen. Lassen Sie die Glob- und Grep-Tools von Claude Code relevante Dateien bei Bedarf finden und sparen Sie so über 100.000 Tokens unnötigen Vorabladens.15


Subagent-Muster

Subagents sind spezialisierte Claude-Instanzen, die komplexe Aufgaben eigenständig bewältigen. Sie starten mit einem sauberen Kontext (keine Verunreinigung aus dem Hauptgespräch), arbeiten mit festgelegten Tools und liefern Ergebnisse als Zusammenfassungen zurück. Die Erkundungsergebnisse blähen Ihren Hauptkontext nicht auf; nur die Schlussfolgerungen kehren zurück.5

Eingebaute Subagent-Typen

Typ Modell Modus Tools Verwendung für
Explore Haiku (schnell) Schreibgeschützt Glob, Grep, Read, sicheres Bash Codebase-Erkundung, Dateien finden
General-purpose Geerbt Volles Lesen/Schreiben Alle verfügbaren Komplexe Recherche + Modifikation
Plan Geerbt (oder Opus) Schreibgeschützt Read, Glob, Grep, Bash Planung vor der Ausführung

Eigene Subagents erstellen

Definieren Sie Subagents in .claude/agents/ (Projekt) oder ~/.claude/agents/ (persönlich):

---
name: security-reviewer
description: Expert security code reviewer. Use PROACTIVELY after any code
  changes to authentication, authorization, or data handling.
tools: Read, Grep, Glob, Bash
model: opus
permissionMode: plan
---

You are a senior security engineer reviewing code for vulnerabilities.

When invoked:
1. Identify the files that were recently changed
2. Analyze for OWASP Top 10 vulnerabilities
3. Check for secrets, hardcoded credentials, SQL injection
4. Report findings with severity levels and remediation steps

Focus on actionable security findings, not style issues.

Konfigurationsfelder für Subagents

Feld Erforderlich Zweck
name Ja Eindeutiger Bezeichner (Kleinbuchstaben + Bindestriche)
description Ja Wann aufzurufen (fügen Sie „PROACTIVELY” hinzu, um automatische Delegation zu fördern)
tools Nein Kommagetrennt. Erbt alle Tools, wenn weggelassen. Unterstützt Agent(agent_type), um spawnbare Agents einzuschränken
disallowedTools Nein Zu verweigernde Tools, entfernt aus der geerbten oder angegebenen Liste
model Nein sonnet, opus, haiku, inherit (Standard: inherit)
permissionMode Nein default, acceptEdits, delegate, dontAsk, bypassPermissions, plan
maxTurns Nein Maximale agentische Schritte, bevor der Subagent stoppt
memory Nein Persistenter Speicherbereich: user, project, local
skills Nein Lädt Skill-Inhalte beim Start automatisch in den Subagent-Kontext. Seit v2.1.133 entdecken Subagents zudem Project-, User- und Plugin-Skills über das Skill-Tool auf dieselbe Weise wie die übergeordnete Sitzung. Frühere Versionen ließen diese im Subagent-Kontext stillschweigend weg.39
hooks Nein Lifecycle-Hooks, die auf die Ausführung dieses Subagents beschränkt sind
background Nein Immer als Hintergrundaufgabe ausführen
isolation Nein Auf worktree setzen, um eine isolierte Kopie als git worktree zu erhalten

Worktree-Isolation

Subagents können in temporären git worktrees arbeiten und erhalten so eine vollständig isolierte Kopie des Repositories:5

---
name: experimental-refactor
description: Attempt risky refactoring in isolation
isolation: worktree
tools: Read, Write, Edit, Bash, Grep, Glob
---

You have an isolated copy of the repository. Make changes freely.
If the refactoring succeeds, the changes can be merged back.
If it fails, the worktree is discarded with no impact on the main branch.

Worktree-Isolation ist unerlässlich für experimentelle Arbeiten, die die Codebase beschädigen könnten.

Parallele Subagents

Verwenden Sie parallele Subagents für unabhängige Recherchen, die sich nicht miteinander abstimmen müssen:5

> Have three explore agents search in parallel:
> 1. Authentication code
> 2. Database models
> 3. API routes

Jeder Agent läuft in seinem eigenen Kontextfenster, findet relevanten Code und liefert eine Zusammenfassung zurück. Der Hauptkontext bleibt sauber.

Der Rekursionsschutz

Ohne Spawn-Limits delegieren Agents an Agents, die wiederum an Agents delegieren – jeder verliert dabei Kontext und verbrennt Tokens. Das Muster des Rekursionsschutzes erzwingt Budgets:16

#!/bin/bash
# recursion-guard.sh — enforce spawn budget
CONFIG_FILE="${HOME}/.claude/configs/recursion-limits.json"
STATE_FILE="${HOME}/.claude/state/recursion-depth.json"

MAX_DEPTH=2
MAX_CHILDREN=5
DELIB_SPAWN_BUDGET=2
DELIB_MAX_AGENTS=12

# Read current depth
current_depth=$(jq -r '.depth // 0' "$STATE_FILE" 2>/dev/null)

if [[ "$current_depth" -ge "$MAX_DEPTH" ]]; then
    echo "BLOCKED: Maximum recursion depth ($MAX_DEPTH) reached" >&2
    exit 2
fi

# Increment depth using safe arithmetic (not ((VAR++)) with set -e)
new_depth=$((current_depth + 1))
jq --argjson d "$new_depth" '.depth = $d' "$STATE_FILE" > "${STATE_FILE}.tmp"
mv "${STATE_FILE}.tmp" "$STATE_FILE"

Entscheidende Lehre: Verwenden Sie Spawn-Budgets, nicht nur Tiefenlimits. Tiefenbasierte Limits verfolgen Parent-Child-Ketten (blockiert bei Tiefe 3), übersehen jedoch die Breite: 23 Agents auf Tiefe 1 sind immer noch „Tiefe 1”. Ein Spawn-Budget verfolgt die gesamten aktiven Children pro Parent und ist auf ein konfigurierbares Maximum begrenzt. Das Budget-Modell bildet den tatsächlichen Fehlermodus ab (zu viele Agents insgesamt) statt einer Hilfsmetrik (zu viele Verschachtelungsebenen).7

Agent Teams (Research Preview)

Agent Teams koordinieren mehrere Claude Code-Instanzen, die unabhängig arbeiten, über eine gemeinsame Mailbox und Aufgabenliste kommunizieren und die Ergebnisse der jeweils anderen hinterfragen können:5

Komponente Rolle
Team lead Hauptsitzung, die das Team erstellt, Teammitglieder spawnt und die Arbeit koordiniert
Teammates Separate Claude Code-Instanzen, die an zugewiesenen Aufgaben arbeiten
Task list Gemeinsame Arbeitsaufgaben, die Teammitglieder beanspruchen und abschließen (datei-gesperrt)
Mailbox Nachrichtensystem für die Kommunikation zwischen Agents

Aktivieren mit: export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

Wann Agent Teams statt Subagents verwenden:

Subagents Agent Teams
Kommunikation Geben nur Ergebnisse zurück Teammitglieder senden sich direkt Nachrichten
Koordination Der Hauptagent verwaltet die gesamte Arbeit Gemeinsame Aufgabenliste mit Selbstkoordination
Am besten für Fokussierte Aufgaben, bei denen nur das Ergebnis zählt Komplexe Arbeit, die Diskussion und Zusammenarbeit erfordert
Token-Kosten Niedriger Höher (jedes Teammitglied = separates Kontextfenster)

Multi-Agent-Orchestrierung

Single-Agent-KI-Systeme haben einen strukturellen blinden Fleck: Sie können ihre eigenen Annahmen nicht infrage stellen.7 Multi-Agent-Deliberation erzwingt eine unabhängige Bewertung aus mehreren Perspektiven, bevor eine Entscheidung festgeschrieben wird.

Tool-übergreifende Orchestrierung (April 2026): Google hat am 7. April Scion als Open Source veröffentlicht — einen Multi-Agent-Hypervisor, der Claude Code, Gemini CLI und andere „Deep Agents” als nebenläufige Prozesse ausführt, jeder mit isoliertem Container, Git-Worktree und eigenen Credentials. Läuft lokal, im Hub oder auf Kubernetes. Explizite Philosophie: „Isolation statt Beschränkungen” — Agenten laufen mit hoher Autonomie innerhalb von Grenzen, die auf der Infrastrukturebene durchgesetzt werden, nicht im Prompt.25 Dies erweitert das Argument der Subagent-Isolation direkt auf verschiedene Tool-Anbieter. Wenn Ihr Workflow Claude und OpenAI-Modelle umfasst, ist Scion die erste echte Referenzimplementierung für tool-übergreifende Subagenten mit Worktree- und Credential-Isolation pro Agent.

Debatte ist keine Wunderwaffe: Der Forschungscluster M3MAD-Bench (Anfang 2026) hat festgestellt, dass Multi-Agent-Debatten ein Plateau erreichen und durch irreführenden Konsens unterlaufen werden können — gültige Argumente verlieren, wenn andere Agenten selbstbewusst die falsche Antwort behaupten.26 Tool-MAD verbessert dies, indem jedem Agenten heterogener Tool-Zugriff gewährt wird und in der Judge-Phase Faithfulness-/Relevance-Scores verwendet werden. Wenn Sie debattenartige Orchestrierung aufbauen, investieren Sie in (a) Tool-Heterogenität pro Agent und (b) quantitatives Judge-Scoring, anstatt anzunehmen, dass mehr Agenten = bessere Antworten bedeutet.

Managed Multiagent Orchestration und Outcomes (Public Beta)

Wenn Sie die unten beschriebene Deliberations-Infrastruktur nicht selbst aufbauen möchten, ist Multiagent Orchestration am 6. Mai 2026 in Claude Managed Agents in die Public Beta gegangen.35 Laut Anthropic: „Wenn die Arbeit für einen einzelnen Agenten zu umfangreich ist, um sie gut zu erledigen, ermöglicht Multiagent Orchestration einem Lead-Agenten, die Aufgabe in Teile aufzubrechen und jedes davon an einen Spezialisten mit eigenem Modell, Prompt und eigenen Tools zu delegieren.”35 Spezialisten „arbeiten parallel auf einem gemeinsamen Dateisystem und tragen zum Gesamtkontext des Lead-Agenten bei.”35

Tracing ist sofort einsatzbereit. Laut Anthropic: „Sie können außerdem jeden Schritt in der Claude-Konsole nachverfolgen: welcher Agent was wann und warum getan hat — was Ihnen vollständige Transparenz darüber gibt, wie Ihre Aufgabe delegiert und ausgeführt wurde.”35

Die ergänzende Public-Beta-Funktion ist Outcomes. Laut Anthropic: „Sie schreiben eine Rubric, die beschreibt, wie Erfolg aussieht, und der Agent arbeitet darauf hin. Ein separater Grader bewertet die Ausgabe in seinem eigenen Kontextfenster anhand Ihrer Kriterien, sodass er nicht durch das Reasoning des Agenten beeinflusst wird.”35 Dies ist die Managed-Service-Variante des Two-Gate-Validierungsmusters, das später in diesem Abschnitt dokumentiert wird: Die Rubric ersetzt das handgeschriebene Gate, der separate Grader ersetzt den Konsens-Validator.

Selbstgehostete Deliberation (dieser Abschnitt) Managed Multiagent + Outcomes
Spezialisten-Routing Sie schreiben die Spawn-Logik Lead-Agent zerlegt die Aufgabe in Teile
Validierung Two-Gate-Hooks + Konsens-Scoring Rubric + Grader in separatem Kontext
Tracing Sie instrumentieren es selbst Claude-Konsole
Am besten geeignet für Muster, die volle Kontrolle oder eine spezifische Tool-Komposition erfordern Standard-Delegationsmuster, bei denen die Validierungs-Rubric den Vertrag darstellt
Preisgestaltung Nur Token- + Harness-Kosten Standard-Tokens plus die Stundenrate für Managed-Agents-Sitzungen (Basis vom 8. April; siehe 23)

Selbstgehostete Deliberation bleibt die richtige Antwort, wenn die Validierung in Ihre eigene Hook-Oberfläche integriert werden muss (PreToolUse-Blocking, Exit-Code-Semantik, eigene Dispatcher) oder wenn die Harness ohne externe Abhängigkeiten laufen muss. Managed Multiagent ist die richtige Antwort, wenn Standard-Delegation plus Rubric-Grading der Vertrag ist, den Sie tatsächlich benötigen.

Minimal tragfähige Deliberation

Beginnen Sie mit 2 Agenten und 1 Regel: Agenten müssen unabhängig bewerten, bevor sie die Arbeit des jeweils anderen sehen.7

Decision arrives
  |
  v
Confidence check: is this risky, ambiguous, or irreversible?
  |
  +-- NO  -> Single agent decides (normal flow)
  |
  +-- YES -> Spawn 2 agents with different system prompts
             Agent A: "Argue FOR this approach"
             Agent B: "Argue AGAINST this approach"
             |
             v
             Compare findings
             |
             +-- Agreement with different reasoning -> Proceed
             +-- Genuine disagreement -> Investigate the conflict
             +-- Agreement with same reasoning -> Suspect herding

Dieses Muster deckt 80 % des Nutzens ab. Alles Weitere bringt nur inkrementelle Verbesserungen.

Der Confidence-Trigger

Nicht jede Aufgabe braucht Deliberation. Ein Modul für Konfidenz-Scoring bewertet vier Dimensionen:17

  1. Mehrdeutigkeit – Hat die Anfrage mehrere gültige Interpretationen?
  2. Domänenkomplexität – Erfordert sie spezialisiertes Wissen?
  3. Tragweite – Ist die Entscheidung umkehrbar?
  4. Kontextabhängigkeit – Erfordert sie ein Verständnis des breiteren Systems?

Der Score wird drei Stufen zugeordnet:

Stufe Schwellenwert Aktion
HIGH 0,85+ Ohne Deliberation fortfahren
MEDIUM 0,70–0,84 Mit protokolliertem Konfidenz-Hinweis fortfahren
LOW Unter 0,70 Vollständige Multi-Agent-Deliberation auslösen

Der Schwellenwert passt sich dem Aufgabentyp an. Sicherheitsentscheidungen erfordern einen Konsens von 0,85. Dokumentationsänderungen benötigen lediglich 0,50. Damit wird Over-Engineering bei einfachen Aufgaben verhindert, während riskante Entscheidungen geprüft werden.7

Die State Machine

Sieben Phasen, jede vom Abschluss der vorherigen abhängig:7

IDLE -> RESEARCH -> DELIBERATION -> RANKING -> PRD_GENERATION -> COMPLETE
                                                                    |
                                                              (or FAILED)

RESEARCH: Unabhängige Agenten untersuchen das Thema. Jeder Agent erhält eine andere Persona (Technical Architect, Security Analyst, Performance Engineer und weitere). Kontextisolation stellt sicher, dass Agenten während der Recherche die Erkenntnisse der anderen nicht sehen können.

DELIBERATION: Agenten sehen alle Forschungsergebnisse und generieren Alternativen. Der Debate-Agent identifiziert Konflikte. Der Synthesis-Agent kombiniert nicht widersprüchliche Erkenntnisse.

RANKING: Jeder Agent bewertet jeden vorgeschlagenen Ansatz anhand von 5 gewichteten Dimensionen:

Dimension Gewicht
Impact 0,25
Quality 0,25
Feasibility 0,20
Reusability 0,15
Risk 0,15

Die Two-Gate-Validierungsarchitektur

Zwei Validierungs-Gates fangen Probleme in unterschiedlichen Phasen ab:7

Gate 1: Consensus-Validierung (PostToolUse-Hook). Läuft unmittelbar nach Abschluss jedes Deliberations-Agenten: 1. Die Phase muss mindestens RANKING erreicht haben 2. Mindestens 2 Agenten abgeschlossen (konfigurierbar) 3. Der Consensus-Score erreicht den aufgaben-adaptiven Schwellenwert 4. Wenn ein Agent abweichender Meinung war, müssen die Bedenken dokumentiert sein

Gate 2: Pride Check (Stop-Hook). Läuft, bevor die Sitzung geschlossen werden kann: 1. Vielfältige Methoden: mehrere einzigartige Personas vertreten 2. Widerspruchstransparenz: Abweichungen haben dokumentierte Gründe 3. Komplexitätsbehandlung: mindestens 2 Alternativen generiert 4. Consensus-Konfidenz: klassifiziert als stark (über 0,85) oder moderat (0,70–0,84) 5. Verbesserungsnachweis: Die Endkonfidenz übersteigt die Anfangskonfidenz

Zwei Hooks an unterschiedlichen Lifecycle-Punkten passen dazu, wie Fehler tatsächlich auftreten: Manche sind sofort sichtbar (schlechter Score), andere schleichend (geringe Vielfalt, fehlende Dokumentation von Abweichungen).7

Warum Übereinstimmung gefährlich ist

Charlan Nemeth erforschte den Minderheits-Widerspruch von 1986 bis zu ihrem Buch In Defense of Troublemakers aus dem Jahr 2018. Gruppen mit Andersdenkenden treffen bessere Entscheidungen als Gruppen, die schnell zu einer Einigung gelangen. Der Andersdenkende muss nicht recht haben. Allein der Akt des Widerspruchs zwingt die Mehrheit, Annahmen zu prüfen, die sie sonst übergehen würde.18

Wu et al. testeten, ob LLM-Agenten wirklich debattieren können, und stellten fest, dass Agenten ohne strukturelle Anreize für Widerspruch unabhängig von der Korrektheit zu der initial selbstbewusstesten Antwort konvergieren.19 Liang et al. identifizierten als Grundursache die „Degeneration-of-Thought”: Sobald ein LLM Vertrauen in eine Position aufgebaut hat, kann Selbstreflexion keine neuen Gegenargumente mehr erzeugen, weshalb Multi-Agent-Bewertung strukturell notwendig ist.20

Unabhängigkeit ist die entscheidende Designvorgabe. Zwei Agenten, die dieselbe Deployment-Strategie mit Einsicht in die Erkenntnisse des jeweils anderen bewerteten, vergaben Scores von 0,45 und 0,48. Dieselben Agenten ohne Einsicht: 0,45 und 0,72. Die Lücke zwischen 0,48 und 0,72 ist der Preis des Herding-Effekts.7

Vorgetäuschte Übereinstimmung erkennen

Ein Modul zur Konformitätserkennung verfolgt Muster, die darauf hindeuten, dass Agenten ohne echte Bewertung zustimmen:7

Score-Clustering: Wenn jeder Agent auf einer 10-Punkte-Skala innerhalb von 0,3 Punkten bewertet, deutet dies auf gemeinsame Kontextkontamination statt auf unabhängige Bewertung hin. Als fünf Agenten, die ein Authentifizierungs-Refactoring bewerteten, das Sicherheitsrisiko durchgängig zwischen 7,1 und 7,4 einstuften, streuten die Scores nach erneutem Durchlauf mit frischer Kontextisolation auf 5,8–8,9.

Boilerplate-Widerspruch: Agenten, die die Bedenken-Sprache der anderen kopieren, anstatt unabhängige Einwände zu formulieren.

Fehlende Minderheitsperspektiven: Einstimmige Zustimmung von Personas mit konkurrierenden Prioritäten (ein Security Analyst und ein Performance Engineer sind selten in allem einer Meinung).

Der Konformitätsdetektor erfasst die offensichtlichen Fälle (etwa 10–15 % der Deliberationen, in denen Agenten zu schnell konvergieren). Für die verbleibenden 85–90 % bieten die Consensus- und Pride-Check-Gates eine ausreichende Validierung.

Was bei der Deliberation nicht funktioniert hat

Freie Debattenrunden. Drei Runden Hin-und-Her-Text zu einer Diskussion über Datenbankindizierung erzeugten 7.500 Tokens an Debatte. Runde 1: echter Widerspruch. Runde 2: erneut formulierte Positionen. Runde 3: identische Argumente in anderen Worten. Strukturiertes Dimensions-Scoring ersetzte die freie Debatte, senkte die Kosten um 60 % und verbesserte gleichzeitig die Ranking-Qualität.7

Einzelnes Validierungs-Gate. Die erste Implementierung führte einen einzigen Validierungs-Hook am Sitzungsende aus. Ein Agent schloss die Deliberation mit einem Consensus-Score von 0,52 ab (unter dem Schwellenwert), arbeitete dann 20 Minuten an unabhängigen Aufgaben weiter, bevor der Sitzungsende-Hook das Versagen meldete. Die Aufteilung in zwei Gates (eines bei Aufgabenabschluss, eines am Sitzungsende) fing dieselben Probleme an unterschiedlichen Lifecycle-Punkten ab.7

Kosten der Deliberation

Jeder Recherche-Agent verarbeitet etwa 5.000 Tokens Kontext und erzeugt 2.000–3.000 Tokens an Erkenntnissen. Bei 3 Agenten sind das 15.000–24.000 zusätzliche Tokens pro Entscheidung. Bei 10 Agenten etwa 50.000–80.000 Tokens.7

Bei aktuellen Opus-Preisen kostet eine 3-Agenten-Deliberation ungefähr 0,68–0,90 USD. Eine 10-Agenten-Deliberation kostet 2,25–3,00 USD. Das System löst Deliberation bei etwa 10 % der Entscheidungen aus, sodass die amortisierten Kosten über alle Entscheidungen hinweg 0,23–0,30 USD pro Sitzung betragen. Ob sich das lohnt, hängt davon ab, was eine schlechte Entscheidung kostet.

Wann zu deliberieren ist

Deliberieren Auslassen
Sicherheitsarchitektur Tippfehler in der Dokumentation
Datenbankschema-Design Variablen-Umbenennungen
API-Vertragsänderungen Aktualisierungen von Log-Meldungen
Deployment-Strategien Umformulierung von Kommentaren
Dependency-Upgrades Aktualisierungen von Test-Fixtures

CLAUDE.md Design

CLAUDE.md ist eine operative Richtlinie für einen KI-Agenten, kein README für Menschen.21 Der Agent muss nicht verstehen, warum Sie Conventional Commits verwenden. Er muss den exakten auszuführenden Befehl kennen und wissen, wie „fertig” aussieht.

Die Hierarchie der Vorrangstellung

Speicherort Geltungsbereich Geteilt Anwendungsfall
Verwaltete Unternehmenseinstellungen Organisation Alle Benutzer Unternehmensstandards
./CLAUDE.md oder ./.claude/CLAUDE.md Projekt Über git Teamkontext
~/.claude/CLAUDE.md Benutzer Alle Projekte Persönliche Präferenzen
./CLAUDE.local.md Projektlokal Niemals Persönliche Projektnotizen
.claude/rules/*.md Projektregeln Über git Kategorisierte Richtlinien
~/.claude/rules/*.md Benutzerregeln Alle Projekte Persönliche Richtlinien

Regeldateien werden automatisch geladen und liefern strukturierten Kontext, ohne CLAUDE.md zu überfrachten.6

Was ignoriert wird

Diese Muster führen zuverlässig zu keiner beobachtbaren Veränderung des Agentenverhaltens:21

Prosaabsätze ohne Befehle. „Wir legen Wert auf sauberen, gut getesteten Code” ist Dokumentation, keine Anweisung. Der Agent liest dies und schreibt anschließend Code ohne Tests, weil keine umsetzbare Anweisung vorliegt.

Mehrdeutige Direktiven. „Seien Sie bei Datenbankmigrationen vorsichtig” ist keine Einschränkung. „Führen Sie alembic check aus, bevor Migrationen angewendet werden. Brechen Sie ab, wenn der Downgrade-Pfad fehlt.” dagegen schon.

Widersprüchliche Prioritäten. „Schnell handeln und schnell ausliefern” plus „umfassende Testabdeckung sicherstellen” plus „Laufzeit unter 5 Minuten halten” plus „vollständige Integrationstests vor jedem Commit ausführen”. Der Agent kann nicht alle vier gleichzeitig erfüllen und überspringt standardmäßig die Verifikation.21

Style Guides ohne Durchsetzung. „Folgen Sie dem Google Python Style Guide” ohne ruff check --select D gibt dem Agenten keinen Mechanismus, die Einhaltung zu überprüfen.

Was funktioniert

Befehlsorientierte Anweisungen:

## Build and Test Commands
- Install: `pip install -r requirements.txt`
- Lint: `ruff check . --fix`
- Format: `ruff format .`
- Test: `pytest -v --tb=short`
- Type check: `mypy app/ --strict`
- Full verify: `ruff check . && ruff format --check . && pytest -v`

Abschlussdefinitionen:

## Definition of Done
A task is complete when ALL of the following pass:
1. `ruff check .` exits 0
2. `pytest -v` exits 0 with no failures
3. `mypy app/ --strict` exits 0
4. Changed files have been staged and committed
5. Commit message follows conventional format: `type(scope): description`

Aufgabenorientierte Abschnitte:

## When Writing Code
- Run `ruff check .` after every file change
- Add type hints to all new functions

## When Reviewing Code
- Check for security issues: `bandit -r app/`
- Verify test coverage: `pytest --cov=app --cov-fail-under=80`

## When Releasing
- Update version in `pyproject.toml`
- Run full suite: `pytest -v && ruff check . && mypy app/`

Eskalationsregeln:

## When Blocked
- If tests fail after 3 attempts: stop and report the failing test with full output
- If a dependency is missing: check `requirements.txt` first, then ask
- Never: delete files to resolve errors, force push, or skip tests

Schreibreihenfolge

Wenn Sie bei null beginnen, fügen Sie Abschnitte in dieser Prioritätsreihenfolge hinzu:21

  1. Build- und Testbefehle (der Agent benötigt diese, bevor er irgendetwas Sinnvolles tun kann)
  2. Definition of Done (verhindert falsche Fertigmeldungen)
  3. Eskalationsregeln (verhindert destruktive Notlösungen)
  4. Aufgabenorientierte Abschnitte (reduziert das Parsen irrelevanter Anweisungen)
  5. Verzeichnis-Scoping (Monorepos: hält Service-Anweisungen isoliert)

Überspringen Sie Stilpräferenzen, bis die ersten vier funktionieren.

Dateiimporte

Verweisen Sie innerhalb von CLAUDE.md auf andere Dateien:

See @README.md for project overview
Coding standards: @docs/STYLE_GUIDE.md
API documentation: @docs/API.md
Personal preferences: @~/.claude/preferences.md

Importsyntax: relativ (@docs/file.md), absolut (@/absolute/path.md) oder Home-Verzeichnis (@~/.claude/file.md). Maximale Tiefe: 5 Importebenen.6

Werkzeugübergreifende Anweisungskompatibilität

AGENTS.md ist ein offener Standard, der von jedem großen KI-Coding-Tool anerkannt wird.21 Wenn Ihr Team mehrere Tools verwendet, schreiben Sie AGENTS.md als kanonische Quelle und spiegeln Sie relevante Abschnitte in toolspezifische Dateien:

Tool Native Datei Liest AGENTS.md?
Codex CLI AGENTS.md Ja (nativ)
Cursor .cursor/rules Ja (nativ)
GitHub Copilot .github/copilot-instructions.md Ja (nativ)
Amp AGENTS.md Ja (nativ)
Windsurf .windsurfrules Ja (nativ)
Claude Code CLAUDE.md Nein (separates Format)

Die Muster in AGENTS.md (befehlsorientiert, abschlussdefiniert, aufgabenorientiert) funktionieren in jeder Anweisungsdatei unabhängig vom Tool. Pflegen Sie keine parallelen Anweisungssätze, die auseinanderdriften. Schreiben Sie eine maßgebliche Quelle und spiegeln Sie diese.

Codex-Paritätshinweise

Codex verfügt nun über erstklassige Entsprechungen für die wichtigsten Harness-Schichten, aber die Migration ist eine Musterübersetzung, kein Dateikopiervorgang. Codex liest AGENTS.md, bevor die Arbeit beginnt, und überlagert globale Vorgaben aus ~/.codex mit Projekt- und verschachtelten Repository-Anweisungen.31 Codex-Skills verwenden dasselbe mentale SKILL.md-Modell mit progressiver Offenlegung: Codex beginnt mit dem Skill-Namen, der Beschreibung und dem Dateipfad und lädt den vollständigen Skill erst dann, wenn er sich für dessen Verwendung entscheidet.32 Codex bietet zudem native Hooks, plugin-gebündelte Hooks, verwaltete Hooks, MCP-Unterstützung und explizite Subagent-Workflows.3334

Die praktische Zuordnung:

Claude Code-Harness-Schicht Codex-Entsprechung Migrationsregel
CLAUDE.md / .claude/rules/ AGENTS.md / verschachtelte AGENTS.override.md Halten Sie Befehle und Abschlussregeln kanonisch; trennen Sie nur, wenn der Verzeichnis-Geltungsbereich tatsächlich abweicht
.claude/skills/<name>/SKILL.md .agents/skills/<name>/SKILL.md oder Plugin-Skill Portieren Sie wiederverwendbare Workflows, aber schreiben Sie die Beschreibungen für Codex’ Aktivierungsformulierung und -budget um
.claude/settings.json-Hooks Codex config.toml, Plugin-Hooks oder verwaltete Anforderungs-Hooks Portieren Sie zuerst deterministische Gates; testen Sie jeden Hook mit echten Tool-Ereignissen, bevor Sie ihn breit aktivieren
.claude/agents/*.md ~/.codex/agents/*.toml, .codex/agents/*.toml oder integrierter worker / explorer Portieren Sie nur Agents mit wiederholtem Nutzen; bevorzugen Sie explizite Delegation, da Codex-Subagents explizit sind
Plugins Codex-Plugins Verwenden Sie Plugins als Distributionseinheit, nachdem lokale Hooks und Skills sich bewährt haben

Der wichtige Unterschied: Claude-Subagents können automatisch anhand von Beschreibungen ausgewählt werden, während Codex Subagent-Workflows derzeit als explizit dokumentiert. Damit sind Skills und Hooks die richtige Standardwahl für stets aktives Harness-Verhalten in Codex; Subagents sind für gezielte Parallelarbeit, Reviews und Exploration vorgesehen.

Testen Ihrer Anweisungen

Überprüfen Sie, ob der Agent Ihre Anweisungen tatsächlich liest und befolgt:

# Check active instructions
claude --print "What instructions are you following for this project?"

# Verify specific rules are active
claude --print "What is your definition of done?"

Der Säuretest: Bitten Sie den Agenten, Ihre Build-Befehle zu erläutern. Wenn er sie nicht wortgetreu wiedergeben kann, sind die Anweisungen entweder zu ausführlich (Inhalt aus dem Kontext verdrängt), zu vage (der Agent kann keine umsetzbaren Anweisungen extrahieren) oder werden nicht erkannt. GitHubs Analyse von 2.500 Repositories ergab, dass Vagheit die meisten Fehler verursacht.21


Produktionsmuster

Opus 4.7 Long-Horizon-Muster (April 2026)

Claude Opus 4.7 (16. April 2026) wurde mit spezifischen Fähigkeiten ausgeliefert, die verändern, wogegen sich ein Harness verteidigen muss:29

  • Resilienz bei Tool-Fehlern: Opus 4.7 fährt bei Tool-Fehlern fort, die Opus-4.6-Sitzungen zum Stillstand brachten. Sie können defensive Retry-Wrapper im Subagent-Code reduzieren — aber nicht eliminieren. Behalten Sie die Schutzmechanismen auf Hook-Ebene; entfernen Sie das In-Prompt-Gerüst nach dem Muster „falls das Tool fehlschlägt, dreimal erneut versuchen”.
  • xhigh-Aufwandsstufe (nur Opus 4.7): Liegt zwischen high und max. Empfohlener Standard für Coding- und agentische Workloads. Bei lang laufenden Subagenten übertrifft xhigh high deutlich bei unterproportionalen Token-Kosten. max bleibt die richtige Wahl für einmaliges hartes Reasoning; xhigh ist besser für anhaltende Aufgaben.
  • Token-Budget-Obergrenze: Pro Agent-Lauf konfigurierbar über output_config.task_budget (Beta-Header task-budgets-2026-03-13). Das Modell sieht einen laufenden Countdown und passt seinen Arbeitsumfang elegant an das Budget an, statt unerwartet leerzulaufen. Verwenden Sie es für agentische Loops, bei denen Sie vorhersehbare Token-Ausgaben wünschen, ohne die Qualität bei kurzen Prompts zu opfern.
  • Bewusstsein für implizite Bedürfnisse: Erstes Claude-Modell, das „Implicit-Need”-Tests besteht — also erkennt, wann die wörtliche Anfrage des Benutzers zu wenig spezifiziert, was tatsächlich benötigt wird. Das macht den Abschnitt mit den Klärungsregeln in CLAUDE.md weniger notwendig. Wenn Ihre CLAUDE.md aus 200 Zeilen Schutzmechanismen nach dem Muster „berücksichtigen Sie auch X, wenn der Benutzer Y verlangt” besteht, entfernen Sie diejenigen, die jetzt nativ abgedeckt sind.

Worktree-Basis, Sandbox-Pfade und Admin-Einstellungen (7. Mai 2026)

Claude Code v2.1.133 fügt vier Einstellungen auf Admin-Ebene hinzu, die für Produktions-Harnesses bekannt sein sollten:39

Einstellung Werte Funktion
worktree.baseRef fresh (Standard) | head Neue Worktrees verzweigen wieder von origin/<default>. Breaking-Default-Rückkehr von v2.1.128, das lokales HEAD verwendet hatte. Setzen Sie worktree.baseRef: "head", falls Ihr Team darauf angewiesen ist, dass nicht gepushte Commits in neuen Worktrees verfügbar sind.
sandbox.bwrapPath absoluter Pfad Fixiert den Speicherort des Bubblewrap-Binärs auf Linux/WSL-Hosts, wo es nicht in $PATH liegt oder wo Sie eine vendored Version ausliefern.
sandbox.socatPath absoluter Pfad Gleiches Prinzip für das socat-Binär, das vom Sandbox-Networking verwendet wird.
parentSettingsBehavior 'first-wins' (Standard) | 'merge' Steuerung auf Admin-Ebene darüber, wie SDK managedSettings mit übergeordneten Enterprise-/Team-Einstellungen kombiniert werden. 'merge' lässt eine Child-Sitzung erben und erweitern; 'first-wins' belässt die Autorität beim Parent.

Die worktree.baseRef-Rückkehr ist diejenige, auf die Benutzer hingewiesen werden sollten: Agenten, die sich auf das Verhalten von v2.1.128–v2.1.132 verlassen haben (Worktrees, die von lokalem HEAD verzweigen), verlieren in frischen Worktrees den Zugriff auf nicht gepushte Arbeit, sofern sie sich nicht erneut dafür entscheiden.

Der Quality Loop

Ein verpflichtender Review-Prozess für alle nicht trivialen Änderungen:

  1. Implementieren – Code schreiben
  2. Überprüfen – Jede Zeile erneut lesen. Tippfehler, Logikfehler, unklare Abschnitte aufspüren
  3. Bewerten – Das Evidence Gate durchlaufen. Muster, Edge Cases, Testabdeckung prüfen
  4. Verfeinern – Jedes Problem beheben. Niemals auf „später” verschieben
  5. Zoom Out – Integrationspunkte, Imports und angrenzenden Code auf Regressionen prüfen
  6. Wiederholen – Falls ein Evidence-Gate-Kriterium fehlschlägt, zurück zu Schritt 4
  7. Berichten – Auflisten, was sich geändert hat, wie es verifiziert wurde, mit Verweis auf konkrete Belege

Das Evidence Gate

„Ich glaube” und „es sollte” sind keine Belege. Verweisen Sie auf Dateipfade, Testausgaben oder konkreten Code.

Kriterium Erforderlicher Beleg
Folgt Codebase-Mustern Das Muster und die Datei nennen, in der es existiert
Einfachste funktionierende Lösung Erklären, welche einfacheren Alternativen verworfen wurden und warum
Edge Cases behandelt Konkrete Edge Cases auflisten und wie jeder behandelt wird
Tests bestehen Testausgabe einfügen, die 0 Fehlschläge zeigt
Keine Regressionen Die geprüften Dateien/Funktionen benennen
Löst das tatsächliche Problem Bedarf des Benutzers nennen und wie dies ihn adressiert

Falls Sie für eine Zeile keinen Beleg liefern können, kehren Sie zu Refine zurück.22

Muster für Fehlerbehandlung

Atomare Dateischreibvorgänge. Wenn mehrere Agenten gleichzeitig in dieselbe State-Datei schreiben, beschädigt dies JSON. Schreiben Sie in .tmp-Dateien und benennen Sie diese dann atomar mit mv um. Das OS garantiert, dass mv auf demselben Dateisystem atomar ist.17

# Atomic state update
jq --argjson d "$new_depth" '.depth = $d' "$STATE_FILE" > "${STATE_FILE}.tmp"
mv "${STATE_FILE}.tmp" "$STATE_FILE"

Wiederherstellung bei State-Korruption. Wenn der Zustand beschädigt wird, erstellt das Recovery-Muster ihn aus sicheren Standardwerten neu, anstatt abzustürzen:16

if ! jq -e '.depth' "$RECURSION_STATE_FILE" &>/dev/null; then
    # Corrupted state file, recreate with safe defaults
    echo '{"depth": 0, "agent_id": "root", "parent_id": null}' > "$RECURSION_STATE_FILE"
    echo "- Recursion state recovered (was corrupted)"
fi

Die ((VAR++))-Bash-Falle. ((VAR++)) gibt Exit-Code 1 zurück, wenn VAR 0 ist, weil 0++ zu 0 ausgewertet wird, was Bash als false interpretiert. Mit aktiviertem set -e beendet das das Skript. Verwenden Sie stattdessen VAR=$((VAR + 1)).16

Klassifizierung des Blast Radius

Klassifizieren Sie jede Agent-Aktion nach Blast Radius und sichern Sie sie entsprechend ab:2

Klassifizierung Beispiele Gate
Local Dateischreibvorgänge, Testläufe, Linting Auto-Approve
Shared Git-Commits, Branch-Erstellung Warnen + fortfahren
External Git Push, API-Aufrufe, Deployments Menschliche Freigabe erforderlich

Remote Control (Verbindung zu lokalem Claude Code von jedem Browser oder mobilen App aus) verwandelt das „External”-Gate von einer blockierenden Wartezeit in eine asynchrone Benachrichtigung. Der Agent arbeitet an der nächsten Aufgabe weiter, während Sie die vorherige von Ihrem Telefon aus prüfen.2

Aufgabenspezifikation für autonome Läufe

Wirksame autonome Aufgaben enthalten drei Elemente: Zielsetzung, Abschlusskriterien und Kontext-Pointer:16

OBJECTIVE: Implement multi-agent deliberation with consensus validation.

COMPLETION CRITERIA:
- All tests in tests/test_deliberation_lib.py pass (81 tests)
- post-deliberation.sh validates consensus above 70% threshold
- recursion-guard.sh enforces spawn budget (max 12 agents)
- No Python type errors (mypy clean)

CONTEXT:
- Follow patterns in lib/deliberation/state_machine.py
- Consensus thresholds in configs/deliberation-config.json
- Spawn budget model: agents inherit budget, not increment depth

Kriterien müssen maschinell verifizierbar sein: Test bestanden/fehlgeschlagen, Linter-Ausgabe, HTTP-Statuscodes, Prüfungen auf Existenz von Dateien. Eine frühe Aufgabe, die den Agenten aufforderte, „Tests zu schreiben, die bestehen”, produzierte assert True und assert 1 == 1. Technisch korrekt. Praktisch wertlos.16

Qualität der Kriterien Beispiel Ergebnis
Vage „Tests bestehen” Agent schreibt triviale Tests
Messbar, aber unvollständig „Tests bestehen UND Coverage >80%” Tests decken Zeilen ab, prüfen aber nichts Sinnvolles
Umfassend „Alle Tests bestehen UND Coverage >80% UND keine Typfehler UND Linter sauber UND jede Testklasse testet ein eigenständiges Modul” Produktionstaugliche Ausgabe

Fehlermuster, auf die Sie achten sollten

Fehlermuster Beschreibung Prävention
Shortcut Spiral Schritte des Quality Loop überspringen, um schneller fertig zu werden Evidence Gate verlangt für jedes Kriterium einen Beleg
Confidence Mirage „Ich bin zuversichtlich” ohne Verifikation auszuführen Hedging-Sprache in Abschlussberichten verbieten
Phantom Verification Behaupten, Tests bestünden, ohne sie in dieser Sitzung ausgeführt zu haben Stop-Hook führt Tests unabhängig aus
Deferred Debt TODO/FIXME/HACK im committeten Code PreToolUse-Hook auf git commit scannt das Diff
Filesystem Pollution Sackgassen-Artefakte aus abgebrochenen Iterationen Cleanup-Schritt in den Abschlusskriterien

Ein konkreter Session-Trace

Ein Session-Trace eines autonomen Laufs, der ein PRD mit 5 Stories verarbeitet:2

  1. SessionStart feuert. Dispatcher injiziert: aktuelles Datum, Projekterkennung, Philosophie-Constraints, Initialisierung des Cost-Trackings. Fünf Hooks, insgesamt 180 ms.

  2. Agent liest das PRD und plant die erste Story. UserPromptSubmit feuert. Dispatcher injiziert: aktiven Projektkontext, Drift-Baseline der Sitzung.

  3. Agent ruft Bash auf, um Tests auszuführen. PreToolUse:Bash feuert. Credentials-Prüfung, Sandbox-Validierung, Projekterkennung. 90 ms. Tests laufen. PostToolUse:Bash feuert: Aktivitäts-Heartbeat protokolliert, Drift-Prüfung.

  4. Agent ruft Write auf, um eine Datei zu erstellen. PreToolUse:Write feuert: Prüfung des Dateibereichs. PostToolUse:Write feuert: Lint-Check, Commit-Tracking.

  5. Agent schließt die Story ab. Stop feuert. Quality-Gate prüft: Hat der Agent Belege angeführt? Hedging-Sprache? TODO-Kommentare im Diff? Falls eine Prüfung fehlschlägt, Exit 2 und der Agent fährt fort.

  6. Unabhängige Verifikation: Ein frischer Agent führt die Test-Suite aus, ohne dem Selbstbericht des vorherigen Agenten zu vertrauen.

  7. Drei Code-Review-Agenten werden parallel gespawnt. Jeder prüft das Diff unabhängig. Wenn ein Reviewer CRITICAL meldet, geht die Story zurück in die Queue.

  8. Story besteht. Nächste Story wird geladen. Der Zyklus wiederholt sich für alle 5 Stories.

Insgesamt ausgelöste Hooks über 5 Stories: ~340. Gesamtzeit in Hooks: ~12 Sekunden. Dieser Overhead verhinderte in einem einzigen Overnight-Run drei Credential-Leaks, einen destruktiven Befehl und zwei unvollständige Implementierungen.

Fallstudie: Overnight-Verarbeitung von PRD

Ein Produktions-Harness verarbeitete 12 PRDs (47 Stories) über 8 Overnight-Sitzungen. Die Metriken vergleichen die ersten 4 PRDs (minimaler Harness: nur CLAUDE.md) mit den letzten 8 (vollständiger Harness: Hooks, Skills, Quality-Gates, Multi-Agent-Review).

Metrik Minimal (4 PRDs) Vollständiger Harness (8 PRDs) Veränderung
Credential-Leaks 2 in Git geleakt 7 vor dem Commit blockiert Von reaktiv zu präventiv
Destruktive Befehle 1 Force Push auf main 4 blockiert Exit-2-Durchsetzung
False-Completion-Rate 35 % fehlgeschlagene Tests 4 % Evidence Gate + Stop-Hook
Revisionsrunden/Story 2,1 0,8 Skills + Quality Loop
Kontext-Degradation 6 Vorfälle 1 Vorfall Filesystem Memory
Token-Overhead 0 % ~3,2 % Vernachlässigbar
Hook-Zeit/Story 0 s ~2,4 s Vernachlässigbar

Die zwei Credential-Leaks erforderten das Rotieren von API-Keys und das Auditieren nachgelagerter Dienste: rund 4 Stunden Incident Response. Der Harness-Overhead, der das Äquivalent verhinderte, betrug 2,4 Sekunden Bash pro Story. Die False-Completion-Rate fiel von 35 % auf 4 %, weil der Stop-Hook Tests unabhängig ausführte, bevor er dem Agenten erlaubte, „fertig” zu melden.


Sicherheitsüberlegungen

Die fünf Prinzipien vertrauenswürdiger Agenten (Anthropic, April 2026)

Anthropic veröffentlichte am 9. April 2026 ein formales Framework für die Vertrauenswürdigkeit von Agenten.27 Die fünf Prinzipien stehen parallel zum — und erweitern das — Evidence-Gate-Konzept dieses Leitfadens:

Prinzip Bedeutung Wie dieses Harness es erfüllt
Menschliche Kontrolle Sinnvolles menschliches Override an jedem Entscheidungspunkt Hooks gaten Tool-Aufrufe; PreCompact-Blockierung; Auto-Mode-Klassifizierer als Prüfschicht
Wertabgleich Agentenaktionen folgen der Benutzerabsicht, nicht angrenzenden Zielen CLAUDE.md als explizite Absichtsspezifikation; Skills als Capability-Scoping
Sicherheit Widerstandsfähigkeit gegen adversarielle Eingaben und Prompt Injection Sandbox + Deny-Regeln + Eingabevalidierung auf der Hook-Ebene
Transparenz Auditierbare Aufzeichnungen von Entscheidungen und Aktionen Hook-Logging; Sitzungs-Transkripte; Skill-Invocation-Traces
Datenschutz Angemessene Datenverarbeitung und Governance Bereinigung von Anmeldedaten in Umgebungsvariablen; Geheimniserkennung auf der Hook-Ebene

Anthropic spendete zudem MCP an die Agentic AI Foundation der Linux Foundation und gesellt sich damit zu AGENTS.md (das nun gemeinsam mit OpenAI, Google, Cursor, Factory und Sourcegraph verwaltet wird). Standards für Agenten-Interoperabilität sind nun anbieterneutral.27

Skill-Sandbox-Tooling: Für Teams, die Skills als Angriffsfläche behandeln, führt Permisos SandyClaw (gestartet am 2. April 2026) Skills in einer dedizierten Sandbox aus und liefert evidenzgestützte Urteile aus Sigma/YARA/Nova/Snort-Erkennungen. Erstes Produkt in der Skill-Sandbox-Kategorie.28

Die Sandbox

Claude Code unterstützt einen optionalen Sandbox-Modus (aktivierbar über settings.json oder den Befehl /sandbox), der den Netzwerkzugriff und Dateisystemoperationen mittels OS-Level-Isolation einschränkt (Seatbelt unter macOS, Bubblewrap unter Linux). Bei Aktivierung verhindert die Sandbox, dass das Modell beliebige Netzwerkanfragen stellt oder auf Dateien außerhalb des Projektverzeichnisses zugreift. Ohne Sandboxing nutzt Claude Code ein berechtigungsbasiertes Modell, bei dem Sie einzelne Tool-Aufrufe genehmigen oder ablehnen.13

Berechtigungsgrenzen

Das Berechtigungssystem gatet Operationen auf mehreren Ebenen:

Ebene Steuert Beispiel
Tool-Berechtigungen Welche Tools verwendet werden dürfen Subagent auf Read, Grep, Glob beschränken
Datei-Berechtigungen Welche Dateien geändert werden dürfen Schreibzugriff auf .env, credentials.json blockieren
Befehls-Berechtigungen Welche Bash-Befehle ausgeführt werden dürfen rm -rf, git push --force blockieren
Netzwerk-Berechtigungen Welche Domains erreichbar sind Allowlist für MCP-Server-Verbindungen

Prompt-Injection-Verteidigung

Skills und Hooks bieten Defense-in-Depth gegen Prompt Injection:

Skills mit Tool-Beschränkungen verhindern, dass ein kompromittierter Prompt Schreibzugriff erhält:

allowed-tools: Read, Grep, Glob

PreToolUse-Hooks validieren jeden Tool-Aufruf, unabhängig davon, wie das Modell promptet wurde:

# Block credential file access regardless of prompt
if echo "$FILE_PATH" | grep -qE "\.(env|pem|key|credentials)$"; then
    echo "BLOCKED: Sensitive file access" >&2
    exit 2
fi

Subagent-Isolation begrenzt den Wirkungsradius. Ein Subagent mit permissionMode: plan kann selbst dann keine Änderungen vornehmen, wenn sein Prompt kompromittiert ist.

Hook-Sicherheit

HTTP-Hooks, die Umgebungsvariablen in Header interpolieren, erfordern eine explizite allowedEnvVars-Liste, um eine willkürliche Exfiltration von Umgebungsvariablen zu verhindern:13

{
  "type": "http",
  "url": "https://api.example.com/notify",
  "headers": {
    "Authorization": "Bearer $MY_TOKEN"
  },
  "allowedEnvVars": ["MY_TOKEN"]
}

Die Aufgabenteilung zwischen Mensch und Agent

Sicherheit in Agentenarchitekturen erfordert eine klare Trennung zwischen menschlichen und agentenseitigen Verantwortlichkeiten:17

Verantwortung des Menschen Verantwortung des Agenten
Problemdefinition Pipeline-Ausführung
Konfidenzschwellen Ausführung innerhalb der Schwellenwerte
Konsensanforderungen Konsensberechnung
Quality-Gate-Kriterien Quality-Gate-Durchsetzung
Fehleranalyse Fehlererkennung
Architekturentscheidungen Architekturoptionen
Einbringen von Domänenkontext Dokumentationsgenerierung

Das Muster: Menschen verantworten Entscheidungen, die organisationalen Kontext, ethisches Urteilsvermögen oder strategische Ausrichtung erfordern. Agenten verantworten Entscheidungen, die rechnergestützte Suchen über große Möglichkeitsräume erfordern. Hooks setzen die Grenze durch.

Rekursive Hook-Durchsetzung

Hooks feuern auch für Aktionen von Subagenten.13 Wenn Claude einen Subagenten über das Agent-Tool spawnt, werden Ihre PreToolUse- und PostToolUse-Hooks für jedes Tool ausgeführt, das der Subagent verwendet. Ohne rekursive Hook-Durchsetzung könnte ein Subagent Ihre Sicherheits-Gates umgehen. Mit dem SubagentStop-Event lassen sich Cleanup- oder Validierungsschritte ausführen, sobald ein Subagent abschließt.

Das ist nicht optional. Ein Agent, der einen Subagenten ohne Ihre Sicherheits-Hooks spawnt, ist ein Agent, der einen Force-Push auf main durchführen, Credential-Dateien lesen oder destruktive Befehle ausführen kann, während Ihre Gates die Hauptkonversation beobachten und nichts tun.

Kosten als Architektur

Kosten sind eine architektonische Entscheidung, kein operativer Nachgedanke.2 Drei Ebenen:

Token-Ebene. Komprimierung des System-Prompts. Entfernen Sie Tutorial-Codebeispiele (das Modell kennt die APIs), bündeln Sie doppelte Regeln über Dateien hinweg und ersetzen Sie Erklärungen durch Constraints. „Lehne Tool-Aufrufe ab, die zu sensiblen Pfaden passen” leistet dieselbe Arbeit wie eine 15-zeilige Erklärung, warum Credentials nicht gelesen werden sollten.

Agenten-Ebene. Frische Spawns statt langer Konversationen. Jede Story in einem autonomen Run erhält einen neuen Agenten mit sauberem Kontext. Der Kontext bläht sich nie auf, weil jeder Agent frisch startet. Briefing statt Erinnerung: Modelle führen ein klares Briefing besser aus, als sie sich durch 30 Schritte angesammelten Kontext navigieren.

Architektur-Ebene. CLI-first statt MCP, wenn die Operation zustandslos ist. Ein claude --print-Aufruf für eine einmalige Auswertung kostet weniger und verursacht keinen Verbindungsoverhead. MCP ist sinnvoll, wenn das Tool persistenten Zustand oder Streaming benötigt.


Entscheidungsframework

Wann welcher Mechanismus zu verwenden ist:

Problem Verwenden Warum
Code nach jeder Bearbeitung formatieren PostToolUse-Hook Muss jedes Mal deterministisch geschehen
Gefährliche Bash-Befehle blockieren PreToolUse-Hook Muss vor der Ausführung blockieren, Exit-Code 2
Security-Review-Muster anwenden Skill Domänenexpertise, die kontextabhängig automatisch aktiviert
Codebasis erkunden, ohne Kontext zu verschmutzen Explore-Subagent Isolierter Kontext, gibt nur Zusammenfassung zurück
Experimentelles Refactoring sicher ausführen Worktree-isolierter Subagent Änderungen können verworfen werden, falls sie scheitern
Code aus mehreren Perspektiven prüfen Parallele Subagenten oder Agent-Team Unabhängige Bewertung verhindert blinde Flecken
Über irreversible Architektur entscheiden Multi-Agent-Deliberation Konfidenz-Trigger + Konsensvalidierung
Entscheidungen über Sitzungen hinweg persistieren MEMORY.md Dateisystem überlebt Kontextgrenzen
Team-Standards teilen Projekt-CLAUDE.md + .claude/rules/ Git-verteilt, lädt automatisch
Projekt-Build-/Test-Befehle definieren CLAUDE.md Befehlsorientierte Anweisungen, die der Agent verifizieren kann
Lange autonome Entwicklung ausführen Ralph-Loop (Iteration mit frischem Kontext) Volles Kontextbudget pro Iteration, Dateisystemzustand
Slack benachrichtigen, wenn die Sitzung endet Asynchroner Stop-Hook Nicht-blockierend, verlangsamt die Sitzung nicht
Qualität vor dem Commit validieren PreToolUse-Hook auf git commit Commit blockieren, falls Lint/Tests fehlschlagen
Abschlusskriterien durchsetzen Stop-Hook Verhindert, dass der Agent stoppt, bevor die Aufgabe erledigt ist

Skills vs. Hooks vs. Subagenten

Dimension Skills Hooks Subagenten
Invocation Automatisch (LLM-Reasoning) Deterministisch (ereignisgesteuert) Explizit oder auto-delegiert
Garantie Probabilistisch (Modell entscheidet) Deterministisch (feuert immer) Deterministisch (isolierter Kontext)
Kontextkosten In Hauptkontext injiziert Null (läuft außerhalb von LLM) Separates Kontextfenster
Tokenkosten Beschreibungsbudget (2 % des Fensters) Null Voller Kontext pro Subagent
Am besten geeignet für Domänenexpertise Policy-Durchsetzung Fokussierte Arbeit, Exploration

FAQ

Wie viele Hooks sind zu viele?

Die Performance ist die Beschränkung, nicht die Anzahl. Jeder Hook läuft synchron, sodass die gesamte Hook-Ausführungszeit zu jedem passenden Tool-Aufruf hinzukommt. 95 Hooks über benutzer- und projektbezogene Einstellungen hinweg laufen ohne spürbare Latenz, wenn jeder Hook unter 200 ms abgeschlossen ist. Der Schwellenwert, den Sie beobachten sollten: Wenn ein PostToolUse-Hook jeder Dateibearbeitung mehr als 500 ms hinzufügt, fühlt sich die Sitzung träge an. Profilieren Sie Ihre Hooks mit time, bevor Sie sie einsetzen.14

Können Hooks Claude Code daran hindern, einen Befehl auszuführen?

Ja. PreToolUse-Hooks blockieren jede Tool-Aktion, indem sie mit Code 2 beendet werden. Claude Code bricht die ausstehende Aktion ab und zeigt die stderr-Ausgabe des Hooks dem Modell an. Claude sieht den Ablehnungsgrund und schlägt eine sicherere Alternative vor. Exit 1 ist eine nicht-blockierende Warnung, bei der die Aktion dennoch fortgesetzt wird.3

Wo sollte ich Hook-Konfigurationsdateien ablegen?

Hook-Konfigurationen gehören in .claude/settings.json für projektbezogene Hooks (in Ihr Repository eingecheckt, mit Ihrem Team geteilt) oder in ~/.claude/settings.json für benutzerbezogene Hooks (persönlich, auf jedes Projekt angewendet). Projektbezogene Hooks haben Vorrang, wenn beide existieren. Verwenden Sie absolute Pfade für Skriptdateien, um Probleme mit dem Arbeitsverzeichnis zu vermeiden.14

Benötigt jede Entscheidung eine Deliberation?

Nein. Das Confidence-Modul bewertet Entscheidungen über vier Dimensionen hinweg (Mehrdeutigkeit, Komplexität, Tragweite, Kontextabhängigkeit). Nur Entscheidungen mit einer Gesamtkonfidenz unter 0,70 lösen eine Deliberation aus, etwa 10 % aller Entscheidungen. Dokumentationskorrekturen, Variablenumbenennungen und Routinebearbeitungen überspringen die Deliberation vollständig. Sicherheitsarchitektur, Änderungen am Datenbankschema und unumkehrbare Deployments lösen sie konsistent aus.7

Wie teste ich ein System, das darauf ausgelegt ist, Uneinigkeit zu erzeugen?

Testen Sie sowohl Erfolgs- als auch Fehlerpfade. Erfolg: Agenten widersprechen sich produktiv und erreichen einen Konsens. Fehler: Agenten konvergieren zu schnell, konvergieren nie oder überschreiten Spawn-Budgets. End-to-End-Tests simulieren jedes Szenario mit deterministischen Agentenantworten und überprüfen, dass beide Validierungs-Gates jeden dokumentierten Fehlermodus erfassen. Ein produktives Deliberationssystem führt 141 Tests über drei Schichten aus: 48 Bash-Integrationstests, 81 Python-Unit-Tests und 12 End-to-End-Pipeline-Simulationen.7

Welche Latenzauswirkungen hat die Deliberation?

Eine Deliberation mit 3 Agenten fügt 30–60 Sekunden Wandzeit hinzu (Agenten laufen sequenziell durch das Agent-Tool). Eine Deliberation mit 10 Agenten fügt 2–4 Minuten hinzu. Die Consensus- und Pride-Check-Hooks laufen jeweils unter 200 ms. Der primäre Engpass ist die LLM-Inferenzzeit pro Agent, nicht der Orchestrierungs-Overhead.7

Wie lang sollte eine CLAUDE.md-Datei sein?

Halten Sie jeden Abschnitt unter 50 Zeilen und die gesamte Datei unter 150 Zeilen. Lange Dateien werden von Kontextfenstern abgeschnitten, stellen Sie also die kritischsten Anweisungen voran: Befehle und Closure-Definitionen vor Stilpräferenzen.21

Kann das mit anderen Tools als Claude Code funktionieren?

Die Architekturprinzipien (Hooks als deterministische Gates, Skills als Domänenexpertise, Subagents als isolierte Kontexte, Dateisystem als Speicher) lassen sich konzeptionell auf jedes agentische System übertragen. Die konkrete Implementierung nutzt die Lifecycle-Events, Matcher-Muster und das Agent-Tool von Claude Code. AGENTS.md überträgt dieselben Muster auf Codex, Cursor, Copilot, Amp und Windsurf.21 Das Harness-Muster ist tool-agnostisch, auch wenn die Implementierungsdetails tool-spezifisch sind.


Schnellreferenzkarte

Hook-Konfiguration

{
  "hooks": {
    "PreToolUse": [{"matcher": "Bash", "hooks": [{"type": "command", "command": "script.sh"}]}],
    "PostToolUse": [{"matcher": "Write|Edit", "hooks": [{"type": "command", "command": "format.sh"}]}],
    "Stop": [{"matcher": "", "hooks": [{"type": "agent", "prompt": "Verify tests pass. $ARGUMENTS"}]}],
    "SessionStart": [{"matcher": "", "hooks": [{"type": "command", "command": "setup.sh"}]}]
  }
}

Skill-Frontmatter

---
name: my-skill
description: What it does and when to use it. Include trigger phrases.
allowed-tools: Read, Grep, Glob
---

Subagent-Definition

---
name: my-agent
description: When to invoke. Include PROACTIVELY for auto-delegation.
tools: Read, Grep, Glob, Bash
model: opus
permissionMode: plan
---

Instructions for the subagent.

Exit-Codes

Code Bedeutung Verwendung für
0 Erfolg Operation zulassen
2 Blockieren Sicherheits-Gates, Qualitäts-Gates
1 Nicht-blockierende Warnung Logging, Hinweismeldungen

Wichtige Befehle

Befehl Zweck
/compact Kontext komprimieren, Entscheidungen erhalten
/context Kontextzuteilung und aktive Skills anzeigen
/agents Subagents verwalten
claude -c Letzte Sitzung fortsetzen
claude --print Einmaliger CLI-Aufruf (keine Konversation)
# <note> Notiz zur Memory-Datei hinzufügen
/memory Auto-Memory anzeigen und verwalten

Speicherorte

Pfad Zweck
~/.claude/CLAUDE.md Persönliche globale Anweisungen
.claude/CLAUDE.md Projektanweisungen (über Git geteilt)
.claude/settings.json Projekt-Hooks und -Berechtigungen
~/.claude/settings.json Benutzer-Hooks und -Berechtigungen
~/.claude/skills/<name>/SKILL.md Persönliche Skills
.claude/skills/<name>/SKILL.md Projekt-Skills (über Git geteilt)
~/.claude/agents/<name>.md Persönliche Subagent-Definitionen
.claude/agents/<name>.md Projekt-Subagent-Definitionen
.claude/rules/*.md Projekt-Regeldateien
~/.claude/rules/*.md Benutzer-Regeldateien
~/.claude/projects/{path}/memory/MEMORY.md Auto-Memory

Änderungsprotokoll

Datum Änderung
2026-05-08 Guide v1.6: Day-2-Follow-up zu Claude Code v2.1.132/v2.1.133 + SDK v0.1.77. Unterabschnitt SDK Skill Surface zum System Skills hinzugefügt, der die Option skills auf ClaudeAgentOptions und die Deprecation von "Skill" in allowed_tools abdeckt.37 Unterabschnitt Effort and Session Provenance zu Hook Architecture hinzugefügt, der das neue JSON-Feld effort.level + die Umgebungsvariable $CLAUDE_EFFORT beim Hook-Input sowie die Umgebungsvariable CLAUDE_CODE_SESSION_ID bei Bash-Subprozessen abdeckt.3839 Subagent-Skill-Discovery-Fix zur Tabelle Subagent Configuration Fields hinzugefügt (Subagents entdecken Projekt-, Benutzer- und Plugin-Skills jetzt über das Tool Skill, vor v2.1.133 still verworfen).39 Unterabschnitt Worktree Base, Sandbox Paths, and Admin Settings zu Production Patterns hinzugefügt, der worktree.baseRef (Breaking-Default-Revert zurück zu origin/<default> von lokalem HEAD), sandbox.bwrapPath, sandbox.socatPath und parentSettingsBehavior abdeckt.39
2026-05-07 Guide v1.5: Claude Managed Agents, SF-Erweiterung am 6. Mai. Strategy 5 (Managed Memory Curation: Dreaming, Research Preview) zu Memory and Context hinzugefügt, mit Tabelle, die Filesystem-as-Memory vs. Dreaming gegenüberstellt.35 Managed Multiagent Orchestration (Public Beta) und Outcomes (Public Beta) am Anfang von Multi-Agent Orchestration hinzugefügt, mit wörtlichen Anthropic-Zitaten zu Shared-Filesystem-Spezialisten und Claude-Console-Tracing, plus einer Vergleichstabelle mit selbst gehosteter Deliberation. Unterabschnitt zum Streaming von SDK-seitigen Hook-Events hinzugefügt, der include_hook_events und HookEventMessage aus claude-agent-sdk-python v0.1.74 abdeckt.36 Nur Changelog: Claude Code v2.1.124-v2.1.131 (claude project purge, --dangerously-skip-permissions für Projektverzeichnisse, skill_activated invocation_trigger, PostToolUse Format-on-Save-Fix, PreToolUse JSON+Exit-2-Blocking-Fix, skillOverrides-Settings); claude-agent-sdk-python v0.1.72 (CLI 2.1.126), v0.1.73 (session_store_flush), v0.1.75 (CLI 2.1.131), v0.1.76 (api_error_status); openai-agents-python v0.15.0-v0.16.1, wobei v0.16.0 (7. Mai) standardmäßig gpt-5.4-mini verwendet, das implizite max_turns-Limit entfernt und SDK-seitige Tool-Ausführungs-Concurrency hinzufügt.
2026-05-07 Guide v1.4: Claude Code-Hook- und Skill-Mechaniken anhand der aktuellen offiziellen Dokumentation und lokalen Runtime-Belege aktualisiert (claude --version 2.1.132, codex --version lieferte codex-cli 0.128.0). Die Hook-Oberfläche wurde von 22/26+ auf 29 dokumentierte Events aktualisiert, das Skill-Description-Budget von 2 %/16.000 auf 1 %/8.000 korrigiert, die Anzahl der Hook-Typen von vier auf fünf mit mcp_tool geändert, die nicht unterstützte feste Behauptung von „10 parallelen Subagents” entfernt und ein public-safer Codex-Parity-Abschnitt hinzugefügt, der AGENTS.md, Skills, Hooks, Plugins und explizite Subagent-Workflows abdeckt.
2026-04-29 Guide v1.3: Die Abdeckung von OpenAI Agents SDK im Abschnitt Managed vs. Self-Hosted Harnesses um die benannte SDK-Oberfläche aus openai-agents Python v0.14.0 (15. April) erweitert — SandboxAgent, Manifest, SandboxRunConfig, Sandbox-Memory mit Progressive Disclosure, Workspace-Mounts (S3/R2/GCS/Azure), portable Snapshots und die Backends Local/Docker/Hosted-Client (Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel). Die sekundäre Help-Net-Security-Quelle durch die primäre v0.14.0-Release-Notes-Quelle ersetzt. Einen kurzen Hinweis zu claude-agent-sdk-python v0.1.69-v0.1.71 (28.-29. April) als dritter Self-Hosted-Option hinzugefügt (Einbettung der Claude Code-Runtime als Python-Bibliothek): gebündelte Claude CLI auf v2.1.123 angehoben, mcp-Abhängigkeitsuntergrenze auf >=1.19.0 angehoben (ältere Versionen verwarfen still CallToolResult aus In-Process-MCP-Tools), Trio-Nursery-Cancellation-Fix und SandboxNetworkConfig-Allowlist-Field-Parität mit dem TS-SDK. v0.14.7-v0.14.8 SDK-Verfeinerungen dokumentiert in [^58].
2026-04-25 Guide v1.2: Google Cloud Next 2026 (22.-24. April) — Vertex AI in Gemini Enterprise Agent Platform umbenannt; Agentspace in das einheitliche Gemini Enterprise integriert; Workspace Studio (No-Code-Agent-Builder); 200+ Modelle im Model Garden, einschließlich Anthropic Claude; Partner-Agents von Box, Workday, Salesforce, ServiceNow; ADK v1.0 stable in vier Sprachen; Project Mariner (Web-Browsing-Agent); verwaltete MCP-Server mit Apigee als API-zu-Agent-Brücke; A2A-Protokoll v1.0 in Produktion bei 150 Organisationen. Microsoft Agent Framework 1.0 (April 2026): stabile APIs, LTS-Commitment, vollständige MCP-Unterstützung, .NET + Python. Die browserbasierte DevUI, die Agent-Ausführung und Tool-Aufrufe in Echtzeit visualisiert, erscheint als Preview neben der 1.0-Stable-Oberfläche. Salesforce Headless 360 (15. April, TDX): jede Salesforce-Funktion (CRM, Service, Marketing, E-Commerce) wird als API/MCP-Tool/CLI-Befehl bereitgestellt, sodass Agents wie Claude Code, Cursor und Codex auf der Plattform aufbauen können, ohne einen Browser zu benötigen. (TDX 2026 fand am 15.-16. April statt; die Headless-360-Ankündigung ist auf den 15. April datiert.) MetaComp StableX KYA (21. April): Know-Your-Agent-Governance-Framework für regulierte Finanzdienstleistungen (Payments, Compliance, Wealth) — das erste seiner Art von einem lizenzierten Finanzinstitut; verfügbar über Claude, Claude Code, OpenClaw und andere kompatible KI-Plattformen. Claude Managed Agents Preisgestaltung: 0,08 $ pro Session-Stunde während eine Session läuft, ohne Runtime-Gebühr im Idle-Zustand — zusätzlich zu den normalen Claude-Modell-Token-Raten. (Laut Anthropics Claude-Preisseite; der Public-Beta-Launch war am 8. April 2026.) Memory for Managed Agents ging am 23. April 2026 unter dem Beta-Header managed-agents-2026-04-01 in die Public Beta. Alle Managed-Agents-Endpoints erfordern jetzt diesen Beta-Header.
2026-04-16 Guide v1.1: Abschnitt Managed vs. Self-Hosted Harnesses hinzugefügt, der Claude Managed Agents (8.-April-Beta) und die OpenAI Agents SDK Harness/Compute-Trennung (16. April) abdeckt. Scion Cross-Tool-Multi-Agent-Hypervisor (7. April, Google) hinzugefügt. M3MAD-Bench-Debattenplateau-Befund dokumentiert. The Five Principles of Trustworthy Agents (Anthropic, 9. April) + MCP/AGENTS.md Linux-Foundation-Governance hinzugefügt. Permiso-SandyClaw-Skill-Sandbox-Referenz. Neue Opus-4.7-Long-Horizon-Patterns: Tool-Failure-Resilience, xhigh Effort-Tier, Token-Budget-Ceiling (task_budget Beta), implizites Need-Awareness, das CLAUDE.md-Scaffolding reduziert.
2026-03-24 Erstveröffentlichung

Referenzen


  1. Andrej Karpathy über „Claws” als neue Schicht über LLM-Agenten. HN-Diskussion (406 Punkte, 917 Kommentare). 

  2. Implementierung des Autors. 84 Hooks, 48 Skills, 19 Agenten, ~15.000 Zeilen Orchestrierung. Dokumentiert in Claude Code as Infrastructure

  3. Anthropic, „Claude Code Hooks: Exit Codes.” code.claude.com/docs/en/hooks. Exit 0 erlaubt, Exit 2 blockiert, Exit 1 warnt für die meisten Ereignisse; WorktreeCreate ist strenger. 

  4. Anthropic, „Extend Claude with Skills.” code.claude.com/docs/en/skills. Skill-Struktur, Frontmatter-Felder, LLM-basiertes Matching und 1 % / 8.000-Zeichen-Beschreibungsbudget. 

  5. Anthropic, „Claude Code Sub-agents.” code.claude.com/docs/en/sub-agents. Isolierter Kontext, Worktree-Unterstützung, Agententeams. 

  6. Anthropic, „Claude Code Documentation.” docs.anthropic.com/en/docs/claude-code. Memory-Dateien, CLAUDE.md, Auto-Memory. 

  7. Multi-Agent-Deliberationssystem des Autors. 10 Recherche-Personas, 7-Phasen-Zustandsautomat, 141 Tests. Dokumentiert in Multi-Agent Deliberation

  8. Simon Willison, „Writing code is cheap now.” Agentic Engineering Patterns

  9. Laban, Philippe, et al., „LLMs Get Lost In Multi-Turn Conversation,” arXiv:2505.06120, Mai 2025. Microsoft Research und Salesforce. 15 LLMs, über 200.000 Konversationen, 39 % durchschnittlicher Leistungsabfall. 

  10. Mikhail Shilkov, „Inside Claude Code Skills: Structure, Prompts, Invocation.” mikhail.io. Unabhängige Analyse von Skill Discovery, Kontext-Injektion und dem Prompt-Abschnitt available_skills

  11. Claude Code Source, SLASH_COMMAND_TOOL_CHAR_BUDGET. github.com/anthropics/claude-code

  12. Anthropic, „Skill Authoring Best Practices.” platform.claude.com. 500-Zeilen-Limit, unterstützende Dateien, Namenskonventionen. 

  13. Anthropic, „Claude Code Hooks: Lifecycle Events.” code.claude.com/docs/en/hooks. 29 dokumentierte Lifecycle-Events, Hook-Typen, Matcher-Verhalten, asynchrone Hooks, HTTP-Hooks, Prompt-Hooks, Agent-Hooks und MCP-Tool-Hooks. 

  14. Claude Code-Hooks-Tutorial des Autors. 5 Produktions-Hooks von Grund auf. Dokumentiert in Claude Code Hooks Tutorial

  15. Kontextfenster-Management des Autors über 50 Sessions. Dokumentiert in Context Window Management

  16. Ralph-Loop-Implementierung des Autors. Frische-Kontext-Iteration mit Dateisystemzustand, Spawn-Budgets. Dokumentiert in The Ralph Loop

  17. Architektur des Deliberationssystems des Autors. 3.500 Zeilen Python, 12 Module, Vertrauens-Trigger, Konsens-Validierung. Dokumentiert in Building AI Systems: From RAG to Agents

  18. Nemeth, Charlan, In Defense of Troublemakers: The Power of Dissent in Life and Business, Basic Books, 2018. 

  19. Wu, H., Li, Z. und Li, L., „Can LLM Agents Really Debate?” arXiv:2511.07784, 2025. 

  20. Liang, T. et al., „Encouraging Divergent Thinking in Large Language Models through Multi-Agent Debate,” EMNLP 2024

  21. AGENTS.md-Analyse des Autors über reale Repositories hinweg. Dokumentiert in AGENTS.md Patterns. Siehe auch: GitHub Blog, „How to Write a Great agents.md: Lessons from Over 2,500 Repositories.” 

  22. Quality-Loop- und Evidence-Gate-Methodik des Autors. Teil des Jiro-Craftsmanship-Systems. 

  23. Anthropic, „Claude Managed Agents Overview”. Public Beta gestartet am 8. April 2026. Harness-as-a-Service mit Session-Checkpointing, gebündelter Sandbox, REST API. Preisgestaltung: Standard-Tokens + 0,08 $/Session-Stunde. Beta-Header managed-agents-2026-04-01

  24. OpenAI, „openai-agents Python v0.14.0 Release Notes”. Veröffentlicht am 15. April 2026; Ankündigung am 16. April. Führt die Sandbox Agents-SDK-Oberfläche als Beta-Schicht über dem bestehenden Agent / Runner-Flow ein: SandboxAgent, Manifest (Workspace-Vertrag), SandboxRunConfig, Capabilities (Shell, Filesystem-Editing, Image Inspection, Skills, Sandbox-Memory, Compaction), Workspace-Mounts (lokal, Git, remote: S3, R2, GCS, Azure Blob, S3 Files), portable Snapshots mit Pfadnormalisierung und Symlink-Erhaltung sowie Run-State-Serialisierung für Resume. Backends: UnixLocalSandboxClient, DockerSandboxClient und gehostete Clients für Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel über optionale Extras. Die Ankündigung vom 16. April zusammengefasst bei Help Net Security

  25. Google Cloud, „Scion: Multi-Agent Hypervisor”. Open-Source veröffentlicht am 7. April 2026. Orchestriert Claude Code, Gemini CLI und andere Deep Agents als isolierte Prozesse mit Per-Agent-Container, Git-Worktree und Credentials. Lokale, Hub- und Kubernetes-Deployment-Modi. InfoQ-Berichterstattung

  26. Multi-Agent-Debate-Forschungscluster, Q1–Q2 2026. Wu et al., „Can LLM Agents Really Debate?” (arXiv 2511.07784); M3MAD-Bench — Multi-Model-Multi-Agent-Debate-Benchmark, der Leistungsplateaus und Anfälligkeit für irreführenden Konsens zeigt; Tool-MAD — heterogene Tool-Zuweisung pro Agent + Faithfulness/Relevance-Judge-Scores. 

  27. Anthropic, „Our framework for developing safe and trustworthy agents”. 9. April 2026. Fünf Prinzipien: menschliche Kontrolle, Wertealignment, Sicherheit, Transparenz, Privatsphäre. MCP-Spende an die Agentic AI Foundation der Linux Foundation. 

  28. Permiso Security, „SandyClaw: First Dynamic Sandbox for AI Agent Skills”. 2. April 2026. Skill-Ausführungs-Sandbox mit Sigma/YARA/Nova/Snort-Erkennung und evidenzbasierten Verdikten. 

  29. Anthropic, „Introducing Claude Opus 4.7”. 16. April 2026. Long-Horizon-Agentenverbesserungen: 3× SWE-Bench-Produktionstask-Lösung gegenüber Opus 4.6, Tool-Failure-Resilienz, xhigh-Effort-Tier, Task-Budgets (Beta), Awareness für implizite Bedürfnisse. Siehe auch What’s new in Opus 4.7 für Breaking Changes der Messages-API. 

  30. Sammelreferenz — OpenAI openai-agents-python v0.14.7 (28. April 2026) und v0.14.8 (29. April 2026); Anthropic claude-agent-sdk-python v0.1.69 (28. April), v0.1.70 (28. April) und v0.1.71 (29. April). Highlights v0.14.7: tool_name/call_id-Convenience-Properties auf Tool-Items, angehobenes Phase-2-Memory-Consolidation-Turn-Limit, GPT-5.5-Aliase für Sandbox-Compaction, verschärfte tar/zip-Member-Validierung, Symlink-Ablehnung bei LocalFile-Quellen, Entfernung nicht gesetzter Felder aus Responses-API-Aufrufen. Highlights v0.14.8: Bewahrung von MCP-Re-Export-Importfehlern, Abgrenzung von Sandbox-Prompt-Instruction-Abschnitten. claude-agent-sdk-python v0.1.69 fügte Docstrings zu ClaudeAgentOptions-Feldern hinzu und hob das gebündelte CLI auf v2.1.121 an; v0.1.70 hob den mcp-Dependency-Floor auf >=1.19.0 an (ältere Versionen verwarfen CallToolResult-Rückgaben aus In-Process-MCP-Tool-Handlern stillschweigend), behob Trio-Nursery-Korruption bei früher Cancellation während des Iterierens von query() mit gesetztem options.stderr (spawn_detached() wird nun für den stderr-Reader verwendet) und hob das gebündelte CLI auf v2.1.122 an; v0.1.71 fügte Domain-Allowlist-Felder (allowedDomains, deniedDomains, allowManagedDomainsOnly, allowMachLookup) zu SandboxNetworkConfig für Parität mit dem TypeScript-Schema hinzu und hob das gebündelte CLI auf v2.1.123 an. 

  31. OpenAI, „Custom instructions with AGENTS.md”. Codex liest globale und projektbezogene AGENTS.md / AGENTS.override.md-Dateien vor der Arbeit, fügt Anleitungen vom Root- bis zum aktuellen Verzeichnis zusammen und begrenzt Projektdokumente durch project_doc_max_bytes

  32. OpenAI, „Agent Skills”. Codex-Skills nutzen SKILL.md, progressive Offenlegung, explizite $skill-Aufrufe und implizite Aktivierung aus Beschreibungen. 

  33. OpenAI, „Codex Hooks”. Codex-Hooks unterstützen Command-Hooks in der Konfiguration, Plugin-Hooks, Managed Hooks, Matcher für unterstützte Events, stdin-JSON-Input und JSON-Output-Felder. 

  34. OpenAI, „Codex Subagents” und „Codex CLI 0.128.0 Changelog”. Codex unterstützt explizite parallele Subagent-Workflows, eingebaute default-, worker- und explorer-Agenten, benutzerdefinierte TOML-Agenten, vererbte Sandbox-Policy, plugin-gebündelte Hooks, Hook-Aktivierungszustand und persistierte /goal-Workflows in 0.128.0. 

  35. Anthropic, „New in Claude Managed Agents”. 6. Mai 2026. Dreaming (Research Preview): geplanter Hintergrundprozess, der Agent-Sessions und Memory-Stores prüft, Muster extrahiert und Erinnerungen kuratiert. Outcomes (Public Beta): rubrikbasierte Bewertung, bei der ein separater Grader die Ausgabe in seinem eigenen Kontextfenster gegen die Rubrik bewertet, sodass er nicht durch das Reasoning des Agenten beeinflusst wird. Multiagent Orchestration (Public Beta): Lead-Agent delegiert Teile einer Aufgabe an Spezialisten, jeder mit eigenem Modell, Prompt und Tools; Spezialisten arbeiten parallel auf einem gemeinsamen Dateisystem und tragen zum Gesamtkontext des Lead-Agenten bei, mit vollständigem Per-Step-Tracing in der Claude Console. 

  36. Anthropic, claude-agent-sdk-python v0.1.74. 6. Mai 2026. Fügt include_hook_events zu ClaudeAgentOptions hinzu; wenn gesetzt, werden Hook-Events (PreToolUse, PostToolUse, Stop, andere) vom CLI ausgegeben und aus dem Message-Stream als HookEventMessage geliefert, analog zum includeHookEvents der TypeScript-SDK. Gebündeltes Claude-CLI angehoben auf v2.1.129. 

  37. Anthropic, claude-agent-sdk-python v0.1.77. 8. Mai 2026. Veraltet den Wert "Skill" in allowed_tools zugunsten einer dedizierten skills-Option auf ClaudeAgentOptions, gibt Claude Code ein strukturierteres Signal über verfügbare Skills, verbessert Fehlermeldungen bei Command failed-Exceptions und bündelt Claude-CLI v2.1.133. 

  38. Anthropic, Claude Code v2.1.132. 6. Mai 2026. Fügt die Umgebungsvariable CLAUDE_CODE_SESSION_ID auf Bash-Tool-Subprozessen hinzu (passt zur session_id, die Hooks bereits sehen), CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN, um Konversationen im nativen Scrollback zu behalten, einen aufgefrischten /tui fullscreen-Startbanner (geringerer Speicherverbrauch, Mausunterstützung, Auto-Copy bei Auswahl) sowie etwa zwanzig Bugfixes für SIGINT Graceful Shutdown, Surrogate-Emoji---resume-Korruption, Plan-Mode---permission-mode-Flag, Indic- und ZWJ-Cursor-Handling, NFD-vim-Operationen, Paste-Starts-with-/-Swallow, MCP-unbegrenzten Speicher, MCP-tools/list-Retry, Bedrock + Vertex ENABLE_PROMPT_CACHING_1H 400 sowie Statusline-context_window, das kumulative Tokens anzeigt. 

  39. Anthropic, Claude Code v2.1.133. 7. Mai 2026. Hooks erhalten nun effort.level als JSON-Input + Umgebungsvariable $CLAUDE_EFFORT (auch aus Bash-Befehlen lesbar). Subagenten entdecken Projekt-, Benutzer- und Plugin-Skills über das Skill-Tool (Regression-Fix). Neue Admin-Einstellungen: worktree.baseRef (fresh | head) setzt die Worktree-Basis zurück auf origin/<default> nach dem Wechsel zu lokalem HEAD in v2.1.128; sandbox.bwrapPath und sandbox.socatPath pinnen Sandbox-Binärdateien unter Linux/WSL; parentSettingsBehavior ('first-wins' | 'merge') steuert, wie SDK-managedSettings mit Parent-Settings zusammengesetzt werden. Weitere Fixes: Parallel-Session-401-After-Refresh-Token-Race, Drive-Root-Allow-Rule-Scoping, MCP-OAuth-Proxy/mTLS-Unterstützung, Remote-Control-Stop/Interrupt schließt Cancel ab, Cross-Session-/effort-Leakage, --remote-control in --help aufgelistet. 

NORMAL agent-architecture.md EOF