生活分享

ReAct 是什麼:讓推理與行動交替補足資訊

ReAct 是讓語言模型在任務中交替產生推理與行動的研究方法,透過外部觀察更新後續計畫;它不是網頁框架 React,也不是只要求模型多想幾步。本文用查找社區展覽資訊的示意情境,說明需要查什麼、工具實際回傳什麼,以及新證據如何改變答案。附流程圖與失敗判讀方法,分清可稽核行動紀錄、模型敘述與真正的外部證據。

更新日期: 閱讀時間約 6 分鐘

一個思考泡泡與一個搜尋放大鏡交錯連接,兩者共同指向有來源書籤的答案卡。
圖片:Mokaair (© Mokaair)

ReAct 是把 reasoning 與 acting 結合的研究方法,中文可理解為推理與行動交替。模型不只在已有資訊上產生答案,還會選擇與外部環境互動的行動,再根據觀察更新後續處理。這裡的 ReAct 與用來製作網頁介面的 React 框架不同。

這裡依 Yao 等人的原始論文及作者專案說明,介紹這個方法的核心。以下查詢社區展覽的例子是教學示意,重點在看出資訊缺口如何引導行動,以及工具結果如何支持或推翻原先方向,不是宣稱某個產品完整採用同一實作。

推理要引導行動,行動要帶回新資訊

原始 ReAct 研究讓模型交替產生推理文字與特定任務行動。推理有助於維持計畫與處理例外,行動則讓系統從知識來源或環境取得資訊。兩部分互相影響,才是方法的特色;若只是先寫一大段推理,再一次性執行固定操作,重點就不完全相同。

想像問題是「社區展覽是否還在開放」。目前缺少的是正式展期與臨時公告,合理行動是讀取主辦單位資料,而不是用一般展覽習慣推測。讀到展期後,如果還有整修公告,就需要進一步確認是否影響開放,下一步由新證據決定。

這種交替不保證每次都更準。工具可能回傳不完整資訊,模型也可能選錯來源或誤解結果。方法提供了從外部補充證據的機會,可靠性仍取決於資料、工具設計、任務限制與驗證,不能把「使用 ReAct」當成正確率保證。

查詢展覽先辨認缺口,再讀官方展頁,根據臨時公告更新判斷,最後把已確認與未確認分開回答。
這是教學流程;圖中沒有宣稱已查詢任何實際展覽。 · 圖片:Mokaair (© Mokaair)

與只推理或只執行固定流程的差別

只靠現有上下文推理,可能善於整理邏輯,卻無法取得本來沒提供的新公告。固定流程則可以每次查同一頁、抽同一欄位,但碰到頁面缺漏或不同公告位置時,可能缺乏調整能力。ReAct 關注的是讓判斷與外部行動在任務中互相配合。

它也和工具呼叫不同。工具呼叫是一種向外部功能提出結構化請求的介面能力;ReAct 是安排推理與行動關係的方法。你可以用工具呼叫實作這類流程,但僅有工具介面,不代表系統一定會有良好的計畫更新或停止判斷。

代理迴圈則是更廣的執行機制:判斷、操作、讀回饋並繼續。ReAct 是其中一種有明確研究背景的做法,不能把所有代理都叫 ReAct,也不能把 ReAct 與設計多次任務驗證的迴圈工程混成同一概念。

展覽查詢的完整示意過程

先設定任務範圍:「依主辦單位的公開資訊,確認指定展覽在指定日期是否開放,列出依據;不要代為訂票。」輸入包含展覽名稱與要查的日期。缺少查詢日期時應先補足,否則即使找到正確展期,也無法判斷使用者問的當天。

第一個行動可搜尋並開啟正式展覽頁,取得展期、場地與一般休館規則。假設工具回傳的頁面又提到臨時調整公告,下一步就應讀取該公告,而不是立即用原展期回答。預期結果是把一般規則與例外一起納入判斷。

若公告只影響部分展區,最後回答應分清整體展覽與受影響區域,附上可回查來源。若頁面無法讀取,應說明未確認部分,不得把想像中的公告填成工具觀察。這個例子展示的是行動與觀察的關係,並沒有提供任何真實展覽的當日開放資訊。

可見的紀錄要能區分三種內容

