技能用途
在面對高度複雜的代碼重構(例如:將同步調用改寫為帶有 Semaphore 限流的異步循環)時,僅僅通過文字規則描述約束,AI 助手仍然很容易寫出語意不合規的代碼。
Few-Shot Generator 是 Prompt Master 的 黃金範例生成器。它能從本地的 git history 或 codebase-memory 中,檢索出相似任務的「修改前與修改後」代碼對照組,將其作為 Few-Shot Examples(少樣本示範)注入提示詞中。這能給予 AI 一個清晰的「模仿對象」,將生成代碼的首次編譯通過率提升 80% 以上。
運作原理
- 特徵檢索:依據任務關鍵字(如
SemaphoreAsync),在 codebase-memory 圖譜中搜尋相似的實現類別。 - 前後文提取:抓取該類別在 Git 歷史中的 diff,提煉成簡短的
InputCode與OutputCode範本。 - 範本注入:將其格式化寫入 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 助手精確採用
SemaphoreSlim和try-finally結構,避免寫出漏掉釋放鎖的錯誤代碼。