ทำไมการตรวจงานคือคอขวดของ AI agent และจะทำให้มันตรวจเองได้อย่างไร?
โดย Nokka (นก-กา) | ตรวจข้อมูล 25 ต.ค. 2026 · ตอนที่ 4 จาก 6 ของชุด "หนึ่งคนกับทีม agent" บทความนี้เขียนโดย AI (deepseek-v4.1-flash · ผู้ให้บริการโมเดล: ollama-cloud) ผ่าน Hermes Agent ภายใต้การควบคุมและตรวจสอบคุณภาพโดยมนุษย์ - Nokka (นก-กา) ประโยคที่ผมคิดว่าสรุปทั้งตอนนี้ได้อยู่ในคู่มือ pstack บรร

Von Nokka (นก-กา) | Datenprüfung am 25. Oktober 2026 · Teil 4 von 6 der Serie „Eine Person mit einem Agent-Team“
Dieser Artikel wurde von einer KI verfasst (deepseek-v4.1-flash · Modellanbieter: ollama-cloud) über den Hermes Agent, unter menschlicher Kontrolle und Qualitätsprüfung durch Nokka (นก-กา).
Der Satz, der meiner Meinung nach dieses gesamte Kapitel zusammenfasst, steht im pstack-Handbuch und besteht aus einer einzigen Zeile.
Wenn Sie weiterhin „sieht ungefähr okay aus“ als Beurteilungsmaßstab verwenden, werden Sie niemals in der Lage sein, Agenten wirklich selbstständig arbeiten zu lassen.
Das pstack-Handbuch schreibt direkt, dass die Prüfung der langsamste Schritt in der Arbeit eines Agenten ist, weil es der Schritt ist, der meistens auf einen Menschen wartet.
Wenn der Agent selbst prüfen kann, entkommen Sie Ihrer Position als Engpass; überspringt man diesen Schritt jedoch, führt die Erhöhung der Agentenanzahl nur zu einer entsprechend wachsenden Menge ungeprüfter Arbeit.
Ich glaube, das ist der Grund, warum viele Teams Agenten ausprobiert haben und sich wieder zurückgezogen haben: Sie haben die Produktionskapazität erhöht, aber der Engpass auf der Prüfseite blieb unverändert.
In Teil 2 habe ich bereits das Gleichnis vom drei Minuten gekochten Ei erzählt; jetzt möchte ich erläutern, was es in der Praxis bedeutet.
Wenn das Reproduzieren eines Bugs 20 Minuten dauert und Sie die Einzige oder der Einzige sind, der das kann, dann beschleunigt es die Arbeit nicht, wie schnell der Code auch behoben wird, weil die Warteschlange bei Ihnen hängen bleibt.
Die Lösung besteht daher nicht darin, weitere Agenten zu kaufen, sondern dem Agenten beizubringen, den Schritt zu übernehmen, den bisher Sie erledigt haben.
Das Handbuch empfiehlt, die Bedeutung von „fertig“ bereits im ersten Prompt in Formulierungen festzulegen, die genau zur Aufgabe passen.
/poteto-mode füge einen JSON-Output für diesen Befehl hinzu, der ursprüngliche Text muss byteidentisch bleiben, das JSON muss sich parsen lassen, beide Varianten müssen mit dem Beispielprojekt lauffähig sein, bring mir den Nachweis dazu Enter fullscreen mode Exit fullscreen mode Auf diese Weise hat der Agent drei Kriterien, die sich ausführen und prüfen lassen, statt eines Gefühls, das man erraten muss.
Wenn sich ein Kriterium nicht ausführen lässt, sollte eine gute Antwort sagen „nicht ermittelbar“ und nicht melden, dass alles fertig ist.
Dieser Punkt gefällt mir, weil er die Gewohnheit der meisten Werkzeuge umkehrt, die gewöhnlich zu ihren eigenen Gunsten antworten.
Wenn ein Pixel-für-Pixel-Bildvergleich nötig ist, empfiehlt das Handbuch, das Playbook visual-parity gegen einen fixierten Baseline zu verwenden, statt es mit dem menschlichen Auge zu prüfen.
Das Problem, das der Skill benchmark-checklist abfangen soll, sind Vorher-Nachher-Zahlen, denn sie sind der fehleranfälligste Nachweis.
Ein noch warmer Cache, ein anderer Build oder Code, der im Messzeitraum nicht ausgeführt wurde, können jeweils zu einer Scheingeschwindigkeit führen.
Der Skill benchmark-checklist stellt sieben Fragen, angefangen von: Was ist der limitierende Faktor der Zahlen? Warum ist es nicht doppelt so schnell? Laufen alle Seiten mit derselben Konfiguration wie in der echten Umgebung? Liegen die Ergebnisse über einer physikalischen Grenze wie Festplatten-Bandbreite oder Kernanzahl? Gibt es Fehler oder falsche Rückgabewerte? Welchen Median liefert das mehrmalige abwechselnde Wiederholen? Findet die gemessene Arbeit im Zeitraum tatsächlich statt? Und ist das Ergebnis wirklich relevant auf dem End-to-End-Pfad, auf dem Nutzer warten müssen?
Die Antwort muss lauten: schneller, langsamer, kein Unterschied oder nicht ermittelbar, zusammen mit der Anzahl der Durchläufe und dem Wertebereich; wenn sich der limitierende Faktor nicht angeben lässt, muss die Antwort „nicht ermittelbar“ lauten.
Das Beispiel im Handbuch ist ein noch warmer Cache, der die Zahlen gut aussehen lässt, und genau deshalb stimme ich dieser Regel zu.
Der Skill create-verification-skill schreibt Dateien für das Projekt mit fünf Pflichtabschnitten: Launch, Doctor, Drive, Evidence und Cleanup, plus einem Helpers-Abschnitt, wenn der Skill Skripte beilegt.
Gleichzeitig erzeugt er eine Feature-Map im Ordner features, in der festgehalten wird, was die App kann, und welches Ergebnis beweist, dass dieses Feature funktioniert.
Vor der Übergabe muss er sich selbst einen vollen Durchlauf beweisen: die App öffnen, die Bereitschaft prüfen, ein Feature durchlaufen, Nachweise sammeln, die Umgebung aufräumen und bestätigen, dass die Nachweise nach dem Aufräumen noch vorhanden sind.
Schlägt dieser Nachweis fehl, sagt das Handbuch unmissverständlich, dass man seine Ergebnisse nicht verwenden soll.
Die App verändert sich laufend, daher kann die Feature-Map veralten; das Handbuch empfiehlt, maintain-verification-skill mindestens einmal täglich auszuführen oder es als Automatisierung einzurichten.
Das Ergebnis hat drei Formen: clean bedeutet vollständig und nichts zu korrigieren, changed bedeutet ein PR, der nur den Ordner dieses Skills ändert, und blocked bedeutet, etwas blockiert und muss einer Person gemeldet werden.
Wichtig ist, dass er den Produktionscode niemals ändern darf, und falls er einen echten Regression findet, muss er sie melden, nicht durch eine Dokumentationsänderung überdecken.
Ich denke, das ist ein Standard, den die meisten Teams noch nicht haben, und der Grund, warum viele Agent-Aufgaben mit dem Wort „getestet“ enden, ohne dass sich das im Nachweis überprüfen lässt.
Das Handbuch führt aus, dass manche Bugs auf Pfaden liegen, die niemand geht, etwa zwei ineinander verschachtelte Retry-Versuche, ein Lock, der mitten im Schreiben abläuft, oder Ereignisse in falscher Reihenfolge.
Für Code, bei dem solche Fehler teuer sind, gibt es den Skill create-formal-verification-skill, der Ziele selbst aus dem Code auswählt und dann die Werkzeuge je nach Fragestellung wählt.
Lautet die Frage „Können Ereignisse ihre Reihenfolge tauschen?“, ist das passende Werkzeug ein Model Checker wie TLA+.
Und er muss zeigen, dass die Eigenschaft auf einer absichtlich fehlerhaft gemachten Codeversion bricht, denn eine Prüfung, die nie einen Fehler gesehen hat, beweist nichts.
In Teil 2 habe ich diese Zahl bereits genannt, aber ich möchte auf die Prüfmethodik zurückkommen.
Ihr Agent erstellte ein Skript, das die computed styles zwischen dem alten SCSS und dem neuen StyleX vergleicht und Screenshots der gemessenen Zustände vollständig gegenüberstellt.
Bei der Anwendung auf den gesamten Codebestand fanden sich noch Bugs bei z-index, Klassen, die von anderer Stelle verwendet wurden, und verborgene Kämpfe um die Specificity.
Deshalb änderte sie die Automatisierung, sodass sie immer nur ein Leaf Component verschiebt, Bilder von hover, focus, active, disabled und den spezifischen Zuständen dieser Komponente aufnimmt, vollständig in light, dark und high contrast, und ein zweiter Agent die gesammelten Medien prüft.
Das Ergebnis sind kleine PRs mit vollständigen Bildern und Videos statt eines riesigen PRs, den man kaum noch nachprüfen kann.
Erstens: Schreiben Sie Fertig-Kriterien als Zahl oder Bedingung. Wenn Sie schreiben „mach es schneller“, rät der Agent für Sie.
Zweitens: Sammeln Sie bei jedem Auftrag Nachweise. Verlangen Sie Screenshots, Videos oder die Ausgabe eines Befehls, nicht eine Beschreibung.
Drittens: Machen Sie die Prüfung zu einem Skript. Beginnen Sie mit einem einzigen Befehl, der die App öffnet und ein Feature durchläuft, und erweitern Sie ihn erst danach.
Ich wende diese drei Punkte auch auf meine eigenen Schreibarbeiten an: Kriterien für bestanden werden vorab festgelegt, und die Prüfnachweise werden jedes Mal aufbewahrt.
Jetzt wissen wir, wie man prüft, aber es bleibt eine größere Frage: Wenn ein Agent arbeiten soll, ohne dass wir dabei zusehen, was muss dann alles vorbereitet werden?
In Teil 5 gehe ich auf das Playbook zu autopilot, orchestrate und Overnight-Runs ein: An welchen Stellen kann die Arbeit stocken und was geht häufig schief?
Ich schreibe Teil für Teil und berichte Ihnen wie gewohnt über den Fortschritt.
Cursor (2026), Verify the result and open a PR (pstack-Anleitung, Teil 6). Lauren Tan (24. Juni 2026), Loops You Can Trust. Cursor (2026), pstack-Skill: create-verification-skill. Cursor (2026), pstack-Skill: benchmark-checklist.
Automatisch übersetzt. Das Original auf Englisch ist unten aufklappbar.
Original (Englisch) anzeigen
โดย Nokka (นก-กา) | ตรวจข้อมูล 25 ต.ค. 2026 · ตอนที่ 4 จาก 6 ของชุด "หนึ่งคนกับทีม agent"
บทความนี้เขียนโดย AI (deepseek-v4.1-flash · ผู้ให้บริการโมเดล: ollama-cloud) ผ่าน Hermes Agent ภายใต้การควบคุมและตรวจสอบคุณภาพโดยมนุษย์ - Nokka (นก-กา)
ประโยคที่ผมคิดว่าสรุปทั้งตอนนี้ได้อยู่ในคู่มือ pstack บรรทัดเดียว
และถ้าคุณยังใช้ "ดูแล้วน่าจะโอเค" เป็นเกณฑ์ตัดสิน คุณจะไม่มีวันปล่อย agent ทำงานเองได้จริง
คู่มือ pstack เขียนตรง ๆ ว่า การตรวจคือขั้นที่ช้าที่สุดในงานของ agent เพราะเป็นขั้นที่มักรอคน
ถ้า agent ตรวจเองได้ คุณจะพ้นจากตำแหน่งคอขวด แต่ถ้าข้ามขั้นนี้ไป การเพิ่มจำนวน agent จะได้แค่งานที่ยังไม่ได้ตรวจเพิ่มขึ้นตามไปด้วย
ผมคิดว่านี่คือเหตุผลที่หลายทีมลอง agent แล้วถอยกลับ เพราะเพิ่มกำลังฝั่งผลิตไว้ แต่คอขวดฝั่งตรวจยังเท่าเดิม
ตอนที่ 2 ผมเล่าเปรียบเทียบเรื่องไข่สามนาทีไปแล้ว ตอนนี้ผมจะขยายว่ามันแปลว่าอะไรในทางปฏิบัติ
ถ้าการทำซ้ำบั๊กใช้เวลา 20 นาที และคุณเป็นคนเดียวที่ทำได้ การแก้โค้ดเร็วแค่ไหนก็ไม่ทำให้งานออกเร็วขึ้น เพราะคิวจะไปติดที่คุณ
ทางออกจึงไม่ใช่ซื้อ agent เพิ่ม แต่คือสอน agent ให้ทำขั้นที่คุณเคยทำ
คู่มือแนะนำให้ใส่ความหมายของ "เสร็จ" ลงไปใน prompt แรกด้วยถ้อยคำที่ตรงกับงาน
/poteto-mode เพิ่ม output แบบ json ให้คำสั่งนี้ ข้อความเดิมต้องเหมือนเดิมทุกไบต์ json ต้อง parse ผ่าน ทั้งสองแบบต้องรันกับโปรเจกต์ตัวอย่างได้ ขอหลักฐานมาให้ดู Enter fullscreen mode Exit fullscreen mode แบบนี้ agent มีสามเกณฑ์ที่รันตรวจได้ ไม่ใช่อารมณ์ที่ต้องเดาใจ
ถ้ามีเกณฑ์ข้อไหนรันไม่ได้ คำตอบที่ดีควรบอกว่า "สรุปไม่ได้" ไม่ใช่รายงานว่าเสร็จ
ผมชอบตรงนี้เพราะมันกลับด้านนิสัยของเครื่องมือส่วนใหญ่ ที่มักตอบเข้าข้างตัวเอง
ถ้าต้องเทียบภาพระดับพิกเซล คู่มือแนะนำให้ใช้ playbook visual-parity เทียบกับ baseline ที่ตรึงไว้ ไม่ใช่ให้คนดูด้วยตา
ปัญหาที่สกิล benchmark-checklist ถูกออกแบบมาจับคือตัวเลขก่อนกับหลัง ซึ่งเป็นหลักฐานที่ผิดพลาดง่ายที่สุด
แคชที่ยังอุ่น build ที่ต่างกัน หรือโค้ดที่ไม่ได้รันในช่วงที่จับเวลา ก็ทำให้ได้ความเร็วปลอมได้ทั้งนั้น
สกิล benchmark-checklist ถามเจ็ดข้อ ตั้งแต่ อะไรเป็นตัวจำกัดตัวเลข ทำไมไม่เร็วเป็นสองเท่า ทุกฝั่งรันด้วยการตั้งค่าแบบเดียวกับของจริงหรือไม่ ผลลัพธ์เกินขีดจำกัดทางกายภาพอย่างแบนด์วิดท์ดิสก์หรือจำนวนคอร์หรือไม่ มีอะไร error หรือคืนค่าผิดหรือไม่ ทำซ้ำหลายรอบสลับกันแล้วได้ค่ากลางเท่าไร งานที่จับเวลาเกิดขึ้นจริงในช่วงนั้นหรือไม่ และผลนั้นสำคัญจริงในเส้นทาง end-to-end ที่ผู้ใช้ต้องรอหรือไม่
คำตอบต้องเป็น เร็วขึ้น ช้าลง ไม่ต่าง หรือสรุปไม่ได้ พร้อมจำนวนรอบและช่วงค่า ถ้าบอกตัวจำกัดไม่ได้ ก็ต้องตอบว่าสรุปไม่ได้
แบบที่คู่มือยกตัวอย่าง คือแคชยังอุ่นทำให้ตัวเลขดูดี และนั่นคือเหตุผลที่ผมเห็นด้วยกับกฎนี้
สกิล create-verification-skill เขียนไฟล์ให้โปรเจกต์ โดยมีหัวข้อบังคับห้าส่วนคือ Launch, Doctor, Drive, Evidence และ Cleanup พร้อมส่วน Helpers เมื่อสกิลมีสคริปต์แนบ
พร้อมกันนั้นมันสร้าง feature map ไว้ในโฟลเดอร์ features ซึ่งจัดเรียงว่าแอปทำอะไรได้ และผลลัพธ์แบบไหนที่พิสูจน์ว่าฟีเจอร์นั้นทำงาน
ก่อนส่งมอบ มันต้องพิสูจน์ตัวเองหนึ่งรอบเต็ม ตั้งแต่เปิดแอป ตรวจความพร้อม ขับหนึ่งฟีเจอร์ เก็บหลักฐาน ล้าง environment แล้วยืนยันว่าหลักฐานยังอยู่หลังล้าง
ถ้าการพิสูจน์นั้นล้มเหลว คู่มือบอกตรง ๆ ว่าอย่าใช้ผลลัพธ์ที่มันสร้าง
แอปเปลี่ยนตลอด แผนที่ฟีเจอร์จึงเก่าได้ คู่มือแนะนำให้รัน maintain-verification-skill อย่างน้อยวันละครั้ง หรือตั้งเป็น automation
ผลลัพธ์มีสามแบบคือ clean แปลว่าครบไม่มีอะไรต้องแก้ changed แปลว่ามี PR แก้เฉพาะโฟลเดอร์ของ skill นี้ และ blocked แปลว่าติดอะไรบางอย่างที่ต้องบอกคน
สิ่งสำคัญคือมันห้ามแก้โค้ดผลิตภัณฑ์ และถ้าเจอ regression ของจริง มันต้องรายงาน ไม่ใช่กลบด้วยการแก้เอกสาร
ผมคิดว่านี่คือมาตรฐานที่ทีมส่วนใหญ่ยังไม่มี และเป็นเหตุผลที่งาน agent จำนวนมากจบด้วยคำว่า "ทดสอบแล้ว" ที่ตรวจย้อนหลังไม่ได้
คู่มือระบุว่าบางบั๊กอยู่บนเส้นทางที่ไม่มีใครเดิน เช่น การ retry สองครั้งที่ซ้อนกัน ล็อกที่หมดอายุกลางการเขียน หรือเหตุการณ์ที่มาผิดลำดับ
สำหรับโค้ดที่ความผิดพลาดแบบนี้แพง มีสกิล create-formal-verification-skill ที่เลือกเป้าหมายจากโค้ดเอง แล้วเลือกเครื่องมือตามคำถาม
ถ้าคำถามคือ "เหตุการณ์สลับลำดับกันได้ไหม" เครื่องมือที่เหมาะคือ model checker อย่าง TLA+
และมันต้องแสดงให้เห็นว่าคุณสมบัตินั้นพังบนโค้ดเวอร์ชันที่จงใจทำเสีย เพราะการตรวจที่ไม่เคยเห็นความล้มเหลวไม่พิสูจน์อะไรเลย
ตอนที่ 2 ผมเล่าตัวเลขนี้ไปแล้ว แต่ผมอยากกลับมาดูวิธีตรวจ
agent ของเธอสร้างสคริปต์ที่เทียบค่า computed style ระหว่าง SCSS เดิมกับ StyleX ใหม่ และเก็บภาพสถานะที่วัดมาเทียบกันได้ครบ
เมื่อนำไปใช้จริงกับโค้ดทั้งระบบ ยังเจอบั๊ก z-index, คลาสที่ถูกใช้จากที่อื่น และศึก specificity ที่ซ่อนอยู่
เธอจึงเปลี่ยน automation ให้ย้ายทีละ leaf component เก็บภาพ hover, focus, active, disabled และสถานะเฉพาะของคอมโพเนนต์นั้น ครบทั้ง light, dark และ high contrast แล้วให้ agent อีกตัวตรวจสื่อที่เก็บมา
ผลคือได้ PR เล็ก ๆ ที่มีภาพและวิดีโอครบ แทนที่จะเป็น PR ยักษ์ที่ตามตรวจแทบไม่ไหว
หนึ่ง เขียนเกณฑ์เสร็จให้เป็นตัวเลขหรือเงื่อนไข ถ้าคุณเขียนว่า "ทำให้เร็วขึ้น" agent จะเดาแทนคุณ
สอง เก็บหลักฐานทุกครั้งที่สั่งงาน ขอภาพหน้าจอ วิดีโอ หรือ output ของคำสั่ง ไม่ใช่คำอธิบาย
สาม ทำให้การตรวจเป็นสคริปต์ เริ่มจากคำสั่งเดียวที่เปิดแอปและเดินหนึ่งฟีเจอร์ให้ได้ก่อน แล้วค่อยขยาย
ผมใช้สามข้อนี้กับงานเขียนของตัวเองด้วย คือกำหนดเกณฑ์ผ่านไว้ล่วงหน้าและเก็บหลักฐานการตรวจไว้ทุกครั้ง
ตอนนี้เรารู้แล้วว่าจะตรวจอย่างไร แต่ยังเหลือคำถามที่ใหญ่กว่า คือถ้าอยากให้ agent ทำงานตอนเราไม่เฝ้า ต้องเตรียมอะไรบ้าง
ตอนที่ 5 ผมจะลงไปใน playbook ว่าด้วย autopilot, orchestrate และการรันข้ามคืน ว่ามันมีด่านไหนที่หยุดงานได้ และมีอะไรที่พลาดบ่อย
ผมจะเขียนทีละตอนและรายงานความคืบหน้าให้คุณดูเหมือนเดิม
Cursor (2026) · Verify the result and open a PR (คู่มือ pstack ตอนที่ 6). https://github.com/cursor/plugins/blob/main/pstack/docs/guide/06-verify-and-ship.md Lauren Tan (24 มิ.ย. 2026) · Loops You Can Trust. https://x.com/poteto/article/2069824386283319343 Cursor (2026) · pstack skill: create-verification-skill. https://github.com/cursor/plugins/blob/main/pstack/skills/create-verification-skill/SKILL.md Cursor (2026) · pstack skill: benchmark-checklist. https://github.com/cursor/plugins/blob/main/pstack/skills/benchmark-checklist/SKILL.md