智慧體課程文件

透過“思想-行動-觀察”迴圈理解AI Agent

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

透過“思想-行動-觀察”迴圈理解AI Agent

Unit 1 planning

在之前的章節中,我們學習了

  • 如何透過系統提示將工具提供給Agent.
  • AI Agent是如何能夠“推理”、規劃並與環境互動的系統.

在本節中,**我們將探討完整的AI Agent工作流**,這是一個我們定義為“思想-行動-觀察”的迴圈。

然後,我們將深入探討這些步驟中的每一步。

核心組成部分

Agent的工作是一個持續的迴圈:**思考(Thought)→行動(Act)→觀察(Observe)**。

讓我們一起分解這些行動

  1. **思想**:Agent的LLM部分決定下一步應該是什麼。
  2. **行動**:Agent透過呼叫工具並附帶相關引數來執行行動。
  3. **觀察**:模型反思工具的響應。

“思想-行動-觀察”迴圈

這三個元件在一個連續的迴圈中協同工作。用程式設計的類比來說,Agent使用了一個**while迴圈**:迴圈持續進行,直到Agent的目標實現為止。

視覺上,它看起來是這樣的

Think, Act, Observe cycle

在許多Agent框架中,**規則和準則直接嵌入到系統提示中**,確保每個迴圈都遵循定義的邏輯。

在一個簡化版本中,我們的系統提示可能如下所示

Think, Act, Observe cycle

我們在此處看到在系統訊息中定義了

  • *Agent的行為*。
  • *我們的Agent可以訪問的工具*,正如我們在上一節中所述。
  • *“思想-行動-觀察”迴圈*,我們將其融入LLM指令中。

讓我們舉一個小例子來理解這個過程,然後再深入探討過程中的每個步驟。

天氣Agent阿爾弗雷德

我們建立了天氣Agent阿爾弗雷德。

使用者問阿爾弗雷德:“紐約現在天氣怎麼樣?”

Alfred Agent

阿爾弗雷德的工作是使用天氣API工具回答這個查詢。

迴圈展開如下

思考

內部推理

收到查詢後,阿爾弗雷德的內部對話可能是

“使用者需要紐約的當前天氣資訊。我有一個可以獲取天氣資料的工具。首先,我需要呼叫天氣API來獲取最新詳細資訊。”

這一步顯示Agent將問題分解為多個步驟:首先,收集必要的資料。

Alfred Agent

行動

工具使用

根據其推理以及阿爾弗雷德對`get_weather`工具的瞭解,阿爾弗雷德準備了一個JSON格式的命令,用於呼叫天氣API工具。例如,它的第一個行動可能是

思考:我需要檢視紐約的當前天氣。

   {
     "action": "get_weather",
     "action_input": {
       "location": "New York"
     }
   }

此處,行動明確指定了要呼叫的工具(例如,get_weather)以及要傳遞的引數(“location”:“New York”)。

Alfred Agent

觀察

環境反饋

工具呼叫後,阿爾弗雷德收到一個觀察結果。這可能是來自API的原始天氣資料,例如

“紐約當前天氣:區域性多雲,15°C,溼度60%。”

Alfred Agent

然後將此觀察結果作為附加上下文新增到提示中。它起著現實世界反饋的作用,確認行動是否成功並提供所需的詳細資訊。

更新的思考

反思

得到觀察結果後,阿爾弗雷德更新其內部推理

“既然我已經有了紐約的天氣資料,我就可以為使用者編寫答案了。”

Alfred Agent

最終行動

阿爾弗雷德然後生成一個按照我們指示格式化的最終響應

思考:我現在有了天氣資料。紐約目前天氣區域性多雲,氣溫15°C,溼度60%。

最終答案:紐約目前天氣區域性多雲,氣溫15°C,溼度60%。

這個最終行動將答案發送回使用者,從而閉合了迴圈。

Alfred Agent

我們在此示例中看到的內容

  • Agent透過迴圈迭代,直到目標實現。

**阿爾弗雷德的過程是週期性的**。它從一個思想開始,然後透過呼叫工具進行行動,最後觀察結果。如果觀察結果表明有錯誤或資料不完整,阿爾弗雷德可以重新進入迴圈以修正其方法。

  • 工具整合

呼叫工具(如天氣API)的能力使阿爾弗雷德能夠**超越靜態知識並檢索即時資料**,這是許多AI Agent的一個重要方面。

  • 動態適應

每個迴圈都允許Agent將新資訊(觀察結果)融入其推理(思想)中,確保最終答案資訊充分且準確。

這個例子展示了**ReAct迴圈**(我們將在下一節中闡述的概念)背後的核心概念:**思想、行動和觀察的相互作用使AI Agent能夠迭代地解決複雜任務**。

透過理解和應用這些原則,您可以設計出不僅能對其任務進行推理,還能**有效利用外部工具完成任務**的Agent,同時根據環境反饋不斷最佳化其輸出。


現在讓我們更深入地探討思想、行動、觀察作為過程的各個步驟。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.