第29天:Prompt Engineering 的「自我修正工作流 (Self-Correction Workflow)」
Prompt Engineering 的目標向來是讓 LLM 生成高品質的輸出內容,透過設計各種可以協助 LLM 更準確地掌握 Prompt 所要傳達的 Prompt模板、或是擴增更多各式工具使用/調用方式、或是更全面地協助 LLM 執行產出過程的校準/精細/準確性...,甚至包含側面訓練 LLM 自我生成Prompt模板 (as a Prompt Generator)。所有這些都是為了防範 LLM 產生幻覺、邏輯不連貫或不符合特定要求所做出的努力。
今天要了解的「自我修正工作流 (Self-Correction Workflow)」也是,又另一個 Prompt Engineering 的進階應用。▶︎「自我修正工作流」定義
一、主要概念:
透過在工作流程中導入了「自我修正」的環節,賦予 LLM 自我審核和自我修正的能力,讓 LLM 主動檢查自己的輸出,成為「自我評估者」和「編輯者」,在發現錯誤時進行修正。
二、工作流程的核心:
▫︎「反饋循環」
LLM 第一次的生成內容並非定案,而是需先反覆經過「自我修正」環節:自我檢查/修正→自我檢查/修正→自我檢查/修正...;直到確認完善,才提供給用戶。
▫︎「自我修正」環節
(a)透過 Prompt Engineering 在應用程式環境設置「審核 Prompt」及「修正 Prompt」,讓 LLM 依據該審核 Prompt進行自我檢查。
(b)「審核 Prompt」的設計重點是,必須針對不同任務與領域設計,需要高度客製化。這樣才能讓「自我修正」環節達到其真正目的:讓 LLM 得以依據 具體、可執行的「評估標準」進行確實的自我審核。
(c)「修正 Prompt」著重於:根據審核結果,精準指導 LLM 進行修改。修改指令必須明確具體,強調目標是「完全符合最初prompt任務需求」。精準調校的部份,實現方式是:透過程式碼編寫,根據返回的審核結果,產出「通用Prompt架構+動態調整具體指令內容」的動態調整 Prompt 藉以實現。
▶︎「自我修正工作流」運作構成程序
一個典型的自我修正工作流的運作,基本構成程序有以下 4個程序:
▫︎ Procedure.1_初始生成 (Initial Generation)
LLM 根據用戶初始Prompt 產生初始生成內容。
▫︎ Procedure.2_自我審核 (Self-Critique)
系統(應用程式端)會將「初始生成內容」&「審核 Prompt」再次提供給 LLM。
這個審核 Prompt 會要求 LLM 扮演「評估者(審稿人)」,依據「審核 Prompt」中所指示的特定標準審閱評估自己的「初始生成內容」,生成「審核結果」。
▫︎ Procedure.3_錯誤修正 (Error Correction)
系統(應用程式端)會將
(1)「初始(或前一次)的生成內容」&
(2)「審核結果(i.e. LLM 發現的錯誤)」&
(3)「修正 Prompt」
提供給 LLM,LLM 將按照「修正 Prompt」的要求,依據審核結果對前一次的生成內容,進行修改和完善,直到產出最終的成果。
▫︎ Procedure.4_最終輸出/生成內容 (Final Output)
經過多輪修正後,LLM 產出最終的、高品質的答案,提供給用戶。
→→ Procedure.2&3 正是上一段提及的「自我修正」環節。也再說明,在實際應用上,「審核」&「修正」是否設計為各自獨立的單獨程序,主要取決於:
(1)對生成內容的「準確度」要求
(2)對生成的「運行成本」的考量
(3)對用戶體驗「運作延遲」的考量
▶︎「自我修正工作流」完整流程

「自我修正工作流」完整流程
僅以以上簡圖作為說明。
這是一個「完整單次」的流程,實際應用上,中間「自我修正」環節可能反覆往返多次。
另,也提出一般的流程作為對比。
▫︎ 一般流程:用戶 Prompt → 應用程式 → LLM → Output
❖ 小結
簡言之,我們只需掌握自我修正工作流的核心精神是:透過 Prompt Engineering 的設計,讓 LLM 可自我審核自己的生成內容。
從運作流程上來掌握概要,則是:在原有運作程序流程中插入一個「自我修正」環節。
最後一點小感想。
雖然在一開始認識「自我修正工作流」時,我得到的資訊是:
「自我修正工作流」讓 LLM 不只生成內容一次,所以這項技術與 Prompt Engineering 的一貫目標「讓 LLM 『一次性』生成高品質的輸出內容」不同。
但我想想,不太覺得這個說明與形容是足夠恰當合適的。因為無論如何,在用戶看來,最終得到的生成內容,仍然像是「一次性生成」的輸出內容。其中曲折,用戶並不會知曉。我想這也便是 Prompt Engineering 的精妙之處與存在的必要性...吧。