第25天:基於代理人的提示工程 (Agent-based Prompt Engineering)
用我的理解來表述的話,我會說Agent-based Prompt Engineering 是「代理人基礎的提示工程」。
「代理人基礎的提示工程」表達了:▷是「提示工程」在單一 LLM 中實現,不是「AI Agents (人工智慧代理)」
▷目的在於:透過提示工程在「單一 LLM」中實現如同「AI Agents (人工智慧代理)」的效能
所以,接下來將逐一說明:
- 「人工智慧代理」的概念
- 「人工智慧代理」的工作流 (Agent workflow)
- 「Agent-based Prompt Engineering」是什麼
- 「Agent-based Prompt Engineering」如何在單一 LLM 中實現人工智慧代理的效能
(然後最後會有一題練習題。)
-
1. 回顧什麼是「人工智慧代理 (AI Agents)」
*人工智慧代理 (AI Agents) 定義:
一個以LLM為基礎發展、更為強大且具「自主性(Autonomy )」的系統實體。
其強大來自於:
在LLM已具備的「進行決策、執行行動以實現特定目標」基礎上,還能夠感知環境,「自主地」進行多步推理、規劃、利用工具,根據環境反饋調整。
2.「人工智慧代理」的工作流程/循環性的 (Prompt 設計技巧/ Loop)
*人工智慧代理的工作流程:
自主地實現「思考規劃(Plan) → 行動(Act) → 觀察(Observe) → 反思(Reflect)」循環
Step 1:思考規劃 (Plan)
接收用戶指令後,分析指令,並分解為一個逐步執行的計畫 (Plan)/子任務。
Step 2:行動 (Act)
根據計畫執行各項子任務,其中包含(外部)工具調用(if needed)。
Step 3:觀察 (Observe)
對執行後所獲得的結果進行觀察。
Step 4:反思 (Reflect)
反思對結果進行的觀察,評估判斷是否符合預期。如果結果未能解決問題,則將重新回到Step 1,重新開始「思考規劃→ 行動(Act) → 觀察(Observe) → 反思(Reflect)」循環。
3. 什麼是「Agent-based Prompt Engineering」
*Agent-based Prompt Engineering 定義:
一種 Prompt 設計技巧,目的是要讓單一LLM 可以「像一個 AI Agent一樣的運作」。
也就是,具備自主性,並依據 agentic workflow 運作。所以重點是:
- 實現 AI Agentic workflow:規劃→行動→觀察→反思
- 「自主的」實現 AI Agentic workflow:經歷完整的 workflow,在觀察(觀察產出結果),到反思(反思對於結果的觀察),若符合用戶指令可直接反饋給用戶,若不符則須回到規劃→行動→觀察→反思的流程。這整體,透過Agent-based Prompt Engineering,將會是自主實現的。
4.「Agent-based Prompt Engineering」如何在單一 LLM 中實現人工智慧代理的效能
為了實現「像個 AI Agent」運作,這整組 Prompt 的設計必須依據人工智慧代理的工作流程:「思考規劃(Plan) → 行動(Act) → 觀察(Observe) → 反思(Reflect)」循環。
設計重點:對應於 AI Agentic Workflow每個階段,個別設計專屬的 Prompt,以驅動該工作階段。
*Prompt Engineering 在各工作階段的設計重點:
Step 1:思考規劃 (Plan)
Prompt 的設計需能驅動 LLM 進行「思維鏈 (Chain-of-Thought, CoT)」以詳細列出解決問題所需採取的每個步驟/子任務。
Step 2:行動 (Act)
Prompt 的設計需能驅動 LLM 準確識別需要調用之工具,並運用工具使用(Tool-use)函數調用 (Function Calling) 之能力輸出行動指令。
Step 3:觀察 (Observe)
Prompt 的設計需能驅動 LLM 觀察將產出之結果,看是否能符於用戶需求、符於最初CoT的上下文脈絡。
Step 4:反思 (Reflect)
Prompt 的設計需要能讓 LLM 進行批判性思考,評估結果,並在發現問題時,提出修正方案或重新啟動規劃。
小總結:
代理人提示工程的核心,在於如何設計一組 Prompt,來驅動人工智慧代理的工作流程:「思考規劃(Plan) → 行動(Act) → 觀察(Observe) → 反思(Reflect)」循環。
這不是單一的 Prompt,而是一個Prompt 的集合,是一種更為複雜的提示工程形式在「單一 LLM」的實現,是以「編排」和「控制」實現一個like an AI Agent的自主運作。
-
今日練習:
想像您正在為一個「智能股票研究助理」設計代理人工作流。這個助理的最終目標是:「根據一家公司的最新財報,提供一個簡單易懂的投資建議」。
任務:設計一個使用「代理人提示工程 (Agent-based Prompt Engineering)」的流程。
請考慮以下幾點:
- 設計一個完整的代理人工作流 (Agentic Workflow): 請將這個任務分解為至少三個主要步驟,並明確標示出每個步驟的角色和目的。
- 為每個步驟設計一個「Prompt 模板」的核心指令: 為了驅動這個工作流,請為您分解的每個步驟,設計一個簡潔且精準的 Prompt 核心指令。
- 說明為什麼這是一個「代理人」的工作流: 請簡要解釋,為什麼您設計的這個流程,不能僅僅透過一個單一的、簡單的 Prompt 來完成,而必須使用代理人的思維模式。
練習題回答:
整體設計重點在於「規劃」和「分工」
- 預期 Input:一間公司的最新財報
- Task:進行分析
- Output:簡單易懂的投資建議
AI Agentic Workflow (4 Steps):
思考規劃 (Plan) →
設定Persona為「產業研究員」,展示完整的CoT,進行分析財報的任務分解。
CoT:確認輸入資料正確性、確認市場主體環境(偏內部,包含產業結構因素/上下游/所有內含成本因素)、確認市場外部影響(國際情勢/國際貿易情勢/政府政策)、
行動 (Act) →
設定Persona為「專業股票研究規劃師」,執行上一階段所拆解出來的各項子任務,並根據任務結果,生成文本。
需運用以下能力:
▪︎ 函數調用 (Function Calling):確認各種市場訊息(搜尋檢索)
▪︎ 工具應用 (Tool-use):財報內容核實(內容驗算校正)
▪︎ 文本生成:生成「投資建議文本」
觀察 (Observe) →
設定Persona為「一般投資散戶」。觀察所生成的「投資建議文本」是否符合用戶指定風格「簡單易懂的投資建議」,以及是否符於最初CoT的上下文脈絡。
反思 (Reflect) →
設定Persona為「專業投資達人」,對觀察結果進行批判性思考,評估結果,若發現問題即提出修正方案或重新啟動規劃。
最後一問:
為什麼這個流程不能只透過一個單一 Prompt 完成,而必須使用代理人的思維模式?
ANS:需要使用「代理人提示工程」是因為「透過財報分析提供投資建議」這個任務本身就很複雜,要達成任務的每一個環節,透過專一的 prompt,進行明確指令與約束、設定專門的角色扮演,是更為準確高效運用 LLM的做法。(其實寫著寫著,我都覺得好像是更像Multi-Agents...)