🦸🏻#13:行動!AI 智慧體如何使用 UI 和 API 工具執行任務

社群文章 釋出日期:2025年3月10日

我們探索了 UI 驅動與 API 驅動的互動方式,揭示了 LLM 中的函式呼叫,並比較了驅動自主 AI 行動的主要開源框架

至此,我們已經探索了自主智慧體的所有關鍵組成部分:配置檔案(身份、目標、約束)、知識(基本事實)、記憶(過去上下文)、推理和規劃(任務分解、推理、行動計劃)以及反思(評估結果以透過反饋迴圈改進未來效能)。除了一個例外——**行動**,它是自主智慧體執行計劃活動、與環境或外部工具互動併產生切實成果的實際步驟。行動將理論與現實聯絡起來,使其對智慧體的自主性至關重要。它們使 AI 智慧體能夠“做一些事情”,而不僅僅是“說一些事情”。

在智慧體 AI 中,“行動”是指智慧體與外部系統互動的任何操作——它超越了被動文字響應,能夠主動獲取資料、執行程式碼、呼叫 API 或控制介面。工具整合至關重要,因為它擴充套件了智慧體的能力,使其超越模型權重,實現真正的自主性。智慧體 AI 動態應用工具和來自感測器、資料庫或 Web API 的即時資訊,以適應並解決複雜的現實任務。

在本文中,我們將探討 UI 驅動與 API 驅動的方法,闡明 LLM 中的函式呼叫,並比較諸如 LangGraph、Microsoft AutoGen、CrewAI、Composio、OctoTools、BabyAGI 和 MemGPT (Letta) 等主要開源框架。這不是一篇輕鬆的閱讀,但如果您對智慧體感興趣,它包含了有用的見解。


🔳 Turing Post 在 🤗 Hugging Face 上駐紮 -> 點選關注!


本期內容包括什麼?

行動的重要組成部分

工具學習:基於 UI 與基於 API 的互動

在實現智慧體行動方面,一個基本的選擇是智慧體如何與外部工具或應用程式互動。廣義上,這些互動分為兩類:**基於 UI 的互動和基於 API 的互動。**

  • **基於 UI 的工具使用:** 在這種方法中,AI 智慧體像人類一樣操作軟體的使用者介面 (UI)——點選按鈕、在表單中輸入、閱讀螢幕資訊。這種計算機使用 AI 智慧體本質上模擬了人類使用者在前端的行為。這種方法類似於 AI 驅動的機器人流程自動化 (RPA)。基於 UI 的行動的優點是,即使無法或禁止直接程式設計訪問,它也能工作。例如,如果企業應用程式沒有公共 API,或者網站的服務條款禁止抓取,智慧體仍然可以透過像員工一樣導航 UI 來執行任務。基於 UI 的智慧體天生符合前端使用策略,並且可以跨多個不同的應用程式整合工作流。然而,這種方法可能更慢,也更脆弱——介面的變化或佈局的改變可能會破壞智慧體的“指令碼”,而且為智慧體操作設定虛擬瀏覽器或桌面環境會增加複雜性。
  • **基於 API 的工具使用:** 在這種方法中,智慧體直接使用後端 API 或函式呼叫與軟體系統互動。例如,智慧體不會透過點選網頁來獲取股票價格,而是可能呼叫一個 REST API,該 API 以 JSON 格式返回資料。基於 API 的操作更結構化、更高效:它們為智慧體提供精確資料,或讓智慧體觸發已定義的操作(例如,透過 API 建立日曆事件),而無需解析視覺化介面。

在實踐中,**現代 AI 智慧體框架優先選擇基於 API 的工具,因為它們具有可靠性和速度**。即使 Anthropic 的 Computer Use 工具(允許智慧體與虛擬環境互動)也依賴於 API。在這種語境下的工具學習意味著促使 AI 理解何時以及如何使用工具,通常透過一系列提示、約束和示例。根據可用工具的描述和使用示例,基於 LLM 的智慧體可以為查詢選擇正確的工具,並生成正確的 API 呼叫格式,從而有效地從指令中學習工具的介面。AI 從業者表示,使其工作很容易,但要保持其持續穩定工作卻很難。Toolformer 等研究表明,LLM 可以透過微調來自動插入 API 呼叫,但實際系統通常使用提示工程或函式呼叫介面,而不是重新訓練。對於企業來說,UI 工具和 API 工具之間的選擇很重要:專注於 API 的智慧體在具有強大 API 的情況下在效率和可擴充套件性方面表現出色,而基於 UI 的智慧體對於傳統系統或僅限 UI 的平臺是必需的。

