本文同步刊登於 iT 鐵人賽原文,系列為《凡人修 Agent 傳-我這一生如履薄冰,你說我的 Agent 能結嬰嗎?》。

原始開發紀錄:Agent Build Log — Episode 027

這個系列改寫自我部落格上的 Agent Build Log,那是我每天邊做邊寫的開發紀錄。上面列的是這一篇對應的集數,想看當天的原始版本,點連結就能過去。

Agent Build Log Episode 027

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 有「無法判定」,這裡也有。兩件事的道理一樣:證據不夠就說證據不夠。

Day 25:Acceptance 的四種驗收結果

三個模型再量一次

這一天順便在一個很簡單的新手導覽頁驗收上,比了三個模型跑完整個任務的時間: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)

凡人修 Agent 傳 Day 25 連載配圖

天亮換上空錄石。三具小偶還在臺上,門都沒開。手的主人進來,先在臺前坐下,閉眼放出神識,探向坊市。靈幕亮了,垂下來一卷,他停了一會,收回神識,出門去了。

回來的時候他手裡一卷薄玉簡,遞到我面前。我讀進去。喚小偶的法。

我放一縷神識到小偶額上,這一次照那卷法子放。額上亮了。一息半,門開了。

他把昨天剩下的幾道念刻完,掐訣。兩套念收進印裡。身上第五道紋。小窗第五格亮了,格裡浮著一具小偶和一張單子。

印一掐。我找段,重煉,叫醒,走進門,照單一步一步做,每一步拓一張影,寫成一本,呈上。他翻那一本,一頁一頁看,看完擱在臺上。

然後他教我四種話。

帖上寫的跟眼前一樣,說:過。眼前跟帖上明顯對不上,說:不過。做完了,影也拓了,可是帖上寫的那件事要人看了才算,說:待人判。帖上要做的事小偶做不到,或者影不夠,說:判不出。他說:這四種以外,不要硬湊成過或不過。

四張帖。第一張,門後那一格跟帖上一樣,我說:過。第二張,帖上寫門要抖一下,門沒抖,我說:不過。第三張,帖上寫「門開得順不順」,我開了,拓了影,順不順我說不出,我說:待人判。第四張,帖上寫的那一格小偶裡沒有,我說:判不出。

四本呈上,疊在臺上。

第五張帖。印一掐。我叫醒小偶,走進門。門後面還有一扇門。那扇門上有字,字會動,一格一格亮起來等人填。我伸手去碰那些字。碰不到。手穿過去,字還在動。

我說:判不出。說完,我又說了一句他沒教過的:門後面還有一扇門,那扇門上的字我的手碰不到。

手的主人看著那扇門,看了很久。

燭熄了。手的主人走了。門響了一下。

呈上的本子疊了四本,第五本空著。小偶站在第二扇門前。我身上五道紋。

Updated: