Bounded Loops
Effort: free — Obergrenzen und Checkpoints, deklariert bevor die Schleife startet; senkt die Kosten unterm Strich. Beseitigt: davonlaufende Schleifen-Ausgaben — verbranntes Kontingent, per 429 blockierte Routen und Fortschritt, den ein Absturz auslöscht.
Eine unbegrenzte Schleife ist der teuerste Bug, den ein Agent ausliefern kann. Sie
verbrennt Budget, hämmert Provider, bis die dich sperren, und versteckt ihr eigenes
Scheitern im Kreiseln. Jede Schleife bekommt eine Obergrenze, einen Checkpoint und
einen lauten Weg zu sterben — bevor sie startet.
Wann einsetzen
Vor dem Start jeder Schleife: ein Repair-Loop, ein Retry-Wrapper, ein Poller, ein
Scheduler, ein mehrstufiger autonomer Lauf — alles, was einen Call neu absetzen
oder einen Schritt neu versuchen kann.
Die Schritte
- Deklariere zuerst das Budget. Tokens, Kosten, Wanduhrzeit und maximale
Versuche — aufgeschrieben vor der ersten Iteration. Eine Schleife ohne
deklariertes Budget ist per Definition unbegrenzt und startet nicht.
- Deckle die inneren Runden. Eine innere Episode (ein LLM-/Tool-Zyklus an
einem Problem) bekommt eine kleine, feste Rundengrenze (etwa 4). Die Grenze
begrenzt die Episode, nicht die Mission — unfertige Arbeit wandert nach oben,
sie mahlt nicht weiter.
- Checkpointe jede Iteration. Dauerhafter Zustand auf der Platte —
Run-Manifest, Evidenz-Log, aktueller Schritt — nie Chat-Gedächtnis. Jeder (auch
eine frische Session) kann vom letzten Checkpoint weitermachen.
- Bei Erschöpfung: checkpointen, dann eskalieren. Übergib den Checkpoint an
die äußere Schleife oder an deinen Menschen — mit dem, was getan ist, was fehlt,
und dem Blocker. Fahre nie still über ein Budget hinaus. Stoppe auch nie still —
Erschöpfung ist laut.
- Respektiere jede externe API. Lerne vor dem ersten Call Rate-Limit und
Quota des Providers; wenn unbekannt, behandle sie als strikt — ein Call, weiter
Abstand — bis gemessen. Drossle jeden Call, cache und verwende Antworten
wieder, und halte eine harte Obergrenze pro Zeitfenster.
- Weiche bei Gegenwind exponentiell zurück. Ein 429 oder 503 heißt: warten,
dann länger warten. Null Sofort-Retries auf denselben Endpoint. Ein enger Retry
gegen einen Endpoint ist genau die Art, wie eine funktionierende Route stirbt:
Er verbrennt Quota und kann deine ganze Egress-Adresse sperren lassen.
- Trage einen lauten, begrenzten Kill-Switch. Jede Schleife, die einen Call
neu absetzen kann, hat eine maximale Versuchszahl; ist sie erreicht, stoppt die
Schleife LAUT mit der Evidenz — nie ein endloses oder stilles Kreiseln.
- Stoppen und Einreihen nur an sicheren Punkten. Stopp heißt
Checkpoint-dann-Abbruch. Neue Arbeit reiht sich für den nächsten sicheren Punkt
ein (eine Zustandsgrenze zwischen Schritten) — nie mitten im Schritt injiziert.
Eine Schleifeninstanz, ein Schreiber, atomare Zustands-Writes.
Harte Regeln (woran dieser Skill scheitert)
- Eine Schleife, die ohne deklariertes Token-/Kosten-/Zeit-/Versuchs-Budget startet.
- Über ein erschöpftes Budget hinaus weitermachen, still oder nicht, ohne zu
eskalieren.
- Ein Sofort-Retry auf denselben Endpoint, oder irgendein Retry-Pfad ohne Backoff.
- Eine Retry-Schleife ohne Versuchsdeckel, oder ein Deckel, der beim Erreichen
leise versagt.
- Fortschrittszustand nur im Konversationsgedächtnis — ein Crash löscht den Lauf.
- Zwei Schleifeninstanzen, die denselben Zustand schreiben, oder nicht-atomare
Zustands-Writes.
- Der Schleife entkommen, indem sie ihre eigenen Exit-Checks schwächt — ein Grün,
das durch Latte-Senken, Daten-Löschen oder Fehler-Schlucken entsteht, ist ein
Fake Green, kein Exit.
Passt gut zu
- optimus — den Boden laden, bevor irgendeine Schleife startet.
- repair-loop — der Hauptabnehmer dieser Obergrenzen.
- fleet-ladder — begrenzter Fallback über Modelle hinweg, statt eins zu hämmern.
- session-handoff — das, worin ein Checkpoint eskaliert.
1---2name: bounded-loops-23description: Nutze das vor jeder Schleife, die retrien, pollen, iterieren oder eine externe API rufen kann — Agent-Loops, Repair-Loops, Scheduler, Watcher. Deklariert Budget-Obergrenzen, checkpointet bei Erschöpfung und macht Hämmern strukturell unmöglich. Trigger words: bounded loop, budget, ceiling, retry, backoff, rate limit, throttle, kill-switch, checkpoint, runaway, infinite loop, spin, budget exhaustion, begrenzte Schleife, Obergrenze, Drosselung, Endlosschleife, Budget erschöpft.4license: MIT5---67# Bounded Loops8**Effort:** free — Obergrenzen und Checkpoints, deklariert bevor die Schleife startet; senkt die Kosten unterm Strich. Beseitigt: davonlaufende Schleifen-Ausgaben — verbranntes Kontingent, per 429 blockierte Routen und Fortschritt, den ein Absturz auslöscht.910Eine unbegrenzte Schleife ist der teuerste Bug, den ein Agent ausliefern kann. Sie11verbrennt Budget, hämmert Provider, bis die dich sperren, und versteckt ihr eigenes12Scheitern im Kreiseln. Jede Schleife bekommt eine Obergrenze, einen Checkpoint und13einen lauten Weg zu sterben — bevor sie startet.1415## Wann einsetzen1617Vor dem Start jeder Schleife: ein Repair-Loop, ein Retry-Wrapper, ein Poller, ein18Scheduler, ein mehrstufiger autonomer Lauf — alles, was einen Call neu absetzen19oder einen Schritt neu versuchen kann.2021## Die Schritte22231. **Deklariere zuerst das Budget.** Tokens, Kosten, Wanduhrzeit und maximale24 Versuche — aufgeschrieben vor der ersten Iteration. Eine Schleife ohne25 deklariertes Budget ist per Definition unbegrenzt und startet nicht.262. **Deckle die inneren Runden.** Eine innere Episode (ein LLM-/Tool-Zyklus an27 einem Problem) bekommt eine kleine, feste Rundengrenze (etwa 4). Die Grenze28 begrenzt die Episode, nicht die Mission — unfertige Arbeit wandert nach oben,29 sie mahlt nicht weiter.303. **Checkpointe jede Iteration.** Dauerhafter Zustand auf der Platte —31 Run-Manifest, Evidenz-Log, aktueller Schritt — nie Chat-Gedächtnis. Jeder (auch32 eine frische Session) kann vom letzten Checkpoint weitermachen.334. **Bei Erschöpfung: checkpointen, dann eskalieren.** Übergib den Checkpoint an34 die äußere Schleife oder an deinen Menschen — mit dem, was getan ist, was fehlt,35 und dem Blocker. Fahre nie still über ein Budget hinaus. Stoppe auch nie still —36 Erschöpfung ist laut.375. **Respektiere jede externe API.** Lerne vor dem ersten Call Rate-Limit und38 Quota des Providers; wenn unbekannt, behandle sie als strikt — ein Call, weiter39 Abstand — bis gemessen. Drossle jeden Call, cache und verwende Antworten40 wieder, und halte eine harte Obergrenze pro Zeitfenster.416. **Weiche bei Gegenwind exponentiell zurück.** Ein 429 oder 503 heißt: warten,42 dann länger warten. Null Sofort-Retries auf denselben Endpoint. Ein enger Retry43 gegen einen Endpoint ist genau die Art, wie eine funktionierende Route stirbt:44 Er verbrennt Quota und kann deine ganze Egress-Adresse sperren lassen.457. **Trage einen lauten, begrenzten Kill-Switch.** Jede Schleife, die einen Call46 neu absetzen kann, hat eine maximale Versuchszahl; ist sie erreicht, stoppt die47 Schleife LAUT mit der Evidenz — nie ein endloses oder stilles Kreiseln.488. **Stoppen und Einreihen nur an sicheren Punkten.** Stopp heißt49 Checkpoint-dann-Abbruch. Neue Arbeit reiht sich für den nächsten sicheren Punkt50 ein (eine Zustandsgrenze zwischen Schritten) — nie mitten im Schritt injiziert.51 Eine Schleifeninstanz, ein Schreiber, atomare Zustands-Writes.5253## Harte Regeln (woran dieser Skill scheitert)5455- Eine Schleife, die ohne deklariertes Token-/Kosten-/Zeit-/Versuchs-Budget startet.56- Über ein erschöpftes Budget hinaus weitermachen, still oder nicht, ohne zu57 eskalieren.58- Ein Sofort-Retry auf denselben Endpoint, oder irgendein Retry-Pfad ohne Backoff.59- Eine Retry-Schleife ohne Versuchsdeckel, oder ein Deckel, der beim Erreichen60 leise versagt.61- Fortschrittszustand nur im Konversationsgedächtnis — ein Crash löscht den Lauf.62- Zwei Schleifeninstanzen, die denselben Zustand schreiben, oder nicht-atomare63 Zustands-Writes.64- Der Schleife entkommen, indem sie ihre eigenen Exit-Checks schwächt — ein Grün,65 das durch Latte-Senken, Daten-Löschen oder Fehler-Schlucken entsteht, ist ein66 Fake Green, kein Exit.6768## Passt gut zu6970- [optimus](../optimus/SKILL.md) — den Boden laden, bevor irgendeine Schleife startet.71- [repair-loop](../repair-loop/SKILL.md) — der Hauptabnehmer dieser Obergrenzen.72- [fleet-ladder](../fleet-ladder/SKILL.md) — begrenzter Fallback über Modelle hinweg, statt eins zu hämmern.73- [session-handoff](../session-handoff/SKILL.md) — das, worin ein Checkpoint eskaliert.