<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Multi-Round-Review on Tarragon</title><link>https://tarrragon.github.io/blog/tags/multi-round-review/</link><description>Recent content in Multi-Round-Review on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Mon, 29 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/multi-round-review/index.xml" rel="self" type="application/rss+xml"/><item><title>跨輪 review 停止訊號是 frame 涵蓋、不是 finding 數遞減</title><link>https://tarrragon.github.io/blog/report/cross-round-review-stopping-signal/</link><pubDate>Wed, 27 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/report/cross-round-review-stopping-signal/</guid><description>&lt;h2 id="結論">結論&lt;/h2>
&lt;p>判斷「該不該再來一輪 review」的訊號是「frame 軸是否還有未動」、不是「上一輪 finding 變少」。&lt;/p>
&lt;p>兩種訊號的對比：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>訊號軸&lt;/th>
 &lt;th>判讀方式&lt;/th>
 &lt;th>何時觸發停止&lt;/th>
 &lt;th>風險&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>Finding 數遞減&lt;/td>
 &lt;td>Round N 比 Round N-1 finding 少 → 邊際遞減 → 停&lt;/td>
 &lt;td>finding 數明顯下降&lt;/td>
 &lt;td>用錯訊號 — 多輪 review 通常 finding 不遞減&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Frame 涵蓋&lt;/td>
 &lt;td>想不出能 catch 新東西的新 frame → 停&lt;/td>
 &lt;td>七軸（frame / instance / surface / scope / cadence / timing / granularity）全動完&lt;/td>
 &lt;td>需要主動規劃 frame、不是 reactive 判讀&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>多輪 review 的 ROI 不是 monotonically decreasing。每輪用新 frame 通常仍會抓出 substantial finding、但內容會從 surface compliance（編號 / 連結 / 案例對應）往深層 structural issue（cadence / enumeration / 反向引用斷裂）走。停止訊號是「下一輪可用的新 frame 已經想不出來」、不是「上一輪 finding 變少」。&lt;/p>
