安安~我是ChiYu~
我重新打開第一天做的 LumenDesk 成員管理後台,在搜尋框輸入 Orbit。
三筆資料,一筆都沒動。
下面是依照第一版需求重建的錯誤現場。畫面使用固定的虛構成員資料,不含真實個資:

圖 1:搜尋框收下 Orbit,Aurora、Nimbus 與 Solace 卻一筆都沒離開;篩選沒有條件,停用也沒有取消流程,90 秒任務卡直接得到 0/3。
側欄、摘要卡、搜尋、篩選、表格和分頁全都在。畫面每一區都很像有在工作,真的點下去,漏洞才開始排隊報到。
有一說一,它到現在都不算難看。如果明天就要交 Prototype,我只看十秒,很可能會說一句「差不多了」,然後去忙下一件事。
偏偏這 28 天一直在處理的,就是「差不多」後面那一大段。
第一天交給 AI 的要求只有一句:
幫我做一個現代、漂亮、好用的工作區成員管理後台。
只看外觀,我頂多能評論配色、間距和卡片排得整不整齊;把 Orbit 實際輸入後,搜尋到底有沒有作用才終於露餡。停用帳號能不能取消、載入失敗後怎麼回來,也不會因為卡片排整齊了就自動獲得答案。
所以這次不憑印象回顧,也不換一批比較討喜的資料。我沿用同一句 Prompt、同一組 LumenDesk 虛構成員與同一批管理任務,重新驗收前後兩個版本。
| 實驗項目 | 紀錄 |
|---|---|
| 原始模糊 Prompt | 幫我做一個現代、漂亮、好用的工作區成員管理後台。 |
| 使用工具與模型 | Codex Desktop、GPT-5;這次不做跨模型排名。 |
| 第一版 | 2026 年 7 月 23 日提出需求,7 月 24 日保存可操作的瀏覽器基準。 |
| 改善版 | 2026 年 7 月 24 日補上八格 UI Spec,完成網站配方並逐項實測。 |
| 控制條件 | 沿用相同虛構成員資料與管理任務,不使用真實個資。 |
這個控制條件很重要。前後版本若換了資料、任務或裝置,就很難判斷改善到底來自規格,還是只是第二張畫面比較討喜。
我先替後台準備三個核心操作:
Orbit-04。三題跑完後,再加兩個故障條件:模擬清單載入失敗,接著把畫面縮到 360px 重做主要操作。核心任務和故障演練分開記,才不會一張圖寫三題,正文又突然長出五題。
第一版的結果如下:
| 任務 | 第一版結果 | 判斷 |
|---|---|---|
搜尋 Orbit-04 |
可以輸入文字,清單不變 | 不通過 |
| 篩選研究組 | 有篩選按鈕,沒有可選條件 | 不通過 |
| 選兩人後取消停用 | 沒有完整選取、確認與取消流程 | 不通過 |
| 模擬清單失敗 | 沒有 Error State,也沒有重新載入入口 | 不通過 |
| 360px 重做任務 | 1180px 桌面內容原封不動塞進手機 | 不通過 |
它有一張後台的臉,還沒有後台的工作能力。
第一版失敗的地方也替今天劃出範圍:我不需要再做一張更華麗的後台,而要讓搜尋、篩選、危險操作、錯誤復原和手機版都能被重複驗收。
認識一輪 UI 元件後,我先試了最直覺的改法:把正確名稱全部塞進 Prompt。
請幫我做一個成員管理後台。
要有 Search Field、Combobox、Data Table、Drawer、
Overflow Menu、Confirmation Dialog、Toast 和 Skeleton。
看起來專業多了,像原本的 Prompt 突然換上西裝。可惜工作內容仍然沒寫。
AI 還是不知道:
元件名稱能幫我指出修改邊界,不能自動補出產品規則。再多塞五個英文名詞,猜測還是猜測。
第二次改寫前,我先把需求拆成八格。每一格只處理一種責任,免得任務、資料和元件全部擠在同一句話裡。

