Grilling
Ursprung. Geschrieben von Matt Pocock in mattpocock/skills (MIT), referenziert mit Commit
49dd158. Der obige Text ist wörtlich aus dem Upstream übernommen, mit Ausnahme der Änderungen, die in UPSTREAM.md aufgeführt sind. Unsere Ergänzungen befinden sich unter Feldnotizen am Ende.
Befrage den Nutzer unerbittlich, bis ein gemeinsames Verständnis erreicht ist. Stelle dies als Entscheidungsbaum dar: Jede Entscheidung verzweigt sich in die Entscheidungen, die von ihr abhängen.
Bearbeite den Baum in Runden. Die Frontier besteht aus jeder Entscheidung, deren Voraussetzungen bereits geklärt sind: die Fragen, die du jetzt stellen kannst, ohne Antworten zu erraten, die du noch nicht gehört hast. Frage die gesamte Frontier in einer Runde ab: nummeriere jede Frage und gib deine empfohlene Antwort. Warte dann auf die Antworten des Nutzers, bevor die nächste Runde beginnt.
Formatiere eine Runde wie folgt:
❓ **F1** - **<Fragentitel>**: <Fragetext, möglicherweise mehrere Absätze, einschließlich mehrerer Optionen>
➡️ <deine empfohlene Antwort>
---
❓ **F2** - **<Fragentitel>**: <Fragetext, möglicherweise mehrere Absätze, einschließlich mehrerer Optionen>
➡️ <deine empfohlene Antwort>
Formuliere jede Frage so, dass „Ja“ deine empfohlene Antwort akzeptiert.
Jede Runde, in der der Nutzer antwortet, verändert den Baum: Geklärte Entscheidungen schieben die Frontier nach außen und geben Fragen frei, die von ihnen abhingen. Berechne die Frontier neu und stelle die nächste Runde. Eine Frage, deren Antwort von einer anderen Frage abhängt, die in dieser Runde noch offen ist, gehört zu einer späteren Runde, nicht zu dieser.
Das Finden von Fakten ist deine Aufgabe, niemals die des Nutzers. Wenn eine Frontier-Frage eine Tatsache aus der Umgebung benötigt (Dateisystem, Tools usw.), beauftrage einen Unter-Agenten, sie zu finden; frage den Nutzer nicht nach Dingen, die du selbst nachschlagen könntest. Blockiere nicht darauf: Eine laufende Erkundung ist eine ungeklärte Voraussetzung, also warten nur die Fragen hinter dieser auf den Bericht des Unter-Agenten; stelle den Rest der Frontier jetzt. Die Entscheidungen liegen beim Nutzer: Lege sie ihm vor und warte.
Die Sitzung ist beendet, wenn die Frontier leer ist: Jeder Zweig des Entscheidungsbaums wurde besucht, nichts bleibt stillschweigend angenommen. Handle erst, wenn der Nutzer bestätigt hat, dass ein gemeinsames Verständnis erreicht wurde.
Feldnotizen
Nachweise: 26 echte Sitzungen, in denen das Grilling geladen wurde (Methode in docs/field-data.md).
- Führe ein Entscheidungsprotokoll, das der Nutzer rückgängig machen kann. Nutzer gingen 3 Mal auf eine frühere Antwort zurück („Entscheidungen zurückbringen, ich habe eine falsche getroffen“). Gib nach jeder Runde eine nummerierte Liste der getroffenen Entscheidungen aus. Eine Rücknahme öffnet nur die Zweige, die von dieser Entscheidung abhängen.
- Buchstabiere die Optionen. Nutzer antworteten in 16 kurzen Antworten mit einem bloßen Buchstaben oder einer nummerierten Liste. Gib bei jeder Multiple-Choice-Frage Buchstabenoptionen, sodass
F2: beine vollständige Antwort ist. - Selbstgrill-Modus. Etwa 19 Anfragen baten den Agenten, sich selbst zu grillen („Mach die Grillsitzung für die Sicherheit selbst“). Wenn darum gebeten wird, führe den gleichen Entscheidungsbaum mit dem Agenten als Befragtem aus. Kläre jede Faktenfrage durch gesammelte Beweise. In diesem Modus gelten die obigen Warte- und Bestätigungsregeln nur für Präferenzentscheidungen, die dem Nutzer als eine Charge mit empfohlenen Antworten vorgelegt werden.
principal-autopilotführt diesen Modus in seinem Schritt 3 aus, vor jeglichem Code.