&lt;h2 id="為什麼-finding-數不是停止訊號">為什麼 finding 數不是停止訊號&lt;/h2>
&lt;p>三個原因讓「finding 遞減」誤導：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>每輪修法會 surface 下一輪問題&lt;/strong>：修 cadence 1.0 會把 cadence 從位置 X 漂到位置 Y、變成 cadence 2.0；修 enumeration 不窮盡會 surface 反向引用斷裂（補完 enumeration 才看見哪些章節該引）。修 = 暴露 new surface。&lt;/li>
&lt;li>&lt;strong>frame 切換等於進入新的問題空間&lt;/strong>：Round 1 用 compliance frame catch 不到 cadence 同質化、Round 2 用 cadence frame catch 不到 enumeration 不窮盡、Round 3 用 steelman frame catch 不到 outbound impact。三輪 frame 正交、finding 互不重疊、自然不會遞減。&lt;/li>
&lt;li>&lt;strong>finding 深度遞增、不是寬度遞減&lt;/strong>：Round N 通常需要 frame 更精緻才能 catch、但 catch 到的問題更接近本質。Raw count 可能不變或增加、但每個 finding 的修正成本跟價值都更高。&lt;/li>
&lt;/ol>
&lt;p>把 finding 遞減當停止訊號、會在「正在進入更深層 issue」的時刻錯誤收尾。&lt;/p>
&lt;h2 id="跨輪-review-的質性-transition-模式">跨輪 review 的質性 transition 模式&lt;/h2>
&lt;p>實證觀察、跨輪 review 的 finding 內容會走以下 transition：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>階段&lt;/th>
 &lt;th>主要 frame&lt;/th>
 &lt;th>finding 性質&lt;/th>
 &lt;th>修法成本&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>Surface&lt;/td>
 &lt;td>Compliance / fact-check&lt;/td>
 &lt;td>編號、連結、案例對應、規範違反&lt;/td>
 &lt;td>低（機械修）&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Cadence&lt;/td>
 &lt;td>字句層 / 模板偵測&lt;/td>
 &lt;td>句型骨架同骨、廢話前綴、地區漂移&lt;/td>
 &lt;td>中（重寫局部）&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Structural&lt;/td>
 &lt;td>Steelman / 讀者旅程&lt;/td>
 &lt;td>enumeration 不窮盡、稻草人、反向引用斷裂&lt;/td>
 &lt;td>高（補實質內容）&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Meta&lt;/td>
 &lt;td>Self-application&lt;/td>
 &lt;td>規則自審、同義變體、frame 切換規劃&lt;/td>
 &lt;td>中（疊代擴張）&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>實證的階段不一定按此順序、但通常從 surface 開始、隨 frame 切換往深層走。Meta 階段在 surface / cadence / structural 都修完後仍能 surface 新問題 — 因為它檢查的是「修法過程本身」、屬另一個維度。&lt;/p></description><content:encoded><![CDATA[<h2 id="結論">結論</h2>
<p>判斷「該不該再來一輪 review」的訊號是「frame 軸是否還有未動」、不是「上一輪 finding 變少」。</p>
<p>兩種訊號的對比：</p>
<table>
  <thead>
      <tr>
          <th>訊號軸</th>
          <th>判讀方式</th>
          <th>何時觸發停止</th>
          <th>風險</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Finding 數遞減</td>
          <td>Round N 比 Round N-1 finding 少 → 邊際遞減 → 停</td>
          <td>finding 數明顯下降</td>
          <td>用錯訊號 — 多輪 review 通常 finding 不遞減</td>
      </tr>
      <tr>
          <td>Frame 涵蓋</td>
          <td>想不出能 catch 新東西的新 frame → 停</td>
          <td>七軸（frame / instance / surface / scope / cadence / timing / granularity）全動完</td>
          <td>需要主動規劃 frame、不是 reactive 判讀</td>
      </tr>
  </tbody>
</table>
<p>多輪 review 的 ROI 不是 monotonically decreasing。每輪用新 frame 通常仍會抓出 substantial finding、但內容會從 surface compliance（編號 / 連結 / 案例對應）往深層 structural issue（cadence / enumeration / 反向引用斷裂）走。停止訊號是「下一輪可用的新 frame 已經想不出來」、不是「上一輪 finding 變少」。</p>
<h2 id="為什麼-finding-數不是停止訊號">為什麼 finding 數不是停止訊號</h2>
<p>三個原因讓「finding 遞減」誤導：</p>
<ol>
<li><strong>每輪修法會 surface 下一輪問題</strong>：修 cadence 1.0 會把 cadence 從位置 X 漂到位置 Y、變成 cadence 2.0；修 enumeration 不窮盡會 surface 反向引用斷裂（補完 enumeration 才看見哪些章節該引）。修 = 暴露 new surface。</li>
<li><strong>frame 切換等於進入新的問題空間</strong>：Round 1 用 compliance frame catch 不到 cadence 同質化、Round 2 用 cadence frame catch 不到 enumeration 不窮盡、Round 3 用 steelman frame catch 不到 outbound impact。三輪 frame 正交、finding 互不重疊、自然不會遞減。</li>
<li><strong>finding 深度遞增、不是寬度遞減</strong>：Round N 通常需要 frame 更精緻才能 catch、但 catch 到的問題更接近本質。Raw count 可能不變或增加、但每個 finding 的修正成本跟價值都更高。</li>
</ol>
<p>把 finding 遞減當停止訊號、會在「正在進入更深層 issue」的時刻錯誤收尾。</p>
<h2 id="跨輪-review-的質性-transition-模式">跨輪 review 的質性 transition 模式</h2>
<p>實證觀察、跨輪 review 的 finding 內容會走以下 transition：</p>
<table>
  <thead>
      <tr>
          <th>階段</th>
          <th>主要 frame</th>
          <th>finding 性質</th>
          <th>修法成本</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Surface</td>
          <td>Compliance / fact-check</td>
          <td>編號、連結、案例對應、規範違反</td>
          <td>低（機械修）</td>
      </tr>
      <tr>
          <td>Cadence</td>
          <td>字句層 / 模板偵測</td>
          <td>句型骨架同骨、廢話前綴、地區漂移</td>
          <td>中（重寫局部）</td>
      </tr>
      <tr>
          <td>Structural</td>
          <td>Steelman / 讀者旅程</td>
          <td>enumeration 不窮盡、稻草人、反向引用斷裂</td>
          <td>高（補實質內容）</td>
      </tr>
      <tr>
          <td>Meta</td>
          <td>Self-application</td>
          <td>規則自審、同義變體、frame 切換規劃</td>
          <td>中（疊代擴張）</td>
      </tr>
  </tbody>
</table>
<p>實證的階段不一定按此順序、但通常從 surface 開始、隨 frame 切換往深層走。Meta 階段在 surface / cadence / structural 都修完後仍能 surface 新問題 — 因為它檢查的是「修法過程本身」、屬另一個維度。</p>
<p>每個階段內、frame 用完就遞減；跨階段、新 frame 上線就重新進入「新一輪不遞減」狀態。</p>
<h2 id="停止訊號的-4-個判讀">停止訊號的 4 個判讀</h2>
<p>何時可以判定「真的夠了」？四個判讀齊備、再停：</p>
<ol>
<li><strong>七軸 frame 全動完</strong>：per <a href="/blog/report/writing-review-multi-axis-completeness/" data-link-title="寫作 review 是多軸完整性、不是單軸深度" data-link-desc="寫作 review 的完整性不是單一軸越做越深、是多軸交集都對齊；#83 frame 軸 &#43; #121 instance 軸 &#43; #97 surface 軸 &#43; #95 scope 軸 &#43; #122 cadence 軸 &#43; #124 timing 軸 &#43; #114 granularity 軸、七軸正交、缺任一軸都會 systematic miss；review 設計時要 enumerate 七軸覆蓋狀況、不是只跑一兩個維度做深；是 #79 五維決策對話在 review 工具設計的姊妹卡">#126 review 七軸</a>、frame / instance / surface / scope / cadence / timing / granularity 七軸都用過、沒有遺漏的觀察維度</li>
<li><strong>新 frame 想不出來</strong>：團隊腦力激盪後想不出「能 catch 上一輪 frame 抓不到的東西」的新 frame、代表問題空間已涵蓋</li>
<li><strong>Finding 性質回到 surface</strong>：若新 frame catch 到的 finding 又退回到 surface（編號、連結、低密度 cadence）、代表 structural / meta 維度已穩定</li>
<li><strong>修法成本反轉</strong>：若修一個 finding 的成本超過讀者實際感受的價值、繼續修不划算 — 用 <a href="/blog/report/collapse-is-implicit-default/" data-link-title="Collapse 是隱形預設：多維空間被壓成單格的三類典型" data-link-desc="決策對話、決策呈現、批量輸出三個 surface 都有同一個 pattern — 高維選擇空間預設被 collapse 到 1-2 個窄格、且這個 collapse 因為「便利 / 合規 / 簡潔」被當成中性預設、不被覺察；#80 是 decision surface 上的極致 collapse、#79 是 dialogue 五維 collapse、#123 是 output framing 在 constraint 下 collapse；三者共骨：*某個高自由度空間被便利驅動 reduce 到最少格子*；對策不是去除 collapse、是讓 collapse 變顯性、由設計者決定要 collapse 哪一維、不是預設全 collapse">#125 collapse</a> 的提醒、避免完美主義 collapse 到無止境疊代</li>
</ol>
<p>四個訊號齊備、停的判讀是 evidence-based 而非 finding 數驅動。</p>
<h2 id="case">Case</h2>
<p>本次 backend 5 章 + 1 report 卡的 3 輪 review 實證：</p>
<ul>
<li><strong>Round 1</strong>（compliance / 案例 / 跨章 frame）：12 個 finding、surface 層為主、編號 mis-cite + case mis-citation</li>
<li><strong>Round 2</strong>（cadence / 旅程 / title frame）：10 個 finding、cadence 同骨化 + 影片詞彙橋斷裂 + 時序總表缺失</li>
<li><strong>Round 3</strong>（self-application / steelman / outbound frame）：<strong>16 個 finding</strong>（比 Round 1 / 2 還多）、三段式 cadence 從位置漂移 + enumeration 稻草人 + 單向反向引用斷裂</li>
</ul>
<p>Total 38 個 finding、9 個 reviewer instance、零重疊。Round 3 finding 數反而比 Round 1 / 2 多、但 Round 3 是 review 自然停下的點 — 因為「想不出能 catch Round 3 frame 抓不到的東西的 Round 4 frame」。</p>
<p>判讀停止的依據是 frame 涵蓋（七軸動完、Round 4 frame 想不出來），不是 finding 數遞減（Round 3 數還在升）。若按 finding 遞減判讀、Round 1 → Round 2（12 → 10）就該停、會錯過 Round 3 抓出的 16 個結構性問題。</p>
<h2 id="跟其他卡的關係">跟其他卡的關係</h2>
<p>本卡跟以下卡片正交、處理「多輪 review 何時停」這個 #114 / #126 / #147 沒覆蓋的問題：</p>
<ul>
<li><a href="/blog/report/multi-pass-review-frame-granularity-blindspot/" data-link-title="Multi-pass review 的 frame 顆粒度盲點：抽象規則 → 具體訊號的轉譯不完整" data-link-desc="Multi-pass review 跑了 4 輪、字句層問題（口語修辭 / 地區用語 / 依賴 code / 廢話前綴）仍漏 catch——揭露 frame 顆粒度盲點：抽象規則（如「機會成本語氣」「正向陳述」「最重要的話優先說」）沒被轉譯成具體訊號（如 grep keyword bank：「一輩子 / 碰巧 / 撞牆 / 下次 X 時 / 不是 A 而是 B」）。修法是把每條規則展開成可 grep 的 keyword bank、加 reader simulation 輪、加 self-criticism 輪。">#114 Multi-pass review 的 frame 顆粒度盲點</a> — 說明「需要不同 frame」。本卡補完：知道需要不同 frame 後、判讀「何時 frame 涵蓋夠」的訊號。</li>
<li><a href="/blog/report/writing-review-multi-axis-completeness/" data-link-title="寫作 review 是多軸完整性、不是單軸深度" data-link-desc="寫作 review 的完整性不是單一軸越做越深、是多軸交集都對齊；#83 frame 軸 &#43; #121 instance 軸 &#43; #97 surface 軸 &#43; #95 scope 軸 &#43; #122 cadence 軸 &#43; #124 timing 軸 &#43; #114 granularity 軸、七軸正交、缺任一軸都會 systematic miss；review 設計時要 enumerate 七軸覆蓋狀況、不是只跑一兩個維度做深；是 #79 五維決策對話在 review 工具設計的姊妹卡">#126 寫作 review 是多軸完整性、不是單軸深度</a> — 列七軸。本卡用七軸作為停止判讀的具體 checklist、補強 #126 在「執行收尾」這層的判讀工具。</li>
<li><a href="/blog/report/rule-codification-vs-self-audit/" data-link-title="規範化跟自審是兩種認知任務、立規範當下無法保護同批稿件" data-link-desc="把反模式抽象成規範卡、跟在自己稿件辨識該反模式的局部實例、是兩種不同認知任務；前者用『歸納共同特徵』的視角、後者用『局部 pattern matching』的視角；用相同概念詞、走不同神經路徑；案例：#146 卡描述「看 X 如何 Y」是反模式、同 batch 5 篇章節仍有 11 處該句型未被作者察覺；修法是規範化當下立刻把規範轉成 grep keyword、對同 batch 稿件主動 sweep；不修則 #122 主題語意 attractor 跟 #124 emergence 違規會在同 batch 內持續累積">#147 規範化跟自審是兩種認知任務</a> — 說明「規範化第一次落地不可能完整、需要疊代」。本卡補完：疊代到什麼時候停？停止訊號跟疊代啟動訊號是不同維度。</li>
<li><a href="/blog/report/collapse-is-implicit-default/" data-link-title="Collapse 是隱形預設：多維空間被壓成單格的三類典型" data-link-desc="決策對話、決策呈現、批量輸出三個 surface 都有同一個 pattern — 高維選擇空間預設被 collapse 到 1-2 個窄格、且這個 collapse 因為「便利 / 合規 / 簡潔」被當成中性預設、不被覺察；#80 是 decision surface 上的極致 collapse、#79 是 dialogue 五維 collapse、#123 是 output framing 在 constraint 下 collapse；三者共骨：*某個高自由度空間被便利驅動 reduce 到最少格子*；對策不是去除 collapse、是讓 collapse 變顯性、由設計者決定要 collapse 哪一維、不是預設全 collapse">#125 Collapse 是隱形預設</a> — 「無止境疊代」是 collapse 的另一個極端（從「規範化單軸 collapse」反向到「review 過度 collapse 完美主義」）。本卡用「修法成本反轉」訊號避免這個反向 collapse。</li>
</ul>
<h2 id="判讀徵兆">判讀徵兆</h2>
<p>跨輪 review 中、出現以下訊號時要重新評估「該繼續還是該停」：</p>
<ul>
<li><strong>新 frame 卡住訊號</strong>：規劃下一輪 review 時、想了 30 分鐘想不出「能 catch 新東西的 frame」— 是「frame 涵蓋已足」的強訊號</li>
<li><strong>Finding 性質退化訊號</strong>：新一輪 finding 退回 surface 層（編號 / 連結這類低密度議題）、structural / meta 層沒新東西 — 代表深層 issue 已穩定</li>
<li><strong>修法成本超過邊際價值訊號</strong>：修一個 finding 要動 50+ 行、但讀者實際感受改善有限 — 修法 ROI 已下降</li>
<li><strong>Frame 重複訊號</strong>：新一輪 reviewer 的 finding 跟上一輪有重疊（per <a href="/blog/report/multi-pass-review-frame-granularity-blindspot/" data-link-title="Multi-pass review 的 frame 顆粒度盲點：抽象規則 → 具體訊號的轉譯不完整" data-link-desc="Multi-pass review 跑了 4 輪、字句層問題（口語修辭 / 地區用語 / 依賴 code / 廢話前綴）仍漏 catch——揭露 frame 顆粒度盲點：抽象規則（如「機會成本語氣」「正向陳述」「最重要的話優先說」）沒被轉譯成具體訊號（如 grep keyword bank：「一輩子 / 碰巧 / 撞牆 / 下次 X 時 / 不是 A 而是 B」）。修法是把每條規則展開成可 grep 的 keyword bank、加 reader simulation 輪、加 self-criticism 輪。">#114</a> 同 frame 多輪 catch 高度相同）— 代表 frame 軸沒換、再跑無增益</li>
</ul>
<p>四個訊號中出現任二、可以判定「真的夠了」。出現任一、繼續但要規劃 frame 切換。沒有任一、按七軸繼續推進。</p>
<p>「夠了」的判讀本身是 evidence-based、不是直覺 — 用上面四個訊號當 checklist、比「finding 變少就停」可靠。</p>
]]></content:encoded></item><item><title>多輪審查至少三輪是硬底線</title><link>https://tarrragon.github.io/blog/report/multi-round-review-minimum-three-rounds/</link><pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/report/multi-round-review-minimum-three-rounds/</guid><description>&lt;h2 id="結論">結論&lt;/h2>
&lt;p>多輪審查（multi-round-review）的最低輪數是三輪，不是「看 finding 數決定要不要繼續」。Round 3 不是可選的加深，而是覆蓋 Round 1-2 結構性盲區的必要輪。&lt;/p>
&lt;h2 id="為什麼">為什麼&lt;/h2>
&lt;p>Round 1（compliance / baseline）和 Round 2（cadence / reader journey）用的 frame 都是「從作者端出發」的維度——規範有沒有遵守、句型有沒有重複、讀者走路線順不順。這兩輪能 catch 的問題有一個共同特徵：它們在「文章已經寫出來的內容」裡找錯。&lt;/p>
&lt;p>Round 3 的 frame 是「從文章沒寫的東西出發」——enumeration 有沒有漏選項（steelman）、其他系列有沒有反向引用（outbound）、搜尋落地粒度夠不夠（search landing）、知識卡缺口。這類問題在 Round 1-2 的 frame 下結構性不可見，因為 reviewer 在已有內容裡掃描時，不會主動問「這裡應該還有一個選項但沒寫」。&lt;/p>
&lt;h2 id="反模式">反模式&lt;/h2>
&lt;p>「Round 2 修完、finding 數下降、覺得差不多了就停」是最常見的反模式。multi-round-review skill 已經明確寫了「停止訊號是 frame 涵蓋、不是 finding 數遞減」，但實際執行時仍然會在 Round 2 結束後問「要不要繼續」——這個提問本身就是 finding 遞減直覺在主導判斷。&lt;/p>
&lt;h2 id="evidence">Evidence&lt;/h2>
&lt;p>Dotfile 系列（29 篇 + 知識卡）三輪審查的 finding 分布：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Round&lt;/th>
 &lt;th>Frame&lt;/th>
 &lt;th>Finding 數&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>1&lt;/td>
 &lt;td>規範 / fact-check / 一致性&lt;/td>
 &lt;td>15&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>2&lt;/td>
 &lt;td>Cadence / 讀者旅程 / 冷讀&lt;/td>
 &lt;td>14&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>3&lt;/td>
 &lt;td>Steelman / Outbound&lt;/td>
 &lt;td>14&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>Round 3 的 14 項不是 Round 1-2 的殘餘——它們是全新類型的問題：macOS 原生 tiling 遺漏、yadm/mise 選項缺失、跨系列反向引用斷裂、知識卡缺口。這些問題在 Round 1-2 的 frame 下不會被 catch。&lt;/p>