圖 2:八格 UI Spec 固定使用者與任務、資料、元件理由、行為、狀態、手機版、鍵盤與辨識,以及最後的驗收條件。
| 規格區塊 | 這次寫下的內容 |
|---|---|
| 使用者與任務 | 工作區管理員要搜尋、篩選、檢視、調整與停用成員。 |
| 資料 | 成員編號、顯示代號、部門、角色、狀態、最後活動時間;Demo 只用虛構代號。 |
| 元件與理由 | Search Field 查關鍵字;Combobox 從既有部門選值;Data Table 處理比較、分頁與選取。 |
| 行為 | 搜尋縮小結果,篩選可組合;選取後才顯示 Bulk Action Toolbar;浮層關閉後焦點回入口。 |
| 狀態 | 有資料、Loading、Empty、Error、Success 與已停用。 |
| 手機版 | 360px 保留成員代號、狀態與操作;其他欄位進詳細資料。 |
| 鍵盤與辨識 | 搜尋、Combobox、排序、分頁、選取、Menu、Drawer 與 Dialog 都能用鍵盤操作;狀態不只靠顏色。 |
| 驗收 | 用同一張 90 秒任務卡逐項重跑,不用「現代、清楚、直覺」當完成標準。 |
元件選型也在這裡定下來:每列低頻命令收進 Overflow Menu;詳細資料放進 Drawer,保留原本清單脈絡;停用帳號會改變資料,先經過 Confirmation Dialog,再由 Toast 回報結果。
這些元件不是來湊一桌 UI 全餐。每一個都要回答一項任務,說不出理由的,就不該只因為名字很專業而出現。
請建立 LumenDesk 工作區成員管理頁。
使用者是工作區管理員,他要搜尋、篩選、檢視、調整與停用成員。
資料只使用虛構代號,包含成員編號、顯示代號、部門、角色、狀態與最後活動時間。
- Search Field 搜尋成員編號與顯示代號;輸入 Orbit 後只顯示符合資料。
- 部門使用只接受既有值的 Combobox,不允許建立規格外的新部門。
- 角色與狀態使用固定選項篩選;條件改變後重設到有效頁碼。
- Data Table 支援排序、分頁、列選取、批次停用與每列 Overflow Menu;全選範圍必須明確。
- 詳細資料使用 Drawer;關閉後回到原列入口。
- 停用前開啟 Confirmation Dialog,初始焦點放在取消;取消後資料不變。
- 成功後顯示 Toast,但不要移動目前焦點。
- 提供 Loading、Empty、Error 與 Success;Error 保留篩選條件,只重試清單區域。
- 360px 保留成員代號、狀態與主要操作,不得造成整頁水平溢出。
驗收:
1. 搜尋 Orbit 後只顯示一筆符合資料。
2. 部門不能建立規格外的新值。
3. 選取兩列後才顯示 Bulk Action Toolbar,數量為 2。
4. 取消停用後資料不變,焦點回到停用按鈕。
5. Error State 能只重新載入清單。
6. 在 360px 不產生整頁水平捲動。
這段確實比第一天長,但不是多寫幾個「高級感」或「像 SaaS」。搜尋範圍直接寫成成員編號與顯示代號,不再讓 Orbit 剛好命中哪個欄位靠運氣。最後六條就是改善版的考卷;哪一題失敗,我就知道下一輪要改什麼。
Vibe UI Atlas 的成員管理配方保留完整 Demo,可以直接跟著任務操作。
完整 UI Spec 減少了猜測,不代表第一個改善版本會直接通過。
第一次操作時,我抓到四個問題:
| 問題 | 實際結果 | 修正方式 |
|---|---|---|
| Combobox | 選完部門,焦點回到輸入框就立刻重新展開 Listbox | 改成使用者明確點擊或按鍵時才開啟 |
| Pagination | 只有兩顆 Disabled 按鈕,沒有第二頁能測 | 五筆資料拆成兩頁,補齊邊界狀態 |
| 手機表格 | 仍使用 720px 最小寬度,再由外層裁掉 | 固定主要欄位,其他資料移到詳細內容 |
| Overflow Menu | 開啟 Drawer 後,原按鈕 aria-expanded 仍是 true |
開啟 Drawer 時同步關閉 Menu 狀態 |
看起來沒有水平捲軸,不代表內容真的放得進 360px;選單從畫面消失,也不代表程式狀態已經關閉。這些都不是換顏色能處理的問題,只能靠真的操作抓出來。
修正後,我從任務卡第一關重新開始。

圖 3:改善後桌面版把搜尋、既有部門篩選、排序、分頁、列選取與每列操作放回同一條管理流程。
輸入 Orbit 後,清單從五筆縮成一筆,結果數量同步更新。部門 Combobox 可以輸入文字尋找,但最後只能選產品組、營運組、客服組或研究組等既有值。「研究部門」不會因為有人打了四個字,就偷偷成為新部門。
表格預設每頁三筆,五筆資料真的分成兩頁;成員欄位也能切換遞增與遞減。Pagination 不再只是兩顆長得很像功能的裝飾按鈕,第一頁、第二頁和邊界都能實際測。
我勾選第一位成員後,Bulk Action Toolbar 才出現;再勾一位,數量從 1 變成 2。

