Agent學習筆記

背景:LLM → \to Agent

ChatGPT為代表的大語言模型就不用過多的介紹了,ChatGPT很強大,但是也有做不到的東西。例如:

  1. 實時查詢問題:實時的天氣,地理位置,最新新聞報道,現實世界正在發生和剛結束的信息等
  2. 不能產生動作:你只能獲得語言的回復,而不能讓它執行動作。當然也有類似的工作(Reac、AutoGPT)
  3. 無法訪問專有信息源。模型無法訪問專有信息,例如公司數據庫中的客戶名冊或在線游戲的狀態。
  4. 缺乏推理能力。某些推理超出了神經方法的能力范圍,需要專門的推理過程。我們在上面看到了算術推理的經典例子。 GPT-3 和 Jurassic-1 在 2 位加法上表現良好,令人印象深刻,但在 4 位加法上自信地給出了無意義的答案。隨著訓練時間的增加、更好的數據和更大的模型,LLM 的性能將會提高,但不會達到 20 世紀 70 年代 HP 計算器的魯棒性。而數學推理只是冰山一角。
  5. 微調成本問題。微調和服務多個大型模型是不切實際的。我們也無法針對訓練中未涵蓋的新任務進一步調整經過多任務訓練的 LLM ;由于災難性遺忘,添加新任務需要對整個任務集進行重新訓練。考慮到訓練此類模型的成本,這顯然是不可行的。

那么Agent又是什么?

agent用來調用外部 API 來獲取模型權重中缺失的額外信息(通常在預訓練后很難更改),包括當前信息、代碼執行能力、對專有信息源的訪問等。

在這里插入圖片描述

四大板塊:Planing、Memory、Tools、Action

API-Bank

在這里插入圖片描述

在這里插入圖片描述

Tools調用API的工作流程:

  1. 判斷是否需要API調用。
  2. 確定要調用的正確 API:如果不夠好,LLM需要迭代修改 API 輸入(例如,確定搜索引擎 API 的搜索關鍵字)。
  3. 基于API結果的響應:如果結果不滿意,模型可以選擇細化并再次調用。

從三個層面評估代理的工具使用能力:

  1. 評估調用API的能力。給定 API 的描述,模型需要確定是否調用給定的 API、正確調用它并正確響應 API 返回。
  2. 檢查檢索 API 的能力。模型需要搜索可能解決用戶需求的API,并通過閱讀文檔來學習如何使用它們。
  3. 評估除了檢索和調用之外規劃 API 的能力。考慮到不明確的用戶請求(例如安排小組會議、預訂旅行的航班/酒店/餐廳),該模型可能必須進行多個 API 調用來解決它。

生成式Agent

在這里插入圖片描述
生成Agent的設計將 LLM 與記憶、規劃和反射機制相結合,使代理能夠根據過去的經驗進行行為,并與其他代理進行交互。

  • 記憶流(Memory stream):是一個長期記憶模塊(外部數據庫),記錄了代理在自然語言中的經驗的完整列表。

    • 每個元素都是一個觀察結果,一個由代理直接提供的事件。 - 代理間通信可以觸發新的自然語言語句。
  • 檢索模型:根據相關性、新近度和重要性,呈現上下文以告知代理的行為。

    • 新近度Recency:最近發生的事件得分較高

    • 重要性Importance:區分平凡記憶和核心記憶。直接問LLM。

    • 相關性Relevance:基于它與當前情況/查詢的相關程度。

  • 反射機制Reflection mechanism:隨著時間的推移將記憶合成更高層次的推論,并指導智能體未來的行為。它們是對過去事件的更高層次的總結(<-注意,這與上面的自我反思有點不同)

    • 提示 LLM 提供 100 個最新觀察結果,并根據一組觀察結果/陳述生成 3 個最顯著的高級問題。然后請LM回答這些問題。
  • 規劃和反應:將反思和環境信息轉化為行動

    • 規劃本質上是為了優化當前與時間的可信度
  • 提示模板: {Intro of an agent X}. Here is X’s plan today in broad strokes: 1)
    Relationships between agents and observations of one agent by another are all taken into consideration for planning and reacting.

  • 規劃和反應時都會考慮主體之間的關系以及一個主體對另一個主體的觀察。

  • 環境信息以樹形結構呈現。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211518.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211518.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211518.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

