AI Agent 智能体在企业应用中落地的价值、场景、成熟度做了分析,并且探讨了未来企业 IT 基础设施与架构如何为未来 Gen AI(生成式 AI)做好准备。在这样的架构中,把最终体现上层应用能力的 AI Agent 从不同的技术要求与原理上分成了几类:
大模型是生成式 AI 的基础,因此,理解、创作与生成内容是其强项也是最基本的能力。在 C 端市场,大量的生成类 AI 工具已经遍地开花(包括图片、视频、音乐),也是目前最成熟的一种应用形式。需要注意的是,在 C 端工具中,也经常看到各种形式的简单 “助手”:
这里的助手与这里探讨的企业应用中的 AI Agent 有一定的区别:
AI Agent 是一个以任务驱动的具备自主能力的智能体,不仅需要大模型这个核心 “大脑”,也需要任务规划、记忆与外部工具使用等能力。而常看到的个人 AI 助手大部分是基于预设提示词的大模型问答 Bot,在不借助其他插件时,通常不具备工具使用能力。
当前在企业应用中以内容创作生成为主要能力的 AI Agent 从技术上至少有两种:
这种类型的 AI 助手简单的借助 Prompt 工程即可实现(与 C 端个人助手并无本质区别):
**这种多 Agent 协作型的助手可以借助 Multi-Agents 框架来简化开发与实现。**比如 MetaGPT,可以根据自然语言描述的开发任务,组建 Agent 团队(PM、架构师、程序员、QA 等),遵循 SOP 并最终输出完整软件开发的成果(文档、代码、API 说明等)。
其他支持多 Agent 的开源框架包括微软的 AutoGen,xAgents 等。
当前较为成熟的一种 Agent 类型。通俗地说,就是在企业应用中,通过 “外挂” 私有知识库来扩充大模型的知识储备,以提供基于自然语言的、对话式的企业私有知识访问(对应到 AI Agent 的基本能力之一:持久化记忆),以解决通用大模型在面向企业应用时领域知识不足导致的幻觉问题。
知识助手通常借助于大模型的 **RAG(检索增强生成)**方案来实现,其本质上也是一种提示工程:**借助于在大模型输入时携带相关的私有知识上下文,让大模型理解、总结、整理并回答用户问题。**只是这里的私有知识上下文需要借助嵌入模型(Embedding Model)、向量数据库(Vector Store)、文档加载分割(Document Loader&Splitter)等相关技术来获得。
知识助手的技术实现基础架构如下:
基于 RAG 方案的 AI 助手实现可以自行通过代码直接实现,当然,为了简化开发与管理过程,推荐使用的工具包括:
数据分析与商业智能 (BI) 在中大型企业的日常运营中的重要性毋庸置疑,无论是简单的财务数据分析,还是复杂的客户与运营数据洞察,都需要借助专业的工具。传统 BI 工具使用门槛高、过度依赖技术部门、结果产出周期长的问题在 AI 时代可以借助大模型的能力得以缓解。
基于大模型的数据分析助手(Data Agent)是在企业应用中通过将自然语言转换成数据分析的语言或代码,比如对 API 的调用、对数据库的访问、甚至编写数据分析代码,来达到获取数据、分析数据与可视化结果的目的。其实现基础架构与原理如下:
无论是对本地的 Excel 数据文件分析,或者对数据库中的关系型数据分析,又或者对互联网的非结构化数据分析,当前大模型实现数据分析的技术途径基本以这三种方式为主,自然语言转 API、转 SQL、以及代码解释器(转代码)。
这里推荐几个除 Langchain 之外构建数据分析助手的工具与项目:
需要注意的是:数据分析助手严重依赖大模型对自然语言转数据操作的能力(SQL 或 Python 代码等)。当然条件下,即使是针对这种场景专门优化的模型与提示工程,其失败概率也很高(比如 Text2SQL 目前最高成功率在 80% 左右)。因此,在实际实施中需要根据场景、复杂性、可靠性要求做综合评估。
企业应用中的 AI 助手很多时候需要与现有应用(CRM、OA 系统)做集成与交互,以完成某个用户任务或者驱动业务流程。比如:如果你需要 AI 帮你在协同办公系统中提交一个付款申请,那么你需要调用办公系统的接口;或者你需要借助互联网获得最新某上市公司的财务报告,你需要调用第三方平台的公开接口。这就是 AI Agent 另一项重要能力:工具使用。
**AI 应用 / 工具助手就是能够把自然语言转换成对企业应用或者互联网开放 API 调用的一种基础 Agent 形式。**当然,在复杂任务场景下的这种调用往往不是单一的。其基础架构与原理:
应用助手的基本原理是比较简单的,其复杂性主要体现在大模型对自然语言转 API 的能力,在实际使用中,其主要体现以下两个方面:
在实际测试中发现不同的大模型在这方面的能力是有较大的差异的,而且即使是最优秀的模型,也存在一定的不确定性,比如有时候无法判断出正确的工具。
在构建企业基于大模型的应用助手时,有一些工程问题是需要考虑的,这些问题在做原型或者测试时容易被忽视:
构建应用助手的一些工具和项目推荐:
一种类似 RPA(机器人流程自动化)的 AI 智能体。其主要能力是**自动化 Web 网络浏览、操作与探索的动作与过程,以简化 web 浏览访问与操作。对于个人来说,可以作为个人数字助理,简单对话即可让 AI 帮你完成 Web 浏览与操作,比如在线订票。而对于企业来说,则可以作为企业的数字员工,来简化企业日常工作中重复性较高、流程与规则固定、大批量的前端操作性事务。**比如批量订单处理、批量客户联络、批量网站抓取等,提高效率,降低错误率。
传统的 RPA 机器人也是用来完成此类工作的 AI 形式,由于这种 AI 机器人工作在软件的最上层即操作层面,好处是流程直观、简单、也可以配置化,且对应用无侵入性;但其缺点是与前端应用耦合性大,每个任务需要根据前端应用界面做精心配置与调试,自适应能力较差。
在大模型出现以后,给这一类 RPA 智能也带来了新的优化空间。利用大模型的理解与分析推理能力,可以让 AI 更加智能的规划与分解任务过程,然后借助浏览器完成执行;且在未来可以利用像 GPT-4V 这样的视觉模型,更智能的理解界面元素与功能,实现完全自主的智能操作,具备更强的自适应能力。
实现一个自主 Web 操作的 Agent 的基础原理与架构:
构建一个真实应用的 Web Agent 需要借助浏览器自身能力。由于外部应用无法直接接管浏览器实现操作,一般需要借助浏览器插件,比如 Chrom 扩展,借助浏览器 API 完成网站导航与自动化网页操作,比如点击界面元素,或者输入表单。
前面介绍到的 OpenAgents 项目中的 Web Agent 是一个基于 Chrom 浏览器与扩展而实现的一个 LLM Agent,可以参考用作参考。
当然由于大模型的输出不确定性,当前的 Web Agent 仍然处于探索实验阶段,具有较大的失败或误操作可能,实际应用中需要根据情况反复测试与评估。
最后一种 AI Agent 严格来说是上面的几种基础 Agent 能力的组合。
理想中的 AI Agent 是在丢给他一个工具包与一些知识以后,借助于大模型的理解、推理能力,完全自主的规划与分解任务,设计任务步骤,并智能的使用各种工具,检索知识,输出内容,完成任务。但是在企业应用中,由于企业知识、应用、业务需求的千差万别,以及大模型自身的不确定性,如果这么做,那么结果很可能是 “开盲盒” 一样的不可控。所以这也是越来越多的 Agents 项目要强调可控性的原因,即能够对 AI 智能体的执行过程与细节进行更多的控制,来让 AI 按照人类确认过的工作流程来完成任务。
比如之前介绍的 HR 简历自动化筛选的场景中,你可能需要更加细致的去定义整个自动化工作流程,包括:
在实际应用中,这样基于 LLM 的工作流既可以是直接面向使用者的对话机器人来触发;也可以是完全后台触发。
实现这样的自动化工作流程 AI 智能体,除了借助 Langchain/LlamaIndex 这样的 LLM 开发框架直接定制外,还可以参考或利用一些开源项目:
以上,对企业应用中的大模型 AI Agent 从技术原理层面区分的几种类型做了简单探讨。实际上这里的每一种类型也都是一个可以深入的复杂话题,其中部分类型在之前的文章中也展开深入过,后续也会关注 AI Agent 技术趋势与发展,并在未来做持续分享。