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是一个全局的数据,类似CoreData: 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索引介绍 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据十分大的时候,索引可以大大加快查询的速度。这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数…...
嵌入式软件面试记录(5)
1.FreeRTOS使用,是自己移植的吗,移植过程中设置了多少个任务? 答:是自己移植的,从官网下载的包根据手册移植的。 主要涉及以下几个任务: 主任务:负责系统初始化和创建其他任务。创建队列任务点…...

Linux-笔记 OverlayFS文件系统入门
目录 前言 主要概念 工作原理 特点特性 1、上下合并 2、同名文件覆盖 3、同名目录合并 4、写时拷贝 实操入门 内核配置 挂载文件系统 验证 1、同名文件覆盖 2、同名目录合并 3、写时拷贝 1)验证新增文件或目录 2)验证修改文件 3&…...
Kubernetes面试整理-如何配置和使用Service, Ingress?
在 Kubernetes 中,Service 和 Ingress 是用于管理和暴露应用程序的网络访问的主要资源。以下是如何配置和使用 Service 和 Ingress 的详细指南: Service Service 是一种抽象,用于定义一组 Pod 的逻辑集合,并提供一种访问这些 Pod 的策略。Service 可以使应用程序内部或外部…...
深入浅出:NPM常用命令详解与实践
深入浅出地讲解npm常用命令及其实践,可以帮助开发者更好地理解和使用这个强大的Node.js 包管理工具。以下是一些常用的npm命令及其详细解释和实践案例: 1:初始化项目: 命令:npm init用途:生成一个package…...

IPv6 address status lifetime
IPv6 地址状态转换 Address lifetime (地址生存期) 每个配置的 IPv6 单播地址都有一个生存期设置,该设置确定该地址在必须刷新或替换之前可以使用多长时间。某些地址设置为“永久”并且不会过期。“首选”和“有效”生存期用于指定其使用期限和可用性。 自动配置的…...
OpenVINO部署
OpenVINO部署 什么是 OpenVINO?OpenVINO 的优势安装指南系统要求:安装步骤 环境设置部署示例代码优化和部署步骤详细部署示例 什么是 OpenVINO? OpenVINO(Open Visual Inference and Neural Network Optimization)是由…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...

企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...