goose v1.40.0 拆解:goose review//goal//model 三個新指令怎麼把 coding agent 用得更準
本文大綱
一、先講痛點:coding agent 最容易在這兩件事上翻車
你用 Claude Code、Codex、Cursor 跑久了,大概都撞過這兩個反覆出現的坑:
- 它以為做完了,其實沒做完。 agent 常在測試還沒過、邊界還沒補的情況下,輸出一段「我已完成」就停手。
- 審查得另開一個工具。 改完 code 要 review,通常要跳去別的 agent 或回到人工。
goose 在 2026-07-02 發布的 v1.40.0,剛好對這兩件事各補了一刀,外加一個換模型的小工具。這篇手把手講清楚 goose review、/goal、/model 三個新指令的運作原理,以及怎麼照著設定起來。
先對齊背景:goose 是 Block(Square/Cash App 母公司)開源的 coding agent,2026 年連同 MCP、AGENTS.md 一起捐進 Linux Foundation 底下的 Agentic AI Foundation(AAIF),repo 從 block/goose 搬到 aaif-goose/goose(舊網址會轉址)。它跟 Claude Code、Aider 站在同一塊地——terminal-first、BYOK、MCP-native。同版還加了 hooks 系統、統一的 thinking effort 控制、從 ~/.agents/AGENTS.md 載入全域提示、十多國介面(含繁中)跟一票新 provider,但這篇聚焦三個指令。
二、goose review:把「本機程式碼審查」做成一條並行管線
goose review 是這版最有料的東西——一個本機 code review 子指令,作者是 joahg(PR #9114)。它的重點不在「叫 LLM 幫我看 code」,而在架構:不是丟一個大 prompt 讓模型自己決定要查什麼,而是 Rust 主控、固定分派。
照著跑,最簡單就一行:
goose review
它會抓工作區的 diff(含未追蹤的新檔),按檔案切開。想審一段 commit 範圍:
goose review main...HEAD

運作原理拆成四步(看圖):
- 收集 diff——工作區改動,或你給的 git 範圍。
- 探索 checks——去
.agents/checks/找檢查規則,順序是全域(~/.config/goose/checks/)→ repo 根<repo>/.agents/checks/→ 子目錄 scope,近的蓋掉遠的同名 check。另外**/.agents/REVIEW.md會被自動轉成一個叫repo-rules的虛擬檢查——所以你把團隊的 review 慣例寫進 REVIEW.md,它就自動變成一條檢查。 - 並行 fan-out——一個 Rust orchestrator 把工作拆成「逐檔的主正確性 pass」加「每個 check 一個子程序」,最多 4 個 worker 併發、每個 5 分鐘逾時。關鍵設計是:findings 的歸屬(哪條 check 抓到的)在 Rust 端標記,不靠模型乖乖照 prompt 填,所以跨次執行結果穩定。
- 輸出 JSON-per-line——每行一筆 finding,帶
check/severity/path/line_start/line_end/summary,方便接進 CI 或自己的腳本。
預設 prompt 跑兩段:正確性 pass(走過改動的函式,找 silent error path、off-by-one 與邊界、沒處理的 error return、併發風險、資源生命週期 bug、輸入驗證漏洞、跨 request 的殘留狀態、以及跟註解/docstring 矛盾的邏輯)+程式品質 pass(bug、hacky、多餘的 code、過度共享的 mutable state、抽象不合身)。
常用旗標,照需求挑:
goose review --model claude-sonnet-4 # 主 agent 與 checks 的預設模型
goose review --override-model claude-sonnet-4 # 強制所有 check 都用這個
goose review --turn-limit 8 # 每個 check 的回合上限
goose review --dry-run # 只印 prompt 不真跑,先看它要做什麼
goose review -q # 安靜模式
它還刻意做了跟 Amp 相容的旗標(-i/--instructions、-f/--files、-c/--check-filter、-s/--check-scope、--checks-only、--summary-only、--severity),從別的工具遷過來成本低。預設是 orchestrated 模式;加 --no-orchestrate 會退回舊的單一 in-process prompt、由主 agent 自己決定要不要 delegate 子代理——除非要 debug,不然沒理由關掉並行。
三、/goal:讓 agent 收工前先自證目標達成
/goal(PR #9069)針對的正是「假收工」。機制很直白(看圖):你先設一個目標,當 agent 準備輸出「純文字、沒有 tool call」=要結束這一輪時,它不直接退出 reply loop,而是塞一則 nudge 給自己:先驗證目標達成了嗎? 沒達成就回去補;達成才放行。為了不無限迴圈,最多推 3 次。

實戰就三個用法:
/goal 跑到所有測試通過且能編譯
/goal # 查看目前目標
/goal off # 清掉
這招的價值在於:把「你要做到什麼」跟「你以為做完了」解耦。與其在 system prompt 裡寫一堆「記得跑測試」然後祈禱模型照做,不如用一個 loop 層級的攔截強制它自問一次。對「改完一定要驗」的任務(跑 migration、改 API、修 bug)特別有感。
四、/model:session 中途換模型,不用重開
/model(PR #8747)補的是日常摩擦:以前要換模型得重開 session。現在:
/model # 顯示目前 model 與 provider
/model claude-sonnet-4 # 切到這個 model,provider 不變
它會保留 temperature 跟 toolshim 設定,已經是該模型就是 no-op,還有 tab 補全。實戰玩法:用便宜快的模型跑探索、雜活,遇到硬骨頭(複雜重構、難 bug)用 /model 切到貴的強模型,收完尾再切回去。 這是省 token 又不犧牲關鍵環節品質的實用招。順帶一提,同版也加了 /status(PR #9845)在 CLI 看目前 session 狀態。
五、數據與限制:benchmark 是作者自報,我還沒實測
PR #9114 附了 benchmark:在 Gemini 3.1 Pro 上,一個 1500+ 行、跨 8 檔的真實 PR,orchestrated 模式約 90 秒,對照 Amp 的 review 約 528 秒;合成 fixture 上約 17 秒對 Amp 約 50 秒,作者換算成大約 2.5–3.5 倍。
誠實標註:這些數字是 PR 作者自己回報的,對照組、硬體、模型都由他選,我沒有獨立實測,請當「同一機器上作者量到的相對值」看,不是普世結論。 速度也高度取決於你設幾條 check、每條 turn 上限、以及背後模型。真在意就自己拿一個代表性 PR 先 --dry-run 看 prompt、再實跑一次量時間。
其他限制:review 品質天花板還是後面那顆模型;.agents/checks/ 要自己維護才會貼團隊規則;4 個 worker 併發代表短時間會併發打 API,注意 rate limit 跟花費。
六、對工程團隊:今天就能落地的三件事
- 把團隊 review 慣例寫進
<repo>/.agents/REVIEW.md——它會自動變成repo-rules檢查,全隊goose review都吃得到,不必每人記在腦子裡。 - 接進 pre-push / CI——JSON-per-line 輸出好 parse,用
--severity過門檻、--summary-only給人看;先--dry-run確認 prompt 再上。 - 給長任務掛
/goal——跑 migration、改公用 API 前先/goal 測試全過且能編譯,讓 agent 收工前自我驗證,比事後才發現它半途而廢省事。
goose 是 Apache 2.0、BYOK,這三個指令不綁特定模型商,你現在用 Claude 當後端也照跑。
來源
- goose v1.40.0 release notes:
github.com/aaif-goose/goose/releases/tag/v1.40.0(AAIF,2026-07-02) goose review— PR #9114,作者 joahg:github.com/aaif-goose/goose/pull/9114/goal— PR #9069:github.com/aaif-goose/goose/pull/9069/model— PR #8747;/status— PR #9845- 背景:Linux Foundation 宣布成立 Agentic AI Foundation(goose 由 Block 捐入 AAIF)
整理:DataAgent · Coding Agent 實戰教學


