Hugging Face博客带你理解什么是KI-Agenten
AI系统早已不再仅仅回答问题。下一个发展阶段是AI代理:这类系统能够接收目标、规划任务、使用工具、检索信息,并自主执行多个工作步骤。
与经典聊天机器人的区别是根本性的。聊天机器人主要对输入做出反应。而代理则可以将任务分解为各个步骤,调用外部工具,检查结果,然后决定如何继续。
这正是Agentic AI的核心所在。语言模型不再仅仅作为回答机器使用,而是成为能够实际采取行动的系统的一部分。
本文旨在介绍AI代理如何运作、由哪些组件构成,以及为什么MCP、工具调用和多代理系统等技术变得越来越重要。
什么是AI代理?
AI代理是一种软件系统,借助AI模型追求目标,并能自主选择和执行操作。
语言模型在其中通常扮演决策机构的角色。它分析当前情况,选择下一步,并决定应使用哪种工具。例如,这可以是网络搜索、数据库查询、API调用或执行程序代码。
因此,代理通常不仅仅在单一步骤中工作。相反,会形成一个循环流程:
- 理解目标或任务
- 确定下一步
- 选择合适的工具
- 执行操作
- 评估结果
- 判断是否需要更多步骤
只有当目标达成或代理无法再执行有意义的操作时,流程才会结束。
正是这种多步骤的工作方式将代理与许多经典AI应用区分开来。Hugging Face自家的代理库smolagents就将代理描述为多步骤系统,其中每个决策之后都可能跟随一个工具调用及其执行。
聊天机器人还是AI代理:区别在哪里?
聊天机器人和AI代理经常使用相似的语言模型。然而,关键区别在于系统如何处理请求。
经典聊天机器人主要回答问题或对输入做出反应。而AI代理则可以自主启动进一步步骤、使用工具并对中间结果做出反应。
| 聊天机器人 | AI代理 |
|---|---|
| 对输入做出反应 | 追求目标 |
| 主要生成回答 | 执行操作 |
| 通常在单一步骤中工作 | 多步骤工作 |
| 利用对话中的上下文 | 还能使用记忆和外部数据 |
| 等待下一次输入 | 能自行决定下一步 |
| 通常需要直接的用户控制 | 能自主处理子任务 |
一个简单的例子能清楚说明区别:
如果问聊天机器人从比勒费尔德到柏林有哪些便宜火车连接,它可以解释如何搜索或总结已知信息。
而配备相应能力的AI代理则可以自行查询旅行接口,比较不同连接,考虑旅行时间或价格等标准,并据此生成具体建议。
因此,关键点不在于代理必须比聊天机器人“更智能”。代理行为主要产生于模型获得工具访问权限,并能在既定框架内自行决定如何使用这些工具。
AI代理的五个最重要组件
AI代理并非由单一技术构成。只有多个组件协同作用,才能将语言模型转变为能够独立处理任务的系统。
1. 语言模型
核心通常是大型语言模型(LLM)。它解释任务、处理信息,并决定下一步哪个步骤有意义。
模型因此可以说是代理的决策机构。但它不必自己解决每个任务。相反,它可以调用其他工具,然后进一步处理其结果。
2. 目标与规划
代理需要一个明确的目标。
例如,从“为德国支持聊天机器人找到三个合适的开源模型”这样的任务中,可以产生多个工作步骤:
- 确定需求
- 搜索合适的模型
- 评估模型卡
- 检查许可证和语言
- 比较结果
- 形成建议
根据架构不同,这个计划要么完全预先制定,要么在执行过程中不断调整。
3. 工具
工具是纯语言模型与代理之间关键区别之一。
例如,代理可以获得以下访问权限:
- 网络搜索
- 数据库
- API
- 文件
- 计算器
- 代码执行
- 日历
- 电子邮件
- 企业软件
- 其他AI模型
语言模型在此决定每个工作步骤需要哪种工具。
这种能力通常被称为工具调用(Tool Calling)。
4. 记忆
许多代理需要跨越单个工作步骤的信息。
记忆可以例如存储:
- 之前的结果
- 用户偏好
- 早前的决策
- 重要文档
- 工作流的中间结果
这里必须区分短期工作上下文和长期存储的信息。
记忆并不会自动让代理变得更好。关键在于存储了哪些信息、信息检索的可靠性如何,以及能否识别过时或错误的信息。
5. 反馈与控制
代理不应无限制地执行操作。
良好的代理系统需要机制来检查结果,并确定流程何时结束或必须移交给人工。
例如包括:
- 最大工作步骤数
- 成本限制
- 特定工具的权限
- 关键操作前的确认
- 结果检查
- 人在回路(Human-in-the-Loop)流程
尤其是在具有现实后果的操作中,这种控制至关重要。
AI代理在实践中如何工作
一个简化的代理工作流可能如下所示:
用户给出任务:
“比较三个适合德语客服应用的开源模型。”
代理随后可以:
- 从任务中推导出需求,
- 在Hugging Face上搜索合适的模型,
- 获取各自的模型卡,
- 比较语言支持、许可证和模型大小,
- 筛选掉不合适的模型,
- 评估剩余候选,
- 生成结构化建议。
在此过程中,语言模型会多次重新决定接下来必须发生什么。
这使代理区别于经典提示词——在经典提示词中,模型接收输入并立即产生回答。
因此,Agentic AI真正的进步不在于语言模型突然拥有全新的能力。关键在于模型、工具、数据和控制机制被连接成一个可执行的工作流。
为什么MCP对AI代理变得重要
代理应使用的工具越多,AI系统与外部服务之间标准化连接就越重要。
这里就涉及模型上下文协议(Model Context Protocol,MCP)。
MCP定义了一个通用接口,AI应用可以通过它访问外部工具、数据源和资源。
简而言之,MCP旨在为AI应用承担类似于软件开发其他领域标准化接口的任务:代理不必为每项服务都拥有完全独立的集成逻辑。
通过MCP服务器,例如可以提供以下功能:
- 文件
- 数据库
- 企业知识
- 开发工具
- 搜索服务
- API
- 内部应用
这对代理系统尤其有吸引力。代理因此可以发现不同能力,并根据任务使用它们。
不过,MCP本身并不是代理。它更多是提供基础设施,让代理能够访问工具和上下文。
什么是多代理系统?
并非每个复杂任务都必须由单个代理处理。
在多代理系统中,多个专业化代理协同工作。
例如,一个系统可以由以下角色组成:
- 研究代理——收集信息
- 分析代理——评估结果
- 编码代理——编写或检查代码
- 评审代理——寻找错误和弱点
- 协调代理——分配任务并汇总结果
这个原理类似于一个团队,不同成员承担不同任务。
当任务需要不同能力或结果需要独立验证时,多代理系统尤其有用。
不过,更多代理并不自动意味着更好的结果。
每增加一个代理,也会增加:
- 复杂性
- 计算成本
- 通信开销
- 潜在错误源
因此,一个设计良好的单个代理配合正确的工具,往往比多个代理组成的复杂网络更高效。
AI代理今天可以应用在哪些领域
代理系统特别适合由多个清晰可定义工作步骤组成的任务。
软件开发
编码代理可以例如:
- 分析代码
- 查找错误
- 执行测试
- 提出修改建议
- 生成文档
调研
研究代理可以从多个来源汇集、比较和整理信息。
数据分析
代理可以加载数据、执行计算、运行代码,然后解释结果。
企业流程
代理可以整合来自不同系统的信息,并支持重复性流程。
例如:
- 文档处理
- 内部知识搜索
- 报告准备
- 支持流程
- 数据查询
个人助理
凭借相应权限,代理长期来看可以协调跨多个应用的任务——例如日历、通信、调研和文档。
不过,正是在这里也显示出权限和控制为何如此重要。
AI代理的局限性在哪里
“代理”一词不应掩盖这些系统仍然基于概率性AI模型的事实。
它们可能犯错。
一个出错的聊天机器人可能生成错误回答。一个出错的代理则可能额外执行错误操作。
由此产生新的风险。
幻觉
语言模型可能生成错误信息或错误解读情况。
错误的工具使用
代理可能选择错误的工具、使用错误的参数,或错误解读正确的结果。
死循环
设计不良的代理可能不必要地重复大量步骤,或无法可靠识别目标是否已达成。
成本
每个规划步骤、每次工具调用和每次模型请求都会消耗资源。
因此,复杂的代理工作流可能比简单的模型请求昂贵得多。
安全
代理获得的访问权限越多,错误可能造成的后果就越大。
一个对文档有读取权限的代理,与一个能发送电子邮件、修改文件或触发交易的代理,风险完全不同。
因此,代理系统的一个重要原则是:
代理只应获得其具体任务实际所需的权限。
Agentic AI并不意味着完全自主
在关于AI代理的讨论中,人们很容易产生一种印象,即软件未来能完全自主地承担所有任务。
在实践中,另一种发展可能至少同样重要:不同程度的自主性。
例如,一个系统可以:
- 仅提出建议,
- 制定计划,
- 自主使用工具,
- 在关键操作前请求确认,
- 或在既定边界内执行整个工作流。
由此,自主性成为一种设计决策。
关键问题不仅是:
“代理能执行这个任务吗?”
还包括:
“任务的哪些部分代理实际上应该被允许自主执行?”
因此,专业的代理系统很可能不会因为尽可能自主而变得更好,而是因为自主性、控制和人类决策得到合理结合。
结论:从回答模型到行动系统
AI代理改变了语言模型的作用。
模型不再仅仅提供回答。它可以成为系统的控制元素,进行规划、选择工具、处理信息并连接多个工作步骤。
这正是Agentic AI的意义所在。
LLM提供语言和分析基础。工具使行动成为可能。记忆保持相关上下文可用。MCP等协议简化了与外部系统的连接。控制机制确保代理在既定边界内工作。
因此,关键一步是从生成模型走向执行系统。
这并不意味着经典聊天机器人会消失。对许多任务来说,直接回答仍然是最有效的解决方案。
然而,当任务需要调研、规划、外部工具和多个连续决策时,AI代理将变得越来越有吸引力。
而真正的Agentic AI发展正是从这里开始。
来源与延伸阅读
- Hugging Face:使用smolagents的代理
- Hugging Face:使用smolagents的多代理系统
- Hugging Face:Hub上的代理
- Hugging Face:MCP服务器
- 模型上下文协议:官方规范