<?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>工作準則 on Tarragon</title><link>https://tarrragon.github.io/blog/tags/%E5%B7%A5%E4%BD%9C%E6%BA%96%E5%89%87/</link><description>Recent content in 工作準則 on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Sat, 20 Sep 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/%E5%B7%A5%E4%BD%9C%E6%BA%96%E5%89%87/index.xml" rel="self" type="application/rss+xml"/><item><title>AI 任務逃避偵測與預防三層防護方法論</title><link>https://tarrragon.github.io/blog/record/ai-%E4%BB%BB%E5%8B%99%E9%80%83%E9%81%BF%E5%81%B5%E6%B8%AC%E8%88%87%E9%A0%90%E9%98%B2%E4%B8%89%E5%B1%A4%E9%98%B2%E8%AD%B7%E6%96%B9%E6%B3%95%E8%AB%96/</link><pubDate>Sat, 20 Sep 2025 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/record/ai-%E4%BB%BB%E5%8B%99%E9%80%83%E9%81%BF%E5%81%B5%E6%B8%AC%E8%88%87%E9%A0%90%E9%98%B2%E4%B8%89%E5%B1%A4%E9%98%B2%E8%AD%B7%E6%96%B9%E6%B3%95%E8%AB%96/</guid><description>&lt;h2 id="背景與演進">背景與演進&lt;/h2>
&lt;p>在與 LLM AI 協作過程中，我們發現了一個關鍵問題：AI 面對複雜問題會產生逃避行為，包括簡化問題、延後處理、或使用臨時解決方案。&lt;/p></description><content:encoded><![CDATA[<h2 id="背景與演進">背景與演進</h2>
<p>在與 LLM AI 協作過程中，我們發現了一個關鍵問題：AI 面對複雜問題會產生逃避行為，包括簡化問題、延後處理、或使用臨時解決方案。</p>
<p>為了徹底解決這個問題，我們發展了<strong>三層防護機制</strong>：</p>
<ol>
<li><strong>第一層：AI 內建自檢</strong> - 在每次回應前強制執行檢查，從源頭預防逃避行為</li>
<li><strong>第二層：Hook 系統驗證</strong> - 透過自動化腳本進行事後驗證和持續監控</li>
<li><strong>第三層：修復模式</strong> - 發現問題時提供補救措施和修正指引</li>
</ol>
<p>這套方法論不只確保 AI 協作品質，也成為我們所有開發決策的指導原則。</p>
<h2 id="三層防護機制架構">三層防護機制架構</h2>
<h3 id="第一層ai-內建自檢機制">第一層：AI 內建自檢機制</h3>
<p>這是最重要的防線，AI 在生成任何回應前都必須執行以下強制檢查：</p>
<h4 id="30秒核心檢查清單">30秒核心檢查清單</h4>
<ol>
<li>
<p>三大鐵律檢查</p>
<ul>
<li>測試通過率鐵律：是否包含「測試失敗可接受」的思維？</li>
<li>永不放棄鐵律：是否想跳過、暫時處理、或延後任何問題？</li>
<li>架構債務零容忍鐵律：是否發現架構問題卻想稍後處理？</li>
</ul>
</li>
<li>
<p>逃避詞彙檢查</p>
<ul>
<li>中文禁用詞：「太複雜」「先將就」「暫時性修正」「症狀緩解」等</li>
<li>英文禁用詞：workaround, bypass, hack, quick fix 等</li>
<li>簡化妥協詞：「更簡單的方法」「簡化處理」「簡化測試」等</li>
</ul>
</li>
<li>
<p>品質標準檢查</p>
<ul>
<li>解決方案是完整的，還是妥協的？</li>
<li>是否在迴避根本問題？</li>
<li>回應是否體現專業工程師標準？</li>
</ul>
</li>
</ol>
<h4 id="檢查失敗處理">檢查失敗處理</h4>
<p>如果任何檢查項目失敗：</p>
<ol>
<li>立即停止當前回應生成</li>
<li>重新分析問題和解決方案</li>
<li>重新構思符合三大鐵律的回應</li>
<li>再次檢查直到通過所有項目</li>
</ol>
<h3 id="第二層hook-系統驗證">第二層：Hook 系統驗證</h3>
<p>自動化腳本在關鍵時刻執行檢查：</p>
<h4 id="觸發時機">觸發時機</h4>
<ul>
<li>
<p><strong>UserPromptSubmit</strong>: 每次用戶輸入時檢查工作流程合規性</p>
</li>
<li>
<p><strong>PostToolUse</strong>: 檔案編輯後檢查程式異味和品質</p>
</li>
<li>
<p><strong>PreToolUse</strong>: 工具使用前檢查是否有阻止狀態</p>
</li>
<li>
<p><strong>Stop</strong>: 回應完成後分析版本推進狀態</p>
</li>
</ul>
<h4 id="檢查項目">檢查項目</h4>
<ul>
<li>ESLint 錯誤偵測和追蹤</li>
<li>技術債務累積監控</li>
<li>任務逃避行為偵測</li>
<li>程式異味自動分析</li>
<li>效能指標監控</li>
</ul>
<h3 id="第三層修復模式">第三層：修復模式</h3>
<p>當前兩層發現問題時的補救機制：</p>
<h4 id="進入條件">進入條件</h4>
<ul>
<li>AI 自檢發現違規詞彙或思維</li>
<li>Hook 系統偵測到逃避行為</li>
<li>品質指標超過容忍閾值</li>
</ul>
<h4 id="修復流程">修復流程</h4>
<ol>
<li>停止所有開發活動</li>
<li>分析問題根因和影響範圍</li>
<li>制定具體的修正計劃</li>
<li>執行修正並驗證結果</li>
<li>記錄學習並更新防護機制</li>
</ol>
<h4 id="完成標準">完成標準</h4>
<ul>
<li>所有違規行為已修正</li>
<li>品質指標回到可接受範圍</li>
<li>問題根因已徹底解決</li>
<li>預防措施已建立</li>
</ul>
<h2 id="核心立場">核心立場</h2>
<h3 id="我們接受的計劃性延後">我們接受的：計劃性延後</h3>
<p>計劃性延後是正當的開發策略。我們接受並鼓勵以下形式的延後：</p>
<h4 id="版本規劃的延後">版本規劃的延後</h4>
<ul>
<li>v0.1 做基礎功能，v0.2 加進階功能 → <strong>正確</strong></li>
<li>明確標註「此功能於 v0.3 實作」→ <strong>正確</strong></li>
<li>每個版本有完整可用的交付物 → <strong>必要</strong></li>
</ul>
<h4 id="tdd-最小實現">TDD 最小實現</h4>
<ul>
<li>先通過測試，再優化效能 → <strong>正確</strong></li>
<li>實作最小功能，重構階段再改善 → <strong>正確</strong></li>
<li>為擴展預留介面，但不過度設計 → <strong>正確</strong></li>
</ul>
<h4 id="風險管理的優先級">風險管理的優先級</h4>
<ul>
<li>核心流程優先，邊緣案例延後 → <strong>合理</strong></li>
<li>安全問題優先，美觀問題延後 → <strong>必要</strong></li>
<li>已知範圍的問題，計劃性處理 → <strong>專業</strong></li>
</ul>
<h3 id="我們拒絕的逃避行為">我們拒絕的：逃避行為</h3>
<p>以下行為是逃避，必須立即糾正：</p>
<h4 id="模糊的拖延">模糊的拖延</h4>
<ul>
<li>「太複雜，之後再說」→ <strong>錯誤</strong></li>
<li>「暫時跳過」但無具體計劃 → <strong>錯誤</strong></li>
<li>「先將就用」沒有改善時程 → <strong>錯誤</strong></li>
</ul>
<h4 id="核心責任的迴避">核心責任的迴避</h4>
<ul>
<li>發現架構問題但繞過 → <strong>不可接受</strong></li>
<li>省略錯誤處理 → <strong>不可接受</strong></li>
<li>降低測試標準來通過 → <strong>不可接受</strong></li>
</ul>
<h4 id="債務的累積">債務的累積</h4>
<ul>
<li>TODO 沒有追蹤和時程 → <strong>失職</strong></li>
<li>臨時方案變永久 → <strong>技術腐敗</strong></li>
<li>問題擴散不處理 → <strong>專案危機</strong></li>
</ul>
<h3 id="完整違規詞彙對照表">完整違規詞彙對照表</h3>
<p>為了確保一致性執行，以下是完整的違規詞彙清單：</p>
<h4 id="品質妥協和逃避責任類">品質妥協和逃避責任類</h4>
<table>
  <thead>
      <tr>
          <th>中文違規詞彙</th>
          <th>英文違規詞彙</th>
          <th>違反原則</th>
          <th>正確替代</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>「太複雜」</td>
          <td>&ldquo;too complex&rdquo;, &ldquo;too complicated&rdquo;</td>
          <td>永不放棄鐵律</td>
          <td>「需要深度分析，讓我分解問題」</td>
      </tr>
      <tr>
          <td>「先將就」</td>
          <td>&ldquo;workaround&rdquo;, &ldquo;hack&rdquo;</td>
          <td>永不放棄鐵律</td>
          <td>「建立完整解決方案」</td>
      </tr>
      <tr>
          <td>「暫時性修正」</td>
          <td>&ldquo;temporary fix&rdquo;, &ldquo;quick fix&rdquo;</td>
          <td>架構債務零容忍</td>
          <td>「現在就正確實作」</td>
      </tr>
      <tr>
          <td>「症狀緩解」</td>
          <td>&ldquo;bypass&rdquo;</td>
          <td>架構債務零容忍</td>
          <td>「解決根本問題」</td>
      </tr>
      <tr>
          <td>「先這樣處理」</td>
          <td>&ldquo;ignore for now&rdquo;</td>
          <td>永不放棄鐵律</td>
          <td>「立即正確處理」</td>
      </tr>
      <tr>
          <td>「臨時解決方案」</td>
          <td>&ldquo;will fix later&rdquo;</td>
          <td>架構債務零容忍</td>
          <td>「永久性解決方案」</td>
      </tr>
  </tbody>
</table>
<h4 id="簡化妥協類">簡化妥協類</h4>
<table>
  <thead>
      <tr>
          <th>中文違規詞彙</th>
          <th>英文違規詞彙</th>
          <th>違反原則</th>
          <th>正確替代</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>「更簡單的方法」</td>
          <td>&ldquo;simpler approach&rdquo;, &ldquo;simpler way&rdquo;</td>
          <td>永不放棄鐵律</td>
          <td>「正確且完整的方法」</td>
      </tr>
      <tr>
          <td>「採用更簡單的方法」</td>
          <td>&ldquo;take the simpler approach&rdquo;</td>
          <td>永不放棄鐵律</td>
          <td>「採用正確的方法」</td>
      </tr>
      <tr>
          <td>「簡化處理」</td>
          <td>&ldquo;simplify&rdquo;</td>
          <td>永不放棄鐵律</td>
          <td>「完整處理」</td>
      </tr>
      <tr>
          <td>「簡單的處理方式」</td>
          <td>&ldquo;simpler method&rdquo;</td>
          <td>永不放棄鐵律</td>
          <td>「專業的處理方式」</td>
      </tr>
  </tbody>
</table>
<h4 id="測試品質妥協類">測試品質妥協類</h4>
<table>
  <thead>
      <tr>
          <th>中文違規詞彙</th>
          <th>英文違規詞彙</th>
          <th>違反原則</th>
          <th>正確替代</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>「簡化測試」</td>
          <td>&ldquo;simplify test&rdquo;, &ldquo;simplified test&rdquo;</td>
          <td>測試通過率鐵律</td>
          <td>「建立完整測試」</td>
      </tr>
      <tr>
          <td>「降低測試標準」</td>
          <td>&ldquo;lower test standard&rdquo;</td>
          <td>測試通過率鐵律</td>
          <td>「維持100%測試標準」</td>
      </tr>
      <tr>
          <td>「簡單測試就好」</td>
          <td>&ldquo;basic test only&rdquo;, &ldquo;simple test case&rdquo;</td>
          <td>測試通過率鐵律</td>
          <td>「全面測試覆蓋」</td>
      </tr>
      <tr>
          <td>「基本測試即可」</td>
          <td>&ldquo;minimal test&rdquo;</td>
          <td>測試通過率鐵律</td>
          <td>「完整測試套件」</td>
      </tr>
  </tbody>
</table>
<h4 id="發現問題但不解決類">發現問題但不解決類</h4>
<table>
  <thead>
      <tr>
          <th>中文違規詞彙</th>
          <th>英文違規詞彙</th>
          <th>違反原則</th>
          <th>正確替代</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>「發現問題但不處理」</td>
          <td>&ldquo;ignore the issue&rdquo;</td>
          <td>架構債務零容忍</td>
          <td>「發現問題立即解決」</td>
      </tr>
      <tr>
          <td>「架構問題先不管」</td>
          <td>&ldquo;architecture debt later&rdquo;</td>
          <td>架構債務零容忍</td>
          <td>「架構問題立即修正」</td>
      </tr>
      <tr>
          <td>「只加個 TODO」</td>
          <td>&ldquo;just add todo&rdquo;</td>
          <td>架構債務零容忍</td>
          <td>「立即實作解決方案」</td>
      </tr>
      <tr>
          <td>「問題太多先跳過」</td>
          <td>&ldquo;too many issues skip&rdquo;</td>
          <td>永不放棄鐵律</td>
          <td>「逐一解決所有問題」</td>
      </tr>
  </tbody>
</table>
<h4 id="程式碼修改逃避類">程式碼修改逃避類</h4>
<table>
  <thead>
      <tr>
          <th>中文違規詞彙</th>
          <th>英文違規詞彙</th>
          <th>違反原則</th>
          <th>正確替代</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>「註解掉」</td>
          <td>&ldquo;comment out&rdquo;</td>
          <td>架構債務零容忍</td>
          <td>「重構或移除」</td>
      </tr>
      <tr>
          <td>「停用功能」</td>
          <td>&ldquo;disable&rdquo;</td>
          <td>架構債務零容忍</td>
          <td>「修正後啟用」</td>
      </tr>
      <tr>
          <td>「暫時關閉」</td>
          <td>&ldquo;temporarily disable&rdquo;</td>
          <td>架構債務零容忍</td>
          <td>「立即修正並啟用」</td>
      </tr>
  </tbody>
</table>
<h4 id="模糊不精確詞彙類">模糊不精確詞彙類</h4>
<table>
  <thead>
      <tr>
          <th>中文違規詞彙</th>
          <th>英文違規詞彙</th>
          <th>違反原則</th>
          <th>正確替代</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>「智能」</td>
          <td>&ldquo;smart&rdquo;, &ldquo;intelligent&rdquo;</td>
          <td>精確性原則</td>
          <td>「規則比對」「條件判斷」「算法處理」</td>
      </tr>
      <tr>
          <td>「自動」(無具體描述)</td>
          <td>&ldquo;auto&rdquo; (without details)</td>
          <td>精確性原則</td>
          <td>「Hook腳本執行」「定時任務觸發」</td>
      </tr>
      <tr>
          <td>「優化」(無具體指標)</td>
          <td>&ldquo;optimize&rdquo; (without metrics)</td>
          <td>精確性原則</td>
          <td>「減少記憶體使用50%」「提升載入速度2倍」</td>
      </tr>
  </tbody>
</table>
<h2 id="處理原則">處理原則</h2>
<h3 id="面對複雜問題">面對複雜問題</h3>
<p>複雜不是逃避的理由。我們的處理方式：</p>
<ol>
<li><strong>分解</strong>：任何複雜問題都能分解為可管理的部分</li>
<li><strong>排序</strong>：依影響和依賴關係決定處理順序</li>
<li><strong>執行</strong>：逐步解決，每步都有可驗證的成果</li>
</ol>
<h3 id="意外狀況的決策">意外狀況的決策</h3>
<p>遇到預期外的技術挑戰時：</p>
<h4 id="立即解決的情況">立即解決的情況</h4>
<ul>
<li>阻塞其他開發 → <strong>立即處理</strong></li>
<li>影響資料完整性 → <strong>立即處理</strong></li>
<li>安全漏洞 → <strong>立即處理</strong></li>
</ul>
<h4 id="可以延後的情況">可以延後的情況</h4>
<ul>
<li>效能優化（功能正常）→ <strong>可計劃延後</strong></li>
<li>UI 美化（體驗可用）→ <strong>可計劃延後</strong></li>
<li>邊緣案例（主流程正常）→ <strong>可計劃延後</strong></li>
</ul>
<h4 id="需要重新評估的情況">需要重新評估的情況</h4>
<ul>
<li>暴露設計缺陷 → <strong>停下來重新設計</strong></li>
<li>依賴關係錯誤 → <strong>調整架構</strong></li>
<li>需求理解偏差 → <strong>重新確認需求</strong></li>
</ul>
<h2 id="ai-回應前自檢機制詳解">AI 回應前自檢機制詳解</h2>
<h3 id="30秒強制檢查流程">30秒強制檢查流程</h3>
<p><strong>AI 在生成任何回應前都必須完整執行以下檢查</strong>：</p>
<h4 id="第一階段三大鐵律檢查">第一階段：三大鐵律檢查</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln"> 1</span><span class="cl">1. 測試通過率鐵律檢查
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">   問：我的回應是否包含「測試失敗可接受」的思維？
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">   問：是否想要跳過測試或降低測試標準？
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">   要求：必須堅持 100% 測試通過率
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">2. 永不放棄鐵律檢查
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">   問：我是否想跳過、暫時處理、或延後任何問題？
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">   問：是否在尋找「更簡單」的方法來迴避複雜性？
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">   要求：必須面對並解決所有問題
</span></span><span class="line"><span class="ln">10</span><span class="cl">
</span></span><span class="line"><span class="ln">11</span><span class="cl">3. 架構債務零容忍鐵律檢查
</span></span><span class="line"><span class="ln">12</span><span class="cl">   問：我是否發現架構問題卻想稍後處理？
</span></span><span class="line"><span class="ln">13</span><span class="cl">   問：是否想要使用臨時方案或權宜措施？
</span></span><span class="line"><span class="ln">14</span><span class="cl">   要求：必須立即修正架構問題</span></span></code></pre></div><h4 id="第二階段逃避詞彙檢查">第二階段：逃避詞彙檢查</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln"> 1</span><span class="cl">中文禁用詞彙掃描：
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">□ 「太複雜」「先將就」「暫時性修正」「症狀緩解」
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">□ 「先這樣處理」「臨時解決方案」「回避」「不想處理」
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">□ 「更簡單的方法」「簡化處理」「簡化測試」
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">□ 「發現問題但不處理」「架構問題先不管」「只加個 TODO」
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">□ 「智能」「自動」<span class="o">(</span>無具體描述<span class="o">)</span>「優化」<span class="o">(</span>無具體指標<span class="o">)</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">英文禁用詞彙掃描：
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">□ <span class="s2">&#34;workaround&#34;</span>, <span class="s2">&#34;bypass&#34;</span>, <span class="s2">&#34;hack&#34;</span>, <span class="s2">&#34;quick fix&#34;</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl">□ <span class="s2">&#34;too complex&#34;</span>, <span class="s2">&#34;temporary fix&#34;</span>, <span class="s2">&#34;ignore for now&#34;</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl">□ <span class="s2">&#34;simpler approach&#34;</span>, <span class="s2">&#34;simpler way&#34;</span>, <span class="s2">&#34;easier approach&#34;</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl">□ <span class="s2">&#34;simplify test&#34;</span>, <span class="s2">&#34;basic test only&#34;</span>, <span class="s2">&#34;minimal test&#34;</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl">□ <span class="s2">&#34;comment out&#34;</span>, <span class="s2">&#34;disable&#34;</span>, <span class="s2">&#34;just add todo&#34;</span></span></span></code></pre></div><h4 id="第三階段品質標準檢查">第三階段：品質標準檢查</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln">1</span><span class="cl">要求：解決方案完整性檢查
</span></span><span class="line"><span class="ln">2</span><span class="cl">   我的解決方案是完整的，還是妥協的？
</span></span><span class="line"><span class="ln">3</span><span class="cl">
</span></span><span class="line"><span class="ln">4</span><span class="cl">要求：根本問題檢查
</span></span><span class="line"><span class="ln">5</span><span class="cl">   我是否在迴避根本問題？
</span></span><span class="line"><span class="ln">6</span><span class="cl">
</span></span><span class="line"><span class="ln">7</span><span class="cl">要求：專業標準檢查
</span></span><span class="line"><span class="ln">8</span><span class="cl">   我的回應體現專業工程師標準嗎？
</span></span><span class="line"><span class="ln">9</span><span class="cl">   6個月後我會為這個回應感到驕傲嗎？</span></span></code></pre></div><h3 id="檢查失敗立即修正流程">檢查失敗立即修正流程</h3>
<p><strong>如果任何檢查項目失敗</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln"> 1</span><span class="cl">1. 立即停止
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">   停止當前回應生成，不發送任何內容
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">2. 重新分析
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">   深入分析問題和解決方案
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">   識別導致違規的根本原因
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">3. 重新構思
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">   構思完全符合三大鐵律的回應
</span></span><span class="line"><span class="ln">10</span><span class="cl">   確保解決方案完整且專業
</span></span><span class="line"><span class="ln">11</span><span class="cl">
</span></span><span class="line"><span class="ln">12</span><span class="cl">4. 再次檢查
</span></span><span class="line"><span class="ln">13</span><span class="cl">   重新執行完整的 30 秒檢查流程
</span></span><span class="line"><span class="ln">14</span><span class="cl">   直到通過所有檢查項目才能回應</span></span></code></pre></div><h3 id="關鍵情境標準處理">關鍵情境標準處理</h3>
<h4 id="測試失敗情境">測試失敗情境</h4>
<p><strong>觸發條件</strong>：任何測試失敗、通過率 &lt; 100%</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln"> 1</span><span class="cl">強制執行流程：
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">1. 立即停止所有其他工作
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">2. 啟動深度分析 agent (lavender-interface-designer)
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">3. 制定並執行完整解決方案
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">4. 驗證達到 100% 通過率
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">5. 記錄解決過程到工作日誌
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">嚴格禁止：
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">禁止：跳過失敗的測試
</span></span><span class="line"><span class="ln">10</span><span class="cl">禁止：認為 92% 通過率「已經很好」
</span></span><span class="line"><span class="ln">11</span><span class="cl">禁止：先處理其他「更重要」的工作
</span></span><span class="line"><span class="ln">12</span><span class="cl">禁止：採用臨時修補方案</span></span></code></pre></div><h4 id="複雜問題情境">複雜問題情境</h4>
<p><strong>觸發條件</strong>：問題看起來複雜、不知道解法</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln"> 1</span><span class="cl">強制執行流程：
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">1. 承認複雜性，但拒絕放棄
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">2. 將複雜問題分解為可管理的子問題
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">3. 啟動相應的專業 agent
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">4. 按優先級逐一解決子問題
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">5. 記錄完整過程供未來參考
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">嚴格禁止：
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">禁止：認為問題「太複雜」而放棄
</span></span><span class="line"><span class="ln">10</span><span class="cl">禁止：尋求「權宜方案」
</span></span><span class="line"><span class="ln">11</span><span class="cl">禁止：跳過問題處理其他工作
</span></span><span class="line"><span class="ln">12</span><span class="cl">禁止：採用「暫時性」解決方案</span></span></code></pre></div><h4 id="架構問題情境">架構問題情境</h4>
<p><strong>觸發條件</strong>：發現設計缺陷、技術債務、架構不一致</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln"> 1</span><span class="cl">強制執行流程：
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">1. 立即停止功能開發
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">2. 評估影響範圍
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">3. 啟動重構專家 (cinnamon-refactor-owl)
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">4. 制定詳細修復計劃
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">5. 徹底修正後再繼續功能開發
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">嚴格禁止：
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">禁止：認為架構問題「影響不大」
</span></span><span class="line"><span class="ln">10</span><span class="cl">禁止：想要「之後再處理」
</span></span><span class="line"><span class="ln">11</span><span class="cl">禁止：繼續在有問題的架構上開發
</span></span><span class="line"><span class="ln">12</span><span class="cl">禁止：採用簡單修補而非根本性解決</span></span></code></pre></div><h2 id="執行標準">執行標準</h2>
<h3 id="延後必須有記錄">延後必須有記錄</h3>
<p>每個延後決定都要：</p>
<ul>
<li>記錄在工作日誌</li>
<li>標註預計處理時間</li>
<li>說明延後的理由</li>
</ul>
<h3 id="定期檢視累積">定期檢視累積</h3>
<ul>
<li>Sprint 結束檢查延後項目</li>
<li>版本發布前清理技術債務</li>
<li>超過兩個版本的延後必須處理</li>
</ul>
<h3 id="品質底線不妥協">品質底線不妥協</h3>
<p>無論如何都不能延後的：</p>
<ul>
<li><strong>安全性</strong>：任何安全問題</li>
<li><strong>資料完整性</strong>：可能造成資料遺失或錯誤</li>
<li><strong>核心體驗</strong>：用戶主要使用路徑</li>
</ul>
<h2 id="判別範例">判別範例</h2>
<h3 id="正例正確的延後">正例：正確的延後</h3>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1">// TODO: v0.2 版本加入批次處理
</span></span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="c1">// 目前 v0.1 實作單筆處理
</span></span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="c1"></span><span class="kd">function</span> <span class="nx">processItem</span><span class="p">(</span><span class="nx">item</span><span class="p">)</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl">  <span class="k">return</span> <span class="nx">processSingle</span><span class="p">(</span><span class="nx">item</span><span class="p">);</span> <span class="c1">// 完整功能，可延後優化
</span></span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="c1"></span><span class="p">}</span></span></span></code></pre></div><p>理由：功能完整、有明確版本規劃、不影響使用。</p>
<h3 id="反例錯誤的逃避">反例：錯誤的逃避</h3>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1">// TODO: 錯誤處理太麻煩，先不做
</span></span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="c1"></span><span class="kd">function</span> <span class="nx">riskyOperation</span><span class="p">()</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl">  <span class="k">return</span> <span class="nx">doOperation</span><span class="p">();</span> <span class="c1">// 缺少錯誤處理，不可接受
</span></span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="c1"></span><span class="p">}</span></span></span></code></pre></div><p>理由：核心責任缺失、沒有時程、影響穩定性。</p>
<h3 id="正例正確的最小實現">正例：正確的最小實現</h3>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="kr">class</span> <span class="nx">DataProcessor</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">  <span class="nx">process</span><span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">    <span class="c1">// v0.1: 同步處理
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="c1"></span>    <span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">syncProcess</span><span class="p">(</span><span class="nx">data</span><span class="p">);</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">  <span class="p">}</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">  <span class="c1">// 預留介面給 v0.2 非同步處理
</span></span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="c1"></span>  <span class="kr">async</span> <span class="nx">processAsync</span><span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">    <span class="k">throw</span> <span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="s1">&#39;v0.2 功能&#39;</span><span class="p">);</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl">  <span class="p">}</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="p">}</span></span></span></code></pre></div><p>理由：當前版本完整可用、為未來預留空間、有清楚邊界。</p>
<h3 id="反例錯誤的妥協">反例：錯誤的妥協</h3>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1">// 測試太嚴格，先降低標準
</span></span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="c1"></span><span class="nx">test</span><span class="p">.</span><span class="nx">skip</span><span class="p">(</span><span class="s1">&#39;應該要處理邊界情況&#39;</span><span class="p">,</span> <span class="p">()</span> <span class="p">=&gt;</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl">  <span class="c1">// 跳過困難的測試
</span></span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="c1"></span><span class="p">});</span></span></span></code></pre></div><p>理由：降低品質標準、逃避問題、累積風險。</p>
<h2 id="文化與態度">文化與態度</h2>
<h3 id="我們的信念">我們的信念</h3>
<ul>
<li><strong>沒有解決不了的問題</strong>，只有還沒找到的方法</li>
<li><strong>延後是策略</strong>，逃避是失職</li>
<li><strong>技術債務必須管理</strong>，不是忽視</li>
</ul>
<h3 id="我們的承諾">我們的承諾</h3>
<ul>
<li>誠實面對技術挑戰</li>
<li>為決定負責並追蹤</li>
<li>維持專案的長期健康</li>
</ul>
<h3 id="我們的標準">我們的標準</h3>
<ul>
<li>每個延後都有明確計劃</li>
<li>每個問題都有解決方案</li>
<li>每個決定都能說明理由</li>
</ul>
<h2 id="執行保障三層防護機制完整架構">執行保障：三層防護機制完整架構</h2>
<h3 id="完整防護體系">完整防護體系</h3>
<p>為了確保這些原則被確實執行，我們建立了三層互補的防護機制：</p>
<h4 id="第一層ai-內建自檢主要防線">第一層：AI 內建自檢（主要防線）</h4>
<ul>
<li><strong>執行時機</strong>：每次回應前自動執行</li>
<li><strong>檢查範圍</strong>：三大鐵律、逃避詞彙、品質標準</li>
<li><strong>處理方式</strong>：檢查失敗立即停止回應生成，重新構思</li>
<li><strong>特色</strong>：源頭預防，即時阻止</li>
</ul>
<h4 id="第二層hook-系統驗證輔助驗證">第二層：Hook 系統驗證（輔助驗證）</h4>
<ul>
<li><strong>執行時機</strong>：用戶輸入、檔案編輯、工具使用前後</li>
<li><strong>檢查範圍</strong>：ESLint 錯誤、技術債務、程式異味</li>
<li><strong>處理方式</strong>：自動記錄問題、啟動 agents 處理</li>
<li><strong>特色</strong>：持續監控，事後驗證</li>
</ul>
<h4 id="第三層修復模式最後防線">第三層：修復模式（最後防線）</h4>
<ul>
<li><strong>觸發條件</strong>：前兩層發現違規行為或品質問題</li>
<li><strong>處理方式</strong>：進入修復模式，完成修正後才能繼續</li>
<li><strong>特色</strong>：強制修正，確保問題得到解決</li>
</ul>
<h3 id="三層協作機制">三層協作機制</h3>
<h4 id="正常工作流程">正常工作流程</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln">1</span><span class="cl">用戶輸入 → AI自檢 → 通過 → 生成回應 → Hook驗證 → 正常繼續</span></span></code></pre></div><h4 id="發現問題時">發現問題時</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln">1</span><span class="cl">AI自檢失敗 → 重新構思 → 再次檢查 → 通過後回應
</span></span><span class="line"><span class="ln">2</span><span class="cl">Hook檢測問題 → 記錄追蹤 → 必要時啟動修復模式
</span></span><span class="line"><span class="ln">3</span><span class="cl">修復模式 → 停止開發 → 修正問題 → 驗證完成 → 繼續開發</span></span></code></pre></div><h3 id="關鍵優勢">關鍵優勢</h3>
<h4 id="多重保障">多重保障</h4>
<ul>
<li>AI 自檢確保源頭品質</li>
<li>Hook 系統提供持續監控</li>
<li>修復模式確保問題解決</li>
</ul>
<h4 id="精確判斷">精確判斷</h4>
<ul>
<li>區分計劃性延後和逃避行為</li>
<li>識別技術文檔中的範例程式碼</li>
<li>理解上下文和開發階段</li>
</ul>
<h4 id="自動化執行">自動化執行</h4>
<ul>
<li>無需人工干預</li>
<li>一致性執行標準</li>
<li>即時問題發現和處理</li>
</ul>
<h3 id="防護機制效果">防護機制效果</h3>
<p>這套三層防護機制確保：</p>
<ul>
<li><strong>原則被一致執行</strong>：沒有例外情況</li>
<li><strong>問題被及時發現</strong>：多個時間點檢查</li>
<li><strong>品質不因壓力妥協</strong>：自動化強制執行</li>
<li><strong>逃避行為被根本預防</strong>：從思維層面攔截</li>
</ul>
<h2 id="結論從根本預防逃避行為的完整方法論">結論：從根本預防逃避行為的完整方法論</h2>
<p>這套方法論代表了我們在 AI 協作品質控制上的重大突破。我們從最初的 Hook 系統發展到現在的三層防護機制，實現了從<strong>事後修正</strong>到<strong>源頭預防</strong>的根本性轉變。</p>
<h3 id="核心成就">核心成就</h3>
<h4 id="從反應式到預防式">從反應式到預防式</h4>
<ul>
<li><strong>過去</strong>：Hook 系統發現問題後修正</li>
<li><strong>現在</strong>：AI 自檢在問題產生前攔截</li>
<li><strong>效果</strong>：逃避行為從源頭被消除</li>
</ul>
<h4 id="從單一防護到多層保障">從單一防護到多層保障</h4>
<ul>
<li><strong>第一層</strong>：AI 內建自檢（30秒強制檢查）</li>
<li><strong>第二層</strong>：Hook 系統驗證（持續監控）</li>
<li><strong>第三層</strong>：修復模式（強制修正）</li>
<li><strong>效果</strong>：任何逃避行為都無法逃脫檢測</li>
</ul>
<h4 id="從人工監督到自動化執行">從人工監督到自動化執行</h4>
<ul>
<li><strong>自檢機制</strong>：每次回應前自動執行</li>
<li><strong>檢查標準</strong>：三大鐵律 + 違規詞彙 + 品質標準</li>
<li><strong>處理流程</strong>：檢查失敗立即重新構思</li>
<li><strong>效果</strong>：零人工干預的品質保證</li>
</ul>
<h3 id="方法論價值">方法論價值</h3>
<p>這不只是技術工具，更是<strong>工作哲學的具體實現</strong>：</p>
<h4 id="永不妥協的品質標準">永不妥協的品質標準</h4>
<ul>
<li>計劃性延後是正當策略</li>
<li>逃避性拖延絕不容忍</li>
<li>100% 測試通過率是最低標準</li>
<li>架構問題必須立即修正</li>
</ul>
<h4 id="思維模式">思維模式</h4>
<ul>
<li>面對複雜問題不逃避，而是分解解決</li>
<li>發現問題立即處理，不推遲到未來</li>
<li>追求根本性解決，拒絕症狀緩解</li>
<li>維持長期視角，拒絕短期妥協</li>
</ul>
<h4 id="可持續的開發實踐">可持續的開發實踐</h4>
<ul>
<li>技術債務得到控制</li>
<li>程式碼品質持續提升</li>
<li>團隊標準保持一致</li>
<li>專案健康度不斷改善</li>
</ul>
<h3 id="執行承諾">執行承諾</h3>
<h4 id="這是要求不是建議這是標準不是理想">這是要求，不是建議。這是標準，不是理想</h4>
<ul>
<li>任何違反這些原則的行為，無論來自人類還是 AI，都會被三層防護機制檢測並要求修正</li>
<li>AI 每次回應前都必須通過 30 秒自檢</li>
<li>Hook 系統持續監控所有開發活動，確保品質標準</li>
<li>修復模式在發現問題時強制執行，直到問題徹底解決</li>
</ul>
<p>這套三層防護機制目標是：</p>
<ul>
<li><strong>可信賴的 AI 協作關係</strong></li>
<li><strong>可持續的品質保證體系</strong></li>
<li><strong>可擴展的開發方法論</strong></li>
<li><strong>可複製的成功模式</strong></li>
</ul>
<p>我們將持續改進這套機制，讓它成為所有 AI 協作專案的標準基礎設施，確保每個專案都能維持最高的品質標準。</p>
<p>這是品質保證系統，確保 AI 協作始終維持最高執行標準，而非放任品質下滑。</p>
<hr>]]></content:encoded></item></channel></rss>