函式呼叫:LLM 如何呼叫外部函式

函式呼叫是一項最近引入的功能,已成為智慧體 AI 工作流的基石。它允許開發人員在不重新訓練 LLM 的情況下擴充套件其功能,可以透過提示或微調實現。每個函式都是模組化的、自包含的,並且可以獨立維護。

因此,LLM 可以在其響應中顯式呼叫外部函式或 API。LLM 不會直接給出最終答案,而是可以返回一個結構化的“函式呼叫”(例如:call_weather_api(location="London")),表示需要外部工具。然後,智慧體框架或呼叫程式碼將執行此函式(例如,實際呼叫帶有給定引數的天氣 API),獲取結果(例如,當前溫度和預報),並將結果反饋給 LLM。然後,LLM 可以將即時資料整合到其對使用者的最終答案中。這種機制有效地擴充套件了 LLM 的能力,使其超越了訓練知識,從而能夠執行現實世界的動作或查詢最新資訊。

image/png

在底層,函式呼叫通常透過向 LLM 提供其可以使用的函式的模式或定義來工作。在提示期間,如果模型“決定”使用者的請求需要其中一個函式,它會輸出一個 JSON 或結構化塊,指示函式名稱和引數(而不是或在正常答案之前)。智慧體編排器會檢測到這一點並執行該函式,然後將函式的輸出反饋給模型(通常在系統訊息或對話的繼續中),以便模型可以繼續使用新資訊進行處理。例如,如果使用者詢問“我們今天有多少個開放的支援工單?”,LLM 可能會認為它應該呼叫 get_open_tickets() 函式。它會生成一個函式呼叫輸出,系統會執行該 API 呼叫到公司資料庫,獲取數字,並將其返回給 LLM,然後 LLM 會回覆“您目前有 42 個開放的支援工單。”

函式呼叫是 LLM 工作流中整合**外部動作**的強大方式。它確保了與工具的互動是**可靠且結構化的**——模型使用函式的意圖是顯式的,而不是隱藏在自由文字中。這減少了分析模型輸出以觸發動作的錯誤。最初,在原生函式呼叫可用之前(例如,在早期 GPT-4 中),框架使用精心設計的提示模式使模型輸出偽命令(如 Action: Search["query"]),框架會解析並執行這些命令。如今,許多 LLM 平臺(OpenAI、Azure 等)都原生支援函式呼叫,並且開源 LLM 專案也在整合類似的思想。這為動態工具使用打開了大門,AI 可以無縫地利用從網路搜尋、數學計算器、資料庫甚至物聯網裝置驅動等各種功能庫——所有這些都在一次對話中完成。總之,函式呼叫讓 AI 智慧體可以(透過程式碼)在現實世界中做事情,而不僅僅是說事情,這大大增強了它們在實際工作流中的實用性。

支援行動的開源框架

在過去一年中,各種框架不斷湧現,旨在幫助開發人員構建智慧體 AI 系統。這些框架為行動選擇、工具整合、記憶體管理和多步驟推理提供了核心基礎設施。

在我們的“反思”一集中,我們探討了 **ReAct 正規化**,這是一種用於推理-行動迴圈的基礎開源方法。ReAct 使 LLM 能夠迭代地將推理與工具使用交織在一起,使其成為 LangChain 和 AutoGPT 等框架中廣泛採用的策略。雖然 ReAct 具有高度靈活性,但需要結構化的監督以防止冗餘迴圈。許多現代框架以 ReAct 為基礎,以提高準確性和可擴充套件性。

下面,我們比較了幾個值得注意的框架,重點關注它們如何執行操作。每個框架都提供了獨特的編排**感知 → 推理 → 行動迴圈**的方法。

LangGraph

