
Ai学习的老章
长期跟踪关注统计学、机器学习算法、深度学习、人工智能、大模型技术与行业发展动态,日更精选技术文章。回复机器学习有惊喜资料。
672篇原创内容
公众号
随着大型语言模型(LLMs)的诞生,人工智能(AI)取得了巨大的飞跃。这些强大的系统彻底改变了自然语言处理的格局,但它们真正的潜力是在与自主性相结合时被释放出来的——这种自主性包括推理、规划和自主行动的能力。
大型语言模型是AI领域的一个重要里程碑。它们通过海量数据的训练,能够生成流畅、连贯的文本,为各种自然语言处理任务提供了强大的基础。然而,这些模型本质上是被动的,它们只能根据输入的提示生成文本,而无法主动地去执行任务或与外部环境互动。
AI智能体的出现改变了这一局面。它们不仅仅是语言模型的升级版,更是赋予了AI自主性和主动性。AI智能体能够理解任务目标,通过推理和规划来制定行动方案,并且能够与外部工具或系统进行交互,以完成复杂的任务。这种从被动到主动的转变,使得AI的应用范围得到了极大的拓展。
聊天机器人并不是什么新鲜事物。在生成式人工智能(Gen AI)概念出现之前,你可能就已经在网站上与聊天机器人互动过。然而,传统聊天机器人与今天的AI驱动的对话代理之间存在着根本性的差异。以下是它们的典型工作方式:
传统聊天机器人依赖于基于规则的逻辑(“如果-那么”语句)。它们只能在预设的规则范围内运行,无法处理复杂或模糊的查询。这种模式的局限性在于,一旦遇到超出预设规则的问题,聊天机器人就无法给出有效的回答。
传统聊天机器人的回答是静态且预先定义好的。它们通过检测特定的关键词或短语来触发预设的回答。这种模式缺乏灵活性和对话深度,无法根据上下文进行动态调整。
在传统聊天机器人中,总会有一个“转接人工客服”的按钮,用于处理无法解决的查询。对于复杂问题,人工干预仍然是必不可少的。这种模式虽然可以解决一些简单问题,但在面对复杂或需要深度理解的场景时,其局限性显而易见。
随着大型语言模型(LLM)的出现,聊天机器人迎来了质的飞跃。LLM驱动的聊天机器人不再依赖于固定的规则和预设的回答,而是能够通过自然语言理解(NLU)和自然语言生成(NLG)技术,动态地生成回答。这种模式的优势在于:
LLM能够理解复杂的语言结构和语义,甚至能够处理模糊或开放性的问题。它们可以通过上下文理解用户的意图,从而提供更准确、更自然的回答。
与传统聊天机器人的固定回答不同,LLM驱动的聊天机器人可以根据用户的输入动态生成回答。这种模式不仅提高了回答的灵活性,还能够根据不同的场景和用户需求提供个性化的服务。
虽然LLM驱动的聊天机器人仍然可能需要人工介入来处理某些复杂问题,但它们已经能够独立处理大部分常见问题。这大大减轻了人工客服的负担,同时也提高了用户体验。
AI智能体的概念基于理性行为的基本理念:智能体应该采取能够最大化实现其指定目标成功的行动。这种理性正是AI智能体与简单响应程序的根本区别。
这些组件使智能体能够感知其环境。它们可以是物理传感器(如摄像头、麦克风)或数字输入(如数据流、用户交互)。
这是智能体的“大脑”,负责处理来自传感器的信息并确定适当的行动。这一组件实现了智能体的决策算法,并维护任何必要的内部状态。AI智能体使用各种决策机制,如基于规则的系统、专家系统和神经网络,以做出明智的选择并有效执行任务。
这是智能体影响环境或采取行动的手段。它们可以是物理的(如机械臂、扬声器)或数字的(如数据库更新、显示输出)。
AI智能体与环境的互动通常被称为“感知-规划-行动”循环或“感知-行动”循环。我们以自动驾驶汽车为例来理解每个阶段:
AI智能体与简单自动化工具的区别主要在于两个关键能力:工具使用和规划。
假设我想创建一个AI智能体日程安排器,我向它发出指令:“我想为我的学生举办一场网络研讨会”。这将被视作触发AI智能体的信号。
交响层(也称为控制中心)负责处理查询,无论查询是文本、音频、视频还是图像,最终都会被转换为机器可处理的数值。
交响层的四大主要功能如下:
模型是整个智能体的集中决策者,通常是像大型语言模型这样的AI模型。
为了理解查询、制定计划并确定下一步行动,模型会使用推理和逻辑框架,例如:
以一个冲浪旅行网站为例,假设你可以提前知道用户请求将属于两个类别之一(基于用户选择),并且你为这两种情况分别设定了预定义的工作流程:
直到最近,计算机程序还被限制在预定义的工作流程中,通过堆叠if/else语句来处理复杂性。它们专注于极其狭窄的任务,比如“计算这些数字的总和”或“在这个图中找到最短路径”。
智能体是一个能够感知环境、做出决策并采取行动以实现特定目标的自主实体。智能体的复杂程度可以从简单的反应式智能体(仅对刺激做出响应)到更高级的智能体(能够学习并随时间适应)。常见的智能体类型包括:
从零开始构建智能体并非易事。像LangGraph、CrewAI和OpenAI Swarm这样的框架简化了开发过程,使开发人员能够专注于应用逻辑,而不是重新发明状态管理、编排和工具集成的轮子。智能体框架的核心优势包括:
智能体框架代表了人工智能系统设计的范式转变。与依赖静态、预定义工作流的传统AI应用不同,智能体框架引入了动态、自适应的系统,能够自主地感知、推理和行动。这些框架将复杂任务分解为更小的子任务,由专门的智能体协作完成更广泛的目标。
LangChain是一个强大且灵活的框架,简化了基于大型语言模型(LLMs)的应用开发。它提供了丰富的工具和抽象层,使开发人员能够设计具备复杂推理、任务执行和与外部数据源及API交互能力的AI智能体。LangChain通过其模块化架构,解决了与LLMs协作时的诸多挑战,例如在长对话中保持上下文、整合外部信息以及协调多步骤任务等。
LangGraph是LangChain的扩展,专门用于创建基于图的单智能体或多智能体AI应用。它非常适合构建涉及规划、反思和多智能体协作的复杂交互式AI系统。LangGraph作为底层框架,允许开发人员控制智能体之间的交互、使用的工具以及应用内的信息流动。
CrewAI是一个用于编排角色扮演AI智能体的框架。它允许开发人员创建一个“团队”,每个AI智能体都有特定的角色和职责,共同完成复杂的任务。CrewAI特别适合构建需要多样化专业知识和协调努力的协作AI系统。
Microsoft Semantic Kernel旨在弥合传统软件开发与AI能力之间的差距。它特别关注将大型语言模型(LLMs)集成到现有应用中。该框架为开发人员提供了在不完全推翻现有代码库的情况下,整合AI功能的工具。其轻量级的SDK和对多种编程语言的支持,使其能够适应各种开发环境。
Microsoft AutoGen是一个开源框架,用于构建高级AI智能体和多智能体系统。由微软研究院开发,AutoGen提供了一个灵活且强大的工具包,用于创建对话式和任务完成型AI应用。它强调模块化、可扩展性和易用性,使开发人员能够高效地构建复杂的AI系统。
Smolagents是一个前沿的开源框架,旨在彻底改变AI智能体的开发方式。它为开发人员提供了一个全面的工具包,用于构建智能的、协作的多智能体系统。Smolagents专注于灵活性和模块化,能够创建独立运行或在人类监督下协作的复杂AI系统。
AutoGPT基于强大的GPT-4语言模型,能够通过语言输入执行目标导向的任务。它代表了自主AI智能体领域的重大进步,将决策提升到了新的水平。
Agno(原名Phidata)是一个多模态智能体框架,能够开发协作式智能体系统。它支持文本、图像和音频等多种模态数据,无需依赖外部工具即可独立运行。此外,Agno还提供了Agentic UI,方便用户与智能体进行可视化交互。
LangGraph是由LangChain团队开发的一个库,旨在帮助开发人员创建基于图的单智能体或多智能体AI应用。作为一个底层框架,LangGraph允许开发人员控制智能体之间的交互、使用的工具以及应用内的信息流动。
LangGraph的核心是基于图的应用工作流表示。图包含两个主要元素:
定义:简单反射智能体仅在特定动作或条件发生时才执行任务。它们根据预定义的规则做出响应,不考虑过去的经历。
特点:
定义:基于模型的反射智能体通过内部模型来处理部分可观测的环境。它们根据当前感知和内部状态做出决策,并根据环境变化更新内部状态。
特点:
定义:基于目标的智能体通过环境信息来实现特定目标。它们使用搜索算法和启发式方法来找到实现目标的最优路径。
特点:
定义:基于效用的智能体通过效用函数评估多个可能行动的结果,选择效用最高的行动。它们特别适合复杂和不确定的环境。
特点:
定义:学习智能体通过经验学习并随着时间推移改进性能。它们通常使用强化学习框架来优化行动选择。
特点:
定义:层级智能体通过多层结构管理任务,高层智能体监督低层智能体。这种结构适合复杂任务的分解和协调。
特点:
定义:多智能体系统由多个智能体组成,这些智能体通过协作或竞争来实现共同目标或优化个体结果。
特点:
理解智能体(Agent)与工作流(Workflow)之间的区别变得至关重要。这两者构成了现代智能体系统的核心自动化范式。
工作流是结构化的、基于规则的自动化流程,其结果是预先定义好的。它们通常用于处理静态的、重复性的任务,例如在电子商务系统中,用户购买产品后自动发送订单详情邮件。
特点:
智能体是动态的、决策系统,能够根据上下文适应不同的场景。它们通过感知环境并做出决策来完成任务,而不是遵循预定义的路径。
特点:
在开发基于大型语言模型(LLM)的应用程序时,建议从最简单的解决方案开始,只有在必要时才引入复杂性。工作流提供了结构化任务的可预测性和一致性,而智能体则更适合需要灵活性和大规模模型驱动决策的场景。
何时使用智能体:
何时使用工作流:
提示链将任务分解为一系列步骤,每个LLM调用处理前一个调用的输出。这种模式适用于可以轻松分解为固定子任务的场景。
并行化允许LLM同时处理任务,并将输出聚合。这种模式适用于需要快速处理或需要多种视角的任务。
路由将输入分类并将其导向后续任务。这种模式适用于需要将复杂任务分解为不同类别的场景。
在协调器-工作者工作流中,中央LLM动态分解任务,将它们委托给工作者LLM,并综合它们的结果。
在协调器-工作者工作流中,中央LLM动态分解任务,将它们委托给工作者LLM,并综合它们的结果。
LLM(大语言模型)、工具和上下文是构建智能代理系统的三大核心要素。然而随着越来越多的模型、应用和库的发布,将这些组件粘合在一起变得越来越复杂。本文将介绍Model Context Protocol(MCP)如何通过提供标准化方式来解决这个问题。
MCP被Anthropic称为"AI应用的USB-C接口"。它不像每个AI应用开发者那样创建自己的自定义连接方式,而是提供了一个所有人都可以使用的标准[1]。
这种标准化带来了社区驱动开发的力量。现在,不同团队开发的应用和工具可以通过标准流程轻松互通。
MCP采用客户端-服务器架构。MCP客户端向MCP服务器发送请求,服务器则响应并提供工具、资源和提示的访问权限。
就像咖啡店有固定的点单流程一样,MCP也定义了AI应用访问工具和上下文的标准协议:
MCP客户端内置于AI应用中,如Claude、Cursor、n8n工作流或使用OpenAI Agents SDK构建的自定义代理。
它们代表应用向MCP服务器发送请求,主要职责包括:
使用现有AI应用(如Claude、Cursor)时,无需构建MCP客户端,但可能需要构建自定义MCP服务器。
MCP服务器是为AI应用提供服务的独立服务,监听客户端请求并根据自身能力响应[2]。
服务器为AI应用提供三大核心功能:
服务器可以本地或远程运行,支持两种传输机制:
本书共12章,围绕大语言模型基础理论、预训练、指令理解、模型增强和模型应用五个部分展开。
本书全面解析了大语言模型的发展历程、理论基础与实践方法,对大语言模型预训练、指令微调、强化学习、多模态、智能体、RAG等前沿领域的研究进展有较好的覆盖。
此外,本书深入探讨了大语言模型的实际应用场景与评价方法,为研究者提供了系统的理论指导与实践经验。相信本书对从事相关研究的学者和大语言模型开发者具有重要的参考价值。