&lt;p>先前的 backend 教學模組 review 也觀察到類似分布：三輪各 catch 不同類型的問題、finding 數不遞減。&lt;/p>
&lt;h2 id="修法">修法&lt;/h2>
&lt;p>把「至少三輪」從「建議」升級為「硬底線」。Round 3 結束後才進入「要不要繼續」的判讀——此時用七軸涵蓋度和「想不出新 frame」作為停止訊號。&lt;/p>
&lt;h2 id="跟其他原則的關係">跟其他原則的關係&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://tarrragon.github.io/blog/report/writing-multi-pass-review/" data-link-title="Writing 的 multi-pass review：N 輪 review、每輪換 frame" data-link-desc="寫文章 / 註解 / 文件 / prompt 的「寫」不是單次動作 — 是 N 輪 review。第 1 輪生成、第 2 輪對意圖（#67）、第 3 輪檢查機會成本語氣、第 4 輪 grep-ability、第 5 輪反例 / 邊界。每輪不同 frame、單輪寫不出全部維度。本卡是 #82 在「寫」這個 output 動作的具體實例。">#114 multi-pass frame 顆粒度盲點&lt;/a> — 同 frame 多輪無增益，多輪價值在 frame 切換&lt;/li>
&lt;li>&lt;a href="https://tarrragon.github.io/blog/report/cross-round-review-stopping-signal/" data-link-title="跨輪 review 停止訊號是 frame 涵蓋、不是 finding 數遞減" data-link-desc="判斷「該不該再來一輪 review」的訊號是『frame 軸是否還有未動』、不是『上一輪 finding 變少』；多輪 review 的 ROI 不是 monotonically decreasing、而是 frame 切換的質性轉換 — Round N 用新 frame 通常仍會抓出 substantial finding、但內容從 surface compliance 往深層 structural issue 走；停止訊號是「下一輪可用的新 frame 已經想不出來」、不是 finding 數遞減；本卡填補 #114 / #126 / #147 沒覆蓋的「何時夠了」判讀缺口">#148 跨輪 review 停止訊號&lt;/a> — 停止訊號是 frame 涵蓋、不是 finding 遞減&lt;/li>
&lt;li>&lt;a href="https://tarrragon.github.io/blog/report/writing-review-multi-axis-completeness/" data-link-title="寫作 review 是多軸完整性、不是單軸深度" data-link-desc="寫作 review 的完整性不是單一軸越做越深、是多軸交集都對齊；#83 frame 軸 &amp;#43; #121 instance 軸 &amp;#43; #97 surface 軸 &amp;#43; #95 scope 軸 &amp;#43; #122 cadence 軸 &amp;#43; #124 timing 軸 &amp;#43; #114 granularity 軸、七軸正交、缺任一軸都會 systematic miss；review 設計時要 enumerate 七軸覆蓋狀況、不是只跑一兩個維度做深；是 #79 五維決策對話在 review 工具設計的姊妹卡">#126 review 七軸完整度&lt;/a> — 七軸動完是停止條件之一，三輪是動完七軸的最低路徑&lt;/li>
&lt;/ul>
&lt;h2 id="判讀徵兆">判讀徵兆&lt;/h2>
&lt;p>以下情境代表三輪硬底線正在被繞過：&lt;/p></description><content:encoded><![CDATA[<h2 id="結論">結論</h2>
<p>多輪審查（multi-round-review）的最低輪數是三輪，不是「看 finding 數決定要不要繼續」。Round 3 不是可選的加深，而是覆蓋 Round 1-2 結構性盲區的必要輪。</p>
<h2 id="為什麼">為什麼</h2>
<p>Round 1（compliance / baseline）和 Round 2（cadence / reader journey）用的 frame 都是「從作者端出發」的維度——規範有沒有遵守、句型有沒有重複、讀者走路線順不順。這兩輪能 catch 的問題有一個共同特徵：它們在「文章已經寫出來的內容」裡找錯。</p>
<p>Round 3 的 frame 是「從文章沒寫的東西出發」——enumeration 有沒有漏選項（steelman）、其他系列有沒有反向引用（outbound）、搜尋落地粒度夠不夠（search landing）、知識卡缺口。這類問題在 Round 1-2 的 frame 下結構性不可見，因為 reviewer 在已有內容裡掃描時，不會主動問「這裡應該還有一個選項但沒寫」。</p>
<h2 id="反模式">反模式</h2>
<p>「Round 2 修完、finding 數下降、覺得差不多了就停」是最常見的反模式。multi-round-review skill 已經明確寫了「停止訊號是 frame 涵蓋、不是 finding 數遞減」，但實際執行時仍然會在 Round 2 結束後問「要不要繼續」——這個提問本身就是 finding 遞減直覺在主導判斷。</p>
<h2 id="evidence">Evidence</h2>
<p>Dotfile 系列（29 篇 + 知識卡）三輪審查的 finding 分布：</p>
<table>
  <thead>
      <tr>
          <th>Round</th>
          <th>Frame</th>
          <th>Finding 數</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>1</td>
          <td>規範 / fact-check / 一致性</td>
          <td>15</td>
      </tr>
      <tr>
          <td>2</td>
          <td>Cadence / 讀者旅程 / 冷讀</td>
          <td>14</td>
      </tr>
      <tr>
          <td>3</td>
          <td>Steelman / Outbound</td>
          <td>14</td>
      </tr>
  </tbody>
</table>
<p>Round 3 的 14 項不是 Round 1-2 的殘餘——它們是全新類型的問題：macOS 原生 tiling 遺漏、yadm/mise 選項缺失、跨系列反向引用斷裂、知識卡缺口。這些問題在 Round 1-2 的 frame 下不會被 catch。</p>
<p>先前的 backend 教學模組 review 也觀察到類似分布：三輪各 catch 不同類型的問題、finding 數不遞減。</p>
<h2 id="修法">修法</h2>
<p>把「至少三輪」從「建議」升級為「硬底線」。Round 3 結束後才進入「要不要繼續」的判讀——此時用七軸涵蓋度和「想不出新 frame」作為停止訊號。</p>
<h2 id="跟其他原則的關係">跟其他原則的關係</h2>
<ul>
<li><a href="/blog/report/writing-multi-pass-review/" data-link-title="Writing 的 multi-pass review：N 輪 review、每輪換 frame" data-link-desc="寫文章 / 註解 / 文件 / prompt 的「寫」不是單次動作 — 是 N 輪 review。第 1 輪生成、第 2 輪對意圖（#67）、第 3 輪檢查機會成本語氣、第 4 輪 grep-ability、第 5 輪反例 / 邊界。每輪不同 frame、單輪寫不出全部維度。本卡是 #82 在「寫」這個 output 動作的具體實例。">#114 multi-pass frame 顆粒度盲點</a> — 同 frame 多輪無增益，多輪價值在 frame 切換</li>
<li><a href="/blog/report/cross-round-review-stopping-signal/" data-link-title="跨輪 review 停止訊號是 frame 涵蓋、不是 finding 數遞減" data-link-desc="判斷「該不該再來一輪 review」的訊號是『frame 軸是否還有未動』、不是『上一輪 finding 變少』；多輪 review 的 ROI 不是 monotonically decreasing、而是 frame 切換的質性轉換 — Round N 用新 frame 通常仍會抓出 substantial finding、但內容從 surface compliance 往深層 structural issue 走；停止訊號是「下一輪可用的新 frame 已經想不出來」、不是 finding 數遞減；本卡填補 #114 / #126 / #147 沒覆蓋的「何時夠了」判讀缺口">#148 跨輪 review 停止訊號</a> — 停止訊號是 frame 涵蓋、不是 finding 遞減</li>
<li><a href="/blog/report/writing-review-multi-axis-completeness/" data-link-title="寫作 review 是多軸完整性、不是單軸深度" data-link-desc="寫作 review 的完整性不是單一軸越做越深、是多軸交集都對齊；#83 frame 軸 &#43; #121 instance 軸 &#43; #97 surface 軸 &#43; #95 scope 軸 &#43; #122 cadence 軸 &#43; #124 timing 軸 &#43; #114 granularity 軸、七軸正交、缺任一軸都會 systematic miss；review 設計時要 enumerate 七軸覆蓋狀況、不是只跑一兩個維度做深；是 #79 五維決策對話在 review 工具設計的姊妹卡">#126 review 七軸完整度</a> — 七軸動完是停止條件之一，三輪是動完七軸的最低路徑</li>
</ul>
<h2 id="判讀徵兆">判讀徵兆</h2>
<p>以下情境代表三輪硬底線正在被繞過：</p>
<ul>
<li>Round 2 結束後問「要不要繼續」「到這裡收嗎」</li>
<li>Round 3 的 frame 規劃被跳過、直接宣布 review 完成</li>
<li>用「Round 2 finding 數比 Round 1 少」作為停止依據</li>
</ul>
]]></content:encoded></item><item><title>三輪審查的檢討收穫 — 工具 opinion 文章的寫作品質演進</title><link>https://tarrragon.github.io/blog/report/tool-opinion-article-review-lessons/</link><pubDate>Thu, 25 Jun 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/report/tool-opinion-article-review-lessons/</guid><description>&lt;h2 id="結論">結論&lt;/h2>
&lt;p>多輪審查的價值在 frame 切換而非重複加深。三輪用了 8 個不同 frame，每輪抓到的問題類型和上一輪不重疊。停止訊號是「想不出新 frame」而非「finding 數遞減」。&lt;/p>
&lt;h2 id="每輪的-frame-和收穫">每輪的 frame 和收穫&lt;/h2>
&lt;h3 id="round-1compliance規範--事實--冷讀">Round 1：Compliance（規範 + 事實 + 冷讀）&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Frame&lt;/th>
 &lt;th>代表 finding&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>寫作規範&lt;/td>
 &lt;td>「唯一」必然性框架（3 處）、meta-commentary 外露&lt;/td>
 &lt;td>字句層&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Fact-check&lt;/td>
 &lt;td>semver 表格混用專案術語和標準定義&lt;/td>
 &lt;td>準確性&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>冷讀零脈絡&lt;/td>
 &lt;td>「Proposal」「Wave」行話洩漏、缺進入動機&lt;/td>
 &lt;td>可讀性&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="round-2cadence--讀者旅程--title-commitment">Round 2：Cadence + 讀者旅程 + Title commitment&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Frame&lt;/th>
 &lt;th>代表 finding&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>Cadence&lt;/td>
 &lt;td>「為什麼會這樣」兩小節骨架完全複製&lt;/td>
 &lt;td>結構層&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Reader simulation&lt;/td>
 &lt;td>事件段佔比高、原則到得晚、CoC 結尾像附錄&lt;/td>
 &lt;td>節奏層&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Title commitment&lt;/td>
 &lt;td>title 承諾「為什麼」但 L86 才正式交付&lt;/td>
 &lt;td>對齊層&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="round-3self-application--steelman">Round 3：Self-application + Steelman&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Frame&lt;/th>
 &lt;th>代表 finding&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>Self-application&lt;/td>
 &lt;td>文章主張「用結構引導」但自己的標題路徑偏事件&lt;/td>
 &lt;td>Meta 層&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Steelman&lt;/td>
 &lt;td>缺 soft/hard opinion 區分、缺 cost-benefit 不對稱論證&lt;/td>
 &lt;td>論證層&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="三輪漏抓鏈為什麼前一輪漏了">三輪漏抓鏈：為什麼前一輪漏了&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>問題&lt;/th>
 &lt;th>哪一輪抓到&lt;/th>
 &lt;th>為什麼前面漏了&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>同骨化（兩段結構複製）&lt;/td>
 &lt;td>R2&lt;/td>
 &lt;td>R1 逐段掃描，同骨化是跨段比對才浮現&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>CoC 結尾收束弱&lt;/td>
 &lt;td>R2&lt;/td>
 &lt;td>R1 檢查的是每段內容是否合規，不評估段落在全文中的位置價值&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>缺 soft/hard opinion 區分&lt;/td>
 &lt;td>R3&lt;/td>
 &lt;td>R1-R2 的讀者角色是「初次讀者」，R3 的讀者角色是「知識淵博的反駁者」&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>文章未 self-apply 自己的主張&lt;/td>
 &lt;td>R3&lt;/td>
 &lt;td>R1-R2 把文章當內容審查，R3 把文章當主張並用主張反向檢查&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>每一輪的遺漏都是因為 frame 的視角限制——同一個 reviewer 用同一個 frame 跑多輪只會重複相同的 catch。多輪的價值在 frame 切換。&lt;/p>