一個用於基於圖的工作流表示的開源框架,能夠對複雜的代理行為進行細粒度控制。與線性指令碼不同,LangGraph 定義了一個由節點(LLM 呼叫、工具 API)組成的圖,邊緣控制資訊流。它擅長視覺化依賴關係和管理多步驟任務。它建立在 LangChain 之上,可以與資料庫、網頁搜尋和其他工具無縫整合。支援並行執行和非同步子代理以提高效能。LangGraph Studio 提供了一個視覺化 IDE,用於除錯代理工作流。缺點是由於需要手動構建圖,其學習曲線很陡峭。

AutoGen (微軟)

一個用於多智慧體協作的開源事件驅動框架。專為程式碼生成等場景而設計,其中智慧體非同步協作(例如,“Writer”起草,“Reviewer”除錯)。特點是非同步訊息傳遞以實現即時響應,模組化工具整合(透過 LangChain 和函式呼叫),以及分散式部署支援。包括用於無程式碼編排的 AutoGen Studio。高度可擴充套件,但強制執行結構化模式(例如,訊息迴圈模型),這需要一些學習。

CrewAI

一個高階的開源框架,透過基於角色的結構(例如,“研究員”,“解決者”)強調多智慧體協作。它建立在 LangChain 之上,便於工具整合和記憶體管理,並優先考慮易用性,提供現成的模板。非常適合快速原型設計和頭腦風暴,但提供的細粒度控制不如 LangGraph。最適合小規模智慧體編排,而非高度並行或即時密集型任務。

Composio

一個用於分層任務規劃和執行的開源框架。支援具有即時反饋和依賴管理的自適應工作流。適用於複雜的多步驟任務(例如,多階段事務、專案管理)。提供深度定製,包括模組化工具選擇和狀態管理,但需要更多配置工作。更側重於工作流深度而非高併發性。

OctoTools (斯坦福大學)

一個研究驅動的開源框架,用於結構化工具使用。它使用“工具卡片”來定義 API 互動,將規劃與執行分離。透過為每個查詢選擇最小工具集來最佳化多工具推理任務。依賴於提示而非微調,使其與模型無關。提供透明度和可靠性,但由於多個處理步驟,即時效能可能較慢。

BabyAGI

作為“AI 智慧體”框架(原始形式更像是一個指令碼)的最早例子之一,它迅速走紅。它本質上是一個極簡主義的智慧體,能夠生成任務、對其進行優先順序排序並按順序執行,使用 LLM (GPT-4) 進行認知工作,並使用向量資料庫進行記憶體管理。許多後續框架都從中汲取了靈感,但它們引入了更強大的行動處理能力。BabyAGI 本身最適合簡單的任務自動化場景,或者作為理解智慧體迴圈的起始模板。

MemGPT (Letta)

一個用於持久、有狀態 AI 智慧體和長期記憶的開源框架。它管理智慧體不斷演變的知識和使用者上下文,超越了 LLM 的令牌限制。它像智慧體的“外部大腦”一樣工作,將記憶儲存在資料庫中,並動態檢索相關上下文。它需要設定(例如,伺服器部署),但高度靈活且與模型無關。非常適合需要持續學習或個性化 AI 助手的應用程式。

其他新興框架和方法

除了上述內容,智慧體 AI 生態系統中還有其他值得一提的框架和研究工作。**OpenAI 的 Swarm** 是 OpenAI 最近開源的一個輕量級編排庫,它允許以最小化方式透過函式呼叫鏈式連線多個智慧體例項。它將每個智慧體視為一個獨立的實體,擁有自己的函式集,並使用簡單的交接機制:一個智慧體可以呼叫一個函式,有效地將控制權轉移給另一個智慧體。Swarm 不提供 LangGraph 或 AutoGen 豐富的結構,但對於希望手動管理多智慧體對話並保證 OpenAI 函式呼叫格式的開發人員來說,它非常靈活。

另一個值得注意的概念是 **HuggingGPT**,這是微軟研究人員提出的一個方案,旨在利用 LLM(ChatGPT)作為控制器,將任務路由到專業模型(如 Hugging Face 上的視覺或語音模型)。雖然它不是一個持久的框架,但它展示了 LLM 作為通用規劃器動態選擇專家工具(模型)來解決問題部分的想法。這個想法已在 Hugging Face Transformers 庫中以“Transformers Agents”的形式實際實現,其中語言模型可以從工具庫中進行選擇(這些工具可以是其他機器學習模型或 API)。它在精神上與 Composio 提供的內容相似(一套工具),儘管通常規模較小,並且通常側重於 AI 模型工具(例如,透過文字指令依次使用翻譯模型和影像生成模型)。