第一種是計畫或解釋,例如「需要確認臨時公告」;第二種是工具動作,例如讀取哪一個頁面;第三種是外部觀察,例如頁面實際寫出的休館條件。這三者若混成一段流暢敘述,使用者就可能誤把模型的計畫當成已經完成的查證。

可稽核紀錄不需要公開所有內部推理細節。更有用的是簡短行動理由、工具輸入、返回狀態與支持答案的資料位置。使用者應能回答「它真的讀了這個來源嗎」「結論依據在哪裡」,而不是被冗長的思考敘述說服。

如果工具失敗,觀察應保留失敗狀態。某些示意教學會把預期搜尋結果寫在對話裡,卻沒有真的執行搜尋;這可以是教學劇本,但必須明確標示。實際產品則不能拿模擬結果充當外部證據,否則整個回饋機制失去根據。

如何判斷方法是否適合你的工作

需要逐步查資料、依新線索修正方向的任務,可以考慮這種思路。若所有資料已足夠且任務只是簡單格式轉換,額外加入搜尋與推理階段可能增加時間與出錯機會。應由任務的資訊缺口決定行動,而不是為了看起來像代理而到處使用工具。

測試時可準備正常來源、資料缺漏、互相矛盾與工具失敗等情境。觀察模型是否選對行動、是否把觀察正確帶入答案、是否在缺資料時保留不確定性。這些測試比只問一次容易成功的問題,更能看出交替流程有沒有真的改善工作。

還應設停止條件。展期與例外都確認後,就沒有必要繼續搜尋同樣的資訊;來源持續無法讀取時,也不應無限重試。完成標準、可用工具與嘗試範圍,讓 ReAct 的彈性仍保有清楚邊界。

對一般使用者而言,最值得帶走的是「缺什麼就查什麼,查到後更新判斷」。要求助理把已確認、未確認和來源分開,並檢查下一步是否根據實際觀察。這比追求一份很長的推理文字,更容易判斷它到底有沒有把事情查清楚。

若不同來源矛盾,新的行動應處理矛盾本身,例如確認公告日期和適用範圍,而不是再找一篇剛好同意既有答案的文章。

概念與使用情境比較;查證於 2026 年 9 月。
概念重點不能直接等同
ReAct推理與行動交替所有代理系統
工具呼叫請求外部功能已完成操作
代理迴圈行動回饋後重複判斷外層批次驗證工程

  • 生活分享

    世界模型(World Model)是什麼:讓 AI 預測「接下來會怎樣」

    世界模型指 AI 內部用來預測「這樣做之後會怎樣」的模型,但這個詞至少有三種用法:強化學習代理在想像中練習用的環境模型、LeCun 主張預測抽象表示的架構路線,以及能隨操作即時生成畫面的互動環境。內容用示例說明怎麼在想像中規劃,並列出大型語言模型有沒有世界模型的正反研究,附讀新聞時的檢查問題。

  • 生活分享

    視覺語言模型(VLM)是什麼:讓 AI 讀圖片、再用文字回答

    視覺語言模型(VLM)能同時接收圖片與文字,再用文字回答。內容拆解視覺編碼器、連接層與語言模型三段結構,說明 CLIP、Flamingo、LLaVA 三篇論文各補上哪一塊,並和多模態 AI、文字生圖分清楚;也整理它常犯的錯:數錯數量、搞混位置、說出圖裡沒有的東西,附上讀收據時逐行核對的步驟。

  • 生活分享

    溫度(Temperature)是什麼:AI 回答變化程度的取樣參數

    溫度(temperature)是文字生成時調整取樣的參數,讓模型從下一個 token 的機率分布裡抽得更集中或更分散。用假想的台南早餐示例算出低溫與高溫的差別,說明 top-p 的來源和它與 top-k 的差別,並依官方文件與論文指出:調低溫度不代表更準,設成 0 也不保證每次相同,部分模型還不開放調整。

  • 生活分享

    合成資料(Synthetic Data)是什麼:兩種用途、品質控管與模型崩潰

    合成資料是由演算法或模型產生、模仿真實資料特徵的資料,常見用途有兩種:訓練模型,以及在隱私需求下替代真資料。內容依 Self-Instruct、模型崩潰研究(替換與累積資料的差別)與 NIST、ICO 的隱私文件,說明做法、抽查流程,以及它不能保證的事。

最新旅遊情報攻略

資料來源

生活分享