AI Agent入門:Agent角色指令設計
共 4003字,需瀏覽 9分鐘
·
2024-07-11 11:00
向AI轉型的程序員都關注公眾號 機器學習AI算法工程
0、概要
Agent是干什么的?Agent的核心思想是使用語言模型(LLM)作為推理的大腦,以制定解決問題的計劃、借助工具實施動作。在agents中幾個關鍵組件如下:
LLM:制定計劃和思考下一步需要采取的行動。
Tools:解決問題的工具
Toolkits:用于完成特定目標所需的工具組。一個toolkit通常包含3-5個工具。
AgentExecutor:AgentExecutor是agent的運行時環(huán)境。這是實際調(diào)用agent并執(zhí)行其選擇的動作的部分。
1、Agent整體架構
代理(Agents)涉及LLM做出決策以確定要采取哪些行動,執(zhí)行該行動,查看觀察結果并重復執(zhí)行步驟直到完成。
在LLM驅動的自主代理系統(tǒng)中,LLM充當代理的大腦,并輔以幾個關鍵功能:
規(guī)劃
子目標拆解解:agent將大型任務拆解為小型的、可管理的子目標,從而能夠高效處理復雜任務。
反思和改進:agent可以從過去的行為中進行自我批評和自我反省。這種從錯誤中吸取教訓,并對未來的步驟進行改進的思維可以有效提高最終結果。真種思維方式來自ReAct,其大致格式為:Thought: ...Action: ...Observation: ... (Repeated many times)。即為ReAct模式。
記憶
短期記憶:上下文學習是利用模型的短期記憶來學習的。
長期記憶:通過利用外部向量存儲和快速檢索,agen可以實現(xiàn)長時間保留和回憶(無限)信息的能力。
工具使用
代理學習調(diào)用外部 API 以獲取模型權重中缺少的額外信息(通常在預訓練后很難更改),包括當前時訊、代碼執(zhí)行能力、對私有信息源的訪問等。自然可以自定義工具使用,如本地向量數(shù)據(jù)庫查找。
自定義工具方法類:
2、Agent業(yè)務實現(xiàn)邏輯
Agent的業(yè)務流程如下圖所示:
1. 用戶提出問題
2. Agent基于預設的Prompt,將問題包裝之后送給LLM
3. LLM返回給Agent結果和需要使用的工具
4. Agent使用工具獲取必要信息
5. 工具返回給Agent獲取到的信息
6. 打包上下文發(fā)再次送給LLM
7. LLM返回給Agent結果
8. Agent給用戶返回最終結果
3、LangChain中Agent實現(xiàn)
LangChain為代理提供了標準接口,一系列可供選擇的代理類型
langchain中agent有兩種主要類型:
動作代理人(Action agents):在每個時間步上,使用所有先前動作的輸出決定下一個動作。
接收用戶輸入
決定是否使用任何工具以及工具輸入
調(diào)用工具并記錄輸出(也稱為“觀察結果”)
使用工具歷史記錄、工具輸入和觀察結果決定下一步
重復步驟 3-4,直到確定可以直接回應用戶
計劃執(zhí)行代理人(Plan-and-execute agents):預先決定所有動作的完整順序,然后按照計劃執(zhí)行,而不更新計劃。
接收用戶輸入
規(guī)劃要執(zhí)行的全部步驟序列
按順序執(zhí)行步驟,將過去步驟的輸出作為未來步驟的輸入
動作代理人適用于小任務,遵循ReAct模式。而計劃執(zhí)行代理人適用于復雜或長時間運行的任務,這些任務需要保持長期目標和重點。
4. Agent示例代碼
Agent角色指令的概念
1、角色指令的定義
決定AI智能體的行為
決定AI智能體的輸出效果
匹配場景使用
2、角色指令的萬能公式
角色設定萬能公式 = 角色設定 + 使用場景 + 工具 + 限制 + 輸出樣式(附加:+例子)
角色設定:設定您想讓Agent扮演的角色,可以給出一些您期望它具備的能力。
使用場景+工具:描述您的應用背景,并給出相應背景下使用的工具,讓大模型可以在更為精確的場景下用匹配的工具行動。
限制:明確當用戶輸入什么信息下生成什么樣的結果,使得答案更為精準。
輸出樣式:輸出風格和格式要求,使大模型更為匹配您的需求。可以附帶一些例子,使其理解更為透徹。
角色指令的優(yōu)化策略
1、角色設定策略
給出角色設定請盡可能清晰簡短,盡量直接表述角色名稱,同樣也可以附加一些你所期望的能力作為補充。
2、工具選擇
代碼解釋器:代碼解釋器支持應用運行代碼,具備分析數(shù)據(jù)、url信息提煉、處理上傳文件、數(shù)學運算等功能。
文生圖:大模型將結合文心一格生成對應圖像。
知識問答-百度搜索:大模型將結合百度搜索結果回答問題。
知識問答-知識庫檢索:大模型將基于您上傳的知識文檔回答問題,可選擇直接上傳文件,或選擇已有知識集合。知識集合相關內(nèi)容可查看文檔我的知識。?
3、場景工具策略
盡可能一一對應
做出描述
簡潔、直接
4、限制
盡可能一一對應
描述越具體越好
?
5、輸出樣式策略
清晰明了
提出具體的要求
例如:字數(shù)、回答樣式等
?
6、給出示例
主要用于需要有特定回復的時候
請給出特定的問題和相應答復
機器學習算法AI大數(shù)據(jù)技術
搜索公眾號添加: datanlp
長按圖片,識別二維碼
閱讀過本文的人還看了以下文章:
整理開源的中文大語言模型,以規(guī)模較小、可私有化部署、訓練成本較低的模型為主
基于40萬表格數(shù)據(jù)集TableBank,用MaskRCNN做表格檢測
《深度學習入門:基于Python的理論與實現(xiàn)》高清中文PDF+源碼
python就業(yè)班學習視頻,從入門到實戰(zhàn)項目
2019最新《PyTorch自然語言處理》英、中文版PDF+源碼
《21個項目玩轉深度學習:基于TensorFlow的實踐詳解》完整版PDF+附書代碼
PyTorch深度學習快速實戰(zhàn)入門《pytorch-handbook》
【下載】豆瓣評分8.1,《機器學習實戰(zhàn):基于Scikit-Learn和TensorFlow》
《Python數(shù)據(jù)分析與挖掘實戰(zhàn)》PDF+完整源碼
汽車行業(yè)完整知識圖譜項目實戰(zhàn)視頻(全23課)
李沐大神開源《動手學深度學習》,加州伯克利深度學習(2019春)教材
筆記、代碼清晰易懂!李航《統(tǒng)計學習方法》最新資源全套!
《神經(jīng)網(wǎng)絡與深度學習》最新2018版中英PDF+源碼
重要開源!CNN-RNN-CTC 實現(xiàn)手寫漢字識別
【Keras】完整實現(xiàn)‘交通標志’分類、‘票據(jù)’分類兩個項目,讓你掌握深度學習圖像分類
VGG16遷移學習,實現(xiàn)醫(yī)學圖像識別分類工程項目
特征工程(二) :文本數(shù)據(jù)的展開、過濾和分塊
如何利用全新的決策樹集成級聯(lián)結構gcForest做特征工程并打分?
Machine Learning Yearning 中文翻譯稿
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
python+flask搭建CNN在線識別手寫中文網(wǎng)站
中科院Kaggle全球文本匹配競賽華人第1名團隊-深度學習與特征工程
不斷更新資源
深度學習、機器學習、數(shù)據(jù)分析、python
搜索公眾號添加: datayx
