当前位置: 首页 > news >正文

AI-智能体基础设施

个性化记忆需要世界模型来协助构建

业界有一个精简的Agent表达公示,即:Agent=大模型(LLM)+记忆(Memory)+主动规划(Planning)+工具使用(Tool Use)。基于该公式,一个基于LLM的 AI Agent可以拆分为LLM、规划、记忆与工具使用四个组件部分。

Agent的记忆库负责存储和管理AI Agent在执行任务和与环境交互过程中产生的信息和数据,以支持AI Agent的决策和行为,所以当有决策和行动时,也需要Agent增加Tool Use的能力。

随着大模型自身的发展,特别是大模型在推理能力和反思能力上的增强,Agent平台都需要拥有个性化记忆和工具使用的能力。

记忆库不仅仅只是存储,还包括个性化记忆,另外Agent之间共享记忆也很重要。经过一年多实践,我们发现,最难实现的是个性化记忆,个性化记忆还需要与Tool Use结合起来,而个性化记忆需要世界模型来协助构建。

在To B场景下,“世界模型”不仅包括业务流程的脉络、对话或者工作流的上下文和状态,还包括数字世界中的各种系统和智能世界中的其他Agent和员工。有了这些,Agent才能更加准确地理解和预测现实物理世界中的各种情况,并据此作出最佳决策。

以销售管理Agent为例。通过各种视频、书籍、理论等预训练出来一个类似于只拥有数字世界的“销售管理AlphaGo”,然后通过一个优秀的世界仿真器,让“销售管理AlphaGo”通过历史数据以及相应的观测去与真实的物理世界互动,比如可以与一线的人类销售进行对话、主动获取行业动态等,使得它能够更好的与物理世界和数字世界进行观测和互动,最终成为销售负责人的智能助手。

在这个销售管理Agent的构建过程中,专家知识是构建这个独特Agent的“天花板”,因为专家知识——销售负责人的管理理念、风格、策略和其制定的规则,决定了整个Agent的流程、方向甚至是边界。而大语言模型于这个Agent而言,它只是一个底座——负责理解和生成自然语言,使Agent能够更好地与人类员工进行沟通和协作。

为什么Tool Use很重要?

当Agent对Action和目标做完判断,并且判断需要工具时,就进入了Tool Use阶段。

在这个阶段,需要考虑到多Agent协作、Agent编排、函数&API&组件等的调用,同时也包括安全质量相关的鉴权和监控等等。在这里插入图片描述
当Agent判断需要有Action时,Function Call(函数调用)能力尤为重要。特别是随着开源模型能力逐渐追平GPT-4,AI Agent将可以依赖Function Call。

Function Call是编程中的一种机制,它允许一个函数(或方法)在另一个函数中执行。为什么Function Call能力尤为重要?

在To B业务场景下,Agent的工作实现方式和路径的关键在于业务目标的实现。这里提到的“业务目标”可以理解为企业在特定时间内期望达成的某个商业成果或状态,实现这个目标的过程,可以被看作是一种“状态机的转移”。

“状态机”是计算机科学中一个常用的概念,它描述了一个系统在不同的离散状态之间转换的模型,在这个模型中,系统可以在多个状态之间根据预设的规则进行转换。在To B业务场景中,每个状态都代表了业务过程中的一个阶段或步骤,状态之间的转化则对应着从当前业务阶段向下一个阶段的过渡。

而在业务流程的状态机模型中,Function Call负责推动状态之间的转换和执行相关的业务逻辑,是实现状态转换、执行业务逻辑和处理业务流程中各种情况的关键机制,通过合理地设计和使用Function Call,可以确保业务流程的顺畅进行,并最终实现企业的业务目标,因此它起着至关重要的作用。
在这里插入图片描述
想情况下,Agent执行完Action后,还需要反馈给记忆模块(Memory)去更新记忆,从而能让Agent更好地处理复杂的任务和场景,提供更加智能和个性化的服务。

