
CRUMB
Generative Game Studio · Demo
จากไอเดียเกมหนึ่งบรรทัดสู่ร่างที่เล่นได้ โดยเห็นงานของเอเจนต์และแทรกแซงได้
CRUMB คือฮาร์เนสสตูดิโอแบบหลายเอเจนต์สำหรับสร้างต้นแบบเกมแคชวล เสนอเกมในหนึ่งบรรทัด แล้วเอเจนต์ Claude Code, Codex และ Gemini CLI จะทำงานร่วมกันผ่าน Planner → Builder → QA เชิงกำหนด → Verifier ขณะที่ CRUMB Studio แสดงอีเวนต์ ความคืบหน้า และผลงาน และรับการแทรกแซงด้วยภาษาธรรมชาติ
การจบแบบเงียบที่ทำให้สังเกตได้ และ formatter ที่หายไปซึ่งจับได้ตอนผสาน
สองกรณีจากรีโพซิทอรีเดโมสาธารณะ Planner, Builder และ Verifier เป็น actor ภายในเดโม ไม่ใช่เอเจนต์เขียนโค้ดในมุมมองนี้
May 2, 2026
การรันที่จบด้วย exit 0 ถูกทำให้แสดงว่าได้ทำงานจริงหรือไม่
กำลังพัฒนาactor ของเดโม
การสังเกต · ข้อค้นพบอีเวนต์ใน transcript 0 · exit 0
- ส่งต่ออีเวนต์ 0 แต่ exit 0→ แยก “จบแล้วแต่ไม่ได้ทำงาน” ออกจากความคืบหน้า (นักพัฒนา)
คนนักพัฒนา
การกระทำแยก “จบแล้วแต่ไม่ได้ทำงาน” ออกจากความคืบหน้า
- ส่งต่อวินิจฉัยก่อน→ การวินิจฉัยก่อน/หลัง spawn: adapter · มี prompt หรือไม่ · exit · เวลา · ขนาดเอาต์พุต (การเปลี่ยนแปลงโค้ด)
เซสชันการทำงานการเปลี่ยนแปลงโค้ด
การกระทำการวินิจฉัยก่อน/หลัง spawn: adapter · มี prompt หรือไม่ · exit · เวลา · ขนาดเอาต์พุต
- ส่งต่อ→ commit 6341898 (ผลงาน)
- ส่งต่อเอาต์พุตการวินิจฉัย→ planner กำลังรออินพุต (actor ของเดโม)
อาร์ติแฟกต์ผลงาน
อาร์ติแฟกต์commit 6341898
กำลังพัฒนาactor ของเดโม
การสังเกต · ข้อค้นพบplanner กำลังรออินพุต
- ส่งกลับรออินพุต→ ส่ง goal จริงและคำสั่งเริ่ม · reducer ตรวจรูปแบบของ prompt (การเปลี่ยนแปลงโค้ด)
เซสชันการทำงานการเปลี่ยนแปลงโค้ด
การกระทำส่ง goal จริงและคำสั่งเริ่ม · reducer ตรวจรูปแบบของ prompt
- ส่งต่อการรันถัดไป→ มีแต่ JSON บน stdout ไม่เคยเรียก event writer (actor ของเดโม)
กำลังพัฒนาactor ของเดโม
การสังเกต · ข้อค้นพบมีแต่ JSON บน stdout ไม่เคยเรียก event writer
- ส่งกลับไม่ได้ใส่ protocol→ ใส่เอกสาร event protocol ให้ actor ที่ส่งอีเวนต์ (การเปลี่ยนแปลงโค้ด)
เซสชันการทำงานการเปลี่ยนแปลงโค้ด
การกระทำใส่เอกสาร event protocol ให้ actor ที่ส่งอีเวนต์
- ส่งต่อ→ commit 08ecb07 (ผลงาน)
อาร์ติแฟกต์ผลงาน
อาร์ติแฟกต์commit 08ecb07
- บริบท
- การรัน smoke ด้วย subprocess จริงจบโดยไม่มีอีเวนต์ใน transcript exit 0 เพียงอย่างเดียวบอกไม่ได้ว่ามีการทำงาน จึงเริ่มจากบันทึกการวินิจฉัยรอบการรันก่อน หลังการแก้ไขแรก มีความล้มเหลวอีกแบบปรากฏและถูกแก้อีกครั้ง
- ผลลัพธ์
- บันทึกการวินิจฉัยแยก “ออกสำเร็จแต่ไม่ได้ทำงาน” ออกจากความคืบหน้า และความล้มเหลวที่เหลือหลังการแก้ไขแรกนำไปสู่การแก้ไขครั้งที่สองผ่านการสังเกตที่เจาะจงขึ้น
- ข้อจำกัด
- ไม่ได้รันการรันในตอนนั้นซ้ำ และไม่ได้ดึงบันทึกการรันต้นฉบับ ไม่รวมข้อความดิบของการวินิจฉัย (ตัวอย่างเอาต์พุต เป็นต้น)
แหล่งอ้างอิงและข้อจำกัดที่เหลือ
May 3, 2026
กู้คืน feed formatter ที่หายไประหว่างผสานสองสายงาน
เซสชันการทำงานสายงาน feed · layout
การกระทำ#140: เพิ่ม feed formatter
- ส่งต่อ→ ประกอบทั้งสองสายงานเป็น layout สี่ช่อง (การผสาน)
เซสชันการทำงานสายงาน scorecard · event detail
การกระทำงาน scorecard (base เก่า)
- ส่งต่อ→ ประกอบทั้งสองสายงานเป็น layout สี่ช่อง (การผสาน)
เอเจนต์เขียนโค้ดการผสาน
การกระทำประกอบทั้งสองสายงานเป็น layout สี่ช่อง
- ส่งต่อการถดถอยจากการผสาน→ base เก่าย้อน formatter ของ #140 กลับ (การผสาน)
เอเจนต์เขียนโค้ดการผสาน
การสังเกต · ข้อค้นพบbase เก่าย้อน formatter ของ #140 กลับ
- ส่งกลับformatter หายไป→ กู้คืน formatter ของ #140 (การผสาน)
เอเจนต์เขียนโค้ดการผสาน
การกระทำกู้คืน formatter ของ #140
- ส่งต่อdiff ที่รวมกัน→ #145 (56f6f1b) · lint · typecheck · test · build ในเครื่อง · ตรวจหน้าจอ (ผลงาน)
อาร์ติแฟกต์ผลงาน
อาร์ติแฟกต์#145 (56f6f1b) · lint · typecheck · test · build ในเครื่อง · ตรวจหน้าจอ
- ส่งต่อส่งต่อสำหรับงานถัดไป→ บันทึกการส่งต่อ: #142 เป็นของสายงานอื่น · #146 CI กำลังรัน (ผลงาน)
อาร์ติแฟกต์ผลงาน
อาร์ติแฟกต์บันทึกการส่งต่อ: #142 เป็นของสายงานอื่น · #146 CI กำลังรัน
- บริบท
- งานของ Studio ถูกแบ่งเป็นสายงานต่าง ๆ เช่น feed และ layout, scorecard และ event detail และธีม หลัง #145 ผสานแล้ว บันทึกการส่งต่อสำหรับสายงานถัดไประบุงานที่สายงานอื่นเป็นเจ้าของและงานที่ยังค้างอยู่
- ผลลัพธ์
- #145 รวมงาน scorecard และ event detail เข้ากับการแก้ layout โดยกู้คืน feed formatter ที่ถูกย้อนกลับ และบันทึก lint, typecheck, format, test, build ในเครื่องและการตรวจหน้าจอ
- ข้อจำกัด
- ไม่ได้รันการตรวจในเครื่องซ้ำ ในตอนที่บันทึกการส่งต่อ #146 ยังอยู่ใน CI และถูกผสานภายหลัง (109da28) สแนปช็อตนั้นจึงไม่ได้วาดว่าผ่าน ไม่มีบันทึกโมเดลรายสายงาน