什么是智能体(AI Agent)?
约 1398 字大约 5 分钟
2026-04-14
你也许见过这样的介绍:
Agent 就是一个能自己干活的 AI。它会联网搜索、会查资料,会修bug,会调用工具,会自主研究。
听起来很厉害。
这句话没错,但是容易让人产生误解,以为我们的大模型已经进化到拥有很多技能了。实际上,大模型唯一能做的事情,就是接收一段文本,然后预测并输出下一段文本。除此之外,它什么都不会。
那么 Agent 到底是啥?它和大模型的关系是什么?
在英文中,Agent 这个单词的含义是“代理”。AI Agent 本质上就是一个安装在大模型前面的计算机程序,我们不直接跟大模型对话,而是跟 Agent 对话,由 Agent 去帮我们转述给大模型!
为什么需要 Agent 转述?
因为 大模型唯一能做的事情,就是接收一段文本,然后预测并输出下一段文本。除此之外,它什么都不会。 当大模型需要联网搜索、查天气,或者是修改某个你电脑上的文件时。它需要让 Agent 帮忙做这些事情。
有没有发现,这些联网搜索、查天气、修改文件 等功能,在没有大模型的时代,其实早就已经有了。
AI Agent 就是如何将这些功能跟大模型集成的艺术
AI Agent 负责的就是人工智能中非智能的那一部分
AI Agent = 传统软件工程 + 大模型
例如,一个会查实时天气的 Agent ,并不是大模型自己会查实时天气,而是 Agent 程序调用外部 API 来获取实时天气。本质上“查天气”这个动作,还是由传统的软件工程那一部分来完成的。
Agent 的作用,就是告诉大模型:
我这里有一些工具,你看看用户的提问需要用到吗?如果需要,请告诉我,我可以帮你调用它,并且把调用结果告诉你,你再根据结果回答用户。
Agent 的另一个作用,就是保存对话历史。因为大模型根本就没有记忆,它不记得你之前问过什么。如果你想对大模型的回答做出追问,你只能把之前的对话历史一起发给大模型。
Agent 就承担了“打包历史对话”这一职责:
用户之前问了 xxx 问题,你之前是 xxx 这样回答的,现在用户又追问了 xxx ,请你继续回答。
一次“查天气”的交互流程是这样的:
第一轮:
- 用户问了一个问题
- Agent 接收到用户的问题后,会在后台组装一个提示词,这个提示词包含了给大模型立的预设(system prompt)、用户的原始提问(prompt),以及可用的工具清单(tool list)
- 大模型推理,发现这个问题需要调用 get_weather 工具,于是返回一个 tool_calls 响应
- Agent 接收到大模型的 tool_calls 响应后,会解析出需要调用 get_weather 工具,于是调用天气API,拿到最新的天气数据
今天北京的天气怎么样{
"model": "gemini-3.1-pro",
"messages": [
{
"role": "system",
"content": "你是一个专业的分析师,请根据用户的提问进行回答"
},
{
"role": "user",
"content": "今天北京的天气怎么样"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定城市的当前天气情况",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "城市名称,例如:北京"
}
},
"required": ["location"]
}
}
},
{
// 其他工具,省略 ...
}
]
}{
"id": "chatcmpl-9z2a...",
"choices": [
{
"finish_reason": "tool_calls",
"message": {
"role": "assistant",
"content": null,
"tool_calls": [
{
"id": "call_abc123",
"type": "function",
"function": {
"name": "get_weather",
"arguments": "{\"location\": \"北京\"}"
}
}
]
}
}
]
}String toolResult = availableTools.get(toolName).execute(toolInput);第二轮:
- Agent 将天气 API 返回的结果 toolResult ,拼接到上一次的对话历史中,再次发送给大模型
- 大模型发现已经拿到了天气数据,于是直接返回最终答案
- Agent 将大模型的最终答案返回给用户
{
"model": "gemini-3.1-pro",
"messages": [
{
"role": "system",
"content": "你是一个专业的分析师,请根据用户的提问进行回答"
},
{
"role": "user",
"content": "今天北京的天气怎么样"
},
{
"role": "assistant",
"content": null,
"tool_calls": [
{
"id": "call_abc123",
"type": "function",
"function": {
"name": "get_weather",
"arguments": "{\"location\": \"北京\"}"
}
}
]
},
{
"role": "tool",
"tool_call_id": "call_abc123",
"content": "{\"temperature\": 25, \"humidity\": 60, \"weather\": \"晴朗\"}"
}
]
}{
"id": "chatcmpl-9z2a...",
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "今天北京天气晴朗,气温25摄氏度,湿度60%。"
}
}
]
}今天北京天气晴朗,气温25摄氏度,湿度60%。看到了吗?大模型在这整个过程中,唯一做的事情,就是接收一段文本,然后预测并输出下一段文本。
- 大模型没有记忆,在多轮对话中,智能体只能把对话历史重新发送给大模型
- 大模型没有工具,是智能体告诉大模型有哪些工具,并且帮大模型调用,再把结果重新发送给大模型
在其他地方,你可能看到过这样的 AI Agent 定义:
AI Agent = LLM(大脑) + 规划(思考路径) + 记忆(RAG等) + 工具(Skills)
这里面,只有 LLM 是所谓的 AI,其他都是围绕 LLM 构建的软件工程。
本质上, Agent 开发就是带有大模型能力的后端软件开发。
