跳到主內容

Theme / 0.9.130

Pstack

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

Skills

show-me-your-work | 留下可查證的決策紀錄

以追加式 TSV 記下長任務的選擇、理由、證據與結果,保留失敗與改向,交接前核對紀錄並做跨模型審閱。

show-me-your-work | 留下可查證的決策紀錄

本頁以 pstack-claude 0.9.126 為基準。我們用「網站導覽重整分成盤點、試作與驗證」的練習,規劃一份可交接的決策紀錄。這篇只教格式與流程,沒有替讀者建立日誌,也沒有宣稱重整已完成。

定位與適用情境

show-me-your-work 用於長時間、無人值守或多階段任務。每個重要選擇都記下做了什麼、為什麼、證據在哪裡,以及目前結果。讀者回來後能查核代理如何作決定,不只看到最後一句「完成」。

原文要求只有一份正式紀錄。使用定位字元分隔值(Tab-separated values,TSV)檔,每個決策一列,各欄維持單行。記錄決策點與檢查點,不把每次讀檔或無關操作都寫進日誌。

準備

先選定一個日誌位置。原文預設是工作目錄的 decisions.tsv。多項工作並行時,可用 .audit/<task-slug>.tsv 區分任務。日誌預設是本地工作產物,不提交 Git。若重大工作需要讓審查者透過紀錄信任結果,再另行取得提交授權。

備妥以下資料。

  • 各階段的目標,以及能支持結果的檔案、測試輸出或其他產物。
  • 目前執行對話的識別資訊,供不同執行接續寫入時辨認。
  • 本次對話紀錄的授權存取方式,以及不同模型家族的唯讀審閱能力。

原文引用 references/decision-log-template.tsv 與 scripts/log.sh。使用前核對安裝來源中是否實際存在,不把文件提到的檔名當作本機已安裝的證明。

操作步驟

  1. 核對日誌不存在或讀取既有尾列,再決定從哪裡追加。若已有其他執行寫入的列,本次第一列使用 start 階段,指出先前非本次撰寫列的時間範圍,並以本次執行識別作證據。
  2. 在重要選擇後追加一列。例如先選擇保留既有導覽順序,再將實際比較依據寫入證據欄。尚未驗證的結果填 open,無法下結論時填 INCONCLUSIVE。
  3. 階段完成或方案改向時追加結果。錯誤紀錄也不覆寫,另加一列說明哪個舊判斷被取代,以及新的可查證證據。
  4. 交接前將本次撰寫的列逐項對照本次對話。檢查決策是否真的發生、證據是否存在,以及是否漏記重要放棄或回退。若無法讀取本次對話,回報核對尚未完成。
  5. 要求不同模型家族的子代理唯讀審閱日誌與本次對話,找出證據不足、未驗證宣稱與風險。交接回覆以 Attention 區段結尾,先列 reviewed by <model>,再指出具體列或時刻。工具無法支援時列為限制,不冒稱審閱通過。

可直接使用的提示詞

用 pstack:show-me-your-work 規劃網站導覽重整的決策紀錄。
先交付日誌位置與表頭方案,等我確認才建立檔案。
預計使用工作目錄的 decisions.tsv,只保留一份正式日誌,不提交 Git。
階段是盤點、試作與驗證。只記錄實際發生的決策與檢查點。

欄位依序為 ts、phase、decision、why、evidence、result。
每個儲存格單行。ts 使用 ISO8601,evidence 只放能解析的指向。
未驗證填 open,沒有結論填 INCONCLUSIVE,不預填成功。
既有內容只追加,不覆寫。修正錯誤時追加取代列。
若同一對話恢復寫入,先確認尾列是否有其他執行插入的 start。

不要讀取其他專案聊天,不要掃描整個本機聊天目錄。
交接前只核對本次有權取得的對話與列。
若無法取得本次對話或不同模型家族的獨立審閱,明確列為未完成。
不要補造已執行的測試、證據路徑或審閱者名稱。

預期結果與驗收

實際 TSV 表頭如下,欄位之間是定位字元,不是逗號。此處只有表頭,沒有示範成功列,避免把練習資料誤認成執行成果。

ts	phase	decision	why	evidence	result

檢查每列是否符合以下條件。

  • ts 是 ISO8601 時間,phase 指出階段,decision 與 why 用完整短句說明選擇及原因。
  • evidence 是可查證指向,例如提交識別碼、PR 編號、file:line 或產物路徑,不是一段解釋文字。
  • result 對應實際狀態。沒有測試結果就不能寫 tests green。
  • 新對話或替代代理算新執行。start 只用於執行邊界,不能拿來當一般工作階段。
  • 同一對話稍後接續寫入前,先讀尾列。若其他執行曾寫入,再以 start 標出界線。
  • 沒有覆寫歷史。更正列能辨認被取代的列,並指向真實依據。

限制與權限

原文的 scripts/log.sh <logfile> <phase> <decision> <why> <evidence> <result> 會加時間戳、首次寫入表頭、去除欄內定位字元與換行,並在以 =、+、-、@ 或雙引號開頭的欄位前加單引號,降低試算表誤讀風險。本頁依技能原文描述用途,未實測腳本。

原文也允許用 printf 追加,但同樣必須處理這些字元與單行限制。不要把未處理的使用者輸入直接當作 TSV 欄位。

只核對本次有權取得的對話,不跨專案掃描私密聊天。無法取得紀錄時,不用想像補齊。追加式更正、對話核對與跨模型審閱是不同檢查,完成其中一項不代表其他項目已完成。

延伸閱讀與來源