MCP 与 API:AI 代理开发应该选择哪一个?
你、你妈妈和你的猫可能已经听过所有关于人工智能(AI)的资讯了——但人工智能代理呢?人工智能代理与其说是把LLM当作一个会说话的搜索引擎,不如说更接近我们梦寐以求的机器人仆人。然而,首先需要有人来开发这些代理。如今,一个重要的问题在于LLM将使用哪些工具。在开发人工智能代理时,是否应该授予它访问MCP服务器或API的权限?本文将探讨这个问题。
什么是人工智能代理?
普通的法学硕士(LLM)固然不错,但它实际上能做的事情并不多。最基本的人工智能只能根据它被灌输的知识告诉你信息。很长一段时间以来,它甚至都无法搜索互联网。而且它也无法以其他方式与世界互动,例如浏览网站、填写表格或打开另一个房间的智能灯。
人工智能代理是这项技术更为宏大的应用。以LLM为核心,人工智能代理无需密切的人工监督即可执行复杂的任务:撰写报告、预订假期、协助软件开发等等。但要成为真正的人工智能代理,还需要更多努力。 代理的它需要的工具之一是专用软件,以便与数字环境进行交互。这些工具主要以应用程序接口(API)和多协议接口(MCP)服务器的形式存在。
什么是 API?
API 应用程序编程接口(API)的概念并不新鲜。它是一个允许软件之间相互交互的框架。如今,大多数人说 API 和意思 Web API.
由于应用程序无法像人一样直接查看其他应用程序的界面来获取数据,因此开发者必须完成大量繁重的工作。他们需要为特定任务设置接口。例如,人类用户只需点击用户界面上的按钮即可获得特定结果,而应用程序则需要查询相应的接口。如果开发者足够熟练,人工智能代理也能轻松地使用 API。
API 专业人士
- 确定性: API 不会思考,也不会推理,它们总是根据输入 X 返回结果 Y。这非常适合那些输出精度高于其他因素的操作,例如医疗保健、政府服务和金融运营。
- 强大的处理能力: API 能够非常高效地执行大规模数据处理任务,而不会遇到代理可能遇到的任何问题,例如由于分页而丢失数据。
- 速度: 再次强调,API 的无思考特性使其运行速度极快。对端点的查询遵循一系列预定义的步骤,无需花费时间思考哪种工具最合适。
API 连接
- 体力劳动: 为了让AI代理理解API接口的功能,必须对其进行详细描述。由于API通常并非为AI而设计,因此作为代理开发者的您,需要承担大部分的开发工作。
- 授权和安全风险: 如果代理直接连接到 API,它将处理所有登录/授权凭据。开发人员需要确保代理不会滥用或泄露任何 OAuth 或其他安全数据。
- 无状态且无上下文: API 不会保存之前执行的操作记忆,也不会为后续任务维护上下文。人工智能代理需要提供这些信息,这意味着需要正确配置代理。
- 缩放: 所以你决定使用不同的语言学习模型(LLM)或构建一个新的智能体。恭喜,你必须为这个新模型重写所有端点定义。虽然所有人工智能都能理解自然语言,但它们在训练过程中对查询的理解和输出模式会因开发者而异。这只是为了让语言学习模型少出现“幻觉”而必然产生的结果。
什么是MCP?
MCP(模型上下文协议)是由 Anthropico 设计的一种标准,旨在方便地集成数字工具和人工智能。简而言之,其奥妙在于…… MCP 服务器它本质上就像一个翻译服务。LLM 可以用自然语言向 MCP 服务器请求资源,然后服务器会将该请求翻译成其所支持的工具使用的语言,反之亦然。
MCP 服务器通常由应用程序的官方开发者创建,类似于 API。事实上,将 API 打包到 MCP 服务器中以供 LLM 使用是一种相当常见的做法。这样一来,AI 开发者就不必每次模型和 API 需要协同工作时都进行集成,而只需一个标准即可满足所有需求。
MCP专业人士
- 减少硬编码: 当 MCP 公开工具和资源时,它会使用自然语言描述,而 AI 可以理解这些描述。因此,AI 开发人员无需像使用 API 那样为所有功能编写代码。
- 增强的安全性: 由于 MCP 服务器管理对 API 的直接访问,因此它也负责处理 OAuth 令牌、API 密钥和其他敏感信息。人工智能看不到这些信息,因此不会泄露或滥用它们。
- 有状态资源: MCP 服务器可以向 AI 公开的三种基本元素类型之一是 资源 简而言之,就是日志文件、数据库内容等数据。这些非交互式原语充当内存,使代理能够感知任务的上下文和进度——即状态性。
MCP 顾问
- 使用简单的工具完成简单的任务: 即使使用多级处理程序 (MCP),人工智能代理也可能出错,例如,未考虑分页。而确定性 API 则始终会按照顺序处理数据。
- 工具太多: MCP 服务器如果暴露的工具过多,会给 AI 造成过多的思考负担,这意味着它仅仅考虑使用哪个工具就可能消耗大量代币。业界正在努力寻找解决方案,例如 Bright Data 为他们的 MCP(或 Claude 的程序化工具调用)引入工具组。
MCP 与 API:一张表格
以下是优缺点的最终统计,以及由此产生的一些建议:
API | MCP | |
设置 | 需要自定义代码 | 专为轻松集成人工智能而设计。 |
便携性 | 需要针对每个新的LLM模型做好准备,以考虑模型差异。 | 旨在与任何人工智能和谐相处 |
安保防护 | 代理可能会泄露或暴露身份验证数据 | 所有身份验证数据均在不暴露给代理的情况下进行处理。 |
维护 | 如果 API 发生变化,API 集成可能会中断。 | MCP 的任何更改都会在到达 AI 之前处理完毕。 |
速度 | 速度非常快 | 可能会增加不必要的推理开销。 |
内存 | 不具备状态;无法获取任务上下文。 | 状态 |
复杂性处理 | 能够可靠地处理任何预先设定的复杂任务。 | 庞大的数据池和复杂的数据转换可能会导致幻觉。 |
最适合: |
|
|
在结论
虽然API的概念早于MCP,但这并不意味着它在构建AI代理时就过时或无用。通常情况下,总有合适的工具来完成合适的任务。
如果任务需要大规模数据处理、速度或细节准确性,那么 API 是最佳选择。
如果您需要的是自动化、可扩展性和易于集成,那么您应该使用 MCP。
关于网络爬虫,您可以查看以下列表: 最佳网络爬虫API 并查看我们的列表 用于网络爬虫的最佳 MCP 服务器.