跳至主要內容
Code Quality Review Skills

Thariq Skills #6 — Code Quality & Review:Adversarial Review 與程式碼品質護欄

1 分

agent 寫的程式碼,誰來審查?

最直覺的答案是「你來」。但有一個更好的模式——讓另一個 agent 來審查,而且是帶著明確批評任務的 subagent。


類別定義

Thariq 原文定義

“Enforce code quality, help review code. Can include deterministic scripts. Run automatically via hooks or GitHub Actions.”

這個類別有三個層次:

  1. 風格強制:linter、formatter 設定的封裝(確定性腳本)
  2. 品質審查:對 PR 或程式碼段落做邏輯、安全性、可維護性的評估
  3. adversarial review:subagent 帶著批評立場反覆挑戰直到品質達標

第三個層次是最強大、也最被低估的模式。


Thariq 的範例

adversarial-review — 核心模式:一個 subagent 被指派為「批評者」,對主 agent 的輸出提出反對意見,主 agent 回應並修改,迭代直到批評者無話可說。

Thariq 原文描述:“subagent critique → iterate”

這不只是「讓 agent 自我審查」,而是在架構上製造一個對立的觀點,強迫輸出品質提升。

code-style — 風格規範 skill。不只是「用 ESLint」,而是你的團隊對哪些模式有明確偏好、哪些反模式要避免——這些超出 linter 規則的內容。

testing-practices — 測試規範。什麼需要 unit test、什麼需要 integration test、test case 命名規範、mock 的使用原則。


Adversarial Review 的運作方式

主 agent 寫完程式碼

adversarial-review skill 啟動

Subagent A(批評者):
  - 找安全性問題
  - 找邊界案例
  - 挑戰設計決策

主 agent 回應並修改

重複直到批評者無法找到重大問題

輸出帶有審查記錄的最終版本
為什麼這個模式有效

單一 agent 的自我審查有「確認偏誤」問題——它傾向確認自己的設計是對的。Adversarial 模式透過明確指派「反對立場」,強制 agent 跳出原有的思維框架。這直接對應 Thariq 的技巧#1:「專注於能把 Claude 推出常規思維的資訊」。


結合確定性腳本

Code Quality skills 的一個優勢是可以混合 LLM 判斷和確定性腳本:

code-review/
├── SKILL.md
├── scripts/
│   ├── run-linter.sh          ← 確定性:eslint / ruff / golangci-lint
│   ├── check-test-coverage.sh ← 確定性:coverage threshold
│   └── security-scan.sh       ← 確定性:依賴漏洞掃描
├── review-checklist.md        ← LLM 審查的檢查清單
└── gotchas.md                 ← 常見的程式碼反模式記錄

確定性腳本先過濾低懸果實(格式、語法錯誤),LLM 再做高層次的邏輯和設計審查。


SuperPortia 實戰觀點

SP 在這個類別有合理的覆蓋:

SP Skill功能評估
code-review通用程式碼審查有,但缺 adversarial 模式
code-standardsSP 的程式碼風格規範有,對應 EGS Ch.2
codex-review用 Codex CLI 做跨模型審查有,SP 獨特的優勢

最大的缺口:沒有 adversarial-review 模式。目前 codex-review 最接近這個概念——用 GPT-5.4 對 Claude 的輸出做第二意見審查——但它是人工觸發的單次審查,不是迭代的對立批評流程。

SP 的獨特優勢:跨模型審查

SP 有 Claude Code + Codex CLI + Gemini CLI 三個 agent 可用。這比 Thariq 描述的 adversarial-review 還要強——不只是同一個模型的子 agent 批評,而是真正不同的模型架構在做審查。codex-review skill 把這個能力封裝起來,但還可以更系統化:建立一個流程讓主 agent 自動觸發 Codex 審查,而不是等人工指示。


與 Hooks 的結合

Thariq 提到 Code Quality skills 可以「run automatically via hooks or GitHub Actions」。這對應到 SP 的 PostToolUse hooks——每次 agent 寫完程式碼,hook 可以自動觸發 linter 或基本的品質檢查。

目前 SP 的 hooks 主要做安全性阻擋(防止危險指令),還沒有做主動的品質觸發。這是一個可探索的方向。


回到總文

本文是九大類別系列的第六篇。完整框架與 SuperPortia 對照請見:

Anthropic 工程師的 Agent Skills 完全指南 — 九大類別 × 九個技巧