AI编程核心概念:从Function Call到Agent
}深入理解Function Call、Tool、Skills、MCP和Agent的关系与应用
🤖 MCP、Skills、Function、Tool、Agent的区别与联系#
一、Function Call 与 Tool:能力与载体#
🎯 本章导读
理解 AI 能力的基础层
本章将带你了解 AI 如何从”只会说话”到”能够行动”的关键转变。
🔧 Function Call:底层能力#
定义: 大模型调用外部函数的能力。
大模型原本只能”说话”——它生成文字,但文字不能真正影响世界。Function Call 改变了这一点:让模型学会识别什么时候需要调用外部功能,并正确提取参数。
技术过程:
-
用户提问
用户向 AI 提出需要外部数据的问题
-
模型判断
模型分析问题,判断是否需要调用外部函数
-
生成调用请求
模型生成函数名和参数(JSON 格式)
-
执行函数
外部系统执行函数,返回结果
-
整合回答
模型把结果整合进自然语言回答
🛠️ Tool:可调用的功能单元#
定义: Function Call 的具体调用对象,即”能被调用的东西”。
每个 Tool 有名字、描述、输入参数、返回值:
{
"name": "get_weather",
"description": "查询指定城市的实时天气",
"parameters": {
"city": {
"type": "string",
"description": "城市名"
}
}
}json模型看到用户问天气,发现有匹配的 Tool 描述,就生成调用请求。
本质: 外部世界接入大模型的”接口”。
- 天气查询
- 新闻搜索
- 股票行情
- 发送邮件
- 创建文件
- 数据库写入
- 精确计算
- 数据库查询
- 统计分析
- 语言翻译
- 代码执行
- 图像处理
📊 核心区别#
| 维度 | Function Call | Tool |
|---|---|---|
| 本质 | 能力 | 功能 |
| 角色 | ”能做什么" | "做什么” |
| 层级 | 最底层 | 基础层 |
二、Skills 与 MCP:协议与封装#
🎁 本章导读
从单个工具到工具集合
了解如何将多个工具组合成强大的技能包,以及如何让工具跨平台通用。
📦 Skills:封装好的工具集合#
定义: 一组相关 Tool 的统一封装。
Skills 是 Claude 生态的概念,可理解成”技能包”——把多个相关 Tool 打包,给一个统一的入口。
「数据分析」 Skill:
├── 📄 Tool: read_csv(读取数据)
├── 🧹 Tool: clean_data(清洗数据)
├── 📊 Tool: statistical_analysis(统计分析)
└── 📈 Tool: generate_chart(生成图表)plaintext用户说”帮我分析这份销售数据”,Skills 系统自动调度内部 Tool 完成整个流程。
为什么需要 Skills?
-
简化调用
用户不用自己组合 Tool
-
统一管理
权限、上下文、资源都在 Skill 内部处理
-
降低门槛
普通用户也能使用复杂功能
🌐 MCP:通用协议#
定义: 大模型与外部系统交互的标准化协议。
MCP = Model Context Protocol,模型上下文协议。
MCP 的解决方案: 定义统一的 Tool 描述格式、调用方式、返回格式。只要遵循 MCP,Tool 就能在不同平台间复用。
Tool A → OpenAI 格式
Tool B → Claude 格式
Tool C → 本地格式plaintext每个平台都要单独适配
Tool A/B/C → MCP 协议 → 任意平台plaintext一次编写,到处运行
❌ 常见误区#
三、Agent 与实际应用#
🚀 本章导读
从工具到智能系统
探索 AI 如何从被动响应进化为主动规划和执行的智能体。
🧠 Agent:自主行动的系统#
定义: 能自主规划、执行、决策的智能系统。
Agent 和前面几个概念最大的区别:Agent 是系统,不是单个能力或工具。
核心特征:
-
🎯 自主规划
接到任务后,自己拆解步骤
-
🔄 动态决策
根据执行结果调整计划
-
🔗 多步执行
能完成需要多个工具协作的复杂任务
-
🤔 自我反思
能判断结果是否正确,必要时重试或换策略
📊 对比示例#
| 场景 | 无 Agent | 有 Agent |
|---|---|---|
| 过程 | 用户一步步下指令 | Agent 自动完成 |
| 工具调用 | 用户说”查数据”才调用 | Agent 自己判断需要什么数据 |
| 错误处理 | 用户发现错误再纠正 | Agent 自己检查并修正 |
🌟 实际应用场景#
场景: 只用大模型
- 用户:什么是光合作用?
- 流程:大模型 → 直接回答
适用于知识问答、文本生成等基础任务。
场景: Function Call + Tool
- 用户:今天北京天气如何?
- 流程:大模型 → 识别需要天气查询 → 调用 get_weather Tool → 返回结果
适用于需要实时数据的查询任务。
场景: Skills
- 用户:分析这份销售数据,给出增长建议
- 流程:数据分析 Skill → 自动调用读取→清洗→分析→可视化 Tool 链 → 返回报告
适用于需要多步骤处理的专业任务。
场景: MCP
- 有 MCP:写一次 → OpenAI、Claude、本地部署都能用
- 无 MCP:在每个平台都要重写适配代码
适用于需要工具复用的场景。
场景: Agent
- 用户:帮我研究特斯拉公司,写一份投资分析报告
- 流程:Agent → 搜索信息 → 抓取数据 → 分析财报 → 整理信息 → 生成报告 → 给出建议
适用于需要自主规划的复杂任务。
❌ 常见误区#
四、完整总结#
📚 知识回顾
五个核心概念的完整图谱
让我们系统地回顾这五个概念及其关系。
📝 一句话总结#
| 概念 | 一句话 | 图标 |
|---|---|---|
| Function Call | 模型调用外部函数的能力 | ⚡ |
| Tool | 具体可被调用的功能 | 🔧 |
| Skills | 一组相关 Tool 的封装 | 📦 |
| MCP | 工具与模型交互的通用协议 | 🌐 |
| Agent | 能自主规划与执行的智能系统 | 🤖 |
🔍 核心区别速查#
| 维度 | Function Call | Tool | Skills | MCP | Agent |
|---|---|---|---|---|---|
| 本质 | 能力 | 功能 | 组合 | 协议 | 系统 |
| 层级 | 最底层 | 基础层 | 中间层 | 协议层 | 顶层 |
| 角色 | ”能做什么" | "做什么" | "一起做什么" | "怎么做" | "自己决定做什么” |
| 复杂度 | 单次调用 | 单次调用 | 多次调用 | 跨平台 | 多步骤协作 |
| 自主性 | 无 | 无 | 部分 | 无 | 高 |