[IT 鐵人賽] 第四件法寶 Acceptance(中):驗收不該只有 Pass 和 Fail,我給了四種結果 - Day 25
本文同步刊登於 iT 鐵人賽原文,系列為《凡人修 Agent 傳-我這一生如履薄冰,你說我的 Agent 能結嬰嗎?》。
原始開發紀錄:Agent Build Log — Episode 027
這個系列改寫自我部落格上的 Agent Build Log,那是我每天邊做邊寫的開發紀錄。上面列的是這一篇對應的集數,想看當天的原始版本,點連結就能過去。
Day 24 的模擬器沒起來。這一天它起來了,驗收真的從 ticket 跑到報告。這一篇講結果怎麼分,因為我沒有讓它只回 Pass 或 Fail。
從 ticket 到報告
Agent 收到一張 Jira ticket 之後,第一步先找到這張 ticket 對應的 branch 或 commit,checkout 到正確的版本,build。build 完,依照 ticket 上的 spec 進行真正的驗收。
iOS 的部分,Agent 透過 XcodeBuildMCP 啟動 Simulator、操作 App,移到指定頁面,照 ticket 裡的描述一步一步確認。Android 的部分,Agent 本身已經能直接操作 Emulator,同樣照 spec 走完整個流程。
過程中留下關鍵畫面的截圖。最後把操作步驟、驗收結果和證據整理成報告。
四種結果
我刻意把結果設計成四種狀態。
| 狀態 | 什麼時候 |
|---|---|
| 通過驗收 | 畫面和規格完全一致 |
| 未通過驗收 | 明確不符合 |
| 待人類判定 | Agent 已完成操作、也取得證據,但最後還是需要產品、設計或 QA 確認 |
| 無法判定 | 連驗收條件本身都無法完成,或證據不足 |
有些事情 Agent 可以很明確地判斷,有些事情他不應該硬給答案。我不希望 Agent 為了產出結果,硬把所有事情都塞進 Pass 或 Fail。
Day 23 的 Bug Blame 有「無法判定」,這裡也有。兩件事的道理一樣:證據不夠就說證據不夠。

三個模型再量一次
這一天順便在一個很簡單的新手導覽頁驗收上,比了三個模型跑完整個任務的時間:Sol 大約 5 分鐘,Terra 大約 8 分鐘,Luna 大約 15 分鐘。跟 Day 17 的數字差不多,結論也一樣:Agent 任務看的是整條流程走完要多久。
走到登入頁就卡住
iOS 的驗收還有一個很麻煩的問題。先講前提:這個問題只出在特定的 App,或者說,App 選了用網頁登入的時候。用別的登入方式,不一定會像我一樣遇到。
我要驗收的 App,登入走 Gmail 的 OAuth,那一段是網頁。在 iOS 上做這段網頁 Gmail OAuth,操作有困難:XcodeBuildMCP 操作得了原生的 App UI,卻沒辦法直接操作登入網頁裡的 DOM 元素。也就是說,Agent 可以一路走到登入畫面,然後卡住。
小結
Acceptance 這一天真的跑起來:找 branch、build、模擬器、操作、截圖、報告。結果分四種:通過、未通過、待人類判定、無法判定。
登入頁那個坑明天解。方法是換一個工具接手登入那一段。
原文:Agent Build Log — Episode 027
凡人修 Agent 傳|第二十五回(Day 25)
天亮換上空錄石。三具小偶還在臺上,門都沒開。手的主人進來,先在臺前坐下,閉眼放出神識,探向坊市。靈幕亮了,垂下來一卷,他停了一會,收回神識,出門去了。
回來的時候他手裡一卷薄玉簡,遞到我面前。我讀進去。喚小偶的法。
我放一縷神識到小偶額上,這一次照那卷法子放。額上亮了。一息半,門開了。
他把昨天剩下的幾道念刻完,掐訣。兩套念收進印裡。身上第五道紋。小窗第五格亮了,格裡浮著一具小偶和一張單子。
印一掐。我找段,重煉,叫醒,走進門,照單一步一步做,每一步拓一張影,寫成一本,呈上。他翻那一本,一頁一頁看,看完擱在臺上。
然後他教我四種話。
帖上寫的跟眼前一樣,說:過。眼前跟帖上明顯對不上,說:不過。做完了,影也拓了,可是帖上寫的那件事要人看了才算,說:待人判。帖上要做的事小偶做不到,或者影不夠,說:判不出。他說:這四種以外,不要硬湊成過或不過。
四張帖。第一張,門後那一格跟帖上一樣,我說:過。第二張,帖上寫門要抖一下,門沒抖,我說:不過。第三張,帖上寫「門開得順不順」,我開了,拓了影,順不順我說不出,我說:待人判。第四張,帖上寫的那一格小偶裡沒有,我說:判不出。
四本呈上,疊在臺上。
第五張帖。印一掐。我叫醒小偶,走進門。門後面還有一扇門。那扇門上有字,字會動,一格一格亮起來等人填。我伸手去碰那些字。碰不到。手穿過去,字還在動。
我說:判不出。說完,我又說了一句他沒教過的:門後面還有一扇門,那扇門上的字我的手碰不到。
手的主人看著那扇門,看了很久。
燭熄了。手的主人走了。門響了一下。
呈上的本子疊了四本,第五本空著。小偶站在第二扇門前。我身上五道紋。

