微軟開源PromptWizard,摔碎了提示工程師的飯碗
PromptWizard (PW) 旨在自動化和簡化提示優化。它將 LLM 的迭代反饋與高效的探索和改進技術相結合,在幾分鐘內創建高效的prompts。
PW的核心是其自我進化和自適應機制,LLM 會同時迭代生成、評論和改進提示和示例。此過程通過反饋和綜合確保持續改進,實現針對特定任務的整體優化。
PromptWizard 經過 45 多項任務的嚴格評估,涵蓋了一般挑戰和特定領域挑戰。與最先進的技術(包括 Instinct、InstructZero、APE、PromptBreeder、EvoPrompt、DSPy、APO 和 PromptAgent)對比,PW 在準確性、效率和適應性方面始終優于競爭對手。
PromptWizard三個關鍵組件
PromptWizard 概述
- 反饋驅動改進: PW 的核心是利用迭代反饋循環,LLM 在其中生成、批評和改進自己的提示和示例。這種持續改進機制確保每次迭代都比上一次更好,從而產生高效的提示和示例。
- 多種示例的聯合優化與合成: PW 生成的合成示例不僅穩健多樣,而且具有任務感知能力。通過同時優化提示和示例,確保它們協同工作,有效滿足特定任務要求。
- 自生成思維鏈 (CoT) 步驟:結合 CoT 推理可提高模型的解決問題能力。通過使用選定的少量樣本,PW 為每個示例生成詳細的推理鏈,從而促進細致入微、循序漸進的問題解決方法。
PromptWizard 的工作原理
PromptWizard 從用戶輸入開始:問題描述、初始提示指令和一些作為當前任務基礎的訓練示例。
它的輸出是一套經過精煉、優化的提示指令,并搭配精心挑選的上下文小樣本示例。這些輸出包含詳細的推理鏈、任務意圖和專家資料,將類人推理與人工智能的響應聯系起來。
第一階段:完善提示指令
第一階段側重于完善提示的任務說明。PromptWizard 生成多個候選說明,使用 LLM 的反饋對其進行評估,并迭代地綜合改進版本。此過程平衡了探索(嘗試各種想法)和利用(完善最有希望的想法)。
例如,如果初始指令產生的結果不是最優的,PW 會結合反饋來識別其缺點并生成改進版本。經過三到五次迭代,此迭代周期可確保指令收斂到最優狀態。
第二階段:指令與示例的聯合優化
將第一階段得到的精煉提示與精心挑選的示例相結合,共同優化。通過批判與綜合機制,PromptWizard 確保提示與示例保持一致,同時綜合新示例以提升任務表現。
這種結構化方法使 PromptWizard 具有高度的通用性,可以適應從解決數學問題到生成創意內容等各種任務。
指令與示例的聯合優化
https://github.com/microsoft/PromptWizard
https://www.microsoft.com/en-us/research/blog/promptwizard-the-future-of-prompt-opt
本文轉載自??PaperAgent??