微軟的 **Semantic Kernel** 是另一個開源框架,它為 LLM 提供外掛系統(技能)和順序規劃能力。它更像是一個通用的 AI 編排 SDK,結合了提示模板、記憶體和聯結器,可用於使用 C# 或 Python 構建類似智慧體的應用程式。雖然沒有明確定位為多智慧體或智慧體團隊框架,但它涵蓋了在整合函式和規劃呼叫方面的類似領域,尤其是在企業 .NET 環境中。

最後,我們還應該提到早期的專案,如 **Auto-GPT 和 AgentGPT**(曾引起轟動)。這些應用程式建立在 LLM 之上,以建立使用者友好的自主智慧體——例如,Auto-GPT 可以接收一個目標,並透過生成子目標和使用網路搜尋等工具來嘗試實現它。它們更多的是演示而不是框架,通常是硬編碼且可擴充套件性較差。然而,它們提高了人們的意識,並提供了反饋,這些反饋已被納入我們討論的更正式的框架中。

智慧體 AI 的前景正在迅速發展。**上述評論中的框架是 2024-2025 年的突出選擇**,展示了不同的理念:從基於圖的規劃 (LangGraph) 到多智慧體對話 (AutoGen, CrewAI),再到以工具為中心的設計 (Composio, OctoTools),以及自主迴圈 (BabyAGI) 和長期記憶系統 (MemGPT)。但還有其他旨在改進智慧體如何選擇和執行行動的趨勢。

AI 行動執行的新興趨勢

  • **強化學習與工具使用的微調** 超越提示工程,微調智慧體(例如 AGILE)學習最優工具使用策略,超越未經訓練的大型模型。多步驟決策和模仿學習(來自專家演示)的資料集提高了效率,使智慧體更具環境感知能力。
  • **模型專業化** 框架不再依賴單一 LLM,而是使用輕量級模型進行解析和動作選擇,同時保留大型模型用於複雜推理。這種分工提高了即時效能,如 HuggingGPT 等專案中所示,其中協調器將任務委派給專業模型。
  • **結構化記憶與知識圖譜** 智慧體越來越多地整合資料庫或知識圖譜以持久化結構化上下文。智慧體不再將每次工具使用視為孤立的,而是構建和更新動態世界狀態,從而減少冗餘並提高多步驟工作流的一致性。
  • **人機互動與自我修正** 儘管自主性是目標,但混合方法可提高可靠性。一些框架支援智慧體自我批評、結構化同行評審或使用者批准,然後才執行關鍵操作。來自人類反饋的強化學習(RLHF)進一步完善了行動策略。
  • **多模態與現實世界行動** 智慧體正在超越基於文字的工具,整合視覺、音訊和機器人技術。LLM 已經能夠指導瀏覽器自動化(例如 WebGPT)並透過高階規劃和基於 RL 的執行來控制機器人。未來的智慧體可能無縫整合感知和物理執行。

總的來說,AI 智慧體正在從基本的工具鏈轉向**最佳化、學習驅動的行動迴圈**,利用結構化框架、微調和現實世界適應性來提高效率和可靠性。

總結思考

以結構化方式整合行動,使 AI 智慧體能夠從被動變為主動。它為自主性提供了必要的支柱,使智慧體不僅能夠思考(得益於 LLM),還能夠為實現目標而行動。隨著生態系統的成熟,我們很可能會看到更標準化和更強大的行動整合技術,這將使構建能夠可靠協調複雜工具和 API 以解決現實世界問題的 AI 智慧體變得越來越容易。憑藉強大的行動整合,AI 智慧體將繼續在自主性和實用性方面達到新的高度,開創能夠以最少人為干預端到端處理任務的工作流程。

雖然最小,但絕非過時。在下一集中,我們將探討**人機通訊**和**人機協同 (HITL) 整合**。然後,我們將轉向**多智慧體協作。**

深入學習資源:

  • Anthropic 的計算機使用 - 使用者指南
  • Toolformer: 語言模型可以自學使用工具 - 論文

代理工作流框架

其他概念和框架

來自 Turing Post 的資料

感謝您的閱讀!


📨 如果您想直接在收件箱中收到我們的文章,請在此訂閱


社群

註冊登入 以評論

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