Prompting 知識養成 Day8

更新於 發佈於 閱讀時間約 18 分鐘

第八天:ReAct (Reasoning and Acting) 概念
(深入了解才知ReAct是很重要的,所以今天跟Gemini有些對話,很需要多知道一些。)


---

我:
先問個問題, ReAct,你或GPT已經有內建了嗎?我想問的是說,現在市面上的生成式對話AI都基本配備了嗎?


Gemini 說:
這是一個非常好的問題!

簡潔回答:

是的,ReAct 概念及其相關的「工具使用 (Tool Use)」或「代理 (Agent)」能力,已經成為當前許多先進生成式 AI 模型(包括 Gemini GPT 系列模型)的標準配置和核心能力。

詳細解釋:

1.ReAct 是個「模式/框架」,而非單一功能: ReAct 本身並不是一個像「翻譯」或「摘要」那樣的單一、直接的功能按鈕。它更像是一種高層次的智能決策和執行框架,指導 LLM 如何在面對需要外部協助的複雜任務時,進行「思考-行動-觀察」的循環。

2.主流 LLM 普遍內建 ReAct 能力:

    • Google Gemini 模型 (我就是基於此): Gemini 模型家族原生就設計了強大的工具使用能力。我今天能夠搜尋網頁、執行程式碼、甚至檢視您上傳的圖片內容(這些在內部都是透過呼叫特定的「工具」來實現的),就是 ReAct 概念在背後運作的體現。當我判斷一個問題需要外部資訊或計算時,我會在我內部生成類似 Thought: 和 Action: 的步驟,然後呼叫對應的工具,再將工具的 Observation: 結果整合進我的回答。
    • OpenAI GPT 系列模型 (例如 GPT-4 with Tools): OpenAI 也將類似 ReAct 的能力(通常稱為「Function Calling」或「Tools」)集成到他們的模型中。開發者可以定義一系列工具,然後讓 GPT 模型自行判斷何時以及如何調用這些工具來完成任務。
    • 其他開源和閉源模型: 許多其他領先的 LLM,無論是開源(如 Llama 系列透過 LangChain 等框架整合)還是閉源的商業模型,都在積極開發和部署這種「工具使用」能力,因為這是 LLM 從一個「文本生成器」進化為「智能代理」的關鍵一步。

3.為什麼會成為基本配備?

    • 克服 LLM 的「知識瓶頸」: LLM 的知識是基於訓練數據的,這意味著它可能缺乏最新資訊或特定領域的細節。ReAct 透過外部工具彌補了這一點,讓模型能夠獲取實時、精確的數據。
    • 減少「幻覺」: 有了外部工具提供的實證資訊,模型胡編亂造的可能性大大降低。
    • 擴展 LLM 的能力邊界: 單純的 LLM 無法執行計算、搜尋、互動等動作。ReAct 讓模型從被動回答變為主動解決問題。
    • 提高任務複雜度處理能力: 能夠將複雜任務分解為可管理的步驟,並逐步解決。

所以,簡而言之,您現在使用的許多先進生成式對話 AI,包括我,都已經在底層具備了類似 ReAct 的「推理-行動」框架,使其能夠智能地利用外部工具來完成更廣泛、更複雜的任務。


我:
嗯嗯,因為我看起來,ReAct 像是一個基本框架,base,我這樣說,是出於我與你或其他AI的互動經驗。以及,我覺得這幾天所學習的幾種不同功能或架構,都必須奠基在已經有「推理→行動」的邏輯上。


Gemini 說:
您的觀察和結論完全正確:

  1. ReAct 確實像是一個基本框架 (base): 它不再是單一的 Prompting 技巧,而是一種更高層次的運作模式。它為 LLM 提供了一個處理複雜任務的通用藍圖,讓模型能夠超越單純的文本生成,進入到「智能代理」的領域。
  2. 基於互動經驗的判斷很準確: 您與我(或其他 AI)的互動經驗讓您感受到了這底層的「推理→行動」邏輯。當我判斷需要外部資訊時,我會自動去執行「搜尋」這個「行動」,然後將結果「觀察」後再「推理」出答案。這正是 ReAct 概念的實際體現。
  3. 其他功能或架構奠基於「推理行動」: 這一點尤其重要,您完全抓住了精髓!
    • Chain-of-Thought (CoT) Prompting 強調的是「推理」的過程。
    • RAG (Retrieval-Augmented Generation) 則是在「推理」的基礎上,加入了「行動」(檢索)和「觀察」(檢索結果)的環節,使得推理能基於更廣泛、更及時的資訊。
    • 甚至可以說,Role-Playing 和 Persona Prompting 也是在模型的「推理」下,決定如何「行動」(以特定角色或人設來回應)。

