Theme / v1.7.0

Prompt Master

AI 提示詞工程大師

基礎觀念

少樣本學習與邊界約束設計

探討 Few-Shot 提示詞設計模式,如何通過高質量的對照樣例規範 AI 輸出,消除幻覺

為什麼需要 Few-Shot Learning?

在提示詞工程中,我們常通過「零樣本 (Zero-Shot)」指令向 AI 下達命令(例如:「請幫我將這個 C# 方法改為非同步」)。

面臨的痛點: 即使你寫了長篇大論的規則來約束它,AI 仍極易產生「語意幻覺」(例如:它雖然用了 async/await,但漏掉了 Task 返回值,或者沒有在方法名後加上 Async 後綴)。

少樣本學習 (Few-Shot Learning) 透過在提示詞中直接提供 1-2 組完美的「輸入與輸出對照範例」,讓 AI 透過「模式比對(Pattern Matching)」直接模仿人類的高質量實作,這是消除 AI 幻覺最有效率的手段。


Few-Shot 提示詞的黃金公式

一個標準的 Few-Shot 區塊應該具備以下特徵:

 ┌────────────────────────────────────────────────────────┐
 │                   Few-Shot Example                     │
 ├────────────────────────────────────────────────────────┤
 │  1. Input (輸入)  ──▶  包含典型的問題或舊代碼             │
 │                                                        │
 │  2. Thought (思維) ──▶  簡短解釋重構的技術權衡 (可選)     │
 │                                                        │
 │  3. Output (輸出) ──▶  展示完美的合規新代碼與註釋        │
 └────────────────────────────────────────────────────────┘
  1. 極度貼近真實場景
    範例中的程式碼結構必須與你當前面臨的代碼高度相似。如果專案是 .NET 4.8 WinForms,那麼 Few-Shot 範例就絕對不能使用 .NET 8 Minimal APIs。
  2. 包含「壞味道」與「好設計」
    清楚對比「修改前」與「修改後」的代碼,這能讓 AI 助手清晰看出哪些模式是被禁止的,哪些是被鼓勵的。
  3. 保持代碼緊湊
    範例代碼應精簡至 10-15 行以內,只保留核心變更邏輯,避免浪費額外的 Context Token。

實戰範例配置

在 Prompt Master 中,Few-Shot Generator 會自動從項目歷史 Commit 記錄中拉取相似的改動,重構為如下格式注入 AI:

<example>
  <input>
    public void Save(string data) {
        File.WriteAllText("log.txt", data);
    }
  </input>
  <output>
    public async Task SaveAsync(string data) {
        await File.WriteAllTextAsync("log.txt", data);
    }
  </output>
</example>

實踐證明,提供一組精準的 Few-Shot 對照,其效果勝過寫十條死板的文字約束規則。它讓 AI「看例題學寫字」,從源頭保障了生成代碼的架構合規度。