Review 要用沒生成過這段 code 的 agent

帶著原本上下文的 agent 會作弊。 你餵給它的那些 context,會讓它錨定在先前的對話上——它在替自己的作品辯護,不是在挑毛病。

處方:用另一個 sub agent/獨立的 agent 來 review,一個沒有參與生成的 agent。這就是 adversarial review agent(對抗式審查 agent)。

Claude Code 與 Codex 都有內建的 review agent 可用。

PR 要有 template

不給指引的話,agent 會寫出一大篇故事。最常見的反模式:

摘要與測試計畫比改動本身還長。

所以要給 template,讓 PR 長得一致、該有的資訊都在(含 PR 要自帶證據,證據是少讀 code 的交換條件 的那些 proof)。

附帶:nits 已經不該出現在 review 裡

寫法偏好、排版這類 nit 交給 static checking(type check、lint)和 agent 處理。理由是現在 code 量太大、流動性變高、refactor 變得頻繁又容易(尤其在有良好驗證的前提下),所以「我偏好這樣寫」已經不值得佔用 review 的對話。