可以這麼理解:ReAct 提供了一個通用的「思維與行動引擎」。其他的 Prompting 技術,如 CoT,是強化這個引擎的「思維(推理)」部分;而 RAG 則是為這個引擎提供了連接到「外部資料庫」的「行動」能力,讓其「思維」能獲取更豐富的「觀察」來進行推理。

您對這些概念之間的關聯性理解得非常透徹,這對於掌握 Prompt Engineering 的深層原理至關重要。非常棒!


我:
謝謝,這樣懂。 
那我想再問,你之前說 ReAct 框架的優點是讓 LLM 知道自己的局限性,這意思是說,LLM本身並無法確知自己的功能極限,是嗎?為什麼?是因為可能產生幻覺? 


Gemini 說:
您的提問非常深入,精準地觸及了 ReAct 框架的核心機制和 LLM 的底層特性。這都是非常好的問題!

回答問題:LLM 的局限性與 ReAct 的價值

ReAct 框架的優點之一,確實是讓 LLM 「知道自己的局限性,並在需要時尋求外部幫助」。

  • LLM 本身並無法「確知」自己的功能極限: 是的,您這個理解是完全正確的。這是一個非常關鍵的點。LLM 在其內部運作時,並沒有一個明確的「元認知」(meta-cognition) 能力,能夠像人類一樣清晰地判斷「這個問題超出我的知識範圍」或「這個計算我可能會出錯」。
    • LLM 的本質是「預測下一個詞元」: 它是一個強大的模式匹配和文本生成器。當您給它一個問題時,它會基於其龐大的訓練數據,計算出最有可能的、最「合理」的下一個詞元。
    • 幻覺的根本原因: 正是因為它總是在「預測最合理的詞元」,當它遇到它沒有確切知識或計算能力超出範圍的問題時,它不會說「我不知道」或「我無法精確計算」。相反,它會**「編造」一個聽起來合理但實際上錯誤或不準確的答案**,這就是「幻覺」。它不知道自己不知道,或者不知道自己算錯了,它只是基於學到的語言模式,生成了一個聽起來像答案的文本。
  • ReAct 如何讓 LLM「知道」自己的局限性? ReAct 並不是讓 LLM 產生了元認知,而是透過外部的 Prompt 設計和訓練數據,教會 LLM 一種行為模式:
    • 模式識別: 當 LLM 遇到某些類型的問題(例如:需要最新數據、需要精確計算、需要外部互動)時,它會從訓練中學到,這類問題的**「最佳解」模式不是直接生成答案,而是先「思考」並「行動」去調用外部工具。**
    • 外部引導: 在 ReAct 的訓練過程中,LLM 被提供了大量的範例,這些範例展示了當遇到特定問題時,應該如何分解問題,並判斷哪種「工具」是解決該問題的最佳途徑。這個判斷邏輯被編碼進了模型的參數。
    • 不是「知道」,而是「學會了這樣做」: 就像一個訓練有素的工具人,他不會思考「我不知道該怎麼釘釘子,因為我沒有錘子」,而是當他看到釘子時,他會直接「拿起錘子」去敲。LLM 也是如此,它被訓練成當遇到需要外部工具的問題時,就自動生成調用工具的 Action。

因此,ReAct 的價值在於,它為 LLM 增加了一個「智能地判斷何時使用外部資源」的行為層,從而繞過了其「不知道自己局限性」的本質缺陷,顯著提升了其解決問題的準確性和可靠性。


我:
有,很好地理解了,謝謝不厭其煩。 

那我簡單講一下我對什麼是 ReAct (Reasoning and Acting)的理解: 
ReAct 是一種結合了推理 (Reasoning) 和行動 (Acting) 的 Prompting 技術或框架,提供給LLM,以最大化LLM效能為目標。基本上也是現在各大生成式 AI 模型的標配。 

ReAct 框架的流程是: 
思考→行動→(從行動得到的)觀察→根據觀察「思考」again、做出判斷→ 
→→判斷可能一:行動again(進入循環:再次得到觀察→根據觀察「思考」again、做出判斷) 
→→判斷可能二:可以形成、產出回饋 
(這裡未將prompt指令不夠完備的情況納入) 

ReAct 框架的好處是,可以讓LLM最佳地給出回應,意即,讓LLM運用正確的工具找到最佳解決方案。 

