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.mzph.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…