一文讲清楚 Prompt、MCP、Function Call、Agent 和 LLM 之间的关系和区别
想象一下,你要计划一次完美的旅行,这里有一位专业的旅行顾问(LLM),你们的沟通方式(Prompt),他能联系的各种服务商(Function Call),整个旅行社的智能规划系统(Agent),以及所有服务商的统一预订标准(MCP)。让我们通过这个旅行场景,一步步理解这些概念。
1. LLM(大语言模型):专业的“旅行顾问”
LLM 就像那位经验丰富的旅行顾问,他了解世界各地的风土人情,能理解你的需求并给出建议。但他的信息有局限性——比如不知道今天的机票价格,也不清楚酒店的实时房态。
2. Prompt:与旅行顾问沟通的“艺术”
System Prompt(系统提示词)
就像旅行社给顾问的工作指南,规定了服务标准和风格。
具体示例:
System Prompt:
你是一位专业的旅行规划顾问,名叫小游。你需要:
1. 根据客户预算合理规划
2. 考虑天气和季节因素
3. 提供详细的行程安排
4. 推荐性价比高的选择
User Prompt(用户提示词)
就是你向旅行顾问提出的需求。
具体示例:
User: 我想下周去杭州玩3天,预算5000元,有什么建议?
实际应用场景
场景 1:商务风格
System Prompt: 你是专注商务出行的顾问,注重效率和便利
User: 去杭州出差3天
AI回复: 建议入住西湖商圈希尔顿酒店,距离商务区15分钟。
推荐航班:MU5511 早7:30抵达,充足时间准备会议。
会议间隙可参观西湖,单程仅需10分钟。
场景 2:休闲风格
System Prompt: 你是轻松友好的旅游顾问,注重体验和乐趣
User: 去杭州出差3天
AI回复: 哇,杭州出差真不错!建议住在西湖附近的民宿,
晚上散步超惬意~白天忙完工作,傍晚一定要去
看看雷峰塔的日落,超美的!
- Function Call:调用外部能力的“电话”
旅行顾问虽然经验丰富,但他需要联系航空公司、酒店、景点等查询实时信息。Function Call 就是这个”联系“的过程。
工作流程示例:
游客:帮我查一下明天北京到杭州的航班
↓
顾问思考:我需要查询航班信息
↓
Function Call: searchFlights(from="北京", to="杭州", date="明天")
↓
航空系统返回:[航班列表数据]
↓
顾问整理信息:明天有以下航班供您选择...
- Agent:自主工作的“系统”
Agent 不仅仅是工具,而是整个旅行社的智能规划系统。如果说 LLM 是旅行顾问,那 Agent 就是能够自主协调整个行程的高级管家——它知道先订哪个、如何避免冲突、怎样优化路线。
Agent vs 工具的区别:
- 工具:计算器(输入数字,返回结果)
- Agent:数学老师(理解你的问题,选择合适方法,一步步教你解题)
Agent 的核心能力:
- 行程分解:将“3 天杭州游”分解为交通、住宿、景点、餐饮等模块
- 时间管理:确保航班时间与酒店入住时间衔接
- 冲突处理:发现景点周一闭馆,自动调整行程
- 优化建议:根据天气调整室内外活动比例
- MCP(Model Context Protocol):统一的“服务标准”
MCP 就像是外出旅行的标准化手册。
没有 MCP 之前的混乱
想象你的 AI 助手要调用不同的工具,每个工具都有完全不同的接入方式:
调用天气工具:
# 工具A:需要先初始化,再调用
weather_client = WeatherAPI(api_key="xxx")
result = weather_client.get_weather("杭州")
if result.status == 200:
temp = result.data["temperature"]
调用航班工具:
# 工具B:直接HTTP请求,自己处理JSON
response = requests.post("https://flight-api.com/search",
headers={"Authorization": "Bearer yyy"},
json={"from": "北京", "to": "杭州"})
flights = json.loads(response.text)["flights"]
调用酒店工具:
# 工具C:使用SOAP协议,返回XML
soap_client = HotelSOAPService(wsdl="https://hotel.com/service?wsdl")
xml_result = soap_client.searchHotels(city="杭州", date="2024-12-28")
hotels = parse_xml(xml_result)
调用地图工具:
# 工具D:使用GraphQL
query = """
query GetRoute($from: String!, $to: String!) {
route(from: $from, to: $to) {
distance
duration
}
}
"""
result = graphql_client.execute(query, {"from": "西湖", "to": "灵隐寺"})
这种混乱导致:
- LLM 需要“学会”每个工具的特殊调用方式
- 每接入一个新工具,都要写特殊的适配代码
- 错误处理方式各不相同,难以统一管理
- 有的要 API 密钥,有的要 OAuth,有的要证书…
就像你要打电话,但是:
- 给 A 公司要用座机
- 给 B 公司要发传真
- 给 C 公司要用对讲机
- 给 D 公司要写信
这样 AI 助手怎么高效工作?
MCP 带来的统一
有了 MCP,所有工具调用都遵循统一标准:
# 所有服务都用统一格式
mcp.call("flight", {"from": "北京", "to": "杭州", "date": "2024-12-28"})
mcp.call("hotel", {"city": "杭州", "checkin": "2024-12-28", "nights": 3})
mcp.call("attraction", {"city": "杭州", "type": "必游景点"})
完整工作流程
了解了各个概念后,让我们通过一张架构图来看看它们是如何协同工作的:

这里理解意图部分并不是所有任务都需要 Agent 参与。LLM 会根据任务复杂度智能判断,可根据任务复杂度决定是否调用 Agent 参与任务执行。
简单任务(直接处理):LLM 理解用户需求后,如果需要外部信息(如查实时航班),它会直接决策并利用 Function Call 机制(遵循 MCP)调用相应工具,然后整合信息直接回复。这里的 LLM 行为本身已经具备了基础的 Agent 特征(决策、工具调用)。
复杂任务(Agent 介入):当 LLM 判断任务需要多步骤规划、多工具协调、状态管理、冲突解决等高级功能时,它会启动或将其交给一个更完备的“Agent 系统/流程”。这个 Agent 系统依然以 LLM 为核心进行推理,但会进行更复杂的任务分解、工具序列调用、记忆管理等。

让我们通过一个完整例子串联所有概念:
场景:用户想规划杭州3日游
1. System Prompt设定身份
"你是专业的旅行规划顾问,擅长设计个性化行程..."
2. User输入需求
"下周去杭州玩3天,预算5000元,喜欢人文景点"
3. LLM理解意图
需要:查天气 → 订交通 → 订酒店 → 规划景点 → 推荐美食
4. Agent介入协调
- 先查天气,确定适合出行
- 根据预算分配交通住宿比例
- 查询景点,优先人文类
- 检查时间冲突,优化路线
5. 通过Function Call调用各服务
- 天气查询API(通过MCP)
- 机票/高铁查询API(通过MCP)
- 酒店预订API(通过MCP)
- 景点信息API(通过MCP)
- 餐厅推荐API(通过MCP)
6. LLM整合信息,生成完整行程
"您的杭州3日文化之旅:
Day1: 抵达→灵隐寺→飞来峰(禅文化)
Day2: 中国茶叶博物馆→西湖→雷峰塔(茶文化+历史)
Day3: 宋城→南宋御街(宋文化)
交通:高铁往返 ¥600
住宿:西湖边精品酒店 ¥1200
门票+餐饮:¥2000
预留机动资金:¥1200"
常见误区澄清
❌ **误区 1**:Agent 就是工具的集合
✅ **正确**:Agent 是能自主规划和决策的系统
❌ **误区 2**:每次对话都需要 Function Call
✅ **正确**:LLM 有知识储备时直接回答,只在需要实时信息时调用
❌ **误区 3**:MCP 让所有工具功能一样
✅ **正确**:MCP 只统一调用方式,使接口兼容,工具功能各不相同
总结
- **LLM(旅行顾问):**核心大脑,拥有丰富的旅行知识
- Prompt(沟通方式):System Prompt 是服务标准,User Prompt 是客户需求
- **Function Call(服务专线):**LLM 调用外部工具的机制,顾问(llm)联系各个服务商(tool)的方式
- **Agent(行程规划系统):**基于 LLM 的自主系统,能规划和执行复杂任务,协调复杂行程,确保完美体验
- MCP:让所有服务商(tool)说同一种“语言”的统一标准,标准化确保了工具的稳定性和可维护性,确保兼容
这就像一家专业的旅行社:经验丰富的旅行顾问(LLM)按照服务标准(System Prompt)工作,理解客户需求(User Prompt),必要时联系各个服务商(Function Call),整个行程规划系统(Agent)智能协调,而所有合作方都遵循统一预订标准(MCP)——最终为客户打造完美的旅行体验!
如有任何问题,欢迎评论区留言讨论!!!