总结
2024年已过半,大语言模型能力特别是开源模型能力在不断增强、逐步追近GPT-4的水平,然而市场上可见的Agent仍然显得不智能。
主要是因为大语言模型的幻觉问题尚未得到有效解决——在完全没有引导的情况下,基于LLM的Agent很难做到“靠谱”,特别是在To B场景下,为了确保Agent的准确率,开发者构建的Agent更偏向自动化而非真正的自主化。

工具使用和个性化记忆两大基础设施的优化和提升有望改变上述状况。

同时应该聚焦以下两件事情:
集成Function Call的能力,让ToB场景下的Agent/数字员工具备选择工具、使用工具、反思工具的能力;
根据多层状态机构建一个目标定义以及怎样完成目标的学习算法。
Agent规划和完成目标的能力依赖于它在执行过程中的状态(State)和可采取的行动(Action)。特别是在业务流程自动化和数字员工的场景下,Agent为了有效地完成目标,还需要具备相应的领域知识,这些知识可以帮助Agent选择正确的Action,从而推动业务流程的自动化,并最终实现既定的目标。

相关文章:

AI-智能体基础设施

个性化记忆需要世界模型来协助构建 业界有一个精简的Agent表达公示,即:Agent大模型(LLM)记忆(Memory)主动规划(Planning)工具使用(Tool Use)。基于该公式&am…...

【docker】docker启动neo4j,并配置内存

注意下:--volume宿主机目录:/data 和 --publish宿主机port:7474 --publish宿主机port:7687 docker run -d \ --publish9801:7474 --publish9802:7687 \ --env NEO4J_AUTHneo4j/passwd \ --volume/opt/docker/data/vol-data/neo4j4.2:/data \ --restart always \ --…...

面试准备记录

6月26日 今日学习 MySQL的1-7题(中期报告,加上玩了游戏,就没有认真背题) 6月25日 今日复习 JVM的内存管理部分(1-31题) 6月24日 今日学习 类的生命周期?类加载过程?类加载器有…...

文件管理—linux(基础IO)

目录 ​编辑 一、C语言文件接口(库函数) hello.c写文件 hello.c读文件 输出信息到显示器 stdin & stdout & stderr 二、系统文件I/O(系统调用) hello.c 写文件: hello.c读文件 接口介绍 open open…...

【华为OD机试|01】最远足迹(Java/C/Py/JS)

目录 一、题目介绍 1.1 题目描述 1.2 备注: 1.3 输入描述 1.4 输出描述 1.5 用例 二、Java代码实现 2.1 实现思路 2.2 详细代码 2.3 代码讲解: 三、C语言实现 3.1实现步骤 3.2 实现代码 3.3 代码详解 四、Python实现 4.1 实现步骤 4.2 …...

conda安装管理配置

原文链接:conda管理配置 导言 安装卸载 卸载 卸载 docker sudo rm -r /opt/anaconda3 #conda安装位置安装 从镜像archive中下载sh脚本安装 bash ./software/Anaconda3-2024.02-1-Linux-x86_64.sh -b -p /opt/anaconda3 #conda安装位置管理 查看 conda --ver…...

鸿蒙开发HarmonyOS NEXT(一)