&lt;h2 id="你的文章需要多輪審查嗎">你的文章需要多輪審查嗎？&lt;/h2>
&lt;ul>
&lt;li>品質敏感（教學、規範、長期累積的內容）且篇幅 &amp;gt; 100 行 → 至少 2 輪不同 frame&lt;/li>
&lt;li>第一輪 finding &amp;gt; 10 → 再加一輪&lt;/li>
&lt;li>同一批次有 3+ 篇相關文章 → 加跨篇一致性 frame&lt;/li>
&lt;li>想不出新 frame → 停止&lt;/li>
&lt;/ul>
&lt;h2 id="ai-輔助寫作中反覆出現的-pattern">AI 輔助寫作中反覆出現的 pattern&lt;/h2>
&lt;p>從這次和過去的審查經驗，以下 pattern 在 AI 生成的文章中出現頻率高：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Pattern&lt;/th>
 &lt;th>出現頻率&lt;/th>
 &lt;th>為什麼 AI 容易犯&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>必然性框架（「唯一」「天生」「本質」）&lt;/td>
 &lt;td>高&lt;/td>
 &lt;td>AI 傾向用強勢措辭增加說服力&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>負向開頭（「不是 X」「沒有 Y」）&lt;/td>
 &lt;td>高&lt;/td>
 &lt;td>否定句是 AI 常用的對比修辭&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>meta-commentary（「先交代脈絡…」）&lt;/td>
 &lt;td>中&lt;/td>
 &lt;td>AI 把內部推理過程外露到文章中&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>同骨化&lt;/td>
 &lt;td>高&lt;/td>
 &lt;td>同一 prompt 生成的多段文字共用隱含模板&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>結尾重複前文&lt;/td>
 &lt;td>中&lt;/td>
 &lt;td>AI 傾向在結尾摘要前文而非昇華&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>這些 pattern 的防護適合放在生成端（寫作前的 checklist），而非只放在審查端（寫完後掃描）。&lt;/p></description><content:encoded><![CDATA[<h2 id="結論">結論</h2>
<p>多輪審查的價值在 frame 切換而非重複加深。三輪用了 8 個不同 frame，每輪抓到的問題類型和上一輪不重疊。停止訊號是「想不出新 frame」而非「finding 數遞減」。</p>
<h2 id="每輪的-frame-和收穫">每輪的 frame 和收穫</h2>
<h3 id="round-1compliance規範--事實--冷讀">Round 1：Compliance（規範 + 事實 + 冷讀）</h3>
<table>
  <thead>
      <tr>
          <th>Frame</th>
          <th>代表 finding</th>
          <th>類型</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>寫作規範</td>
          <td>「唯一」必然性框架（3 處）、meta-commentary 外露</td>
          <td>字句層</td>
      </tr>
      <tr>
          <td>Fact-check</td>
          <td>semver 表格混用專案術語和標準定義</td>
          <td>準確性</td>
      </tr>
      <tr>
          <td>冷讀零脈絡</td>
          <td>「Proposal」「Wave」行話洩漏、缺進入動機</td>
          <td>可讀性</td>
      </tr>
  </tbody>
</table>
<h3 id="round-2cadence--讀者旅程--title-commitment">Round 2：Cadence + 讀者旅程 + Title commitment</h3>
<table>
  <thead>
      <tr>
          <th>Frame</th>
          <th>代表 finding</th>
          <th>類型</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Cadence</td>
          <td>「為什麼會這樣」兩小節骨架完全複製</td>
          <td>結構層</td>
      </tr>
      <tr>
          <td>Reader simulation</td>
          <td>事件段佔比高、原則到得晚、CoC 結尾像附錄</td>
          <td>節奏層</td>
      </tr>
      <tr>
          <td>Title commitment</td>
          <td>title 承諾「為什麼」但 L86 才正式交付</td>
          <td>對齊層</td>
      </tr>
  </tbody>
</table>
<h3 id="round-3self-application--steelman">Round 3：Self-application + Steelman</h3>
<table>
  <thead>
      <tr>
          <th>Frame</th>
          <th>代表 finding</th>
          <th>類型</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Self-application</td>
          <td>文章主張「用結構引導」但自己的標題路徑偏事件</td>
          <td>Meta 層</td>
      </tr>
      <tr>
          <td>Steelman</td>
          <td>缺 soft/hard opinion 區分、缺 cost-benefit 不對稱論證</td>
          <td>論證層</td>
      </tr>
  </tbody>
</table>
<h2 id="三輪漏抓鏈為什麼前一輪漏了">三輪漏抓鏈：為什麼前一輪漏了</h2>
<table>
  <thead>
      <tr>
          <th>問題</th>
          <th>哪一輪抓到</th>
          <th>為什麼前面漏了</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>同骨化（兩段結構複製）</td>
          <td>R2</td>
          <td>R1 逐段掃描，同骨化是跨段比對才浮現</td>
      </tr>
      <tr>
          <td>CoC 結尾收束弱</td>
          <td>R2</td>
          <td>R1 檢查的是每段內容是否合規，不評估段落在全文中的位置價值</td>
      </tr>
      <tr>
          <td>缺 soft/hard opinion 區分</td>
          <td>R3</td>
          <td>R1-R2 的讀者角色是「初次讀者」，R3 的讀者角色是「知識淵博的反駁者」</td>
      </tr>
      <tr>
          <td>文章未 self-apply 自己的主張</td>
          <td>R3</td>
          <td>R1-R2 把文章當內容審查，R3 把文章當主張並用主張反向檢查</td>
      </tr>
  </tbody>
</table>
<p>每一輪的遺漏都是因為 frame 的視角限制——同一個 reviewer 用同一個 frame 跑多輪只會重複相同的 catch。多輪的價值在 frame 切換。</p>
<h2 id="你的文章需要多輪審查嗎">你的文章需要多輪審查嗎？</h2>
<ul>
<li>品質敏感（教學、規範、長期累積的內容）且篇幅 &gt; 100 行 → 至少 2 輪不同 frame</li>
<li>第一輪 finding &gt; 10 → 再加一輪</li>
<li>同一批次有 3+ 篇相關文章 → 加跨篇一致性 frame</li>
<li>想不出新 frame → 停止</li>
</ul>
<h2 id="ai-輔助寫作中反覆出現的-pattern">AI 輔助寫作中反覆出現的 pattern</h2>
<p>從這次和過去的審查經驗，以下 pattern 在 AI 生成的文章中出現頻率高：</p>
<table>
  <thead>
      <tr>
          <th>Pattern</th>
          <th>出現頻率</th>
          <th>為什麼 AI 容易犯</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>必然性框架（「唯一」「天生」「本質」）</td>
          <td>高</td>
          <td>AI 傾向用強勢措辭增加說服力</td>
      </tr>
      <tr>
          <td>負向開頭（「不是 X」「沒有 Y」）</td>
          <td>高</td>
          <td>否定句是 AI 常用的對比修辭</td>
      </tr>
      <tr>
          <td>meta-commentary（「先交代脈絡…」）</td>
          <td>中</td>
          <td>AI 把內部推理過程外露到文章中</td>
      </tr>
      <tr>
          <td>同骨化</td>
          <td>高</td>
          <td>同一 prompt 生成的多段文字共用隱含模板</td>
      </tr>
      <tr>
          <td>結尾重複前文</td>
          <td>中</td>
          <td>AI 傾向在結尾摘要前文而非昇華</td>
      </tr>
  </tbody>
</table>
<p>這些 pattern 的防護適合放在生成端（寫作前的 checklist），而非只放在審查端（寫完後掃描）。</p>
]]></content:encoded></item></channel></rss>