UVP: Zweitleser-Korrekturen VPN-108/121/265, AE-27/29

This commit is contained in:
grok-bot committed 2026-11-02 16:04:18 +01:00
1 parent f26eb84956
commit bcb5a7643f
7 files changed
+14 -15

No files matched your search

+1 -1
View File
@@ -147,7 +147,7 @@ Nach einer Stunde bastelt er an JWT-Claims, die gestern schon verworfen waren.
- **Ziel und DoD klar:** 5 Requests/min/IP; Tests `auth/rate_limit_test.*` grün; bestehende JWT-API unverändert
- **Dateien gezielt:** Handler, Middleware-Registry, bestehende Rate-Limit-Util falls vorhanden
- **Constraint hart:** keine neue Infra, in-memory ok für Slice 1
- **Harte Nebenbedingung:** keine neue Infra, in-memory ok für Slice 1
Derselbe Agent: der zweite Start landet eher im Sweet Spot (Bereich A), der erste driftet in den Abfall (Bereich B). Der Unterschied war Budget und Signal, nicht „Intelligenz“.
@@ -1,6 +1,6 @@
# 4. Context-Management in der Praxis
Kapitel 3 hat begründet, *warum* Context die Qualität dominiert. Hier die vier Alltagsfragen: **Wann** neue Session? **Wann** Compact — und **mit welchen Hints**? **Wie** Handoff? **Wie** der Agent **selbst** mitträgt?
Kap. 3 hat begründet, *warum* Context die Qualität dominiert. Hier die vier Alltagsfragen: **Wann** neue Session? **Wann** Compact — und **mit welchen Hints**? **Wie** Handoff? **Wie** der Agent **selbst** mitträgt?
> **Kern:** Context-Management ist keine Nebenbeschäftigung. Es ist der Steuerknüppel für Zuverlässigkeit, Kosten und Autonomie.
@@ -167,7 +167,7 @@ Compact wechselt den UI-Namen, der Job bleibt (Kap. 4.2). Beim Wort **Handoff**
Harnesses beschriften das uneinheitlich; Slash-Befehle driften. Gleichrangig (Stand des Buchs): Claude Code trennt `/compact` von der Datei plus neuer Session. Das OpenAI Agents SDK meint mit demselben Wort Agent-zu-Agent-Routing. **Im Buch heißt nur die Datei Handoff.**
Felder und Session-Start stehen hier. Warum das eine Memory-Übergabe ist: [Kapitel 6.5](kapitel-06-knowledge-layer-wissen-fuer-agents.md).
Felder und Session-Start stehen hier. Warum das eine Memory-Übergabe ist: [Kap. 6.5](kapitel-06-knowledge-layer-wissen-fuer-agents.md).
### Session-Start mit Handoff
@@ -185,7 +185,7 @@ Wenn der Agent Ziel und DoD nicht sauber wiederholen kann, war der Handoff zu we
## 4.4 Frage 4: Wie der Agent selbst mittragen kann
Context-Management darf nicht nur „User-Disziplin“ sein. Regeln (`AGENTS.md`, Skills) sollen den Agenten zum **Mitspieler** machen — sonst fällt Hygiene unter Zeitdruck zuerst. Das ist **weich**: der Agent schlägt vor und liefert den Text; Slash-Befehle führt oft der Mensch aus. Was der Harness hart kann (Auto-Compact, Plan-Mode, Isolation), steht in [Kapitel 15](kapitel-15-praktisches-setup-und-tooling.md) und [Kap. 5.6](kapitel-05-context-engineering-write-select-compress-isolate.md).
Context-Management darf nicht nur „User-Disziplin“ sein. Regeln (`AGENTS.md`, Skills) sollen den Agenten zum **Mitspieler** machen — sonst fällt Hygiene unter Zeitdruck zuerst. Das ist **weich**: der Agent schlägt vor und liefert den Text; Slash-Befehle führt oft der Mensch aus. Was der Harness hart kann (Auto-Compact, Plan-Mode, Isolation), steht in [Kap. 15](kapitel-15-praktisches-setup-und-tooling.md) und [Kap. 5.6](kapitel-05-context-engineering-write-select-compress-isolate.md).
Der Agent wählt **eine** Hauptaktion: Compact mit Hint, wenn das Ziel gleich und der Context noch scharf ist; Progress oder Handoff, wenn der Stand die Session überleben muss; Handoff und neue Session an Task-, Themen- und Rot-Grenzen (4.1). Vorbereitung zählt nicht als zweite Aktion — ein Handoff vor dem Verdichten gehört zur selben Entscheidung.
@@ -311,4 +311,4 @@ Weitermachen „weil schon so viel Context drin steckt“ ist der teuerste Trugs
1. Handoff und Compaction-Hints aus **Anhang A** ins Team-Repo.
2. `AGENTS.md` um den Context-Block aus 4.4.1 ergänzen.
3. Eine Woche Session-Start-Checkliste (**Anhang A**); einmal bewusst: Slice → Handoff → neue Session.
4. Weiter: [Kapitel 5](kapitel-05-context-engineering-write-select-compress-isolate.md) — Lifecycle.
4. Weiter: [Kap. 5](kapitel-05-context-engineering-write-select-compress-isolate.md) — Lifecycle.
@@ -17,8 +17,8 @@ Die Stufen 0–4 sind dieselben wie in [Kap. 20.2](kapitel-20-schluss-und-ausbli
```text
Ziel (Outcome)
+ Nebenbedingungen (Nebenbedingungen)
+ Ausschlüsse (Ausschlüsse)
+ Nebenbedingungen
+ Ausschlüsse
+ Definition of Done (Checks)
```
@@ -46,7 +46,7 @@ Nebenbedingungen begrenzen den Lösungsraum, ohne die genaue Umsetzung vorzuschr
### Micro-Management (meist Avoid)
Exakte Zeilennummern und finaler Code im Prompt. „Benutze genau diese 4 Hilfsfunktionen in genau dieser Reihenfolge.“ Architektur-Diktat ohne Constraint-Grund („unbedingt Hexagonal mit 12 Ports“).
Exakte Zeilennummern und finaler Code im Prompt. „Benutze genau diese 4 Hilfsfunktionen in genau dieser Reihenfolge.“ Architektur-Diktat ohne sachlichen Grund („unbedingt Hexagonal mit 12 Ports“).
**Ausnahme:** Pair-Programming-Modus, Lehr-Kontext, oder gesetzliche/protokollharte Schritte. Dann ist Restriktion Absicht — kennzeichnet sie. Sonst verwechselst du Steuerung mit Diktat und zahlst mit schlechteren Lösungen.
@@ -155,7 +155,7 @@ Direkt, outcome-orientiert. Bullet Points schlagen Prosa-Romane. Eine Primärauf
## 14.9 Task-Prompt-Checkliste {.unnumbered .unlisted}
- [ ] Outcome in 1–3 Sätzen
- [ ] Nebenbedingungen nur echte Nebenbedingungen
- [ ] Nur echte Nebenbedingungen
- [ ] Ausschlüsse genannt
- [ ] DoD agent-prüfbar
- [ ] Nicht unnötig implementierungsdiktierend
@@ -65,7 +65,7 @@ Nicht im Prompt, nicht in `AGENTS.md`, nicht in Skills, nicht in MCP-Configs als
Warum so streng? Weil alles, was im Context landet, potenziell in Logs, Support-Exports, Compact-Zusammenfassungen und versehentlichen Commits wieder auftaucht. Ein Token, das einmal im Transcript steht, ist kein „kurzer Fehler“ — es ist ein Leak mit unklarem Verbreitungsgrad. In der Praxis sieht das oft so aus: Die Session stockt, der Agent will „die Connection prüfen“, liest die `.env` im Workspace und gibt den Wert in einer Fehlermeldung aus. Ab da ist Rotation fällig, nicht Hoffnung.
Wenn ein Tool ein Secret **braucht**, soll es zur Laufzeit aus einem Vault kommen — injectiert in den Prozess, der es braucht —, und danach wieder verschwinden. Der Agent steuert idealerweise nur den **Aufruf** („starte Migration mit injizierter URL“), nicht den Klartext.
Wenn ein Tool ein Secret **braucht**, soll es zur Laufzeit aus einem Vault kommen — injectiert in den Prozess, der es braucht —, und danach wieder verschwinden. Der Agent formuliert idealerweise nur den **Auftrag** („starte Migration mit injizierter URL“); den Runner startet Mensch oder CI, nicht der Agent.
### Wo Secrets hingehören
@@ -221,12 +221,11 @@ docker run --rm -it \
--memory 4g --cpus 2 --pids-limit 256 \
-v "$PWD:/workspace:rw" \
-v /dev/null:/workspace/.env:ro \
-e DATABASE_URL \
-w /workspace \
your-org/agent-dev:stable
```
Secrets kommen über den Host-Runner, der `docker run` startet und die benötigten Werte explizit übergibt (`-e`/`--env-file`), oder über eine tmpfs-Datei in den Container. Der Runner liegt außerhalb der Agent-Shell; `--network none` bleibt, damit der Container selbst weder Vault noch Doppler erreicht.
Secrets kommen über den Host-Runner, der den Verify-Prozess in einem **eigenen** Container startet und die Werte nur diesem Prozess übergibt (`-e`/`--env-file`); der Agent-Container bleibt secret-frei. Der Runner liegt außerhalb der Agent-Shell; `--network none` bleibt, damit der Agent-Container selbst weder Vault noch Doppler erreicht.
`$PWD` ist der Workspace — Bind-Mounts haben keine Ignore-Liste, deshalb wird `.env` hier explizit überdeckt. Host-Home, Docker-Socket und Key-Files bleiben draußen.
@@ -130,7 +130,7 @@ Das ist episodisches und teilweise semantisches Memory (Kap. 6) — **geschriebe
**1. Shared Write, private Working**
Workers lesen Progress und Vertrag; sie schreiben nur in *ihren* Scope und liefern Hand-back. Den kanonischen Fortschritt pflegt der Parent (oder Integrator); Worker ergänzen ausschließlich append-only Einträge nach dem Schema aus Muster 2 und ändern keine bestehenden Zeilen. `PROGRESS.md` und `handbacks/<agent-id>.md` sind dabei eigene, append-only Write-Scopes im Integrationsvertrag — kein Schreiben außerhalb dieser Scopes.
Workers lesen Progress und Vertrag; sie schreiben nur in *ihren* Scope und liefern Hand-back. Den kanonischen Fortschritt pflegt der Parent (oder Integrator); Worker ergänzen ausschließlich append-only Einträge nach dem Schema aus Muster 2 und ändern keine bestehenden Zeilen. `PROGRESS.md` und `handbacks/<agent-id>.md` sind dabei eigene, append-only Write-Scopes im Integrationsvertrag — kein Schreiben außerhalb der zugewiesenen Write-Scopes.
**2. Append-only Progress mit Schema**
+1 -1
View File
@@ -179,7 +179,7 @@ Neue Companion-Figuren zu bestehenden Kerndiagrammen. **Prompts fertig**; Assets
| M-09 | Wissen hat Gültigkeitsbereiche: Task → Session → Modul → Repo → Team/Org — Isolation verhindert fremdes Gift. |
| M-10 | Höhere Runtime-Isolation verkleinert den Blast Radius — Host ohne Grenze ist der teuerste Default. |
| S-01 | Obsolete Dateien und widersprüchliche Rules sind Context-Gift. |
| S-02 | Ziel + Constraints + Ausschlüsse + DoD + Quellen; Team-Standards tragen die Reife — nicht nur größere Modelle. |
| S-02 | Ziel + Nebenbedingungen + Ausschlüsse + DoD + Quellen; Team-Standards tragen die Reife — nicht nur größere Modelle. |
| S-03 | Agent-freundliches Setup: eine Wahrheit für Rules, Verify und Ignore — nicht Tool-Logo-Sammlung. |
| K-12 | Multi-Agent: getrennte Windows, DoD, Hand-back und Ownership — Parallelität ohne Vertrag ist Spawn-Theater. |
| M-11 | Context-Budget aktiv steuern: Sweet Spot signalstark — Dumb Zone teuer und laut. |
+1 -1
View File
@@ -132,7 +132,7 @@ Agenten-Aktionen, fehlerhafter Freigaben oder ungeeigneter Policies, übernimmt
der Autor keine Haftung. KI-generierter Code und Vorschläge erfordern
menschliche Prüfung; Merge, Release und Produktionszugriff bleiben in der
Verantwortung der Anwendenden bzw. ihrer Organisation. Produkt- und Rechtslage
können sich ändern; Stand dieses Buchs ist Mitte/Ende 2026.
können sich ändern; Stand dieses Buchs ist August 2026.
Produktnamen (Aider, Anthropic, Claude, Codex, Cursor, Grok, OpenAI, xAI,
Amazon, Kindle Direct Publishing u. a.) sind Eigentum der jeweiligen