首页 / 文章

聊天界面还是智能体循环?如何确定你的AI功能需求

了解如何区分对话型聊天机器人与目标驱动型智能体,理解智能体循环的作用,以及如何判断您的AI功能实际上需要哪一种。

发布者:REACTAPP.TOP阅读约 12 分钟2824 词

来源: Your AI Chatbot Can Talk — But Can It Actually Take Action?

两种人工智能产品可以共享同一个文本框和相同的问候语,但却基于完全不同的架构构建。一种会将你的消息转化为回复;另一种则将你的消息视为目标,调用相关工具,分析返回结果后决定下一步该做什么。如果你正在设计人工智能功能,混淆这两种概念会导致产品要么功能不足,要么成本高昂且稳定性差。本指南为你提供了区分两者的专业术语,帮助你将任何系统定位在两者之间的某个位置,并给出了选择构建哪种产品的实用检查清单。

我们在LLM之外究竟是什么将聊天机器人与AI智能体区分开来一文中已经探讨过概念上的界限。此处重点讨论设计决策:循环的代价是什么、何时能见到回报,以及普通聊天机器人如何通过逐步添加功能演变成智能体。

同一个文本框背后的两种系统

假设有一位用户询问在给定预算范围内最适合的机器学习笔记本电脑。对话式助手会根据模型已有的知识提供一份推荐列表。这确实很有帮助,但该列表可能已经过时,仍需由用户自行对照自身需求进行筛选。

另一个系统接收相同的句子,却会执行完全不同的操作。它会通过连接的工具查询实时产品数据,对比各项规格,根据您设定的要求对候选选项进行测试;当第一批结果不符合要求时,它会重新调整搜索条件并再次尝试。聊天界面是完全相同的,不同之处在于您按下回车键之后的处理流程。

这正是本指南要探讨的核心问题:一个能够对话的系统究竟在何时才会转变为真正能采取行动的系统?

聊天机器人的设计目的

聊天机器人是一种以对话为主要功能的软件。其交互流程十分简单:

  • 用户发送消息
  • 系统对消息进行处理
  • 系统生成或检索回复后,将控制权交还给用户

让它解释监督学习,它就会讲解;接着要求举个例子,它又会回答。每一次互动都是先有请求再有回应,而整个对话过程本身就是成果。

这种模式涵盖了大多数实际应用场景:回答问题、解释概念、撰写和总结文本、头脑风暴、客户支持以及辅导教学。

基于规则的机器人与大型语言模型驱动的聊天系统

聊天机器人出现的时间早于大型语言模型。早期的聊天机器人大多依靠预设脚本运行:收到问候语就会回复固定的问候,请求查询订单号则会提示输入订单编号,任何超出预设流程的操作都会触发默认回复。正因为每条处理路径都是人工编写的,所以它们的行为十分可预测。

基于大语言模型的聊天助手消除了大部分这种僵化性。它们能够解析自由形式的语言并即时生成答案,因此适用于写作、编程辅助、研究、学习、推理、总结和翻译等任务。不过需要强调的是,用强大的模型替代决策树会改变系统的对话能力,但并不会单独改变系统在现实世界中能做的事情。即便在请求-响应框架内使用了更强大的模型,它依然只是个聊天机器人。

什么让一个系统成为智能体

人工智能智能体是一种通过运用所拥有的能力——通常是各种工具——来做出决策并执行行动以实现目标的系统。它不断思考的问题不仅是该给出何种回复,还有下一步该采取什么行动。

