&lt;?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Stan Wu 吳信典</title><link>https://blog.stanwu.org/tags/prompt-engineering/</link><description>拆解被包裝過的東西、數位自主權實踐、非典型理財觀</description><language>zh-TW</language><lastBuildDate>Tue, 14 Apr 2026 21:50:31 +0800</lastBuildDate><atom:link href="https://blog.stanwu.org/tags/prompt-engineering/feed.xml" rel="self" type="application/rss+xml"/><item><title>用高階模型設計 Skill，讓 GPT-4.1 穩定執行：Copilot Token 節省策略</title><link>https://blog.stanwu.org/posts/claude-skill-gpt41-copilot-token-strategy/</link><pubDate>Tue, 14 Apr 2026 00:02:00 +0800</pubDate><guid>https://blog.stanwu.org/posts/claude-skill-gpt41-copilot-token-strategy/</guid><description>&lt;p&gt;GitHub Copilot 的 GPT-4.1 是吃到飽方案，但模型本身相對保守，遇到複雜任務容易輸出不穩定。&lt;/p&gt;
&lt;p&gt;解法不是換模型，而是換策略：用聰明的模型把工作定義清楚，讓便宜的模型負責執行。&lt;/p&gt;
&lt;h2 id="問題的本質"&gt;問題的本質&lt;/h2&gt;
&lt;p&gt;在 AI 工具的日常使用裡，有兩件事常常被混在一起：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;思考這件事該怎麼做&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;照著計畫把事情做完&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;高階模型（Claude Sonnet 4.6、GPT-4o 等）在「思考」上很強，但 token 有成本。GPT-4.1 在 Copilot 裡是吃到飽，適合「執行」，但如果讓它自己思考怎麼做，品質容易漂移。&lt;/p&gt;
&lt;p&gt;這個觀察直接指向一個架構：&lt;strong&gt;把思考和執行分層&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="策略核心skill-是智力的容器"&gt;策略核心：Skill 是智力的容器&lt;/h2&gt;
&lt;p&gt;Skill 本質上是一份「執行說明書」：告訴模型這個任務的目標是什麼、輸出格式長什麼樣、遇到邊界情況怎麼處理。&lt;/p&gt;
&lt;p&gt;當 skill 設計得夠好，GPT-4.1 的工作就從「想清楚再做」變成「照著做」。這個轉換非常關鍵，因為模型能力的差距，在格式遵循和結構輸出上遠比在自由推理上小。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;高階模型（Claude Sonnet 4.6）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → 設計 skill：定義輸出格式、邊界條件、fallback 邏輯
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → 產出：可重複使用的 skill 文件
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;GPT-4.1（Copilot 吃到飽）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → 照 skill 執行：填入、套用、輸出
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → 產出：穩定、符合格式的結果
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;設計一次，執行百次。智力成本集中在設計端，執行端的 token 消耗幾乎是免費的。&lt;/p&gt;
&lt;h2 id="一個具體範例"&gt;一個具體範例&lt;/h2&gt;
&lt;p&gt;假設你需要每天做 code review 摘要，格式固定：問題分類、嚴重程度、建議改法。&lt;/p&gt;
&lt;h3 id="讓-gpt-41-自己跑沒有-skill"&gt;讓 GPT-4.1 自己跑（沒有 skill）&lt;/h3&gt;
&lt;p&gt;輸出會長這樣——每次都不同：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;這段程式碼有幾個問題需要注意。首先&amp;hellip;（自由發揮三段）&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;格式不固定，無法批次處理，每次都要重新審閱。&lt;/p&gt;
&lt;h3 id="讓-claude-先設計-skill"&gt;讓 Claude 先設計 skill&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Code Review 摘要 Skill
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gs"&gt;**輸入**&lt;/span&gt;：一段程式碼或 diff
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gs"&gt;**輸出格式**&lt;/span&gt;（嚴格遵循）：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; 每個問題獨立一條
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; 格式：&lt;span class="sb"&gt;`[嚴重度: HIGH/MED/LOW] 問題描述 → 建議改法`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; 嚴重度定義：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;-&lt;/span&gt; HIGH = 安全漏洞、資料遺失風險
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;-&lt;/span&gt; MED = 邏輯錯誤、效能問題
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;-&lt;/span&gt; LOW = 風格、可讀性
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; 沒有問題時輸出：&lt;span class="sb"&gt;`✓ 無發現問題`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; 禁止加前言、後語、摘要段落
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="交給-gpt-41-執行"&gt;交給 GPT-4.1 執行&lt;/h3&gt;
&lt;p&gt;輸出變成：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[HIGH] SQL query 未參數化，存在注入風險 → 改用 prepared statement
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[MED] 迴圈內重複呼叫 DB，N+1 問題 → 改用 batch query
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[LOW] 變數命名不一致（camelCase vs snake_case）→ 統一為 snake_case
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;穩定、可解析、可自動化處理。GPT-4.1 沒有變聰明，只是工作被定義清楚了。&lt;/p&gt;
&lt;h2 id="skill-設計的幾個關鍵原則"&gt;Skill 設計的幾個關鍵原則&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;一、輸出格式要「防呆」&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;越少解釋空間越好。與其說「用條列方式呈現」，不如直接給模板：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;好的：`格式：[{嚴重度}] {問題} → {建議}`
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;不好的：`請條列出問題和建議`
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;二、把邊界條件寫進去&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;GPT-4.1 遇到 edge case 最容易偏離格式。與其事後修正，不如在 skill 裡預先定義：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;沒有輸入時怎麼處理&lt;/li&gt;
&lt;li&gt;遇到不確定時輸出什麼&lt;/li&gt;
&lt;li&gt;哪些情況輸出空值而非猜測&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;三、明確禁止多餘輸出&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;語言模型天生喜歡加前言和總結。要在 skill 裡明確說：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;禁止加「以下是分析結果：」之類的前言。禁止在結尾加摘要。直接輸出結果。&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;四、用範例而非描述&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;一個具體的輸出範例，比三段文字描述更有效。Claude 在設計 skill 時，可以幫你產生幾個 few-shot 範例，附在 skill 裡給 GPT-4.1 參考。&lt;/p&gt;
&lt;h2 id="哪些任務適合這個策略"&gt;哪些任務適合這個策略&lt;/h2&gt;
&lt;p&gt;這個分層架構在&lt;strong&gt;格式明確、重複性高&lt;/strong&gt;的任務上效果最好：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;適合&lt;/th&gt;
&lt;th&gt;不太適合&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;程式碼生成（固定模板）&lt;/td&gt;
&lt;td&gt;開放式創意發散&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;文件整理、摘要&lt;/td&gt;
&lt;td&gt;需要即時推理的除錯&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;結構化資料提取&lt;/td&gt;
&lt;td&gt;高度 context-aware 的一次性任務&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;固定流程的 code review&lt;/td&gt;
&lt;td&gt;需要跨多個 context 推理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;批次重複作業&lt;/td&gt;
&lt;td&gt;第一次設計 skill 本身&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;判斷方法很簡單：如果這件事你可以寫成 SOP，就適合做成 skill 交給 GPT-4.1。如果需要即興判斷，就留給高階模型。&lt;/p&gt;
&lt;h2 id="如何驗證-skill-設計是否有效"&gt;如何驗證 skill 設計是否有效&lt;/h2&gt;
&lt;p&gt;Skill 設計完，讓 GPT-4.1 跑三到五次同類任務。觀察：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;格式一致性&lt;/strong&gt;：關鍵欄位每次都在嗎？&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;長度穩定性&lt;/strong&gt;：輸出長度有沒有大幅波動？&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;邊界行為&lt;/strong&gt;：空輸入、異常輸入有沒有按 skill 定義處理？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果通過，skill 設計就算過關。如果 GPT-4.1 每次都在「自由發揮」，通常是 skill 留了太多解釋空間，回頭讓 Claude 再修一次。&lt;/p&gt;
&lt;h2 id="成本結構的轉換"&gt;成本結構的轉換&lt;/h2&gt;
&lt;p&gt;這個策略本質上是改變了 AI 工具的成本結構：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;舊模式&lt;/strong&gt;：每次任務都讓高階模型從頭思考
→ 每次都花高階模型 token，成本線性增長&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;新模式&lt;/strong&gt;：高階模型投資在 skill 設計，GPT-4.1 負責執行
→ 設計成本一次性，執行成本趨近零（Copilot 吃到飽）&lt;/p&gt;
&lt;p&gt;越是重複性高的工作，這個策略的 ROI 越高。第一次做 skill 的 token 成本，會在第十次執行時回本。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;這個思路其實不算新——工程師很熟悉「框架 vs 業務邏輯」的分工。框架由架構師設計，工程師照框架寫業務邏輯。現在只是把同樣的概念，用在 AI 模型的分工上。&lt;/p&gt;
&lt;p&gt;設計一次好的 skill，比每次讓 AI 猜你要什麼，省事得多。&lt;/p&gt;</description></item></channel></rss>