1. 从文本生成到工具调用:AI Agent的进化起点
在2023年之前,大语言模型(LLM)的能力被严格限制在文本生成的范畴内。无论用户提出什么问题,模型都只能基于训练数据中的统计规律生成看似合理的回答。这种局限性在需要精确信息或实际操作的任务中表现得尤为明显——当你询问"北京现在的气温是多少"时,模型可能会根据历史数据编造一个答案,而非提供实时准确的信息。
OpenAI在2023年推出的Function Calling功能彻底改变了这一局面。这项技术的核心创新在于:允许大模型在判断需要外部工具辅助时,输出一个结构化的调用请求,而非继续依赖自身的文本生成能力。这个机制的工作原理可以分解为三个关键步骤:
- 工具定义:开发者预先定义模型可用的工具集合,包括每个工具的名称、描述、参数格式等元信息。例如定义一个天气查询工具:
json复制{
"name": "get_weather",
"description": "获取指定城市的实时天气信息",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "城市名称,如'北京'"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "温度单位"
}
},
"required": ["location"]
}
}
- 模型决策:当用户提问涉及需要工具辅助的内容时,模型会分析问题并决定是否需要调用工具、调用哪个工具以及传递哪些参数。例如对于问题"北京现在多少度",模型可能生成:
json复制{
"name": "get_weather",
"arguments": {
"location": "北京",
"unit": "celsius"
}
}
- 执行与反馈:外部程序接收到这个结构化请求后执行实际查询(如调用天气API),将结果返回给模型,由模型整合后生成最终回答。
关键突破:这个机制首次实现了大语言模型与确定性程序之间的可靠交互,让AI从"知道分子"变成了"行动派"。
然而,第一代Function Calling存在几个明显局限:
- 工具定义冗余:每个应用都需要独立定义自己的工具集,无法复用其他开发者已经实现的功能
- 配置臃肿:所有工具定义都需要放在系统提示词中,随着功能增加会导致token消耗急剧上升
- 缺乏标准化:不同系统间的工具接口不一致,难以形成生态协同效应
这些局限性促使业界开始思考:如何建立更高效、更通用的AI能力扩展方案?这就引出了后续的MCP协议。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. MCP协议:AI工具生态的标准化革命
2024年,Anthropic提出的Model Context Protocol(MCP)标志着AI能力扩展进入了标准化时代。MCP本质上是一个专门为AI设计的RPC(远程过程调用)协议
