[!AI] AI
AI相关学习备忘录
一、Agent是自主决策的AI应用
Agent是一种AI应用,能感知环境,能规划任务并调用外部工具完成任务。
- 具备自主决策
- 能够完成复杂任务
- 可以调用外部工具
- 可以调用MCP、Function Call等
二、MCP相当于大模型的”HTTP协议“
由于各家AGENT的集成、API调用千差万别,这就产生了MCP
- 全称:Model Context ProtoProtocol
- 能够使大模型与外部服务的交互标准化
三、Function Call是模型的原生能力扩展
Function Call即函数调用,是大模型调用外部函数和API以获取信息、执行计算或与系统交互
- 是大模型调用外部函数或API的机制
- 增强大模型能力的直接方式
- 通常与大模型绑定,作为模型的一部分
四、三者的对比
MCP Server: 被动的工具
- 被动的服务,仅响应调用请求
- 为大模型提供外部数据和能力支持
- 不参与决策和推理过程
- 像工具箱一样等待别人调用
- 专注数据提供
- 模块化设计,便于独立开发
- 只能被动响应,无法主动解决问题
Function Call:像瑞士军刀
- 直接扩展大模型能力
- 允许生成请求参数并整合结果
- 与模型绑定部署,紧密集成
- 像瑞士军队小巧多功能,随身携带
- 轻量级任务处理,模型内触发
- 高效便捷,无需 额外通信开销
- 受模型运行时资源限制,无法执行耗时任务
Agent:智能工人
- 具备自主决策的AI实体
- 能感知环境和规划任务
- 可调用各种工具(包括MCP/Function Call)
- 像熟练工人,选择合适工具完成复杂任务
- 高度自主,支持复杂流程
- 开发复杂度高,需要集成推理模型和状态管理
五、适用场景
Function Call
- 适合简单、同步任务
MCP Server:
- 适合复杂任务、异步任务
Agent:
- 适合端到端的复杂任务
六、如何选型
从以下几个方面进行选型:
考量点 | Function Call | MCP Server | Agent |
---|---|---|---|
任务复杂度 | 简单,低延迟的任务 | 复杂的数据整合任务 | 自主决策、多任务 |
协议标准化 | 无强制协议,实现方式因平台而异 | 严格遵守标准,跨团队跨平台 | 依赖底层工具的协议规范 |
部署灵活性 | 与模型服务绑定,适合小型项目 | 可独立扩张,适合企业级项目 | 需要集成多模块,适合大型复杂系统 |
安全隔离 | 安全边界较低,与模型共享环境 | 严格的隔离边界,可实时访问控制 | 需要综合安全策略 |
总结
- Agent 是一种AI应用,能感知环境,能规划任务,能通过调用外部工具、服务,包括MCP Server/Function Call等来完成任务。
- Function Call是大模型本身的一种能力,可以通过调用外部函数和API以增强大模型自身的能力
- MCP则是给AI应用提供了一套标准化协议,方便AI应用更好的访问外部工具,以提升大模型的响应能力
也有人这么形容MCP,认为MCP是大模型的SOA或SAAS