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 Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