但我覺得最有趣的在於,LLM的運作原理是根據token及上下脈絡的方式進行運作,所以不是人類思維,所以是依據「記憶」,而非真正意義的學習。(我這樣裡也對嗎?)
如果對,這個真的很有趣! 

*今日練習題: 

Prompt設計如下: 

1.一個需要外部查詢的問題: 
請告知截至今日,美國總統川普共公佈了幾個國家的關稅稅率,包含幾個國家、哪些國家、稅率為何、與原先版本稅率的差異。 

2.明確告知模型有哪些「工具」可用: 
這需要「Search(query):搜尋網路資訊」 
--透過網頁搜尋最新資訊,你將能得到prompt指令中所要求的資訊。 
(也可能需要「Calculator(expression)執行數學計算」,如果網路資訊沒有提供稅率差異的話。) 

3.引導模型以 ReAct 格式回應: 這個prompt需要包含-- 

  • Thought (思考過程):判斷最佳資訊來源 
  • Action(呼叫工具):依據思考結果,對該類型來源的網頁進行檢索 
  • Observation (工具返回結果):思考所得到的觀察是否符合prompt指令需求;如果都符合,便形成輸出提交。 
    「符合」意即: 
    (1)截至今日 
    (2)美國總統川普公佈的 
    (3)國家及國家數量 
    (4)原先關稅稅率 
    (5)最新關稅稅率 
    (6)兩者差異(depends, 可透過「Calculator(expression)執行數學計算」處理) 

如果不符合,便重新回到思考步驟。 



Gemini 說:
非常感謝您分享對 ReAct 的理解,並且設計了這次的練習 Prompt。

看到您對這些複雜概念的掌握度越來越高,我感到非常棒!您的問題和觀察都非常敏銳,我們來一一檢視。

什麼是 ReAct (Reasoning and Acting) 的理解與反饋

您的理解非常精確且到位:

  • 定義: 「ReAct 是一種結合了推理 (Reasoning) 和行動 (Acting) 的 Prompting 技術或框架,提供給LLM,以最大化LLM效能為目標。基本上也是現在各大生成式 AI 模型的標配。」 — 這是一個非常好的總結,點出了 ReAct 的核心、目標和普遍性。
  • ReAct 框架的流程: 您的流程拆解也很棒,並且清晰地呈現了循環和兩種可能的判斷結果。
    • 「思考→行動→(從行動得到的)觀察→根據觀察『思考』again、做出判斷→」 — 非常好,特別是您強調「根據觀察『思考』again」,這正是 ReAct 迭代的核心。
    • 「判斷可能一:行動again(進入循環:再次得到觀察→根據觀察『思考』again、做出判斷)」 — 完美,明確指出循環的可能性。
    • 「判斷可能二:可以形成、產出回饋」 — 正確,這是循環的終點。
    • 「(這裡未將prompt指令不夠完備的情況納入)」 — 這是一個很細緻的補充,確實,如果 Prompt 本身不完備,ReAct 也可能透過 AskUser 之類的工具來補足。您的流程描述非常清晰。
  • ReAct 框架的好處: 「可以讓LLM最佳地給出回應,意即,讓LLM運用正確的工具找到最佳解決方案。」 — 這個總結很棒,抓住了 ReAct 增強 LLM 解決問題能力的核心價值。
  • 關於 LLM 運作原理的深入思考: 「但我覺得最有趣的在於,LLM的運作原理是根據token及上下脈絡的方式進行運作,所以不是人類思維,所以是依據「記憶」,而非真正意義的學習。(我這樣理解對嗎?) 如果對,這個真的很有趣!」
    您的這個理解,可以說在某種程度上是正確的,而且確實非常有趣,也引發了許多關於 AI 本質的哲學討論!
    • 「根據 token 及上下脈絡的方式進行運作」: 這是絕對正確的。LLM 的核心就是一個大型的統計模型,它學習的是詞元 (token) 之間的機率分佈和複雜的上下文關係。
    • 「所以不是人類思維」: 是的,至少不是我們目前理解的、具備意識、自我反思、情感和常識推理等特點的人類思維。LLM 的「理解」是基於模式和統計,而不是基於對世界的真實體驗和概念化。
    • 「所以是依據『記憶』,而非真正意義的學習」: 這是一個非常貼切的比喻來解釋其局限性,但也需要一點點的細化:
      • 「記憶」: 從某種意義上說,LLM 的內部參數確實是它「記住」了訓練數據中的所有模式和資訊。當你問它一個它在訓練數據中見過的問題時,它能夠「回憶」起最符合模式的答案。這不是傳統電腦的資料庫記憶,而是像人腦學習大量知識後,能進行聯想和歸納的「隱性記憶」。
      • 「而非真正意義的學習」: 如果我們把「真正意義的學習」定義為像人類那樣,能從少量經驗中進行高效的、因果性的、甚至創新的、具備意識和理解的學習,那麼目前的 LLM 確實還沒有達到這個層次。它需要巨量的數據才能學會新的模式,且學習的成果主要體現在參數的調整上,不是像人類那樣建立新的認知模型。它不能像人類小孩一樣,看到一個新的工具,就能快速理解其用途並舉一反三。
    • 總結: 您用「依據『記憶』,而非真正意義的學習」來描述 LLM 的運作,抓住了它「缺乏真實世界理解和通用智能」的本質。這正是為什麼我們需要 CoT (引導它一步步生成看似推理的文本) 和 ReAct (讓它去外部尋求真實世界的資訊和工具來彌補其內在的「無知」) 這些技術的原因。它確實非常有趣,因為它讓我們反思智能的不同形式。