十年婚姻·總結八

十年婚姻總結八 女人一生的合伙人不能只是帥哥哥 女人一生的合伙人不能只是帥哥哥 浪漫的本質還是你的籌碼。 比如你送男人5萬的手表&#xff0c;但你沒什么其他籌碼&#xff08;皮膚粗糙蠟黃、沒人脈金錢資源、長的胖&#xff09;。 那個男人會覺得你胡鬧&#xff0c;你送的…

分類預測 | SSA-HKELM-Adaboost麻雀算法優化混合核極限學習機的數據分類預測

分類預測 | SSA-HKELM-Adaboost麻雀算法優化混合核極限學習機的數據分類預測 目錄 分類預測 | SSA-HKELM-Adaboost麻雀算法優化混合核極限學習機的數據分類預測分類效果基本描述程序設計參考資料 分類效果 基本描述 1.SSA-HKELM-Adaboost麻雀算法優化混合核極限學習機的數據分類…

引用文獻算作重復率么【一文讀懂】

大家好&#xff0c;今天來聊聊引用文獻算作重復率么&#xff0c;希望能給大家提供一點參考。 以下是針對論文重復率高的情況&#xff0c;提供一些修改建議和技巧&#xff1a; 引用文獻算作重復率么 在學術研究和論文撰寫過程中&#xff0c;引用文獻是不可或缺的一部分小發貓偽…

shell學習1——txt文件備份,文件名加個年月日的后綴,如test.txt對于備份文件為test.txt_20231205

跟B站Up主學習shell腳本——阿銘linux 3461576172505894 需求 txt文件備份&#xff0c;文件名加個年月日的后綴&#xff0c;如test.txt對于備份文件為test.txt_20231205 代碼 #!/bin/bash ##定義后綴變量 suffixdate %Y%m%d##找到/test/目錄下的txt文件 for f in find /tes…

ubuntu源配置文件/etc/apt/sources.list不存在

若使用命令sudo apt-get update報錯&#xff1a;apt-get:找不到命令&#xff0c;八成是源配置文件/etc/apt/sources.list不存在。但是一般來說不會不存在&#xff0c;若真的不小心刪除的話&#xff0c;我們也可以進行恢復。 首先創建/etc/apt/sources.list文件&#xff0c;然后…

安卓與串口通信-如何區分連接的設備?

前言與背景 一般來說&#xff0c;不管是在什么平臺上需要與外接硬件交互&#xff0c;第一件事都是應該能夠正確的識別出目標硬件。 例如在 Windows 上&#xff0c;當一個新的外設設備被插入到我們的電腦時&#xff0c;系統會通過 Hardware IDs 、Compatible IDs 來確定連接的…

看圖學源碼之 Atomic 類源碼淺析二(cas + 分治思想的原子累加器)

原子累加器 相較于上一節看圖學源碼 之 Atomic 類源碼淺析一&#xff08;cas 自旋操作的 AtomicXXX原子類&#xff09;說的的原子類&#xff0c;原子累加器的效率會更高 XXXXAdder 和 XXXAccumulator 區別就是 Adder只有add 方法&#xff0c;Accumulator是可以進行自定義運算方…

ufw常用命令解析

命令 舉例 解釋 ufw enable — 啟用防火墻 ufw disable — 禁用防火墻 ufw status — 查看防火墻狀態與規則 ufw default ARG sudo ufw default allow sudo ufw default deny 將默認策略設置為允許所有未明確規定的流量 將默認策略設置為拒絕所有未明確規定的流量…

大數據技術5:OLAP引擎對比分析

前言&#xff1a;數據倉庫建設&#xff0c;初級的理解就是建表&#xff0c;將業務數據、日志數據、消息隊列數據等&#xff0c;通過各種調度任務寫入到表里供OLAP引擎使用。但要想建好數倉也是一個復雜、龐大的工程&#xff0c;比如要考慮&#xff1a;數據清洗、數據建模&#…

001 LLM大模型之Transformer 模型

