代理式人工智慧與工具使用
推理—行動迴圈(ReAct)
推理—行動迴圈讓語言模型在「出聲思考」與「實際動手」之間交替進行。代理不是一口氣吐出一段長答案,而是寫下一小段想法、執行一個動作(例如搜尋或計算)、讀回環境給的觀察結果,然後再次思考。想像一位偵探:先推理一步、查看一條線索、更新假設,接著才決定下一步——推理與行動逐回合相互強化。
形式上,每一回合會把一組(想法、動作、觀察)三元組接到上下文後面,模型則在這條不斷增長的軌跡上自迴歸解碼。動作取自固定的工具詞彙,例如 search[query]、lookup[entity] 或 finish[answer];環境回傳的觀察字串會原封不動地餵回去。這種交錯把思維鏈錨定在外部證據上,比起純推理可降低幻覺,而顯式推理又比起純行動更能引導該呼叫哪個工具。
ReAct 是一種提示與控制模式,不是一個訓練好的模型:它的可靠度取決於底層模型的指令遵循能力,以及對動作語法的穩健解析。過長的軌跡會膨脹上下文成本、也可能偏離任務,因此實務系統會限制迴圈次數,並加上一個驗證器或明確的停止條件。
Thought: I need the population, then divide by area. Action: search["Taiwan population 2024"] Observation: ~23.4 million Thought: Now divide by 36,197 km^2. Action: calc[23400000/36197] Observation: 646 Action: finish["~646 people per km^2"]
一段簡短的 ReAct 軌跡,交錯著想法、工具動作與觀察,直到 finish 動作為止。
ReAct 把推理錨定在觀察上,但本身並不保證代理能從錯誤動作中復原——錯誤回復仍需反思機制或驗證器。
又稱
另見