所有標籤 agent 的兩個依賴——LLM 和外部 CLI——都不是決定性的,但成熟專案的招式是把「會動的部分」與「邊界的形狀」切開:codex 用 wiremock 假 Responses API 加腳本化 SSE server,TUI 用 insta 快照;opencode 乾脆做了 VCR 式的 http-recorder 錄放套件;pi 把 eval 與 unit test 分成兩份 vitest config;omp 把 edit benchmark 本身用 unit test 圍起來。looplane 對外部 CLI 做了四層:單元測試、fake-CLI 合約、錄製串流整合、Textual pilot TUI 測試。核心方法論一句話:錄下真實的非決定性輸出,對它做決定性的斷言。
五家參考專案裡沒有任何一家在 harness 層強制「宣告的驗證指令全過才算成功」:pi 靠模型自覺、OpenCode 和 Codex 把驗證寫進 system prompt、Claude Code 用獨立的對抗式驗證 subagent 但仍是軟性合約、只有 OMP 的 cleanse 真的由 harness 跑檢查。looplane 選最硬的一條路:改過檔案就必須重跑所有宣告的驗證指令,全過才給 terminal_reason=verified;沒動任何檔案就不重跑(no_changes),把「跑不跑」變成程式碼決定,不是模型決定。
Selenium 透過標準化 WebDriver session 操作真實瀏覽器,適合跨瀏覽器流程、既有測試資產與遠端 Grid;它能執行 JavaScript 頁面,卻不保證繞過 CAPTCHA 或其他反自動化機制。
Vitest 的優勢不是 Jest API 長得熟,而是測試與應用共用 Vite 的 transform、alias 與 plugin;Browser Mode 增加真瀏覽器信心,卻仍不能取代完整 E2E。
Factory 把「repo 夠不夠格讓 agent 動」拆成八根柱子、五個等級,並公開了實測分數:CockroachDB L4(74%)、FastAPI L3(53%)、Express L2(28%)。核心論點是 agent readiness ≈ codebase 裡確定性驗證迴圈的密度——linter、type checker、測試,這些對 agent 來說是獎勵訊號。
2026/7/23 Uncle Bob 那則 418 萬瀏覽的貼文不是宣言,是回覆——回一位 1983 年入行的工程師問「我心理上就是需要看懂程式碼,是不是太老派」。而且他沒有完全不讀:6/1 那則四階段 pipeline 的原文寫著 I spot check the code,門檻是 crap ≤ 6(業界慣例 30)、mutation 要 kill all survivors。附開源的 Acceptance-Pipeline-Specification 拆解與 Grady Booch 點名的三個指標盲區。