如何學習Agent,推薦閱讀《動手做AI Agent》這本書。
推薦理由:
1:一本書能夠全方位了解并探索Agent的奧秘!
(1)Agent的發展進程。
(2)可以幫我們做哪些事:自動辦公,個性化推薦,流程的自動化與資源的優化等。
(3)了解如何用Agent提升各行業的效能以及Agent所能帶來新的商業模式和變革。
(4)Agent的發展前景:下一代Agent的誕生地,即科研論文中的新思路。
2:動手從0到1做AI Agent,7個實例全方位解析Agent的設計與實現!
(1)基于大模型的Agent技術框架:Agent四大要素,規劃和決策能力,調用工具,ReAct框架等。
(2)初識OpenAI API、LangChain和LlamaIndex。
(3)7個實例,從自動化辦公到多功能選擇的引擎,從實現自動定價到智能調度庫存,技術路線全面。
3:進階Agent開發能力,零距離接觸GPT-4模型、LangChain等尖端技術!
(1)全面學習LangChain架構:ReAct框架,Plan-and-Execute等。
(2)全面學習LlamaIndex:提示工程、RAG與微調等。
(3)GitHub的網紅聚落:AutoGPT、BabyAGI和CAMEL。
(4)多Agent框架:AutoGen,MetaGPT。
隨著技術的進步,我們開始期待更多:我們所向往的是一個不僅把人工智能生成內 容視為工作的一部分,還將人工智能作為連接更加復雜任務的關鍵紐帶的時代。
這種愿景正是 Agent誕生的起點。
在探索人工智能的奧秘和可能性的征程中,Zhen Fund(真格基金)認為生成式人 工智能應用需要經歷表 1 所示的 5 個層級。
目前流行的 Chat GP T 和 Copilot 分別位于 L2 和 L3,可以將它們視為一種初級 的 Agent。ChatGPT 能夠根據對話上下文(記憶)來響應提示輸入的操作,向人類展 示有價值的對話,而 Copilot 通過與人類協作,可以在多個層面上提升完成相應任務的 效能。
從 L3 到 L4 的跨越是一個從被動到自主的分水嶺,在這個跨越過程中, Agent 將 成為關鍵的驅動力。
未來的 Agent 將不僅僅是內容生成工具。它們將整合人工智能模型、海量數據和 多樣化的工具,從而能執行各種任務,完成不同的工作。這些 Agent 跨越單純的內容 生成的界限,開始涉足決策制定和行動實施等領域。無論是解讀復雜指令、規劃策略、 拆解任務,還是執行實現目標的具體步驟,它們都將展現出獨特的自主性和適應性。更 為關鍵的是,這些 Agent 能夠接入并靈活運用多種輔助工具和數據資源,從而大幅拓 寬工作領域和提高工作能力。
盡管構建 Agent 的基石已經準備就緒,但 Agent 的技術發展仍處于萌芽階段。開 發者需要進行深入思考并動手實踐,以確立 Agent 的開發框架、Agent 訪問工具的方 式、與數據交互的方式,以及如何對話以完成具體任務。這些問題的答案將塑造未來 Agent 的形態和能力。
在解鎖 Agent的巨大潛力的過程中,我們需要深入探討以下幾個關鍵問題。
■ Agent 如何在各行各業中提升效率以及創造機會和更多可能性?
■ 在眾多的 Agent 框架中,如何選擇適合自己需求的框架?
■ 在解決現實世界的問題時,如何實施 Agent 才最有效?
■ 自主 Agent 如何改變我們對人工智能驅動的任務管理的認知和實踐?
目前無論是學術界還是產業界,對人工智能應用開發的關鍵問題遠未達成共識。本 書或許可以作為讀者深入探討上述問題的漫長旅途的開端。本書旨在從技術和工具層面 闡釋 Agent 設計的框架、功能和方法,具體涉及如下技術或工具。
■ Open AI API 以 及 Open AI Assistants :用 于 調 用 包 含 GP T -4 模 型 和 DALL ·E 3 模型在內的眾多人工智能模型。
■ LangCha in :開源框架,旨在簡化構建基于語言的人工智能應用的過程,其中 包含對 ReAct 框架的封裝和實現。
■ Llama Index :開源框架,用于幫助管理和檢索非結構化數據,利用大模型的 能力和 Agent 框架來提高文本檢索的準確性、效率和智能程度。
這些技術和工具都可以用于構建 Agent,它們通過接口連接大模型,為 Agent 提 供語言理解、內容生成和決策支持的能力。通過它們, Agent 可以支持多種外部工具, 進而執行復雜任務以及與環境進行交互。
除了介紹 Agent的框架和開發工具之外,本書還將通過 7 個實操項目,帶領讀者學習前沿的 Agent實現技術。這 7 個項目分別如下:
Agent 1:自動化辦公的實現——通過 Assistants API 和 DALL ·E 3 模型創 作 PPT。
■ Agent 2:多功能選擇的引擎——通過 Function Calling 調用函數。
■ Agent 3:推理與行動的協同——通過 LangChain 中的 ReAct 框架實現自動 定價。
■ Agent 4: 計 劃 和 執 行 的 解 耦 —— 通 過 Lang Chain 中 的 Play - and - Execute 實現智能調度庫存。
■ Agent 5:知識的提取與整合——通過 LlamaIndex 實現檢索增強生成 Agent。
■ Agent 6:GitHub 的網紅聚落——AutoGPT、BabyAGI 和 CAMEL。
■ Agent 7:多 Agent 框架——AutoGen 和 MetaGPT。
詳細目錄
第 1章 何謂Agent,為何Agent 001
1.1 大開腦洞的演講:Life 3.0 001
1.2 那么,究竟何謂Agent 003
1.3 Agent的大腦:大模型的通用推理能力 006
1.3.1 人類的大腦了不起 006
1.3.2 大模型出現之前的Agent 007
1.3.3 大模型就是Agent的大腦 008
1.3.4 期望頂峰和失望低谷 010
1.3.5 知識、記憶、理解、表達、推理、反思、泛化和自我提升 012
1.3.6 基于大模型的推理能力構筑AI應用 015
1.4 Agent的感知力:語言交互能力和多模態能力 016
1.4.1 語言交互能力 016
1.4.2 多模態能力 016
1.4.3 結合語言交互能力和多模態能力 017
1.5 Agent的行動力:語言輸出能力和工具使用能力 017
1.5.1 語言輸出能力 017
1.5.2 工具使用能力 018
1.5.3 具身智能的實現 019
1.6 Agent對各行業的效能提升 019
1.6.1 自動辦公好助手 020
1.6.2 客戶服務革命 020
1.6.3 個性化推薦 020
1.6.4 流程的自動化與資源的優化 021
1.6.5 醫療保健的變革 021
1.7 Agent帶來新的商業模式和變革 022
1.7.1 Gartner的8項重要預測 023
1.7.2 Agent即服務 024
1.7.3 多Agent協作 025
1.7.4 自我演進的AI 026
1.7.5 具身智能的發展 026
1.8 小結 027
第 2章 基于大模型的Agent技術框架 029
2.1 Agent的四大要素 029
2.2 Agent的規劃和決策能力 031
2.3 Agent的各種記憶機制 032
2.4 Agent的核心技能:調用工具 033
2.5 Agent的推理引擎:ReAct框架 035
2.5.1 何謂ReAct 035
2.5.2 用ReAct框架實現簡單Agent 038
2.5.3 基于ReAct框架的提示 040
2.5.4 創建大模型實例 043
2.5.5 定義搜索工具 044
2.5.6 構建ReAct Agent 044
2.5.7 執行ReAct Agent 045
2.6 其他Agent認知框架 047
2.6.1 函數調用 047
2.6.2 計劃與執行 048
2.6.3 自問自答 048
2.6.4 批判修正 048
2.6.5 思維鏈 048
2.6.6 思維樹 048
2.7 小結 049
第3章 OpenAI API、LangChain和LlamaIndex 051
3.1 何謂OpenAI API 052
3.1.1 說說OpenAI這家公司 052
3.1.2 OpenAI API和Agent開發 055
3.1.3 OpenAI API的聊天程序示例 057
3.1.4 OpenAI API的圖片生成示例 063
3.1.5 OpenAI API實踐 065
3.2 何謂LangChain 067
3.2.1 說說LangChain 068
3.2.2 LangChain中的六大模塊 073
3.2.3 LangChain和Agent開發 074
3.2.4 LangSmith的使用方法 075
3.3 何謂LlamaIndex 077
3.3.1 說說LlamaIndex 077
3.3.2 LlamaIndex和基于RAG的AI開發 078
3.3.3 簡單的LlamaIndex開發示例 081
3.4 小結 084
第4章 Agent 1:自動化辦公的實現——通過Assistants API和DALL·E 3模型創作PPT 085
4.1 OpenAI公司的Assistants是什么 086
4.2 不寫代碼,在Playground中玩Assistants 086
4.3 Assistants API的簡單示例 090
4.3.1 創建助手 091
4.3.2 創建線程 095
4.3.3 添加消息 097
4.3.4 運行助手 099
4.3.5 顯示響應 103
4.4 創建一個簡短的虛構PPT 105
4.4.1 數據的收集與整理 106
4.4.2 創建OpenAI助手 106
4.4.3 自主創建數據分析圖表 108
4.4.4 自主創建數據洞察 112
4.4.5 自主創建頁面標題 114
4.4.6 用DALL·E 3模型為PPT首頁配圖 115
4.4.7 自主創建PPT 116
4.5 小結 121
第5章 Agent 2:多功能選擇的引擎——通過Function Calling調用函數 122
5.1 OpenAI中的Functions 122
5.1.1 什么是Functions 123
5.1.2 Function的說明文字很重要 124
5.1.3 Function定義中的Sample是什么 124
5.1.4 什么是Function Calling 126
5.2 在Playground中定義Function 127
5.3 通過Assistants API實現Function Calling 130
5.3.1 創建能使用Function的助手 131
5.3.2 不調用Function,直接運行助手 133
5.3.3 在Run進入requires_action狀態之后跳出循環 140
5.3.4 拿到助手返回的元數據信息 141
5.3.5 通過助手的返回信息調用函數 141
5.3.6 通過submit_tool_outputs提交結果以完成任務 143
5.4 通過ChatCompletion API來實現Tool Calls 147
5.4.1 初始化對話和定義可用函數 148
5.4.2 第 一次調用大模型,向模型發送對話及工具定義,并獲取響應 149
5.4.3 調用模型選擇的工具并構建新消息 151
5.4.4 第二次向大模型發送對話以獲取最終響應 153
5.5 小結 154
第6章 Agent 3:推理與行動的協同——通過LangChain中的ReAct框架實現自動定價 156
6.1 復習ReAct框架 156
6.2 LangChain中ReAct Agent 的實現 159
6.3 LangChain中的工具和工具包 160
6.4 通過create_react_agent創建鮮花定價Agent 162
6.5 深挖AgentExecutor的運行機制 166
6.5.1 在AgentExecutor中設置斷點 166
6.5.2 第 一輪思考:模型決定搜索 169
6.5.3 第 一輪行動:工具執行搜索 175
6.5.4 第二輪思考:模型決定計算 179
6.5.5 第二輪行動:工具執行計算 180
6.5.6 第三輪思考:模型完成任務 182
6.6 小結 185
第7章 Agent 4:計劃和執行的解耦——通過LangChain中的Plan-and-Execute實現智能調度庫存 186
7.1 Plan-and-Solve策略的提出 186
7.2 LangChain中的Plan-and-Execute Agent 190
7.3 通過Plan-and-Execute Agent實現物流管理 192
7.3.1 為Agent定義一系列進行自動庫存調度的工具 192
7.3.2 創建Plan-and-Execute Agent并嘗試一個“不可能完成的任務” 193
7.3.3 完善請求,讓Agent完成任務 200
7.4 從單Agent到多Agent 203
7.5 小結 204
第8章 Agent 5:知識的提取與整合——通過LlamaIndex實現檢索增強生成 205
8.1 何謂檢索增強生成 206
8.1.1 提示工程、RAG與微調 206
8.1.2 從技術角度看檢索部分的Pipeline 208
8.1.3 從用戶角度看RAG流程 209
8.2 RAG和Agent 210
8.3 通過LlamaIndex的ReAct RAG Agent實現花語秘境財報檢索 211
8.3.1 獲取并加載電商的財報文件 211
8.3.2 將財報文件的數據轉換為向量數據 211
8.3.3 構建查詢引擎和工具 213
8.3.4 配置文本生成引擎大模型 214
8.3.5 創建 Agent以查詢財務信息 214
8.4 小結 215
第9章 Agent 6:GitHub的網紅聚落——AutoGPT、BabyAGI和CAMEL 216
9.1 AutoGPT 217
9.1.1 AutoGPT簡介 217
9.1.2 AutoGPT實戰 218
9.2 BabyAGI 222
9.2.1 BabyAGI簡介 222
9.2.2 BabyAGI實戰 224
9.3 CAMEL 236
9.3.1 CAMEL簡介 236
9.3.2 CAMEL論文中的股票交易場景 237
9.3.3 CAMEL實戰 241
9.4 小結 248
第 10章 Agent 7:多Agent框架——AutoGen和MetaGPT 250
10.1 AutoGen 250
10.1.1 AutoGen簡介 250
10.1.2 AutoGen實戰 253
10.2 MetaGPT 256
10.2.1 MetaGPT簡介 256
10.2.2 MetaGPT實戰 257
10.3 小結 263
附錄A 下一代Agent的誕生地:科研論文中的新思路 264
A.1 兩篇高質量的Agent綜述論文 264
A.2 論文選讀:Agent自主學習、多Agent合作、Agent可信度的評估、邊緣系統部署以及具身智能落地 266
A.3 小結 267