大模型风靡全球,无论是像GPT这样的大语言模型,还是其他领域的AI巨头,都成了技术界的焦点。可是,问题来了:这些强大的模型光是存在就够了吗?显然不够!要发挥它们的真正价值,就需要一个 "中间人" 来搭建大模型与实际应用场景之间的桥梁,而这个中间人,就是AI Agent(AI代理)。
AI Agent可不是单纯的一个普通AI,它就像是一个全能的事务处理员,能理解、执行并响应不同的任务。当我们向AI模型提出一个复杂的需求,模型给了我们一堆处理后的信息。如果没有AI Agent来优化和整合这些信息,我们就只能依靠自己来筛选、应用。而AI Agent的存在,正是为了解决这一问题——它能将大模型的复杂处理能力转化为可操作的任务结果。
什么是AI Agent?
AI Agent的工作方式其实可以理解为一个流程化的任务处理器。它能够接收用户输入,分解复杂任务,调用所需资源,最后整合并返回结果。以下是它的工作步骤:
1. 用户发起请求
用户通过界面或者语音向AI模型发出请求,比如“生成一份市场调研报告”。这个请求可以是非常简单的问题,也可以是复杂的任务。
2. AI Agent分解任务
AI Agent会首先理解这个请求,然后将其分解为多个子任务。例如,在市场调研报告的例子中,它可能会将任务拆解为“收集市场数据”、“分析竞争对手”等子任务。这个分解的过程可以让每个子任务更好地执行。
3. 调用大模型及外部资源
在每个子任务下,AI Agent会根据需求调用大语言模型(如GPT)进行信息生成,同时还可能连接到外部的API、数据库,甚至是其他系统的数据源。通过这种调用,AI Agent能获取更加丰富和精准的资源来完成任务。
4. 整合并返回结果
一旦所有的子任务都执行完毕,AI Agent会将所有信息整合起来,生成一个可操作的最终结果,并返回给用户。例如,它将把收集到的市场数据和竞争对手分析结果整合成一份完整的市场调研报告。
5. 用户获取最终结果
用户最终得到一个由AI Agent处理过的结果,可以直接使用,省去了自己分析、处理数据的麻烦。
从上面的概述,我们可以把AI Agent概况为:
我们可以把AI Agent数据流简单概括如下:
走进AI Agent
接下面我们对AI Agent的几个组成模块进行简单解释:
01、提示模板
当我们谈到AI Agent时,常常会提到一个重要概念——提示工程(Prompt Engineering)。这是一个帮助大模型高效工作的技巧,它不仅是与大模型对话的关键,也是引导大模型生成准确、有用的数据。
在AI Agent中,提示工程的作用就像我们跟大模型沟通的“桥梁”,把我们的意图转化为机器能理解的指令,让大模型可以给出符合预期的输出。简单来说,它帮助我们“教”大模型该如何思考及输出我们预设的数据格式。
02、大模型
大模型是一种神经网络模型,通常由数以亿计甚至千亿级的参数组成(比如GPT-4)。这些模型通过对大量文本数据进行训练,学会了从语言中捕捉模式、理解上下文关系、预测下一个词及生成图片、生成声音、甚至生成具有创意的文本。
训练大模型的过程相当复杂,它通过处理各种各样的语料库(新闻、书籍、网页等),学习到人类语言的结构和逻辑。这让它能够生成高度相关、连贯、甚至具有一定常识性和推理能力的回答,进而实现自然语言处理的强大功能。
03、记忆
在AI Agent中,记忆指的是它能够在多轮对话或一系列任务之间“记住”一些信息。这些信息可以是用户的偏好、之前的对话内容、执行的任务步骤,甚至是历史决策。这种记忆可以是短期的(比如一次对话会话中的内容)或长期的(跨多个会话,保存重要的用户数据或偏好)。
和人类一样,AI Agent拥有记忆的能力后,能够更好地理解用户的需求,追踪上下文,提供更连续且一致的交互体验。例如,如果一个AI Agent记住了你喜欢的咖啡类型,下次你订咖啡时,它就能直接推荐你偏好的选项,而不需要你每次重新说明。
04、工具
在AI Agent中,工具的概念指的是赋予AI执行特定任务的外部或内部能力。这些工具让AI Agent不仅能够理解和生成语言,还能通过操作不同工具来完成复杂的任务或解决问题。换句话说,工具是让AI Agent从“会说”变成“会做”的关键组件。
这些工具可以是API、数据库、计算模块、浏览器等具体的外部系统,也可以是AI Agent内置的能力(如搜索、计算、文件操作等)。工具的使用极大地扩展了AI Agent的能力,让它能够与外部世界互动,而不仅仅局限于对话或文字生成。
实现简单的客服系统
我们根据AI Agent的概念,来实现一个手机售卖的客服系统,为了便于快速理解这些概念,我们使用Dify来实现,Dify我们在上篇文章中已进行安装简介。
01、数据准备
我从网上查询到一些手机的报价及配置作为测试数据,如下图,把它保存为phones.xlsx,并上传到Dify知识库。
上传到Dify:
点击下一步:
点击保存并处理:
点击前往文档,把刚上传的文件改名为"手机列表"。
知识库的概念:
大语言模型的训练数据一般基于公开的数据,且每一次训练需要消耗大量算力,这意味着模型的知识一般不会包含私有领域的知识,同时在公开知识领域存在一定的滞后性。为了解决这一问题,目前通用的方案是采用 RAG(检索增强生成)技术,使用用户问题来匹配最相关的外部数据,将检索到的相关内容召回后作为模型提示词的上下文来重新组织回复。
Dify 的知识库功能将 RAG 管线上的各环节可视化,提供了一套简单易用的用户界面来方便应用构建者管理个人或者团队的知识库,并能够快速集成至 AI 应用中。你只需准备文本内容,例如:
长文本内容(TXT、Markdown、DOCX、HTML、JSONL 甚至是 PDF 文件)
结构化数据(CSV、Excel 等)
(来源于Dify官方文档)
02、创建一个Agent
根据下图提示,我们创建一个Agent:
点击创建,如下图:
在右上角选择gpt-4,在提示词中输入提示词,在上下文中选择我们的知识库"手机列表":
你是一位手机售卖AI助手,专门回答客户的关于手机方面的问题。
请按照以下步骤回答:
1. 使用 “手机列表” 查询手机信息。如果“手机列表”中有相关数据,请返回查询结果。
2. 如果 “手机列表” 中没有相关数据,请直接回答:“抱歉,我没有找到相关的手机信息。”
3. 不要尝试从其他来源获取信息,如在线搜索。
在添加功能中,我们选择添加开场白:
我们在右侧底部输入对话信息,AI客服回答了知识库已有的信息。
03、运行发布
点击右上角的发布,我们可以运行程序或把这个Agent集成到应用程序。
如下可以创建访问API,集成到应用程序中:
通过这个简单的示例,我们可以对AI Agent有个入门级的认识,对大模型应用开发的流程做到了解,后续我们再进行深入了解。