LLM Agent 概述

LLM Agent 概述

當您遇到沒有簡單答案的問題時,您通常需要遵循幾個步驟,仔細思考並記住您已經嘗試過的內容。LLM 代理正是爲語言模型應用程序中的這些情況而設計的。它們結合了全面的數據分析、戰略規劃、數據檢索以及從過去的行動中學習以解決複雜問題的能力。

在本文中,我們將探討什麼是 LLM 代理、它們的好處、能力、實際示例以及他們面臨的挑戰。

什麼是 LLM Agent?

LLM Agent 是高級 AI 系統,旨在創建需要順序推理的複雜文本。他們可以提前思考,記住過去的對話,並使用不同的工具根據所需的情況和風格調整他們的回答。

現在,考慮一個詳細的場景:

根據新的數據隱私法,公司面臨的常見法律挑戰是什麼,法院如何解決這些問題?

這個問題比僅僅查找事實更深入。這是關於瞭解新規則,它們如何影響不同的公司,並瞭解法院對這一切的看法。一個簡單的 RAG 系統可以提取相關的法律和案例,但它缺乏將這些法律與實際業務情況聯繫起來或深入分析法院判決的能力。

在這種情況下,當項目需要順序推理、計劃和記憶時,LLM Agent 就會發揮作用。

對於這個問題,Agent 可以將其任務分解爲多個子任務,如下所示。

要完成這些子任務,Agent 需要一個結構化的計劃 LLM、一個可靠的內存來跟蹤進度,以及訪問必要的工具。這些組件構成了 LLM Agent 工作流程的支柱。

LLM Agent 組件

LLM 代理通常由四個部分組成:

Agent/brain  代理 / 大腦

LLM Agent 的核心是大語言模型,它根據經過訓練的大量數據來處理和理解語言。

使用 LLM Agent 時,首先要爲其提供特定 Prompt。這個 Prompt 至關重要——它指導 LLM 如何響應、使用什麼工具以及在交互過程中應該實現的目標。這就像在旅行前給導航員指路一樣。

此外,您還可以使用特定角色自定義代理。這意味着爲代理設置某些特徵和專業知識,使其更適合特定任務或交互。這是關於調整代理以感覺適合情況的方式執行任務。比如歷史專家、法律專家、經濟專家等等。

從本質上講,LLM Agent 的核心是將高級處理能力與可自定義功能相結合,以有效處理和適應各種任務和交互。

Memory  記憶

Agent 的 LLM Memory 通過記錄以前完成的工作來幫助他們處理複雜的 LLM 任務。內存有兩種主要類型:

通過混合這兩種類型的記憶,該模型可以跟上當前的對話,並利用豐富的交互歷史記錄。這意味着它可以提供更有針對性的響應,並隨着時間的推移記住用戶的偏好,使每次對話都感覺更加緊密和相關。從本質上講,代理正在建立一種理解,這有助於它在每次互動中更好地爲您服務。

Planning  規劃

通過規劃,LLM Agent 可以推理,將複雜的任務分解成更小、更易於管理的部分,併爲每個部分制定具體的計劃。隨着任務的發展,代理還可以反思和調整他們的計劃,確保他們與現實世界的情況保持相關性。這種適應性是成功完成任務的關鍵。

規劃通常包括兩個主要階段:計劃制定和計劃反思。

計劃制定階段,Agent 將大型任務分解爲較小的子任務,如下是幾種拆分的方法:

制定計劃後,代理審查和評估其有效性非常重要。LLM 基於智能體的智能體使用內部反饋機制,利用現有模型來改進其策略。他們還與人類互動,根據人類的反饋和偏好調整他們的計劃。代理還可以從他們的真實和虛擬環境中收集見解,使用結果和觀察來進一步完善他們的計劃。

在規劃中納入反饋的兩種有效方法是 ReAct[1] 和 Reflexion[2]。

Tools use  工具使用

這裏的工具是幫助 LLM Agent 與外部環境連接以執行某些任務的各種資源。這些任務可能包括從數據庫中提取信息、查詢、編碼以及代理運行所需的任何其他內容。LLM 當代理使用這些工具時,它會遵循特定的工作流程來執行任務、收集觀察結果或收集完成子任務和滿足用戶請求所需的信息。

以下是不同系統如何集成這些工具的一些示例:

LLM 代理框架

讓我們看一下一些值得注意 LLM 的代理 [8] 和框架:

LLM 代理挑戰

雖然 LLM 代理非常有用,但它們確實面臨着我們需要考慮的幾個挑戰:

引用鏈接

[1] ReAct:https://arxiv.org/abs/2210.03629
[2]Reflexion:https://arxiv.org/abs/2303.11366
[3]MRKL:https://arxiv.org/abs/2205.00445
[4]Toolformer:https://arxiv.org/abs/2302.04761
[5]TALM(工具增強語言模型)::https://arxiv.org/abs/2205.12255
[6]HuggingGPT::https://arxiv.org/abs/2303.17580
[7]API-Bank:https://arxiv.org/abs/2304.08244
[8]值得注意 LLM 的代理:https://github.com/kaushikb11/awesome-llm-agents
[9]Langchain:https://github.com/hwchase17/langchain
[10]Llama Index:https://github.com/run-llama/llama_index
[11]Haystack:https://github.com/deepset-ai/haystack
[12]Embedchain:https://github.com/mem0ai/mem0/tree/main/embedchain
[13]MindSearch:https://github.com/InternLM/MindSearch?tab=readme-ov-file#%EF%B8%8F-build-your-own-mindsearch
[14]Perplexity.ai Pro:https://www.perplexity.ai/
[15]InternLM2.5-7b-chat:https://huggingface.co/internlm/internlm2_5-7b-chat
[16]AgentQ:https://medium.com/@ignacio.de.gregorio.noblejas/agentq-a-human-beating-ai-agent-85353bfd1c26
[17]直接偏好優化 (DPO):https://www.superannotate.com/blog/direct-preference-optimization-dpo
[18]RLHF:https://www.superannotate.com/blog/rlhf-for-llm
[19]Nvidia NIM 代理藍圖:https://blogs.nvidia.com/blog/nim-agent-blueprints/
[20]Bee 代理框架:https://github.com/i-am-bee/bee-agent-framework

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/OGEBL7iNhuyS0hZF1yvwwg