在 AI 领域日新月异的今天,相信你已经见过不少新术语:
- Agent
- Function Calling
- MCP 协议
这些词汇看上去像是科幻电影里的名词,其实它们正是现代 AI 应用从“只能聊天”到“能自动干活”的关键。
今天我们就来系统梳理一下:从一个普通的用户对话框,AI 是如何一步步进化成具备“自主执行能力”的 Agent 系统。
🗨 一切从 User Prompt 开始
还记得你第一次用 ChatGPT 的场景吗?
很可能是打开页面,输入一段请求,例如:
请帮我总结一下这篇文章的核心观点。
这就是所谓的 User Prompt(用户提示)。模型会基于这段文字生成响应。
这种交互模式已经非常成熟。但它也存在明显的限制:
模型不会具备“上下文中的角色意识”,更无法主动作出决策或调用工具。
🧠 给 AI 设定角色:System Prompt 登场
让我们思考一个问题:如果同一句话,不同人来回答,结果会一样吗?
比如你对不同人说:
“我现在非常累。”
可能得到的回答是:
- 教练说:“那就休息一下,明天继续训练。”
- 朋友说:“要不要一起出去散个步?”
- 医生说:“描述一下你感觉累的具体症状。”
这就是角色背景对回答的影响。
AI 没有“角色意识”?没关系,我们可以人工设定。
System Prompt 就是为模型设定“身份”的机制。通过它,你可以告诉模型:
- 你是谁(如医生、律师、编程专家)
- 该用什么语气(严谨、幽默、简洁)
- 有哪些规则(不能编造、不透露敏感信息)
🧩 结构关系如下:
graph TB
UserPrompt["🧑 用户提示"] --> AI
SystemPrompt["📄 系统设定"] --> AI
System Prompt 是隐藏的,不在聊天框里显示,却会持续影响模型输出的风格和行为。
🔧 不只是说话:Function Calling 解锁执行能力
到了这一步,我们已经能通过 Prompt 让 AI 具备角色和语气了。
但 AI 仍然只能说,不能做。
举个例子:
“请查一下
~/Documents
文件夹下有哪些文件。”
ChatGPT 可能会说:“你可以在文件管理器中打开该目录进行查看。”
这还是在“指挥你”干活,AI 自己却什么也做不了。
于是,Function Calling 机制登场:它允许模型主动调用编程函数、访问系统资源、与外部服务交互。
👇 工作流程如下:
这一步的关键是:模型不再只是文本生成器,而是任务协调器,能够调度函数、接入系统完成具体操作。
🧠 什么是 AI Agent?让任务自动跑起来
Function Calling 实现了“模型调用函数”,但它还是“半自动”的——你需要不断参与交互。
那么,有没有可能,从输入目标开始,AI 全自动完成整个任务链条?
这就是 AI Agent(智能体)的意义。
它本质上是一个 集成了 AI 模型 + 工具调用能力 + 执行控制逻辑 的智能系统。
例如你输入:
请帮我分析这个 Excel 文件并生成一份可视化报告。
Agent 可以自己:
- 解析 Excel
- 调用分析工具
- 生成图表
- 整理报告返回你
整套流程几乎不需要你干预。
🔄 为什么 Function Calling 是关键?
你可能会想:“让模型输出 JSON 不就行了吗?还用专门搞个机制?”
但 AI 是“概率模型”,即使你说“必须返回 JSON”,它也可能输出:
好的,我来按照你的格式输出:
{ "result": "success" }
这个“好的,我来...” 就不是标准 JSON,程序一读就崩。
于是,Function Calling 用结构化描述来约束模型,明确规定:
- 函数名
- 参数格式
- 参数类型
- 返回数据结构
🧱** 示例格式如下:**
{
"name": "search_files",
"description": "搜索指定目录下的所有文件",
"parameters": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "要搜索的目录路径"
}
},
"required": ["path"]
}
}
AI 无需猜测 prompt 语义,调用函数也更稳定、可控。
🌐 工具共享,统一协议:MCP 上线!
问题又来了:如果你有多个 Agent 都想用相同的工具函数,怎么共享?
最简单的办法就是统一这些工具的注册和调用接口。
这就是 MCP(Multi-Agent Communication Protocol) 要解决的问题。
它类似于 AI 世界的“USB 协议”——所有 Agent 都能通过统一协议访问一套标准工具服务。
graph TD
AgentClient["🤖 Agent 客户端"] -->|调用| MCPServer["🔌 MCP 工具服务"]
MCPServer --> ToolA["🗃 文件管理工具"]
MCPServer --> ToolB["📊 数据分析工具"]
MCPServer --> PromptRepo["📄 Prompt 模板仓库"]
MCP 实现:
- 工具函数标准化
- 多 Agent 共享服务
- 通讯协议统一(HTTP / stdio)
📌 全流程总结:AI 从“聊天”到“执行”的完整演进
sequenceDiagram
participant 用户 as 用户
participant Agent as 智能体
participant MCP as MCP Server
participant 模型 as AI 模型
participant 工具 as 工具函数
用户->>Agent: 提出需求
Agent->>MCP: 获取工具描述
MCP-->>Agent: 返回函数清单
Agent->>模型: 构建 Prompt + 函数信息
模型-->>Agent: 指定调用工具
Agent->>MCP: 请求执行函数
MCP->>工具: 运行任务
工具-->>MCP: 返回结果
MCP-->>Agent: 返回执行输出
Agent->>模型: 更新上下文
模型-->>Agent: 给出最终答案
Agent->>用户: 返回结果
这就是从 Prompt 到 Agent 再到工具调度的完整“闭环”。
📎 最后的思考:为什么值得关注这些机制?
今天我们讲了:
- Prompt 是 AI 输入的起点
- System Prompt 决定 AI 的“人设”
- Function Calling 让 AI 有能力“干活”
- Agent 是可以持续完成任务的执行器
- MCP 是未来 AI 工具生态的协议基石
这些看似技术细节,其实正在重塑我们与 AI 的交互方式。
未来,AI 不再是被动回答者,而是真正的数字助手。