
CRUMB
Generative Game Studio · Demo
從一句話的遊戲提案到可遊玩的草稿,代理的工作清楚可見,也可以介入。
CRUMB 是用於休閒遊戲原型製作的多代理工作室執行框架。
無聲結束的執行變得可觀測,整合時抓到遺失的格式化器
公開示範儲存庫中的兩個案例。Planner、Builder 與 Verifier 是示範內的 actor,不是本章中的程式開發代理。
May 2, 2026
讓以 exit 0 結束的執行顯示它是否真的做了工作
開發對象示範的 actor
觀測 · 審查意見0 個 transcript 事件 · exit 0
- 交接0 個事件,卻是 exit 0→ 區分「結束了但沒做事」與進展 (開發者)
人開發者
行動區分「結束了但沒做事」與進展
- 交接先留診斷記錄→ spawn 前後的診斷:轉接器 · 是否有提示詞 · exit · 時間 · 輸出大小 (程式碼變更)
工作階段程式碼變更
行動spawn 前後的診斷:轉接器 · 是否有提示詞 · exit · 時間 · 輸出大小
- 交接→ commit 6341898 (產出物)
- 交接診斷輸出→ planner 在等待輸入 (示範的 actor)
產出物產出物
產出物commit 6341898
開發對象示範的 actor
觀測 · 審查意見planner 在等待輸入
- 退回等待輸入→ 傳入真正的 goal 與開始指示 · 以 reducer 檢查提示詞形態 (程式碼變更)
工作階段程式碼變更
行動傳入真正的 goal 與開始指示 · 以 reducer 檢查提示詞形態
- 交接下一次執行→ stdout 只有 JSON,event writer 從未被呼叫 (示範的 actor)
開發對象示範的 actor
觀測 · 審查意見stdout 只有 JSON,event writer 從未被呼叫
- 退回未注入協定→ 將 event protocol 文件注入會發出事件的 actor (程式碼變更)
工作階段程式碼變更
行動將 event protocol 文件注入會發出事件的 actor
- 交接→ commit 08ecb07 (產出物)
產出物產出物
產出物commit 08ecb07
- 背景
- 一次真實的子行程 smoke 執行結束時沒有任何 transcript 事件。光憑 exit 0 無法判斷是否完成了工作,因此先在執行前後加上診斷記錄;第一次修正後出現了另一種失敗,又再修正一次。
- 結果
- 診斷記錄把「成功結束但沒做事」與進展區分開來;第一次修正後留下的失敗,經由更具體的觀測,帶出了第二次修正。
- 限制
- 當時的執行沒有重新執行,原始執行記錄也未取回。未收錄診斷的原始文字(輸出預覽等)。
依據與尚存的限制
May 3, 2026
還原整合兩條工作線時遺失的 feed 格式化器
工作階段feed · 版面工作線
行動#140:新增 feed 格式化器
- 交接→ 將兩條工作線組裝成四窗格版面 (整合)
工作階段計分卡 · 事件詳情工作線
行動計分卡工作(過時的 base)
- 交接→ 將兩條工作線組裝成四窗格版面 (整合)
程式開發代理整合
行動將兩條工作線組裝成四窗格版面
- 交接整合回歸→ 過時的 base 撤銷了 #140 的格式化器 (整合)
程式開發代理整合
觀測 · 審查意見過時的 base 撤銷了 #140 的格式化器
- 退回格式化器遺失→ 還原 #140 的格式化器 (整合)
程式開發代理整合
行動還原 #140 的格式化器
- 交接合併後的 diff→ #145(56f6f1b) · 本機 lint · typecheck · test · build · 畫面檢查 (產出物)
產出物產出物
產出物#145(56f6f1b) · 本機 lint · typecheck · test · build · 畫面檢查
- 交接後續工作的交接→ 交接記錄:#142 屬於另一條工作線 · #146 CI 進行中 (產出物)
產出物產出物
產出物交接記錄:#142 屬於另一條工作線 · #146 CI 進行中
- 背景
- Studio 的工作分成 feed 與版面、計分卡與事件詳情、主題等工作線。#145 合併後,交給下一條工作線的交接記錄列出了其他工作線擁有的工作與仍待處理的工作。
- 結果
- #145 將計分卡與事件詳情的工作和版面修正合併,還原了先前被撤銷的 feed 格式化器,並記錄了本機 lint、typecheck、format、test、build 與畫面檢查。
- 限制
- 本機檢查未重新執行。交接記錄當時 #146 仍在 CI 中,之後才合併(109da28),因此不把那個快照畫成通過。各工作線的模型未有記錄。