开篇引入
📅 北京时间2026年4月9日|技术入门 / 进阶|技术科普 + 原理讲解 + 代码示例 + 面试要点
2026年,人工智能行业正经历一场深刻的范式转移——从“对话框问答时代”全面跨入“智能体(Agent)时代”-5。起点ai助手发现,大量开发者面对AI Agent时普遍陷入三大困境:只会调用LLM的API完成简单问答,却说不清Agent与普通大模型的本质区别;听说过ReAct、CoT、Function Calling等术语,但理不清它们之间的逻辑关系;面试中被问到“Agent的核心能力模块有哪些”时,只能零散地蹦几个关键词。本文从零开始,系统拆解AI Agent的核心概念、关键技术组件与工程落地实践,覆盖原理、代码与面试要点,帮助读者建立完整知识链路。
一、痛点切入:为什么传统“LLM + 提示词”搞不定复杂任务?
1.1 传统方式的典型尝试
让我们从一个简单的业务需求入手:“帮我查一下公司服务器CPU负载,如果超过80%,就发邮件告警”。
纯LLM方式:
传统方式:只调用大模型输出文本 response = llm.chat("帮我查公司服务器CPU负载,如果超过80%就发邮件告警") print(response) 输出: "好的,建议你登录监控系统查看负载,然后手动配置邮件告警规则" ❌ LLM只能给出"建议",无法真正执行
这种方式的核心局限在于:大模型只能根据训练数据生成文本回复,它没有权限、也没有能力去调用监控系统的API、获取实时负载数据、发送邮件。它像一个知识渊博但四肢无力的专家——懂很多,但什么都做不了-7。
1.2 传统方式的四大硬伤
目标理解与执行的断层:用户提出的是一个“任务目标”,LLM给出的却是“文字建议”,任务执行链条在这里断裂
无法感知真实环境:大模型依赖静态训练数据,无法主动获取服务器CPU负载等实时信息
任务无法分解:复杂需求(如“写一篇RAG技术的入门博客”)包含多个子步骤,LLM缺乏任务拆解能力
没有记忆与状态管理:多轮对话中上下文会丢失,用户重复提问相同问题时,模型每次都要重新理解
📌 结论:大模型是“能力提供者”,擅长理解、生成和推理,但本身并不具备目标意识和执行能力-7。这就是AI Agent诞生的根本动因——在LLM之外补齐规划、记忆、工具调用和自主执行这四块拼图-5。
二、核心概念讲解:AI Agent(智能体)
2.1 标准定义
AI Agent(Artificial Intelligence Agent,人工智能智能体) 是一种具备自主感知、规划决策、工具执行与记忆能力的智能系统形态,它能够以目标为导向,在最小化人工干预的情况下完成复杂任务-1。
2.2 核心公式
业界公认的核心公式如下:
Agent = LLM(大语言模型)+ Planning(规划)+ Memory(记忆)+ Tool Use(工具调用) -5
拆解公式中的三个关键词:
Planning(规划):Agent不只是“想一步做一步”,而是能够将模糊的用户目标分解为有序、可执行的子任务序列,形成任务计划
Memory(记忆):Agent能够存储短期会话上下文和长期用户偏好,让多轮对话不再“断片”,并能在新任务中调用历史知识
Tool Use(工具调用):Agent具备调用外部API、数据库、代码解释器、浏览器等工具的能力,从“会说”变成“会做”
2.3 生活化类比
可以把AI Agent想象成一位“带实习生的项目经理”:
| 能力模块 | Agent的角色 | 类比解释 |
|---|---|---|
| LLM | 项目经理的“知识储备” | 知道怎么做事、有什么资源 |
| Planning | 项目经理的“任务分解” | 把大任务拆成小任务,安排先后顺序 |
| Memory | 项目管理的“会议纪要+历史档案” | 记住用户偏好、历史决策、任务进度 |
| Tool Use | 实习生的“动手执行” | 真正去写代码、发邮件、查数据库 |
🎯 一句话记忆:LLM是“大脑”,Agent是“大脑+手+记忆+规划能力”的完整闭环系统。
三、关联概念讲解:大语言模型(LLM)
3.1 标准定义
LLM(Large Language Model,大语言模型) 是一种基于Transformer架构、在海量文本数据上预训练的大规模神经网络模型,具备自然语言理解、生成与推理能力。
3.2 Agent与LLM的关系
LLM是Agent的“决策核心”,但不是Agent的全部-7:
Agent以LLM为核心决策单元,在此基础上叠加规划、执行和状态管理能力
LLM负责“想”:理解用户意图、分析上下文、生成决策建议
Agent负责“想完去做”:通过规划模块拆解任务,通过工具模块执行操作,通过记忆模块持续优化
3.3 对比一张表看清
| 维度 | 大语言模型(LLM) | AI Agent(智能体) |
|---|---|---|
| 核心职责 | 生成文本/回答问题 | 完成目标/交付成果 |
| 输出形态 | 文本内容 | 执行结果 |
| 环境感知 | 仅能处理输入文本 | 可感知真实环境状态 |
| 任务驱动 | 被动响应 | 目标驱动、自主触发 |
| 工具调用 | 不具备 | 可调用API/数据库等 |
| 持久记忆 | 上下文窗口内 | 跨会话长期记忆 |
| 经典例子 | GPT-4、Claude、DeepSeek | Manus、OpenAI Operator |
3.4 简要运行机制
Agent的工作流可以概括为“感知→规划→执行→反馈”四个步骤的循环-7:
感知(Perception) :获取用户输入、环境状态和系统上下文
规划(Planning) :基于目标对任务进行拆解与路径选择
执行(Action) :调用工具、接口或外部系统完成操作
反馈(Feedback) :根据执行结果修正策略或状态,进入下一轮循环
四、概念关系与区别总结
4.1 核心关系一句话概括
LLM是Agent的“大脑”,Agent是LLM的“工程化放大器” -7
4.2 详细对比
| 对比维度 | 关系说明 |
|---|---|
| 包含关系 | Agent 包含 LLM 作为其核心决策组件 |
| 功能定位 | LLM 解决“理解与生成”,Agent 解决“目标驱动下的自主执行” |
| 能力层次 | LLM 是基础能力层,Agent 是系统应用层 |
| 实现方式 | LLM 是模型参数,Agent 是架构框架 |
易混淆点:很多初学者误以为“调通LLM的API”就等于“做好了Agent”。这是不准确的——Agent是在LLM之上构建的一整套系统工程,至少还需要规划、记忆和工具调用三层能力。
五、代码示例:用主流框架搭建一个最小Agent
下面以2026年最主流的三款开源Agent框架为例,演示同一个任务——“用AI自动研究一个技术话题,写一篇文章并审校”——的三种实现方式-66。
5.1 AutoGen(微软):对话式多Agent协作
AutoGen的核心思路是让多个Agent像团队成员一样“聊天”来协作完成任务-66。
pip install autogen-agentchat import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.teams import RoundRobinGroupChat from autogen_agentchat.conditions import MaxMessageTermination from autogen_ext.models.openai import OpenAIChatCompletionClient 配置模型客户端(可替换为本地Ollama) model_client = OpenAIChatCompletionClient( model="qwen3:8b", base_url="http://localhost:11434/v1", api_key="ollama" ) 定义三个Agent角色 researcher = AssistantAgent( name="researcher", model_client=model_client, system_message="你是技术研究员,负责深入分析技术话题,给出调研报告。" ) writer = AssistantAgent( name="writer", model_client=model_client, system_message="你是技术写作专家,根据调研报告撰写通俗易懂的技术文章。" ) editor = AssistantAgent( name="editor", model_client=model_client, system_message="你是资深编辑,审校文章的准确性、可读性和逻辑性。" ) 创建团队:三个Agent轮流发言协作 team = RoundRobinGroupChat( participants=[researcher, writer, editor], termination_condition=MaxMessageTermination(max_messages=9) ) async def main(): result = await team.run( task="研究Python 3.14的新特性,写一篇面向开发者的技术博客" ) print(result.messages[-1].content) asyncio.run(main())
代码解读:
定义了三个不同专业角色的Agent(研究员、写作者、编辑)
采用轮询发言机制(RoundRobinGroupChat)让它们依次输出内容
每个Agent有独立的system_message定义其职责边界
5.2 Crew角色驱动的任务流水线
CrewAI强调“定义角色→分配任务→按流程执行”的模式-66。
pip install crewai from crewai import Agent, Task, Crew from langchain_community.llms import Ollama llm = Ollama(model="qwen3:8b", base_url="http://localhost:11434") 定义Agent角色 researcher = Agent( role="技术研究员", goal="深入分析技术话题", backstory="你擅长从论文和官方文档中提取核心信息", llm=llm ) writer = Agent( role="技术写作者", goal="撰写高质量的技术文章", backstory="你有5年技术博客写作经验,擅长将复杂概念讲清楚", llm=llm ) 定义任务流水线 task1 = Task( description="调研RAG(检索增强生成)技术的核心原理和主流方案", agent=researcher ) task2 = Task( description="基于调研结果撰写一篇2000字的技术入门文章", agent=writer, context=[task1] 依赖前一个任务的输出 ) 创建团队并执行 crew = Crew( agents=[researcher, writer], tasks=[task1, task2], verbose=True ) result = crew.kickoff() print(result)
5.3 LangGraph:图状态机编排
LangGraph用有向图定义Agent的执行流程,适合需要复杂分支判断和循环的场景-66。
pip install langgraph langchain from typing import TypedDict, Literal from langgraph.graph import StateGraph, END from langchain_community.llms import Ollama llm = Ollama(model="qwen3:8b", base_url="http://localhost:11434") 定义状态 class AgentState(TypedDict): topic: str draft: str reviewed: bool 定义节点函数 def write_draft(state: AgentState): topic = state["topic"] draft = llm.invoke(f"写一篇关于{topic}的技术博客草稿") return {"draft": draft} def review_draft(state: AgentState): draft = state["draft"] feedback = llm.invoke(f"审阅以下文章草稿,给出修改建议:\n{draft}") return {"draft": draft + "\n\n【审阅意见】\n" + feedback} def should_review(state: AgentState) -> Literal["review", "end"]: 条件判断:草稿长度不足500字则重新写,否则进入审阅 if len(state.get("draft", "")) < 500: return "write" return "review" 构建图 graph = StateGraph(AgentState) graph.add_node("write", write_draft) graph.add_node("review", review_draft) graph.set_entry_point("write") graph.add_conditional_edges("write", should_review) graph.add_edge("review", END) app = graph.compile() result = app.invoke({"topic": "RAG技术入门", "draft": "", "reviewed": False}) print(result["draft"])
5.4 三种框架对比速查
| 框架 | 核心理念 | 适用场景 | GitHub Stars |
|---|---|---|---|
| AutoGen(微软) | 对话式多Agent协作 | 研究探索、复杂推理任务 | 42k+ |
| CrewAI | 角色扮演+任务流水线 | 快速原型、内容生成管道 | 28k+ |
| LangGraph | 图状态机编排 | 企业级生产环境、复杂流程控制 | 15k+ |
📌 一句话选型建议:想快速验证想法用CrewAI,需要复杂分支控制和状态管理上LangGraph,做学术研究或多Agent对话实验选AutoGen-66。
六、底层原理与技术支撑点
Agent能够实现自主规划和工具调用,依赖以下底层技术栈的支撑:
6.1 规划层:CoT / ToT / ReAct
CoT(Chain-of-Thought,思维链) :让模型将复杂推理分解为多步中间步骤,把思考过程显式展开成“思路链”,激活模型的推理能力-21
ReAct(Reasoning + Acting,推理+行动) :将“推理”和“行动”交替进行——先想一步,再做一步,根据执行结果继续推理下一步-21
ToT(Tree-of-Thoughts,思维树) :在CoT基础上探索多条推理路径,像“试错”一样探索多种可能性,选择最优解-26
6.2 工具调用层:Function Calling / MCP
Function Calling(函数调用) :大模型在对话中自动决定调用哪个外部函数,并把参数填入函数签名——这是Agent获取“动手能力”的基础
MCP(Model Context Protocol,模型上下文协议) :Anthropic推出的统一工具调用标准协议,解决传统Function Calling中“工具碎片化、高耦合、上下文丢失”三大问题-42
MCP采用Client/Server架构,Agent通过标准协议接入MCP Server即可调用各种工具
支持上下文传递、流式响应与工具动态发现
6.3 记忆层:短期记忆 + 长期记忆 + RAG
短期记忆(Short-Term Memory) :当前会话窗口内的上下文,存储在对话历史中,会话结束即丢失-
长期记忆(Long-Term Memory) :跨会话的用户偏好和历史信息,通常借助向量数据库(如Milvus、Chroma)和RAG实现持久化存储与语义检索-
RAG(Retrieval-Augmented Generation,检索增强生成) :在生成回答前,先从外部知识库检索相关文档,将检索结果作为上下文增强模型的回答质量
七、高频面试题与参考答案
Q1:请简要说明AI Agent与大语言模型(LLM)的区别。
标准答案(建议背诵) :
定位不同:LLM是“能力提供者”,擅长理解、生成和推理;Agent是“系统形态”,以LLM为核心决策单元,叠加规划、执行和状态管理能力
输出不同:LLM输出文本回答;Agent交付任务执行结果
能力不同:Agent具备环境感知、任务规划、工具调用和持久记忆能力,这是纯LLM不具备的
一句话概括:LLM是“大脑”,Agent是“大脑+手+记忆+规划”的完整闭环
Q2:AI Agent的核心能力模块有哪些?
标准答案:
Planning(规划) :将复杂目标拆解为可执行的子任务序列
Memory(记忆) :包括短期会话记忆和跨会话长期记忆
Tool Use(工具调用) :通过Function Calling或MCP协议调用外部API、数据库、代码解释器
Action & Feedback(行动与反馈) :执行操作并根据结果修正策略
记忆口诀:规、记、调、行
Q3:Function Calling与MCP协议有什么区别?
标准答案:
Function Calling:临时将API定义嵌入System Prompt,每次对话都需要传输完整工具描述,消耗Token且难以维护
MCP:标准化的Client/Server协议,Agent通过统一接口即插即用各类工具,支持上下文传递和工具动态发现
类比:Function Calling像“一次性外挂工具包”,MCP像“通用的电源插座协议”-43
Q4:Agent如何实现长期记忆?
标准答案:
技术方案:采用“短期记忆 + 长期记忆”分层架构-
短期记忆:存储在对话上下文中(Redis等)
长期记忆:借助向量数据库进行语义存储和检索(Milvus、Chroma等)
关键机制:结合RAG(检索增强生成),在生成回答前从长期记忆库中检索相关信息,注入当前上下文
核心价值:让Agent能够“记住”用户的历史偏好和过往决策
Q5:Agent规划(Planning)与普通LLM的CoT有何不同?
标准答案:
CoT(思维链) :在一次回答中把推理过程展开成思路链,只是“写下来”,不涉及真实执行
Agent Planning:将任务分解为可执行的子任务序列,形成结构化计划,并交给下游Agent逐步执行-21
核心差异:CoT停留在“文本推理”层面;Planning进入“可执行任务调度”层面
八、结尾总结
8.1 核心知识点回顾
Agent不是大模型:LLM是Agent的“大脑”,但Agent还需要规划、记忆和工具调用三大模块才能闭环
核心公式:Agent = LLM + Planning + Memory + Tool Use
工作流程:感知 → 规划 → 执行 → 反馈,构成完整的认知闭环
主流框架:AutoGen(对话协作)、CrewAI(角色流水线)、LangGraph(图状态机)各有所长
底层支撑:CoT/ReAct支撑规划,MCP支撑工具调用,RAG+向量数据库支撑长期记忆
8.2 重点与易错点
⚠️ 易错点1:不要以为“调通了LLM API”就完成了Agent——Agent是一整套系统工程,规划、记忆、工具调用缺一不可。
⚠️ 易错点2:不要把RAG和Memory混为一谈——RAG是检索外部知识库的技术,Memory是存储历史交互和状态的能力,二者相辅相成但不等同。
✅ 面试踩分点:回答Agent相关问题时,务必把四大能力模块(规划、记忆、工具调用、行动反馈)完整列出,这是面试官最看重的得分点。
8.3 进阶预告
下一篇将从工程化角度深入讲解:Agent系统的性能优化、成本控制与生产环境部署,包括:
多Agent协作的调度策略与容错机制
从“单体Agent”到“多智能体系统(MAS)”的架构演进-54
Agent编排平台(Agent OS)的设计与实践
实际业务场景中的落地避坑指南