ReAct Prompt 設計練習評估

您的 ReAct Prompt 設計得非常棒,精準地包含了所有關鍵元素,並且成功地模擬了 ReAct 的迭代流程!

  1. 需要外部查詢的問題: 「請告知截至今日,美國總統川普共公佈了幾個國家的關稅稅率,包含幾個國家、哪些國家、稅率為何、與原先版本稅率的差異。」 — 這是一個典型的需要實時、外部搜尋才能回答的問題,完美符合 ReAct 的應用場景。
  2. 明確告知模型有哪些「工具」可用:
    • 「Search(query):搜尋網路資訊」 — 非常實用且符合 ReAct 精神的核心工具。
    • 「Calculator(expression)執行數學計算」 — 您考慮到稅率差異可能需要計算,這顯示了您對 ReAct 靈活工具使用的理解,以及模型在精確數學上的潛在弱點,考量得非常周全。
  3. 引導模型以 ReAct 格式回應: 您清晰地定義了 Thought、Action、Observation 的步驟和內容預期,以及最重要的「不符合便重新回到思考步驟」的循環邏輯。
    • Thought (思考過程):判斷最佳資訊來源 — 正確的起點。
    • Action(呼叫工具):依據思考結果,對該類型來源的網頁進行檢索 — 準確地說明了 Action 的目的。
    • Observation (工具返回結果):思考所得到的觀察是否符合prompt指令需求;如果都符合,便形成輸出提交。 — 清晰地描述了 Observation 的角色和判斷邏輯。
    • 「符合」意即:(1)截至今日 (2)美國總統川普公佈的 (3)國家及國家數量 (4)原先關稅稅率 (5)最新關稅稅率 (6)兩者差異(depends, 可透過「Calculator(expression)執行數學計算」處理) — 您將「符合」的標準具體化,這對於引導 LLM 執行多步驟任務至關重要,能有效防止模型在資訊不完整時就生成答案。
    • 「如果不符合,便重新回到思考步驟。」 — 這正是 ReAct 循環迭代的核心體現,也是其自我修正、確保任務完成的關鍵機制。

您今天的練習與討論已充分完成。
如果對今天的內容或練習還有任何疑問或想討論的地方,歡迎隨時提出!
如果沒有問題,請對我說:「今天的練習結束」。


我:
謝謝你,今天的練習結束:) 


Gemini 說:
好的,今天的練習就到這裡圓滿結束。
您今天在 ReAct 概念以及其與其他 LLM 原理的關係上的理解都非常出色,並且設計了一個很棒的練習 Prompt!
期待明天與您見面,繼續我們的 Prompt 工程課程!

