一個對話,越聊越長
以前
從需求聊到實作,再聊到除錯。兩小時後,Agent 開始忘記一開始說好的規則,改 A 壞 B,你只好從頭再解釋一次。
BAT + CT
你只跟塔台談需求。塔台把工作拆成三張工單,每張寫清楚目標、範圍、驗收條件與不准碰的東西,再為每張開一個全新的 Worker。每個 Worker 只帶一張工單的脈絡上工,塔台只保留進度與決定。
你不用再記住:一開始說好的規則
- CT:拆工單、管脈絡
- BAT:每張工單一個獨立分頁
你做決定,Agent 做事。開單、派工、回報、提問、收尾——Better Agent Terminal 與 BMad Control Tower 幫你串成一個會自己推進的循環。
一個虛構但真實的早上:你要替 demo-shop 的結帳頁加上折扣碼。
09:00
從需求聊到實作,再聊到除錯。兩小時後,Agent 開始忘記一開始說好的規則,改 A 壞 B,你只好從頭再解釋一次。
你只跟塔台談需求。塔台把工作拆成三張工單,每張寫清楚目標、範圍、驗收條件與不准碰的東西,再為每張開一個全新的 Worker。每個 Worker 只帶一張工單的脈絡上工,塔台只保留進度與決定。
你不用再記住:一開始說好的規則
一個對話
你折扣碼要能設定到期日
Agent好,我先改資料模型……
⋮
#87 你一開始說好不能改 cart.ts 呢?
一個塔台、三個乾淨的 Worker
09:20
開新終端、切到專案目錄、貼 prompt、等它做完、把結果複製回來,再開下一個。
塔台一個指令,BAT 就在同一個工作區開好 Worker 分頁,帶上這個工作區設定的 Agent 與啟動參數,並確認 Agent 真的啟動了。Worker 做完,通知直接送回塔台,塔台接手驗收。
你不用再記住:哪段 prompt 要貼到哪個分頁
10:05
有的停在權限確認,有的在問問題,有的早就做完了。你只能一個一個點進去看。
Worker 分頁的標題帶著它的工單編號,縮圖直接標出 ⚠️ 在等你、? 在等塔台答覆、✓ 已回報。塔台收單後,分頁等輸出安靜才自動關閉;你也能一次關掉所有已回報的分頁。
你不用再記住:哪個分頁在等你
▶Claude CLI · Worker · T1024
Edit src/discount.ts? 1. Yes 2. No
⚠️在等你
▶Codex CLI · Worker · T1025
已問塔台:四捨五入? 等待答覆
?在等塔台答覆
▶Claude CLI · Worker · T1026
T1026 完成 已回報塔台
✓已回報
10:40
它問完就停著。等你回來,一小時已經過去了。
Worker 用結構化通道問塔台。「金額四捨五入還是無條件捨去?」這種範圍內的技術選擇,塔台依工單與專案慣例直接回答,並記下理由;「折扣碼能不能和會員折扣疊加?」是要你決定的商業規則,塔台才停下來問你(yolo 模式)。
你不用再記住:每個 Agent 卡在哪個問題
T1025金額四捨五入還是無條件捨去?
塔台四捨五入,依專案慣例。理由已記下。
T1024折扣碼能不能和會員折扣疊加?
塔台 → 你這是商業規則,請你決定。
11:15
為了快,你讓它們同時開工,合併時才發現兩個都改了 cart.ts。
派工前,塔台先比對每張工單會動到的檔案,有重疊就提醒你。需要平行時,Worker 在獨立的 git worktree(自己的分支)裡做;收單前,塔台查清楚每條分支比主線領先多少、落後多少、有沒有未提交的變更,再決定合併順序。
你不用再記住:每個 Agent 會動到哪些檔案
ct/T1024 領先 3 落後 0 未提交 0 → 可直接合併 ct/T1025 領先 2 落後 3 未提交 0 → 先更新再合併
12:00
測試跑了嗎?有沒有順手改了不該改的東西?你得自己再查一遍。
工單事先寫好驗收條件與禁止事項。Worker 回報時附上證據:跑了哪些指令、結果如何、commit 是哪一個;塔台逐項核對才收單。狀態只有 DONE、PARTIAL、BLOCKED、FAILED 四種,不含糊。
你不用再記住:哪些測試跑過、哪些還沒
一個月後
理由散在聊天視窗裡,視窗一關就找不回來。
每張工單、每個決定都是 repo 裡的 Markdown 檔,和程式碼一起進版控、一起 review。換人接手、換一個 Agent,脈絡都還在。
你不用再記住:當初為什麼這樣決定
demo-shop/ ├─ src/ │ ├─ cart.ts │ └─ discount.ts └─ _ct-workorders/ ├─ T1024-discount-code.md ├─ T1025-rounding.md ├─ T1026-checkout-ui.md └─ _decision-log.md
12:30,三張工單都收單,Worker 分頁已經關閉,決定都寫在 repo 裡。這個早上你只做了三個決定:要做什麼、折扣能不能疊加、要不要合併。
記憶交給檔案,跑腿交給 BAT,判斷留給你。
開分頁、送指令、確認 Agent 真的啟動、標出誰在等誰、把回報送回塔台、收單後回收分頁,都不用你動手。
每張工單寫清楚範圍。Worker 一次做一張,你一次審一張。
範圍要擴大、不可逆的操作、對外發布、需要你的偏好、連續失敗,一定停下來問你。
不規定你用哪種開發方法,也不替你判斷:該你決定的事,要靠你的專業。
Control Tower 定規則,BAT 提供跑道、無線電和雷達。
| 項目 | 只用 BAT | 只用 Control Tower | BAT + Control Tower |
|---|---|---|---|
| 拆工作、定範圍 | 你自己想 | 塔台拆成工單 | 塔台拆成工單 |
| 開 Worker | 手動開分頁、輸入指令 | 塔台給你指令去開(部分終端能自動開分頁),沒有啟動確認 | 塔台直接開好分頁、放進對的工作區、確認啟動 |
| 做完之後 | 你自己去看 | Worker 印出訊息,你貼回塔台 | 通知自動送回塔台,塔台接手驗收 |
| Agent 有問題 | 停下來等你 | 寫進工單,等你轉告塔台 | 結構化問塔台:範圍內代答,其餘轉給你 |
| 誰在等你 | 縮圖標示 ⚠️ 在等你 | 逐一查看 | 縮圖 ⚠️ 在等你、? 在等塔台、✓ 已回報,一眼看清 |
| 平行開工 | 自己避開衝突 | 有重疊檢查,隔離要自己做 | 重疊檢查 + worktree 隔離 + 合併前狀態 |
| 收尾 | 手動關分頁 | 手動關分頁 | 已回報的分頁自動回收 |
| 紀錄 | 聊天紀錄 | 工單與決策紀錄 | 工單與決策紀錄 |
BAT + Control Tower塔台拆成工單
BAT + Control Tower塔台直接開好分頁、放進對的工作區、確認啟動
BAT + Control Tower通知自動送回塔台,塔台接手驗收
BAT + Control Tower結構化問塔台:範圍內代答,其餘轉給你
BAT + Control Tower縮圖 ⚠️ 在等你、? 在等塔台、✓ 已回報,一眼看清
BAT + Control Tower重疊檢查 + worktree 隔離 + 合併前狀態
BAT + Control Tower已回報的分頁自動回收
BAT + Control Tower工單與決策紀錄
自主程度由你選。不管選哪一檔,該你決定的事都會回到你手上。
塔台派工、收回報、驗收、決定下一張都自己來;Worker 的範圍內提問也代你回答。
你只在斷點出現時回來做決定。
第一天它照工單做事;第三個月,它照你的專案做事。
團隊規矩只要跟塔台說一次,例如 API 一律用 POST、review 固定檢查哪幾項。之後派出的每張工單都會帶上相關提醒,不必每開一個 Agent 就重講一遍。
規定清單只說規定是什麼;教戰手冊還寫出為什麼這樣做、遇到哪種情況選哪個、哪個檔案就是範例。Worker 照著判斷,寫出來的程式就跟團隊手寫的一致。
讓 Worker 掃描你的樣式設定,整理出色彩、字體、間距和元件樣式,寫成 Agent 讀得懂的視覺規範。之後做畫面的工單都照它走,每個 Agent 做出的頁面不再各是各的顏色。
這個網站的設計語言,就是這樣從 BAT 的程式碼抽出來的。
觀察
塔台記下
從做完的工單裡記下一條觀察
已驗證
幾張工單之後
同一個做法一再有效,之後主動套用
標準流程
你決定
夠成熟了,定成一套標準工單流程
技能
你決定
做成任何專案都能用的技能
從 2026 年 4 月起,BAT 的每個功能、每次修正,都由塔台開單、Worker 實作、塔台驗收。這一頁介紹的每個整合功能,都是在這個流程裡被需要、被做出來的。
截至 2026 年 10 月的累計數字。
只拿來開終端機和 Agent,BAT 也是順手的工作台。
每個專案一個工作區,各有自己的終端機、環境變數與預設 Agent;可以把工作區拉出成獨立視窗,重開後自動還原。
結構化事件、權限確認與對話續接;狀態列顯示模型、Token、快取與費用,項目與顏色都能自訂。
在同一個 BAT 視窗裡驅動 WSL、Docker 與 SSH 主機上的 Agent,設定精靈一路帶你裝好、連上、驗證憑證。
不離開 BAT 就能瀏覽檔案、看 Git 變更;終端機裡的檔案路徑與網址可以直接點開。
常用指令存成 Snippet 一鍵插入;也可以用語音輸入提示詞。
設定裡打開後,撞到 5 小時用量限制的 yolo 分頁會在解鎖後繼續;預設關閉。