文章目录
我们经常在科技领域听到“智能体”(agent)这个词,以至于我们很容易觉得已经知道它是什么意思了,即使我们从未读过一篇关于它的研究论文,也从未尝试自己构建过一个。
也许对于普通人来说,这没什么大不了。
但作为数据科学家,我们不能止步于此。
是的,我知道——智能体是最新流行词。但仅仅因为它们备受炒作,并不意味着它们不强大,也不意味着它们没有在塑造我们领域的发展。如果我们不花时间真正理解它们的工作原理,我们就会错过成为构建者、部署者和重新定义工作方式的机会。
相信我,直到我开始尝试构建自己的AI智能体来增强/自动化我的数据科学工作时,我才意识到自己之前的理解是多么肤浅。
所以,如果你希望迈出下一步,真正理解智能体是什么、它们如何工作以及它们为何重要,那么这篇文章就是为你准备的。
以下是我们将涵盖的一些内容:
- AI智能体到底是什么(以及它们与LLM有何不同)
- 智能体工作的核心组件
- 当今顶级智能体框架的高级概述
- 为什么这对数据科学家很重要(以及它如何正在改变工作流程)
1 从LLM到智能体:概念上的飞跃
首先明确一点:智能体不仅仅是一个更高级的LLM,相反,可以将智能体视为一个系统,它利用一个(或多个)LLM,通过多个步骤向一个目标采取行动。
以下分解有助于更好地描绘这一图景:
LLM与智能体之间的区别。
- LLM(如Llama 3或GPT-4)是无状态、单步的预测器,它们根据输入生成一次性响应,默认情况下没有记忆或规划,除非你手动模拟。
- 智能体是建立在LLM之上的。它们添加了一个控制层,可以:
- 使用记忆
- 调用工具或API
- 在多个步骤中做出决策
- 维护状态并追求目标
智能体编排多次LLM调用,使用外部工具,并随时间保留上下文。它们并非独立于LLM而存在,而是利用LLM构建的更强大的抽象。
1.1 智能体Agent的解剖
智能体的核心只是一个旨在追求某个目标的系统,但它实现目标的方式是其独特之处。
以下是典型的分解:
- 目标:每个智能体都始于一个目标。这可以简单到“总结这个数据集”,也可以开放到“分析客户流失”。
- 推理循环:与单一的LLM提示不同,智能体在循环中运行。它们决定做什么,执行行动,观察结果,然后再次决定。这是一个迭代过程。
- 工具使用与记忆:智能体可以调用API、运行代码、使用数据库,并在多个步骤中保留上下文。这使得它们比基本的聊天机器人更具动态性。
- 反思:一些智能体甚至会评估自己的进展,并在此过程中调整计划。可以理解为:“这奏效了吗?如果没有,我下一步应该尝试什么?”
你在开源智能体中经常会看到的一种模式是ReAct,它是**推理(Reasoning)+行动(Acting)**的缩写。它是一个简单而强大的结构,智能体对问题进行推理,采取行动,观察结果,然后重复。
ReAct智能体模式图。
核心思想是:魔法不仅仅在于模型,而在于循环。
这里有一篇很好的文章,详细介绍了ReAct框架。
1.2 MCP vs ACP vs A2A:有什么区别?
随着智能体越来越受欢迎,关于如何构建它们的各种标准也应运而生。你可能会遇到的三个是:
1.2.1 MCP(模型-上下文-提示)
MCP图。
这是Anthropic提出的一个开放标准,它就像LLM的USB-C接口,一个服务器,多个工具。它标准化了模型访问外部数据和API的方式,使工具辅助提示和API链更容易扩展。但它不是一个完整的智能体框架,没有规划循环,没有自主性。它只是连接模型与外部世界的简洁方式。更多信息请参阅官方文档。
1.2.2 ACP(智能体-上下文-提示)
由OpenAgents引入,ACP更正式地定义了智能体。“智能体”拥有自己的身份和能力,上下文持续更新,提示也随时间调整。这是向目标驱动行为迈出的一步。这里是官方文档。
1.2.3 A2A(智能体-到-智能体)
A2A图。
这关乎多智能体协作。多个智能体分工协作并相互通信以完成任务,而不是由单个智能体完成所有事情。这对于委托、并行处理或需要不同角色的复杂工作流非常有用。更多信息请参阅官方文档。
简而言之:
- MCP 标准化了LLM访问外部工具和数据的方式。
- ACP 构建了更动态、目标感知的智能体。
- A2A 协调智能体团队以完成更广泛的任务。
希望这能帮助你在选择适合自己用例的方法时有所帮助。如果不能,这篇文章对它们进行了很好的彻底比较。
2 为什么AGENT对数据科学家很重要
如果你一直在想从哪里开始使用智能体,你并不孤单。这个领域发展迅速,很容易迷失在各种流行词中。
所以在深入构建任何东西之前,我认为退一步看看全局会很有帮助。
下面是目前最流行的开源智能体框架的高级概览,它们之间有何不同,以及它们实际擅长什么。这些框架支持自主智能体(例如Auto-GPT)和编排器(例如LangChain),满足科技行业多样化的需求:
如果你想了解更多信息,这里有一篇很棒的文章比较了各种智能体框架。
作为数据科学家,我们大部分时间并非花在建模上,而是花在处理复杂性上:
- 弄清楚从何开始
- 探索边缘案例
- 调试管道
- 根据模糊的利益相关者问题完善分析
- 我还要继续说下去吗?
智能体可以重塑这种工作流程,它们不是替我们思考,而是处理我们不断发现自己陷入的重复循环。
想象一下,运行初步的探索性数据分析(EDA),让智能体标记异常分布,建议相关的细分,并自动重新运行分析的某些部分,而无需你每次都重新提示它。
或者让它跟踪你的工作假设,生成测试,或提出值得验证的假设。
在过去的几个月里,我开始将其中一些功能融入到我的工作流程中,我可以自信地说,这帮助我的分析工作流程效率提升了10倍。
这才是智能体对我们数据科学家的真正价值:更快的迭代,更紧密的反馈循环,以及更多空间专注于解决难题。
3 真实世界案例:LAMBDA
一个为分析师构建的数据智能体
让我们用一个具体的例子来巩固所有这些概念。
2024年中旬,研究人员发布了一个名为LAMBDA(大型模型数据智能体)的框架。它是智能体工作流在真实数据分析环境中表现如何的最清晰的演示之一。
3.1 LAMBDA 的实际作用
LAMBDA 概述,来自白皮书。
LAMBDA 将智能体的职责分为两个模块化角色:
- 程序员智能体:根据用户查询或分析目标生成代码(Pandas、SQL等)。
- 检查员智能体:审查代码,捕获错误,改进格式,并提出改进建议。
它们共同在一个反馈循环中运行:程序员迭代,检查员检查工作,错误被反馈回循环,直到输出功能正确。
💡 LAMBDA 包含一个人机交互界面,因此用户可以干预、检查或修改过程中的任何步骤。
3.2 它的工作原理
3.3 为什么这很重要
这种设置模仿了我们许多人已经做的事情:编写一些代码,仔细检查,然后完善它。LAMBDA 只是将其形式化为一个智能体过程,具有更清晰的角色、更紧密的反馈循环以及对繁琐部分的自动化。
以下是它对数据科学家有价值的原因:
- 角色分离与常见的工作流程(编写者/审阅者)相对应。
- 它减少了调试和重写类似逻辑所花费的时间。
- 它赋予你更多控制权,而不是更少,你决定何时介入。
- 最重要的是,它展示了智能体框架如何变得实用,而不仅仅是理论。
希望这能为你的未来工作带来一些启发!
4 总结
至此,你已经了解了如何以不同的方式思考智能体:
- 它不是LLM的某种特殊能力,而是构建在LLM之上的分层系统
- 它使用三个基本要素构建:记忆、规划和工具使用
- 它是从LLM调用到面向用户产品这一更广泛技术栈的一部分
但这不仅仅关乎框架或工具链。
如果你认真对待智能体构建,以下几点更为重要:
- 理解其内部结构
你需要独立地思考记忆、规划和工具使用。大多数智能体失败的原因是跳过了这一层,在不理解每个组件职责的情况下将事物拼凑在一起。 - 从用户意图倒推
智能体不是产品。它是一个工作流引擎。首先设计理想的用户体验,然后让它来指导你是否需要自主性、多步推理,或者仅仅是一个范围明确的LLM调用。 - 像系统设计师一样思考,而不是提示工程师
LLM很强大,但其杠杆作用来自于围绕它们构建结构化循环:
👉 验证、回退机制、重试逻辑、监控、约束。 - 从小处着手,但有目的
选择一个智能体能带来清晰优势的用例,例如更快的迭代、减少手动步骤、更好的决策支持。并且,尤其是在早期阶段,要让人类参与到循环中。
工具会不断发展。封装会变得更复杂。
但如果你专注于基本原理,你就能在炒作消退后,真正地交付有用的AI系统。