作品集 → AI Control Center
做完了,不代表做對了。
AI Control Center 是一套 Windows 應用程式,用明確的角色分工、驗證步驟和人工核准,協調多個 AI 寫程式代理。它要求 AI 拿出證據:每一步都留下紀錄,綁在它檢查的那個版本上;連測試本身,也要靠故意改壞程式,證明它抓得到錯。
一個人協調多個 AI 寫程式代理時,需要知道誰檢查過、檢查的是哪個版本,以及測試是否真的抓得到錯。
我定義產品規則與架構,在實作前審閱設計,並透過實際使用檢查成果;程式由 AI 寫程式代理實作。
從證據綁定版本的流程圖與故意改壞程式的驗證流程開始。本頁提供設計示意與附日期的審查結果及限制,沒有產品操作 Demo。
在報告上,「做完了」和「做對了」看起來一模一樣
AI 代理很擅長把看得見的任務做完。一個永遠會通過的測試、一個算出來推到畫面上卻沒有人讀的數值、一個蓋在已經改過的版本上的審查——這些全都顯示綠燈。這個專案一次掃描就找到 30 個。
所以整個產品圍繞著一個問題:要怎樣才能真的確定?
| 要避免的風險 | AICC 的做法 |
|---|---|
| 沒有明確由人決定的時間點 | 遇到該你決定的事,它會停下來 |
| 同一個角色既做事、又訂標準 | 做事的角色,永遠不訂驗收標準 |
| 核准跟它檢查過的版本脫鉤 | 核准綁在版本上;內容一改就失效 |
| 通過的測試,可能根本抓不到錯 | 綠燈要先被變紅過,才算數 |
| 紀錄只能在程式裡看 | 紀錄是純文字,放在你的資料夾,不靠程式也能驗證 |
一筆確認紀錄的價值,取決於它確認的是哪個版本
看細節
每個角色在執行時都會留下一筆確認紀錄,記下是誰、什麼時候、在哪個內容指紋上、憑什麼證據。核准要求所有必要的紀錄都在同一個指紋上;內容改了,只有輸入有變動的紀錄會失效,沒受影響的工作不必重做。
決策紀錄是一條雜湊鏈,可以匯出,用一支不依賴本程式的獨立驗證工具檢查。它能發現鏈中間任何一筆被改過或刪掉;但不宣稱能發現整條鏈從頭到尾被重寫。
綠燈要先被變紅過,才算數
- 還原一律從副本來,絕不用
git checkout——它曾經把還沒存檔的修改整段丟掉 - 零跳過是硬規則:參數化測試如果是空的、產生一個 SKIP,整次執行就算失敗
- 兩層檢查互不取代:pytest 確認數值有被讀取;在真正的 QWebEngine 裡用 DOM 探測,確認它有被畫出來
- 有一支專用工具,專門抓反覆出現的缺陷:「算出來、推到畫面上,卻沒有任何地方讀」
做事的角色,永遠不訂驗收標準
| 職責 | 讀取 | 寫入檔案 | 訂驗收標準 | 核准 |
|---|---|---|---|---|
| 規劃 | ● | — | ● | — |
| 執行 | ● | ● 只有這一種 | 不行 | — |
| 審查 | ● | — | ● | — |
| 核准 | ● | — | — | ● 推翻不了機器的確認 |
每個角色是一個席位,有自己的職責、自己的對話、自己看得到的規則。引擎依職責分派,不依席位名稱——而且會擋住角色驗證自己的工作。
- 驗收標準由「執行」以外的席位訂定;訂標準的紀錄和實作的紀錄如果出自同一個角色,引擎會拒絕
- 退件依職責送回負責的席位,而不是依位置
- 會給出權力的職責絕不自動指派:你沒有安排,引擎就不會替你挑一個
底層做法:Claude Code 以 plan 模式執行唯讀職責;Codex 在唯讀沙箱裡執行。只有「執行」職責能寫入。這些是廠商工具自己的權限模式:由 AICC 提出要求,AICC 本身並不是作業系統層級的沙箱。
大多數工具賣的是更自動。這一個是設計來停下來的。
權力不會預設發出去
會給出權力的職責絕不自動指派。你沒有安排,引擎就不會替你挑一個。
「無法驗證」不等於「壞了」
沒有宣告檢查方式的任務,會被標成無法驗證。它不算失敗,所以不會派代理去修沒壞的東西。
你的核准推翻不了檢查結果
機器檢查沒過,你按下核准也不會讓它變成通過。核准者只能讀,不能改寫結果。
它是一張圖——而每個節點裡,仍然有那四層
Prompt、context、harness、loop、graph——這五層,現在常被統稱為 graph engineering。它們不是彼此取代的階段;AICC 的每一次執行同時用到五層,修復迴圈就在單一節點裡面。
每一層在程式裡的位置
| Prompt | 要做什麼、限制、成功標準、回傳格式——prompt_builder |
|---|---|
| Context | 這一步剛好需要的內容:每種職責只收到自己的規則層,加上共用的專案記憶 |
| Harness | 它能碰什麼:CLI 執行器、專案的敏感等級與權限模式 |
| Loop | 工作流程裡的修復迴圈:最多修兩次,然後交回給人 |
| Graph | 席位陣容與九道步驟關卡;狀態記在執行紀錄、時間軸和確認紀錄鏈裡 |
三件事,直說
不拿你沒交給它的東西
你的 Claude 或 Codex 登入不經過 AICC——它只會打開廠商自己的登入畫面,不讀瀏覽器或其他程式的快取。憑證模組裡只要出現任何新的收下 API key 的方式,就會有測試失敗。
不轉賣模型
你用自己的 Claude 和 Codex 帳號,受它們各自的用量限制。AICC 不在你付給它們的費用上加價。
沒有自己的伺服器
不用帳號、不用註冊,也沒有 AICC 的伺服器。專案紀錄是你資料夾裡的純文字檔,AICC 本身就是它管理的第一個專案。提示詞確實會經由 Claude 或 Codex 自己的命令列工具送出;可選的 LINE 和 Google Drive 功能,也有各自的資料路徑。
有什麼、證明了什麼、還沒有什麼
已完成
- Windows 桌面應用程式;早期版本在 Windows 上實際安裝、啟動、解除安裝過兩次
- 職責綁定權限的角色、確認紀錄鏈、時間軸、可匯出的決策紀錄
- 一個人同時管理多個並行專案
已驗證
- AI 協助的發布前審查跑了 2,219 條測試:2,200 條通過、19 條失敗、0 條跳過;每一條失敗在 repo 裡都有說明
- 同一次審查跑了 853 筆故意破壞,沒抓到的也一併公開
- 找到 30 個假綠燈,並清到 0(2026 年 8 月 24–27 日)
下一步
- 下一個測試版的擁有者驗收
- 公開的 repo 只放原始碼;目前的安裝程式還需要完整的升級測試。已知限制列在 SECURITY.md
- 原始碼在 GitHub;負責改壞程式的工具也獨立成 negative-control
GitHub 上的 repo 與說明文件是英文。