圖 4:未選取資料時不顯示批次工具列;選取兩位成員後,才出現數量與停用操作。
按下「停用帳號」後,Confirmation Dialog 的初始焦點放在取消,不是紅色確認按鈕。按 Escape 或取消,資料維持原樣,焦點回到剛才的批次停用入口。
顏色只能提醒有風險;誰會被停用、能不能反悔、取消後回到哪裡,仍然要靠流程交代。
接著我打開每列 Overflow Menu,再進入 Drawer。清單仍留在畫面後方提供位置脈絡;Drawer 開啟期間背景不接受操作,關閉後焦點回到同一列。這裡選 Drawer,不是因為它從右邊滑出來,而是使用者需要查看詳細資料,又不能丟掉剛才的搜尋與選取位置。

圖 5:只有成員清單顯示錯誤,搜尋與篩選條件仍保留,使用者可以只重新載入失敗區域。
這次我會給通過。不是因為錯誤卡片特別漂亮,而是它說清楚哪個區域失敗、剛才的工作還在不在,以及使用者現在可以做什麼。
Loading、Empty 與 Error 都要接受同樣的盤問。只換插圖和標題,沒有處理資料、操作與復原方式,仍然只是三張不同口味的等待畫面。

圖 6:手機版保留成員代號、狀態、列選取與操作;其他欄位移到詳細資料,頁面沒有整體水平溢出。
桌面六個欄位不可能在手機上維持相同寬度。我保留成員代號、狀態、列選取與操作;部門、角色、最後活動時間移進詳細資料。
實際檢查時,頁面寬度沒有超過 360px,操作按鈕仍看得到。這個決定也不是永久答案:若真實使用者最常用手機追查「最後活動時間」,那一欄就不能藏。手機版沒有固定藏欄公式,只有哪個任務最不能失敗。
| 第一版只能問 | 修正後可以直接驗收 |
|---|---|
| 搜尋框到底有沒有作用? | 輸入 Orbit 後只剩一筆結果,數量同步更新。 |
| 部門能不能亂填? | Combobox 只能從既有部門完成選取。 |
| 表格真的能分頁嗎? | 五筆資料分成兩頁,前後邊界可操作。 |
| 停用會立刻執行嗎? | 先確認;取消後資料不變,焦點回入口。 |
| 載入失敗怎麼辦? | 保留搜尋與篩選,只重試清單區域。 |
| 手機只能左右滑嗎? | 主要任務留在 360px,沒有整頁溢出。 |
瀏覽器主控台也沒有出現本頁互動錯誤。這就是我對第二版的判斷:核心管理流程通過這次任務驗收,不是因為「感覺更完整」,而是搜尋、選取、取消、復原和手機版都有可重跑結果。
不過,AI 自我回報「六項都通過」仍然不是證據。每輪至少要留下:
沒有這些資訊,下一次重新生成或換模型後,就很難知道行為退步是從哪一輪開始。
這次找到的 Combobox、Pagination、手機表格與 Overflow Menu 狀態問題,都已在修正後重新操作,不是目前仍存在的失敗。
尚未驗證的是正式螢幕閱讀器對動態訊息、Menu 與 Combobox 的宣告、200% 縮放,以及真實 API、後端權限、查詢競態與多人同時修改。Demo 使用固定虛構資料,也不能證明正式產品的資料量與延遲都成立。
寫成「尚未驗證」可能沒有「全面通過」好看,至少下一個接手的人知道證據停在哪裡,不會拿桌面版的一張截圖替整套系統背書。
第一天,我拿「現代、漂亮、好用」當需求,AI 回給我一張看起來像後台的畫面。今天仍然讓 AI 做畫面,但生成前先固定使用者、資料、元件理由、行為、狀態與驗收;生成後,再拿同一張 90 秒任務卡重跑。
這 28 天累積下來的,不是一份更長的英文元件清單。下次遇到「幫我做一個後台」,我知道要先問搜尋哪些欄位、資料能不能自訂、危險操作如何取消、失敗後保留什麼,以及手機上哪件工作不能被藏起來。
Vibe Coding 到這一步,Prompt 不再負責祈禱 AI 猜對,而是把猜錯時能被抓到的條件先寫好。
明天不再增加第 30 組元件。我會回頭整理這 30 次驗收到底改變了什麼,也把至今仍不能交給 AI 決定的責任留下來。
資料查閱:2026-08-07。