跳到主內容

Theme / 0.9.130

Pstack

用可驗證的工作流程協作,從單一入口學會工程技能

Skills

interrogate | 只回報可重現的成立問題

讓對抗審查者嘗試破壞變更,重跑每個重現命令,只保留違反意圖的實證問題,不套用修復。

interrogate | 只回報可重現的成立問題

本頁以 pstack-claude 0.9.126 為基準。interrogate 是對抗式審查 (Adversarial Review),但「看起來可能有問題」不夠。只有執行結果證明違反意圖的問題才能進入成立清單。

定位與適用情境

例如新增「撤銷分享連結後,既有連結立即失效」的功能。對抗者不只看撤銷函式,也會試驗快取、舊連結與重複操作能否突破這個意圖。

輸入是需求意圖、指定差異與本機可執行環境。輸出是每個已重現問題的命令、實際輸出、應有輸出及來源審查者。這個技能只回報,不直接修復。

準備

  • 明確寫出意圖,特別是「立即」對目前連線與後續請求各代表什麼。意圖不清時先澄清,不用代理猜測填補。
  • 指定範圍。若未指定,原文採目前分支相對基底分支合併基點 (Merge Base) 的差異,延伸到工作目錄。
  • 準備真實程式的本機重現命令與資料。審查者的工作樹要包含範圍內的未提交變更。
  • 確認多代理、模型與隔離工作樹能力。不能保證所有平台都有來源指定的派工工具。

操作步驟

  1. Frame。 從使用者需求、提交與合併請求 (Pull Request, PR) 說明重述意圖。先講清楚要保護的行為,再固定審查範圍。
  2. Fan out。 依 arena 的派工與隔離方式建立對抗者,但使用 interrogate 的審查模型角色。每人拿相同範圍與意圖,必須以真實測試、腳本或命令證明問題。設計稿可用原型或現有程式探測驗證。
  3. Verify。 主代理逐一重跑問題命令,確認輸出真的違反意圖。失敗原因不符、沒執行或只屬風格意見的項目全部淘汰。相同根因的問題合併。
  4. Output。 保留所有通過複驗的問題,不選「最佳審查者」。另列每位對抗者被淘汰的數量與原因。若沒有成立項目,明說 no verified findings,不加猜測湊數。

可直接使用的提示詞

Claude Code 可用 /pstack:interrogate,Codex 插件可選 $pstack:interrogate。以下是需求提示詞,不是要求讀者手動執行未知命令。

用 pstack:interrogate 審查分享連結撤銷功能,只回報,不修復。
意圖是撤銷完成後,後續請求使用舊連結必須被拒絕。
範圍包含目前分支與 main 合併基點以來的差異,以及未提交變更。
每位對抗者在獨立工作區使用真實程式重現,不連正式服務。
每個問題都要交付精確命令、實際輸出、意圖要求的輸出與相關位置。
主代理逐項重跑,只保留確實違反意圖的結果,合併相同根因。
不要回報未執行的風險、命名或風格偏好。沒有成立問題也是有效結果。
另列淘汰數量、原因與工具缺口,不將缺少驗證說成通過。

預期結果與驗收

  • 報告先寫意圖,再列已成立問題。每項能用提供的命令在指定版本重現。
  • 撤銷後仍回傳成功的實際結果,若複驗成立,才算問題。單純擔心快取可能過期太慢不算。
  • 所有對抗者的有效問題都被保留,沒有套用 arena 的選基底、交叉評分與移植階段。
  • 未執行的懷疑不混入成立清單。淘汰原因可區分「不違反意圖」與「缺少執行證據」。
  • 沒有成立問題只表示這次審查未證實缺陷,不是系統無漏洞的保證。

限制與權限

原文在 Claude Code 使用 general-purpose 子代理,Codex 對應 spawn_agent。模型數量依實際角色設定與平台能力,不把參考總覽中的簡短描述當成固定三模型保證。

無法重跑的疑似問題不會被升格為已成立問題。應交代驗證缺口,必要的獨立審查不能用主代理單次閱讀冒充。缺乏多模型能力時須明列對抗訊號減弱。

對抗者可以在已授權的隔離範圍建立重現資料,但不得自行修復正式程式、commit、push 或修改正式服務。修復應另開明確需求。

延伸閱讀與來源