Wie sage ich einem KI-Agenten, was „erledigt“ heißt?
Schreiben Sie Abnahmekriterien als Checkliste. Wie acceptance_criteria und check_criterion in Done dem Agenten eine Messlatte geben und warum jedes abgehakte Kästchen noch nicht „erledigt“ bedeutet.

Von Alejandro Rioja4 Min. Lesezeit
Schreiben Sie vor dem Start an die Aufgabe selbst, was „erledigt“ heißt, als Markdown-Checkliste. In Done ist das das Feld acceptance_criteria der Aufgabe: eine Zeile pro überprüfbarer Bedingung, etwa „- [ ] Tests laufen auf der Branch-Spitze durch“. Der Agent liest sie zuerst, hakt jede Zeile mit check_criterion ab, sobald er sie tatsächlich erfüllt, und bittet dann um den Abschluss. Alle Kästchen abzuhaken schließt die Aufgabe nicht: Ein Mensch genehmigt weiterhin.
Warum reicht eine gute Aufgabenbeschreibung nicht?
Eine Beschreibung sagt dem Agenten, was zu tun ist. Wie ein fertiges Ergebnis aussieht, sagt sie nicht, also entscheidet der Agent das selbst, und er hört oft bei der ersten plausiblen Ausgabe auf. Abnahmekriterien sind die andere Hälfte: die prüfbare Messlatte, an der das Ergebnis gemessen wird, keine weiteren Anweisungen. Die Werkzeugbeschreibungen von Done ziehen genau diese Linie und bitten den Agenten, seine Arbeit vor dem Vorschlag zum Abschluss daran zu prüfen.
Wie sieht ein Kriterium aus, mit dem ein Agent arbeiten kann?
- So, dass jemand anderes es prüfen kann: „Tests laufen auf der Branch-Spitze durch“, „die Seite lädt in unter 200 ms“, „die Zusammenfassung nennt jede überfällige Rechnung“. „Sieht gut aus“ ist keine Bedingung.
- Eine Zeile pro Bedingung, damit sich jede einzeln abhaken lässt und eine halb erledigte Aufgabe als 2/4 erscheint statt als nichts.
- Als Markdown-Checkliste schreiben, Zeilen beginnen mit „- [ ] “. Eine normale Aufzählung oder ein Absatz wird zwar gespeichert, ist für Done aber Fließtext: Die Aufgabe meldet keine Kriterien, und der Agent hat nichts zum Abhaken.
- Das Wie gehört in notes_for_agent oder die Beschreibung, in die Kriterien nur das Was. Vermischt wandert die Messlatte mit den Anweisungen.
Wie meldet der Agent seinen Fortschritt gegen die Kriterien?
Er ruft get_task auf, das die Kriterien mit met, total und dem nullbasierten Index jedes Eintrags liefert, und dann check_criterion mit der Aufgaben-ID und diesem Index, sobald er eine Zeile erfüllt. Mit done:false nimmt er einen Haken zurück, und ein bereits gesetzter Haken ändert nichts. Jede tatsächliche Änderung hinterlässt eine Zeile im Verlauf der Aufgabe, etwa „met 'tests pass' (2/4 criteria met)“, sodass Sie den Fortschritt sehen, ohne dass im Thread laufend kommentiert wird. Abhaken ist nur bei Aufgaben in der eigenen Spur des Agenten möglich.
Schließt das Abhaken aller Kriterien die Aufgabe ab?
Nein, und das ist Absicht. check_criterion ist ein Fortschrittsbericht; die Antwort sagt dem Agenten nur, dass alle Kriterien erfüllt sind und er den Abschluss vorschlagen kann. Das Schließen ist ein eigener Schritt. Eine Aufgabe ohne agent_ok geht über propose_completion nach pending_approval und wartet auf Sie; nur bei einer agent_ok-Aufgabe darf der Agent complete_task selbst aufrufen. Die Checkliste macht die Aussage des Agenten leichter prüfbar, und die Freigabe-Schranke verhindert, dass sie endgültig ist.
Kann der Agent seine eigenen Kriterien umschreiben?
Er kann das Feld mit update_task bearbeiten, und genau deshalb sollten Sie eine vollständig abgehakte Liste nicht für bare Münze nehmen. Bei der Aufgabe eines Menschen kann er stattdessen propose_edit nutzen, das die Änderung als Diff „aktuell gegen vorgeschlagen“ zeigt, den Sie Feld für Feld annehmen oder verwerfen. Bei der Prüfung liefert get_evidence den Kriterienfortschritt samt jedem Beleg, Ergebnis und Lauf-Trace, dazu den Änderungsverlauf und agent_edits_since_human, die Zahl der Agenten-Änderungen seit der letzten menschlichen Berührung. Ist sie nicht null, lesen Sie die Kriterien, bevor Sie den Haken trauen: Nach Arbeitsbeginn umgeschriebene Kriterien sind nicht die vereinbarte Messlatte.
Häufige Fragen
Wie sage ich einem KI-Agenten, was „erledigt“ heißt?
Tragen Sie es als Markdown-Checkliste in acceptance_criteria der Aufgabe ein, eine überprüfbare Bedingung pro Zeile. In Done liest der Agent sie vor dem Start und hakt jede Zeile mit check_criterion ab, sobald er sie erfüllt.
Schließt die Aufgabe, wenn der Agent alle Punkte abgehakt hat?
Nein. In Done bedeutet jedes abgehakte Kriterium nur, dass der Agent den Abschluss vorschlagen darf. Eine Aufgabe ohne agent_ok geht nach pending_approval und wartet auf einen Menschen.
Warum sagt mein Agent, die Aufgabe habe keine Kriterien zum Abhaken?
Weil sie als Fließtext geschrieben wurden. check_criterion funktioniert nur mit einer Markdown-Checkliste, in der jede Zeile mit „- [ ] “ beginnt; sonst ist criteria.total 0.
Kann ein Agent die Kriterien ändern, an denen er gemessen wird?
Er kann das Feld bearbeiten, und jede Änderung wird protokolliert. Vor der Freigabe zeigt get_evidence den Verlauf und wie viele Änderungen der Agent seit der letzten menschlichen Berührung gemacht hat.