最近总听见大家讨论鸿蒙,前端转型的好方向?先入门学习下 目前官方版本和文档持续更新中 一、开发环境 提示:要占用的空间比较多,建议安装在剩余空间多的盘 1、下载:官网最新工具 - 下载中心 - 华为开发者联盟 (huaw…...

新能源革命风起云涌:创新科技引领可持续发展新篇章

随着全球气候变化和环境问题日益严峻,新能源革命正以其不可阻挡的势头,席卷着世界的每一个角落。 创新科技在这场革命中发挥着至关重要的作用,它不仅是新能源开发利用的引擎,更是推动可持续发展的关键力量。 新能源革命的核心在于…...

Java之TimeUnit类

1.TimeUnit类介绍 TimeUnit(时间单元)是一个描述时间单元的枚举类,在该枚举类中定义有以下的几个时间单元实例:天(DAYS)、时(HOURS)、分(MINUTES)、秒&#…...

【大数据】大数据时代的黎明

目录 前言 深入解读大数据的本质 大数据的起源与演进轨迹 大数据对社会经济的深远影响 经济领域的革新 社会治理与公共服务的智能化 创新体系的重构 面临的挑战与应对 前言 步入21世纪以来,人类文明正站在一个历史性的转折点上,迎来了大数据时代的…...

多接口分线盒在工业自动化中的重要性与应用

简介 多接口分线盒是现代工业自动化中不可或缺的一个组成部分,它主要用于简化复杂的接线系统,提高效率和可靠性。本文将详细探讨多接口分线盒的定义、功能、以及在工业自动化中的应用情况。 无源多接口分线盒 多接口分线盒的定义与功能 多接口分线盒是…...

C# Modbus设备信息加载的实现方式(2)

GlobalProperties是一个全局的数据&#xff0c;类似CoreData&#xff1a; public class GlobalProperties{public static Device Device { set; get; }public static Action<int, string> AddLog;public static SysAdmin CurrentAdmin;public static ModbusTCP Modbus { …...

mongoDB基本命令操作

文章目录 1. 安装(1). 启动mongodb(2). 数据库连接 2. 基本命令(1) 数据库操作(2) 集合操作(3) 文档操作1) 简单查询2) 条件查询3) 投影查询4) 文档更新5) 列值增长修改6) 删除文档7) 分页查询8) 排序查询9) 正则查询(模糊查询)10) 比较查询11) 包含查询 3. 索引(1) 执行计划 1…...

MySQL索引,事务

一.MySQL索引介绍 索引是一个排序的列表&#xff0c;在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据十分大的时候&#xff0c;索引可以大大加快查询的速度。这是因为使用索引后可以不用扫描全表来定位某行的数据&#xff0c;而是先通过索引表找到该行数…...

嵌入式软件面试记录(5)

1.FreeRTOS使用&#xff0c;是自己移植的吗&#xff0c;移植过程中设置了多少个任务&#xff1f; 答&#xff1a;是自己移植的&#xff0c;从官网下载的包根据手册移植的。 主要涉及以下几个任务&#xff1a; 主任务&#xff1a;负责系统初始化和创建其他任务。创建队列任务点…...

Linux-笔记 OverlayFS文件系统入门

目录 前言 主要概念 工作原理 特点特性 1、上下合并 2、同名文件覆盖 3、同名目录合并 4、写时拷贝 实操入门 内核配置 挂载文件系统 验证 1、同名文件覆盖 2、同名目录合并 3、写时拷贝 1&#xff09;验证新增文件或目录 2&#xff09;验证修改文件 3&…...

Kubernetes面试整理-如何配置和使用Service, Ingress?

在 Kubernetes 中,Service 和 Ingress 是用于管理和暴露应用程序的网络访问的主要资源。以下是如何配置和使用 Service 和 Ingress 的详细指南: Service Service 是一种抽象,用于定义一组 Pod 的逻辑集合,并提供一种访问这些 Pod 的策略。Service 可以使应用程序内部或外部…...

深入浅出:NPM常用命令详解与实践

深入浅出地讲解npm常用命令及其实践&#xff0c;可以帮助开发者更好地理解和使用这个强大的Node.js 包管理工具。以下是一些常用的npm命令及其详细解释和实践案例&#xff1a; 1&#xff1a;初始化项目&#xff1a; 命令&#xff1a;npm init用途&#xff1a;生成一个package…...

IPv6 address status lifetime

IPv6 地址状态转换 Address lifetime (地址生存期) 每个配置的 IPv6 单播地址都有一个生存期设置&#xff0c;该设置确定该地址在必须刷新或替换之前可以使用多长时间。某些地址设置为“永久”并且不会过期。“首选”和“有效”生存期用于指定其使用期限和可用性。 自动配置的…...

OpenVINO部署

OpenVINO部署 什么是 OpenVINO&#xff1f;OpenVINO 的优势安装指南系统要求&#xff1a;安装步骤 环境设置部署示例代码优化和部署步骤详细部署示例 什么是 OpenVINO&#xff1f; OpenVINO&#xff08;Open Visual Inference and Neural Network Optimization&#xff09;是由…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...