參考《大規模語言模型--從理論到實踐》 目錄 一、綜述 二、Transformer 模型 三、 嵌入表示層&#xff08;位置編碼代碼&#xff09; 一、綜述 語言模型目標是建模自然語言的概率分布&#xff0c;在自然語言處理研究中具有重要的作用&#xff0c;是自然 語言處理基礎任務之一…

第 119 場 LeetCode 雙周賽題解

A 找到兩個數組中的公共元素 模擬 class Solution { public:vector<int> findIntersectionValues(vector<int> &nums1, vector<int> &nums2) {unordered_set<int> s1(nums1.begin(), nums1.end()), s2(nums2.begin(), nums2.end());vector<…

【基于大數據的人肥胖程度預測分析與可控策略】

基于大數據的人肥胖程度預測分析與可控策略 前言數據獲取與清洗數據挖掘與分類建模1. K-means聚類2. 層次聚類3. DBSCAN4. 分類建模 數據可視化模型肥胖程度預測分析與可控策略結語 前言 隨著現代生活方式的改變&#xff0c;肥胖問題逐漸成為全球性的健康挑戰。為了更好地理解…

實用篇 | 3D建模中Blender軟件的下載及使用[圖文詳情]

本文基于數字人系列的3D建模工具Blender軟件的安裝及使用&#xff0c;還介紹了圖片生成3D模型的AI工具~ 目錄 1.Blender的下載 2.Blender的使用 3.安裝插件(通過壓縮包安裝) 4.實例 4.1.Blender使用MB-Lab插件快速人體模型建構 4.1.1.點擊官網&#xff0c;進行下載 4.1.…

批量將圖片分別翻轉90、180、270度,并將對應的框標注的json文件也進行相應調整,做到數據增強的效果

#------------------------------------矩形標注增強--------------------------------------- from PIL import Image import os import jsondef rotate_images_and_jsons(input_folder):output_folder os.path.join(input_folder, "rotated_images")os.makedirs(o…

在JavaScript中,可以使用Object.assign()方法或展開語法(...)來合并對象

在JavaScript中&#xff0c;你可以使用Object.assign()方法或者使用Spread Operator (…) 來合并對象。 Object.assign() Object.assign() 靜態方法將一個或者多個源對象中所有可枚舉的自有屬性復制到目標對象&#xff0c;并返回修改后的目標對象。 語法 Object.assign(tar…

Java TCP(一對一)聊天簡易版

客戶端 import java.io.*; import java.net.Socket; import java.util.Date; import javax.swing.*;public class MyClient {private JFrame jf;private JButton jBsend;private JTextArea jTAcontent;private JTextField jText;private JLabel JLcontent;private Date data;p…

C語言 題目

1.寫一個函數算一個數的二進制(補碼)表示中有幾個1 #include<stdio.h>//統計二進制數中有幾個1 //如13:1101 //需要考慮負數情況 如-1 結果應該是32// n 1101 //n-1 1100 //n 1100 //n-1 1011 //n 1000 //n-1 0111 //n 0000 //看n的變化 int funca(int c){int co…

css:flex布局中子元素高度height沒有達到100%

目錄 問題flex布局示例解決辦法方式一方式二 參考 問題 css中使用flex布局中子元素高度height沒有達到100% flex布局示例 希望實現兩個盒子左右分布&#xff0c;內容垂直居中對齊 <style>.box {display: flex;align-items: center;border: 1px solid #eeeeee;}.box-l…

【ceph】ceph生產常見操作之一---ceph擴容以及注意事項

本站以分享各種運維經驗和運維所需要的技能為主 《python零基礎入門》&#xff1a;python零基礎入門學習 《python運維腳本》&#xff1a; python運維腳本實踐 《shell》&#xff1a;shell學習 《terraform》持續更新中&#xff1a;terraform_Aws學習零基礎入門到最佳實戰 《k8…

react新舊生命周期鉤子

以下的內容根據尚硅谷整理。 舊生命鉤子 輔助理解&#xff1a; 紅色框&#xff1a;掛載時生命鉤子藍色框&#xff1a;更新時生命鉤子綠色框&#xff1a;卸載時生命鉤子 掛載時 如圖所示&#xff0c;我們可以看到&#xff0c;在組件第一次掛載時會經歷&#xff1a; 構造器&a…