AI时代:智能体系统构建基本范式
一、基本概念及术语
在将智能体系统构建之前,我们先明确几个核心概念及术语:
1.1 智能体系统(Agentic systems)
Anthropic 在2024年12月份发布的《构建高效智能体(Building Effective Agents)》中提出智能体系统(Agentic systems)主要包含工作流(Workflows)和智能体(Agents)。
1.2 工作流(workflows)
通过预定义的代码路径来组织LLM和工具的系统。定义明确的任务提供了可预测行和一致性。
1.3 智能体(Agents)
指大语言模型动态指导自身流程和工具使用,并保持对”任务完成方式”控制的系统。
1.4 智能体系统的架构
如下图所示,智能体系统核心包含规划、行动、工具以及记忆等四大核心组件,其中规划、工具、行动等部分在Agents中是AI大语言模型动态规划、调用工具、执行工作的过程,而Workflows则是人工通过预定义的方式,将智能体的每一个步骤都定义好按照步骤逐步完成的过程。其中定义包含流程本身、子任务拆解、何时调用工具、什么情况执行什么行动等。
以上还请大家先了解知悉,同时Anthropic在《构建高效智能体(Building Effective Agents)》中提出在构建基于大语言模型的应用程序时,我们建议尽可能寻找最简单的解决方案,只有在需要时才增加复杂性。这可能意味着根本不需要构建智能体系统。智能体系统通常以延迟和成本为代价换取更好的任务性能,因此需要权衡这种取舍是否合理。
二、智能体系统核心组件
基于以上与智能体系统相关的术语和概念,智能体系统构建最核心的组件到底是哪些呢?在讨论这个问题之前,我们先分别看下目前主流的几款智能体构建平台是如何设计的。
2.1 国内主流智能体构建平台
2.1.1 Coze
Coze 平台覆盖智能体构建全生命周期的所有功能,包含智能体创建、调试、测试、发布等,本文主要先围绕构建智能体详细展开,Coze平台中包含项目开发和资源库两个核心管理模块,其中项目开发包含智能体和应用,对应智能体系统。而资源库中包含了工作流、提示词、工具、知识库、数据库、插件、卡片音色等诸多对象,我们去除平台特殊设计,会发现知识库和数据库均为与RAG相关的知识库,工具、工作流、插件等均为智能体系统中的工具,提示词则为与大语言模型对接的钥匙,当然独立的模型管理则为大模型管理。
2.1.2 MaxKB
MaxKB最核心的功能模块即管理对象比较简单,包含应用、知识库、工具和模型,其中这里的应用则对应智能体系统。其中应用包含简单应用和高级编排,其分别对应Agent和workflows。
2.1.3 Dify
Dify则最核心的管理对象为工作室、知识库、工具,模型基于系统配置模块进行管理,其中工作室包含工作流、Chatflow、聊天助手、Agent以及文本生成,根据不同场景拆分的比较细致。
2.1.4 RAGFlow
RAGFlow核心管理对象包含数据集、聊天、Agent、搜索和文件管理,系统管理中包含模型管理。其数据集管理则为为知识库管理,聊天和Agent则对应智能体系统。其Agent按照不同使用场景分为代理、客户支持、营销、消费者应用以及其他等类型。但同样包含智能体、知识库、大语言模型,工具RAG中没有很好的抽象出来。
2.2 智能体构建核心组件
基于以上各个主流智能体构建平台的核心管理对象,我们不难总结出构建智能体最核心的6大组件:
其中提示词在上述每个智能体构建平台中的都有涉及,是与大语言模型对接的关键接口;记忆系统在智能体系统的历史会话中均有记录,同时也通过知识库提供了专业知识,所以这里的记忆系统包含知识库以及上下文层,而运行环境主要针对 Agents 的模式。
三、用“敏捷开发”范式构建智能体
基于以上我们基本明确了智能体构建中最核心的组件,然后我们看下构建智能体基本范式,这里我使用了敏捷开发,其实我更希望大家按照软件工程的思路去做智能体开发,同时按照敏捷开发的模式完成智能体的构建。
3.1 智能体构建流程
智能体构建过程中从需求分析、详细设计、开发测试到后续的持续迭代,看起来简单,但是每一个步骤都需要结合上述的核心组件展开完善。之所有说按照敏捷开发方式来做,主要是想体现智能体的构建不是一个一蹴而就的过程,而是一个需求渐进明细,逐步迭代完善优化的过程,跟我们的敏捷开发过程非常类似,快速搭建可能1小时,半天完成,但这个知识v0.1版本,还需要根据使用反馈、需求具体化进一步完善迭代最终满足业务需求。
3.2 智能体构建关键环节
以上简单说了智能体构建的基本流程,我们再接着看下智能体每个环节我们需要重点完成的关键环节:
3.2.1 需求分析(定义智能体的能力边界)
该阶段需要调用对应的业务人员以及领导层,明确智能体的能力边界以及目标需求,并通过标准作业程序整理出完成的需求分析说明书,通过充分的调研、沟通明确好智能体的需求。
3.2.2 详细设计(搜集整理知识库、构建组件、流程拆解)
该阶段需要充分根据需求分析的初步结果进行核心组件每部分的设计,其中最核心的是知识库搜集和处理、工具的构建(此处的组件指工具),同时需要基于用户需求设计工作流(如果是Agents则不涉及),提示词也是最重要的一款,但也可在开发过程中同步调试开发。
3.2.3 开发测试(从最小可执行单位都生产级应用)
开发测试阶段则需要完成知识库构建、工具插件开发、工作流编排以及提示词开发,如果遇到第三方则需要完成第三方系统的对接,比图数据获取、接口调用等。可以先完成最小可执行的AI工具,然后再逐步完善迭代。
3.2.3.1工具调用:模型不是万能的,需要帮手
智能体系统调用外部工具或API,扩展自身能力,解决超出模型本身知识范围的问题。AI模型不仅能依赖自身的知识和能力,还可以调用给定的函数,收集信息、采取行动或操作数据,利用各种外部资源完成任务。常用的工具如下所示:
价值:突破模型预训练数据的限制,实现动态、实时的交互能力,显著提升 AI 助手的实用性和灵活性。
优点:增强能力、提升效率、提升准确性;
缺点:但是也有部分缺点,即对第三方工具的依赖性以及集成调用第三方工具的复杂性。
3.2.3.2工作流设计:渐进明细,逐步完善
工作流是一个逐步细化完善的过程,类似敏捷开发,把自己置身于 AI 的场景去思考。第一阶段可以是最小可执行单位,哪怕只有3-5个工作流节点,后续进一步验证完善并持续优化,让你的工作流设计随着需求渐进明细以及用户使用反馈逐步完善最后到生产级使用。
3.2.3.3 知识库处理:MinerU 实现知识库文档快速处理
MinerU 可以实现PDF文档的自动解析,一方面可以在线调用,另一方面也可以进行本地化部署,能解决诸多PDF等影响化资料的搜集整理。
3.2.3.4AI 提示词:与人工智能对话的钥匙
提示词是我们与大语言模型沟通的桥梁,简单来说,它是我们输入大语言模型的指令和问题。在开发提示词是需要如同代码开发一样构建生产级提示词,代码是调用机器能力的工具,提示词则是调用大模型能力的工具。
提示词是我们与大语言模型沟通的桥梁,简单来说,它是我们输入大语言模型的指令和问题。提示词编写也是有技巧的,这里简单说下6中提示词设计方法:
不过当前大家可以依赖一些提示词工具先生成提示词,然后再基于生成的提示词进行修改编辑。
3.2.4 持续迭代(持续完善更新迭代)
制定周期性长期迭代计划:制定周期性 AI Agent 的迭代计划。如最开始可以每周、后续可以每月,每季度等。
制定完整闭环的反馈机制:制定明确的问题及需求反馈渠道和方式,让用户将在使用过程中的问题统一反馈提交,并后续逐一反馈解决,形成闭环。
四、结语
以上基本描述了智能体的核心组件以及智能体构建的核心范式,希望对大家构建智能体有所帮助,与此同时,企业在构建智能体的时候能选好场景,快速验证,比如典型的合同审核场景,先用小场景试效果,判断好不好用,能不能提升效率再进一步往下走,另外就是优先选择降本增效的场景,其中增效比降本更重要。最后最后模型也有自己的一些局限且是不可避免的。
更多内容详见:培训认证中心