一个简化的智能体运行流程如下:

  1. 接收目标。
  • 理解其内容及相关的约束条件。
  • 制定计划。
  • 选择下一步行动。
  • 执行该行动,通常是通过调用工具来完成。
  • 观察结果。
  • 根据观察结果调整计划。
  • 要么继续执行其他行动,要么因目标已达成而停止。
  • 关键在于第四步到第八步会不断循环。系统参与的是多步骤工作流程,而非生成一个答案后便等待。

    旅行请求的两种处理方式

    如果让聊天机器人帮忙规划在迪拜的三天行程,它很可能会给出一份条理清晰的行程表:第一天参观哈利法塔和迪拜购物中心,第二天游览老迪拜,第三天去滨海区并体验沙漠游。这些信息很有用,但所有实际事宜仍需你自己处理:酒店选择、价格、空房情况、航班信息、营业时间以及最终行程安排。

    如果将任务交给熟悉业务的旅行社,要求其在固定预算内为三天的迪拜之旅寻找可行的方案,结果将会大不相同。旅行社会先确定预算,搜索航班并加以比较,查询酒店信息、营业时间及其他相关细节,制定行程安排,核对总费用是否在预算范围内,一旦超出则调整计划,最终呈现符合要求的选项。

    简而言之:聊天机器人负责讨论任务,而代理程序则负责执行任务。

    响应与行动

    若需要一个简化的思维模型,可使用以下两种结构:

    • 聊天机器人:消息,然后是响应
    • 代理程序:目标,接着是决策、行动、观察以及下一步行动,如此循环直至任务完成

    前者以对话为中心组织流程,后者则以结果为导向组织流程。

    为何界面不会透露任何信息

    智能体也可以隐藏在聊天框背后,这正是外观具有误导性的原因。想象有两个应用,它们都显示相同的友好问候语,并且都会收到“查找关于AI智能体的最新研究论文”的请求。

    应用A将该请求传递给模型,模型则根据其训练数据给出回答。应用B则会调用搜索工具,收集论文,阅读结果,判断其相关性,如果初次搜索效果不佳则再次搜索,最后撰写总结。在屏幕上,这两个应用看起来几乎完全相同;但实际上,一个只是简单地调用模型,而另一个则是一个经过精心设计的流程。不能仅凭用户界面来判定一个系统,必须查看其控制流程。

    谁在驱动工作流

    在典型的聊天机器人对话中,人类是指挥者。你要求获取机器学习论文,它就会给出建议;你要求进行比较,它就会提供对比结果;你询问局限性,它也会如实告知。从一个阶段过渡到下一个阶段的每一个步骤,都是你自行决定并输入指令的结果。

    而代理系统可以一次性接收完整任务:“找出五篇相关的机器学习论文,比较它们的方法,分析各自的局限性,并撰写报告”。然后它自行安排各个步骤的顺序:搜索、筛选、阅读、提取信息、比较、评估以及撰写报告。你不再需要逐一请求每个步骤,这才是真正的变革——控制权从用户手中转移到了系统之中。

    将模型转化为代理的构成要素

    工具

    工具的使用是与代理系统最相关的能力。某个特定的代理可能被配置为能够:

    • 用于查询最新信息的搜索工具
    • 用于存储记录的数据库工具
    • 用于分析和计算的代码执行工具,如 Python 沙箱环境
    • 用于读取文档的文件处理工具
    • 用于查看日程安排的日历工具
    • 仅在具备相应权限时才可使用的电子邮件工具
    • 用于与其他软件交互的各类 API

    模型的任务是判断当前步骤需要使用哪些工具。对于 JavaScript 和 TypeScript 团队而言,函数调用以及经过模式验证的工具参数等概念便派上了用场;TypeScript 中用于 LLM 工具开发的受限智能体循环模式展示了这些概念在代码中的实现方式。

    一个研究案例能让这一收益更加具体。有学生寻求帮助,希望研究面向低资源语言的检索增强生成技术。聊天机器人可以解释RAG的工作原理、低资源语言的难点所在、应尝试哪些关键词以及如何构建文献综述,之后由学生自行开展研究。而拥有合适工具的研究智能体则能将问题转化为搜索查询,检索学术资料,筛选候选内容,剔除无关信息,阅读剩余文献,提取方法与数据集,比较研究结果,指出局限性,并撰写结构化的综述。此时,人工智能不再是单纯描述研究流程,而是成为了该流程的一部分。

    规划与执行

    复杂的目标需要分解。如果让人工执行“分析这个客户数据集并编写报告”的任务,操作人员可能会计划先查看文件、了解每列的含义、检查缺失值、清洗数据、进行探索性分析、制作可视化图表、识别关键模式,最后整理出分析结果。

    需要注意的是,聊天机器人也能生成完全相同的任务清单。制定计划属于文本生成范畴,关键在于系统是否能够执行这些步骤,并对每一步的结果作出响应。需要人工亲自完成的计划只是建议,而由系统自动执行的计划则属于实际操作。

    观察与反馈循环

    行动只是其中的一半。智能体必须关注每项行动的结果。假设它搜索关于代理型RAG的最新论文,但得到的匹配结果很差。一个高效的智能体会意识到这些结果不够相关,于是重新构建查询语句,再次搜索,最终获得更好的结果。

    这种“思考、行动、观察、调整”的循环,正是区分普通循环与处理流程的关键。如果没有观察环节,系统就只是按固定顺序使用各种工具,然后寄希望于某种结果。

    记忆与任务状态

    记忆常被视为智能体的核心特征,但聊天机器人同样具备记忆功能,因此仅靠记忆并不足以让系统具备智能体特性。对于真正的智能体而言,记忆更为重要,因为它们的任务持续时间更长,且会产生更多中间结果。一个研究型智能体需要记录原始问题、已查阅的论文、被否决的资料及其原因、目前的重点发现、用户需求以及之前的工具输出结果。如果没有有效的状态管理,长期运行会导致问题:它会反复阅读相同的资料,忘记约束条件,或与自己先前的结论相矛盾。

    是一个连续谱,而非二元开关

    实际产品很少能严格处于某一端。许多系统同时具备对话能力和智能体能力,将这一发展过程视为分阶段的演变会更有帮助:

    1. 基础聊天机器人。用户发送消息给模型,模型随后返回回复。
    2. 支持工具的聊天机器人。模型在回复前可以调用搜索等工具,但整体流程仍为一次请求对应一次回答。
    3. 智能体。模型接收任务目标,进行规划,选择工具,执行操作,观察结果,再次决策,如此循环直至任务完成。

    第二阶段和第三阶段之间并无明确界限。有些系统是对话型助手,有些会调用少量工具,还有些则执行复杂的多步骤工作流。系统的类型取决于模型对控制流的掌控程度。

    仅一次工具调用就能构成智能体吗?

    不一定。那种一被问及天气就始终调用天气API的机器人虽然也在使用工具,但其工作流程是固定的:提问、调用API、给出答案,无需任何决策。

    如果将请求改为“为明天规划最佳的户外活动”,情况就会不同。系统需要查看天气预报、找出合适的活动选项、核实场所的开放时间、比较不同地点的情况、综合各种条件,最终推荐一个方案。这需要做出多项相互关联的决策,并协调多种工具来实现更宏大的目标,因此它更接近于智能体工作流程。一个有用的判断标准是:如果工具调用的顺序可以提前固定下来,那它只是个使用工具的聊天机器人;而如果后续调用取决于前一次调用的结果,那你就是在构建一个智能体。

    没有聊天窗口的智能体

    反之亦然:智能体根本不需要对话界面。一个负责处理 incoming 支持工单的后台服务可以對每個工单进行分类、获取客户信息、搜索文档、起草解决方案,并将复杂案例转交给人工处理。虽然没有人与之对话,但它显然属于智能体,因为它通过一系列既定动作来达成目标。

    选择聊天机器人还是智能体

    人们很容易将“智能体”视为“聊天机器人”的升级版。这种认知会导致团队过度设计。正确的问题应该是你的应用实际需要什么。

    何时选择聊天机器人

    当核心任务是对话或内容生成时,直接的模型响应通常就足够了,例如:

    • 回答常见问题
  • 解释梯度下降或神经网络等概念
  • 总结段落或文档内容
  • 生成或重写内容,例如将草稿邮件改写为专业版本
  • 回答简单问题
  • 对于这些任务,聊天机器人通常更简单、更快、成本更低且更易于维护。无需进行复杂的自主多步骤执行,每避免一次额外的模型调用就能节省延迟和成本。

    何时需要使用智能体

    当任务涉及以下多项内容时,智能体才显得有必要:

    • 多个相互关联的步骤
    • 在不同工具之间进行选择
    • 与外部系统交互
    • 在过程中做出决策
    • 重复执行某些操作
    • 检查结果
    • 根据结果调整方案
    • 在各个步骤之间保持任务状态

    像“搜索近期论文、提取其中的方法、比较结果并生成结构化报告”这样的任务本质上是多步骤的,因此代理架构是较为合适的选择。

    自主性的代价

    自主性越强,出错的可能性就越大。代理可能会选择错误的工具、误读结果、重复已做过的工作、陷入循环、产生过高的API费用、耗时远超单次调用的时间,或者在几步之后才被人发现它做出了错误决策。

    正因如此,代理需要一些聊天机器人往往可以省略的工程设计:

    • 限制每个工具可操作范围的权限设置
    • 对工具输入和输出的结果进行验证
    • 记录并追踪每一个步骤
    • 针对失败或部分成功的工具调用进行错误处理
    • 评估整个执行过程,而不仅仅是单个答案
  • 明确的停止条件,如步数限制和预算上限
  • 在执行不可逆操作前需经过人工确认
  • 如果一个更简单的系统就能可靠地解决问题,那它通常就是更好的系统。

    从头到尾查看差异

    并排展示的两种控制流程概括了上述所有内容。

    聊天机器人:理解用户消息,生成回复,然后将控制权交还给用户。

    智能体:理解用户目标,制定计划,选择工具,执行操作,观察结果,调整计划,继续下一步行动,直到目标达成为止循环结束。

    最后一个例子展示了在同一个请求中,这两种方式如何都能发挥价值。有人表示想学习代理型人工智能。聊天机器人可以提供学习路线图、主题列表、学习资源以及清晰的解释。而更高级的学习代理则能够评估学习者已掌握的知识,制定学习计划,授课、布置练习、批改答案、找出薄弱环节,调整后续课程内容,跟踪学习进度并持续循环。前者帮助学习者理解知识,后者则参与学习过程的管理,二者解决的是不同的问题。

    关键要点

    • 聊天机器人以对话为中心(输入消息,输出响应);而代理则以目标为中心(规划、行动、观察、调整、完成)。
    • 界面并非判断依据:代理可以隐藏在聊天框背后,也可以在没有聊天窗口的情况下运行。
  • 仅有工具调用并不足以构成智能体;决定性因素在于下一步是否依赖于前一步的观测结果。
  • 记忆、规划与工具对这两种系统都很重要,但智能体依赖于执行与反馈,而不仅仅是制定计划。
  • 从能够可靠完成任务的最简单设计出发,仅在需要时添加相应的约束机制:权限控制、验证、日志记录、停止条件以及人工审批。