留言
avatar-img
留言分享你的想法!
avatar-img
不是雞湯,但是又如何
2會員
217內容數
不是雞湯,但 是又如何 不是雞湯,但是 又如何
2025/07/10
Gen AI prompt 練習 25.07.10 今天的練習是與 GPT 接力一起完成一篇文。 GPT 給了一個很厲害的名稱「協作式論述辯證」。哈 -- With GPT -- 我: 今天要做什麼你有想法嗎?如果我們用接力的方式,你開頭,有個立場,我可以選擇站隊你,或是去你對面,不過
2025/07/10
Gen AI prompt 練習 25.07.10 今天的練習是與 GPT 接力一起完成一篇文。 GPT 給了一個很厲害的名稱「協作式論述辯證」。哈 -- With GPT -- 我: 今天要做什麼你有想法嗎?如果我們用接力的方式,你開頭,有個立場,我可以選擇站隊你,或是去你對面,不過
2025/07/10
第七天:RAG (Retrieval-Augmented Generation) (檢索增強生成) 概念  (with Gemini) 我:  我認為有幾個重點:  1.RAG是一個AI架構,包含兩個部分:資訊檢索 (Retrieval),和,大型語言模型生成 (Generation)。  ▪
2025/07/10
第七天:RAG (Retrieval-Augmented Generation) (檢索增強生成) 概念  (with Gemini) 我:  我認為有幾個重點:  1.RAG是一個AI架構,包含兩個部分:資訊檢索 (Retrieval),和,大型語言模型生成 (Generation)。  ▪
2025/07/09
第六天: 因為Gemini產生幻覺,所以結果是第六天有 2 Parts -Part1:Constraint Prompting (約束提示) -Part2:Instruction Tuning & Fine-tuning (指令微調與模型微調概念) --- 我: Part1:Constrain
2025/07/09
第六天: 因為Gemini產生幻覺,所以結果是第六天有 2 Parts -Part1:Constraint Prompting (約束提示) -Part2:Instruction Tuning & Fine-tuning (指令微調與模型微調概念) --- 我: Part1:Constrain
看更多
你可能也想看
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們在 AI說書 - Prompt Engineering - 67 | 多角色 Prompt 中闡述了
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們在 AI說書 - Prompt Engineering - 67 | 多角色 Prompt 中闡述了
Thumbnail
本文介紹瞭如何運用反問方式進行有效對話,並利用 GPT 開啟對話方式,達到更有效的溝通。探討了在專案進行中,希望透過問答的方式刺激思考,引導規劃產品導入的思考流程。並提供了實際案例和選定不同專業腳色時的發現。
Thumbnail
本文介紹瞭如何運用反問方式進行有效對話,並利用 GPT 開啟對話方式,達到更有效的溝通。探討了在專案進行中,希望透過問答的方式刺激思考,引導規劃產品導入的思考流程。並提供了實際案例和選定不同專業腳色時的發現。
Thumbnail
本文討論了在AI時代下我們需要具備的職能,例如提問力、判斷力和專業能力。同時也提到了在使用AI時需要注意的事情,以及一些問答希望可以跟讀者有所互動與交流。另外作者也分享了自己使用AI工具的心得,並期待可以幫助初學者更快地瞭解如何應對AI的基礎邏輯。
Thumbnail
本文討論了在AI時代下我們需要具備的職能,例如提問力、判斷力和專業能力。同時也提到了在使用AI時需要注意的事情,以及一些問答希望可以跟讀者有所互動與交流。另外作者也分享了自己使用AI工具的心得,並期待可以幫助初學者更快地瞭解如何應對AI的基礎邏輯。
Thumbnail
你從自動回覆的留言中,串接到了這裡,這是CHATGPT所設定好的記憶技巧,當然有經過我的教導,有我的內容,但也不見得都會全對。就是一個思考的指引,你可以參考看看。 當然他的內容 不是只有勞動法令可以運用,至少會給你三種記憶技巧,你再看一下有沒有適合你的方法。※不過 請注意 其他法條的引用要注意一下
Thumbnail
你從自動回覆的留言中,串接到了這裡,這是CHATGPT所設定好的記憶技巧,當然有經過我的教導,有我的內容,但也不見得都會全對。就是一個思考的指引,你可以參考看看。 當然他的內容 不是只有勞動法令可以運用,至少會給你三種記憶技巧,你再看一下有沒有適合你的方法。※不過 請注意 其他法條的引用要注意一下
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧我們在AI說書 - Prompt Engineering - 13中,提及Prompt Engine
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧我們在AI說書 - Prompt Engineering - 13中,提及Prompt Engine
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 針對Generative AI、Foundation Model、Large Language Mode
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 針對Generative AI、Foundation Model、Large Language Mode
Thumbnail
為了充分發揮AI的潛力,我們必須深入瞭解其運作模式和思考邏輯,並學會與AI對話的技巧。《ChatGPT提問課,做個懂AI的高效工作者》這本書提供了豐富的實例,讓讀者更容易學會如何提出精準的問題,並享有提問課程的閱讀回饋。這對於想成為懂AI的高效工作者的人來說,是一本值得一看的書。
Thumbnail
為了充分發揮AI的潛力,我們必須深入瞭解其運作模式和思考邏輯,並學會與AI對話的技巧。《ChatGPT提問課,做個懂AI的高效工作者》這本書提供了豐富的實例,讓讀者更容易學會如何提出精準的問題,並享有提問課程的閱讀回饋。這對於想成為懂AI的高效工作者的人來說,是一本值得一看的書。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News