第12天:Prompt Chaining (提示鏈)
今天是另一個複雜的應用...
--
我的大白話理解 Prompt Chaining一、定義:
幫助LLM完成高度複雜任務的系統設計,由工程師設計「工作流程編排系統」,通常是外於LLM的一個「外部編排層 (orchestration layer)」。
二、原理:
將複雜任務拆解成多項有邏輯關係的子任務,依序完成子任務,得出最終複雜任務。
三、特性:
1.複雜任務所拆解後的子任務,必須依序完成**,才能得出結果。
**註:不是僅限定單一線性,也可能出現動態分支的情況。重點是按邏輯順序地完成。
2.承上,這要求極準確拆解複雜任務的能力,以及,對於每個子任務的輸出的嚴格規範限制。還有,對於中間階段結果的驗證能力(包含:校驗、清洗、轉換等,或是和錯誤處理邏輯的能力)。
如同骨牌一般,其中一個無法倒下,就無法進行下去。
四、優點:
解決任務複雜性,確保執行過程步驟的正確性、邏輯性,以產出準確輸出。
五、適用任務類型:
1.結構化任務: 流程清晰、步驟明確、中間階段結果可預期
2.重複性任務: 反覆執行、可自動化
3.需要高精度和可靠性的任務:須透過逐項驗證各中間階段確保正確性(ex代碼生成與除錯)
六、相關prompting技術:
▪︎ CoT:相對於CoT為LLM內部的思考鏈,Prompt Chaining則是外部模組化的。
▪︎ ReAct:兩者原理基本相同:「拆解任務→按步驟完成子任務→完成任務」。不過ReAct更動態、更具決策性(自由度更高),相較之下,Prompt Chaining的流程制定更具體嚴格,兩者屬於協作。
▪︎ RAG:可算是Prompt Chaining運作環節中必定出現的搭把手之一,複雜任務大機率會有精密檢索數據與篩選的需求,是不可少的助手工具。