Theme / v1.7.0

Prompt Master

AI 提示詞工程大師

Skills

Few-Shot 樣例生成技能

介紹 Prompt Master 如何通過自動檢索歷史成功變更,為提示詞生成高品質的 Few-Shot 輸入輸出對照範例

技能用途

在面對高度複雜的代碼重構(例如:將同步調用改寫為帶有 Semaphore 限流的異步循環)時,僅僅通過文字規則描述約束,AI 助手仍然很容易寫出語意不合規的代碼。

Few-Shot Generator 是 Prompt Master 的 黃金範例生成器。它能從本地的 git history 或 codebase-memory 中,檢索出相似任務的「修改前與修改後」代碼對照組,將其作為 Few-Shot Examples(少樣本示範)注入提示詞中。這能給予 AI 一個清晰的「模仿對象」,將生成代碼的首次編譯通過率提升 80% 以上。


運作原理

  1. 特徵檢索:依據任務關鍵字(如 SemaphoreAsync),在 codebase-memory 圖譜中搜尋相似的實現類別。
  2. 前後文提取:抓取該類別在 Git 歷史中的 diff,提煉成簡短的 InputCodeOutputCode 範本。
  3. 範本注入:將其格式化寫入 XML 提示詞的 <examples> 標籤中。

實戰對話範例

範例:生成 C# 異步限流 Few-Shot 範例

  • You:
    pm few-shot "C# 異步限流 Semaphore"
  • AI:

    [Prompt Master] Few-Shot Example Generated

    已為您從專案歷史提交中檢索出 1 組黃金 C# 異步限流對照樣例,已格式化:

    <examples>
      <example>
        <input>
          public void Process() {
              // 舊的同步限流
              lock(_lock) { DoWork(); }
          }
        </input>
        <output>
          private readonly SemaphoreSlim _sem = new SemaphoreSlim(1, 1);
          public async Task ProcessAsync() {
              await _sem.WaitAsync();
              try { await DoWorkAsync(); }
              finally { _sem.Release(); }
          }
        </output>
      </example>
    </examples>

    將此 examples 塊加入提示詞中,能引導 AI 助手精確採用 SemaphoreSlimtry-finally 結構,避免寫出漏掉釋放鎖的錯誤代碼。