BK Cloud / Systeme Start
DE
English ENDeutsch DEEspañol ES中文 ZH
Kontakt ↗
← Zurück zu den Feldnotizen

Eine ehrliche ETA-Anzeige für den Coding-Agenten bauen

Der erste Artikel beschreibt die Planungsfrage: Warten, etwas Kleines erledigen oder ein anderes Thema anfangen, während der Agent arbeitet? Hier bauen wir einen kleinen lokalen Datensatz für das nächste erwartete Aufmerksamkeitsfenster.

Das Beispiel sagt die Aufgabendauer nicht automatisch voraus. Du oder dein Agent meldet ausdrücklich einen Zustand und, wenn begründbar, eine grobe Zeitspanne. Die Anzeige macht diese Information lesbar und lässt veraltete Prognosen nicht wie verlässliche Angaben aussehen.

1. Ein getrenntes Beispiel starten

Du brauchst Python 3 im macOS- oder Linux-Terminal. Prüfe es mit python3 --version. Lade agent-eta.py herunter, lies den Code und speichere ihn in einem temporären Arbeitsverzeichnis. Führe die Befehle dort aus. Zusätzliche Pakete oder Änderungen an Claude-Code-Einstellungen sind nicht nötig.

Jede Aufgabe bekommt eine eigene lokale JSON-Datei. Mehrere Agenten dürfen nicht dieselbe Datei beschreiben. Das übergeordnete Verzeichnis muss bereits existieren.

python3 agent-eta.py --file ./eta-demo.json write --state working --phase verification --min 5 --max 12
python3 agent-eta.py --file ./eta-demo.json show

Anfangs sieht die Ausgabe ungefähr so aus:

verification | WORKING | rough next-attention window 5-12m | declared, not calibrated

Fünf bis zwölf Minuten sind erfundene Beispielwerte, kein Benchmark oder Versprechen für deine Aufgabe. Gemeint ist das nächste erwartete Zeitfenster für Aufmerksamkeit, nicht der garantierte Abschluss einer fertigen Lösung.

2. Unbekannte Zeiten unbekannt lassen

Fehlt eine Grundlage für die Zeitspanne, melde nur den Zustand:

python3 agent-eta.py --file ./eta-demo.json write --state working --phase research

Die Anzeige lautet dann next attention window unknown. Eine fehlende Schätzung wird nicht zur Null. Bei einer vorhandenen Spanne zieht die Anzeige die verstrichene Zeit ab. Nach Ablauf der oberen Grenze erscheint declared window expired; refresh needed, statt einen irreführenden Countdown auf null stehen zu lassen.

3. Tatsächlichen Eingabebedarf melden

python3 agent-eta.py --file ./eta-demo.json write --state needs-input --phase implementation
python3 agent-eta.py --file ./eta-demo.json write --state waiting --phase external
python3 agent-eta.py --file ./eta-demo.json write --state ready --phase review

Führe diese Befehle einzeln aus, wenn der jeweilige Übergang wirklich stattfindet. Sie sind keine blind auszuführende Befehlsfolge. INPUT NEEDED hat Vorrang vor einer Zeitspanne. READY FOR REVIEW behauptet nicht, dass Tests bestanden wurden. Externes Warten ohne begründete Spanne bleibt zeitlich unbekannt.

Das Skript erkennt selbst weder einen Freigabedialog noch ein Testergebnis. Der Datensatz ist nur so aktuell und ehrlich wie die Meldung seines Schreibers.

4. Den Ablauf ausdrücklich ergänzen

Aktualisiere den Datensatz beim ersten Versuch selbst, wenn die Phase wechselt. Soll später ein Coding-Agent schreiben, gib ihm das geprüfte Skript und eine eigene Datei. Verlange Aktualisierungen vor einer Rückfrage und nach dem Arbeitsende. Nicht begründbare Zeitspannen soll er weglassen.

Das ist eine Arbeitsanweisung, keine verifizierte automatische Claude-Code-Integration. Ein Adapter für Statuszeile oder Lifecycle-Hooks wäre ein eigener Schritt. show liefert eine Momentaufnahme, kein automatisch aktualisiertes Dashboard. Du kannst den Befehl beim Nachsehen erneut ausführen.

Prüfe, ob die Information bei der Wahl einer sinnvollen Zwischenaufgabe hilft. Die Zahl allein bedeutet nicht, dass du garantiert ungestört weggehen kannst: Eine Frage kann früher entstehen als erwartet.

5. Grenzen testen und den Versuch aufräumen

Die Implementierung wurde mit künstlicher Uhr und Testeingaben geprüft: fehlende oder fehlerhafte Dateien, unbekannte und abgelaufene Spannen, Eingabebedarf, ungültige Werte und Uhrzeitänderungen. Ein über 24 Stunden alter Datensatz gilt als veraltet. Die Vorhersagegenauigkeit echter Aufgaben ist nicht nachgewiesen.

Gespeichert werden feste Zustands- und Phasennamen, Aktualisierungszeit und gemeldete Spanne. Es gibt keine Netzwerkaufrufe, Prompt-Aufzeichnung oder Historie. Aktualisierungen überschreiben dieselbe Datei; sie wird nicht automatisch gelöscht. Entferne eta-demo.json nach dem Versuch im Dateimanager. Skript und Datei zu entfernen macht das Beispiel rückgängig; Agenteneinstellungen wurden nicht verändert.

Eine Kalibrierung mit historischen Laufzeiten folgt erst, wenn genügend vergleichbare abgeschlossene Aufgaben vorliegen. Bis dahin ist eine gemeldete Spanne mit sichtbarem Ablauf ehrlicher als eine scheinbar exakte Prognose ohne Belege.

DE
EnglishENDeutschDEEspañolES中文ZH