【AI应用开发】 Agent篇(一):概述与核心概念
【AI应用开发】 Agent篇一概述与核心概念前言2025–2026 年是 AI Agent 爆发之年。从 OpenAI 的 Operator、Anthropic 的 MCP 协议到国内百花齐放的 Agent 框架让大模型自主干活已经从概念走向生产。传统的大模型就像一个只会查资料回答问题的学霸——你问什么它答什么但它不会主动打开浏览器查股票、不会调用 API 发邮件、也不会分步骤拆解一个复杂任务。Agent 就是给大模型装上手和眼睛——让它能调用工具、感知环境、制定计划、记忆上下文像人类一样自主完成多步复杂任务。本文作为系列第一篇讲清三个核心问题Agent 是什么、为什么需要 Agent、Agent 的底层架构长什么样。目录什么是 AI Agent1.1 从 LLM 到 Agent 的进化1.2 Agent 的定义与核心能力Agent 能做什么2.1 典型应用场景2.2 为什么不能只用 LLM RAG 搞定一切Agent 核心架构3.1 四大核心模块3.2 执行循环Agent Loop3.3 决策范式ReAct / Plan-Execute / ReWOO主要框架选型4.1 LangGraph / CrewAI / AutoGen / Dify4.2 选型指南1. 什么是 AI Agent1.1 从 LLM 到 Agent 的进化理解 Agent 最好的方式是看一张进化图谱LLM大语言模型 ↓ 只能对话不能做任何事 LLM RAG检索增强生成 ↓ 有了外部知识但还是你问我答 LLM Tool函数调用 ↓ 能查天气、调API但每一步都要人指挥 AI Agent智能体 ↓ 自主感知 → 规划 → 执行 → 反馈循环直到完成任务一个直观的例子任务LLM 能做到吗Agent 能做到吗“写一首诗”✅ 能✅ 能“帮我查今天深圳天气”❌ 不行没有实时数据✅ 调用天气 API“帮我订明天去北京的机票选最便宜的然后发送行程到我的邮箱”❌ 不行✅ 搜索→比价→下单→发邮件Agent 的本质能力不是在理解上比 LLM 更强而是在“行动”上补上了 LLM 最关键的短板。1.2 Agent 的定义与核心能力一个完整意义上的 AI Agent 需要具备四种核心能力┌─────────────────────────────────────┐ │ AI Agent 四力模型 │ ├───────────┬───────────┬─────────────┤ │ 感知力 │ 规划力 │ 行动力 │ │Perception │ Planning │ Action │ │ │ │ │ │ 理解环境 │ 拆解任务 │ 调用工具 │ │ 解析输入 │ 制定步骤 │ 执行操作 │ ├───────────┴───────────┴─────────────┤ │ 记忆/状态 │ │ 短期记忆上下文 长期记忆持久化│ └─────────────────────────────────────┘感知Perception理解用户输入、识别环境状态变化规划Planning将大任务拆解为可执行的子任务序列行动Action调用工具API、数据库、浏览器等实际执行操作记忆Memory在对话和执行中记住关键信息支持跨会话持久化这四种能力组合在一起让 Agent 不再是一问一答的聊天机器人而是能像人类一样思考-行动-反思的自主执行者。2. Agent 能做什么2.1 典型应用场景领域场景Agent 做的事 电商智能购物助手搜索商品→比价→下单→跟踪物流 办公自动化助手分析邮件→提取待办→创建日程→生成周报 编程自主编码 Agent理解需求→拆解任务→写代码→跑测试→修 Bug 科研数据分析 Agent读取数据→写 SQL→生成分析报告→做可视化 医疗导诊 Agent问症状→建议科室→预约挂号→发送提醒 金融投研 Agent爬取研报→分析数据→生成投资摘要→风险预警2.2 为什么不能只用 LLM RAG 搞定一切有人会说“我的 RAG 系统已经能回答公司内部文档的问题了为什么还要 Agent”答案是RAG 解决的问题是你知道什么Agent 解决的问题是你能做什么。三个典型场景说明这个差异场景一多步依赖任务用户查一下我们上个月销量最高的产品然后给供应商再下一批货 LLMRAG❌ 能查到最高销量产品但没法去 ERP 系统下单 Agent ✅ 调 SQL 查销量 → 找到 SKU → 调 ERP API 下订单场景二条件分支任务用户帮我看看下周去上海的航班如果经济舱低于 800 就订否则看看高铁 LLMRAG❌ 没法动态判断价格条件并切换策略 Agent ✅ 查航班价格 → if 800 下单 else 查高铁场景三自我纠错用户把这份报告翻译成英文发给 partnerexample.com LLMRAG❌ 如果翻译出错或发送失败不会重试 Agent ✅ 翻译 → 检查质量 → 发送 → 如果失败重试或换方案核心区别RAG 把知识给 LLMAgent 把手和脑给 LLM。3. Agent 核心架构3.1 四大核心模块一个生产级 Agent 的内部架构如下┌──────────────┐ │ 用户输入 │ └──────┬───────┘ │ ▼ ┌──────────────────┐ │ 记忆模块 │ │ Memory │ │ ┌──────┐┌──────┐│ │ │短期 ││长期 ││ │ │记忆 ││记忆 ││ │ └──────┘└──────┘│ └────────┬─────────┘ │ ▼ ┌──────────────────────────┐ │ 规划/推理引擎 │ │ Planning Engine │ │ │ │ ┌────────────────────┐ │ │ │ 我需要做什么 │ │ │ │ 分几步做 │ │ │ │ 现在做哪一步 │ │ │ └────────────────────┘ │ └──────────┬───────────────┘ │ ▼ ┌──────────────────────────┐ │ 大语言模型 (LLM) │ │ ── 大脑决策中枢 ── │ └──────────┬───────────────┘ │ 用哪个工具参数是什么 ▼ ┌─────────────────────────────────────────┐ │ 工具层 (Tools) │ │ │ │ Web搜索 SQL查询 发邮件 │ │ 文件读写 日历 API调用 │ │ ️ 执行代码 浏览器 ... │ └─────────────────────────────────────────┘3.2 执行循环Agent LoopAgent 最核心的执行机制是一个循环——不断思考→行动→观察→再思考直到任务完成# Agent 执行循环伪代码defagent_loop(user_input):# 初始化状态将用户输入放入消息列表messages[{role:user,content:user_input}]whileTrue:# 第 1 步思考 —— LLM 决定下一步做什么responsellm.invoke(messages,toolsavailable_tools)# 第 2 步判断 —— 是直接回复还是调用工具ifresponse.has_no_tool_calls():returnresponse.content# 任务完成返回最终结果# 第 3 步行动 —— 执行工具调用fortool_callinresponse.tool_calls:resultexecute_tool(tool_call)# 第 4 步观察 —— 将工具结果加回上下文messages.append(tool_result_message(result))# 回到第 1 步继续循环这个循环是 Agent 和 LLM 最本质的区别。LLM 只会一次推理一次返回Agent 会循环往复直到目标达成。3.3 三种主流决策范式Agent 内部让 LLM怎么思考有三种经典范式① ReActReasoning Acting—— 边想边做最经典的范式。每一步 LLM 都输出思考 行动Thought: 用户想查天气我需要调用天气 API Action: get_weather(city深圳) Observation: 深圳今天 32°C晴 Thought: 已经获得天气数据可以直接回答用户了 Answer: 深圳今天晴气温 32°C② Plan-Execute —— 先规划再执行LLM 先生成一个完整计划然后逐步执行Plan: 1. 搜索深圳到北京最低价机票 2. 从结果中提取前三低价的航班信息 3. 调用邮件 API 发送给用户 4. 确认发送成功 Execute: 按计划依次执行每步验证结果③ ReWOOReason without Observation—— 规划与执行分离先做全局规划生成任务蓝图执行阶段不再每步都推理效率更高Planner一次性规划所有工具调用: tool_1: search_flights(深圳, 北京, 明天) tool_2: search_hotels(北京, 明天) Worker按规划执行: 并行执行 tool_1 和 tool_2 → 汇总结果 → 一次回复范式选择指南范式适用场景优点缺点ReAct通用任务不确定性高灵活每步可调整推理开销大Plan-Execute步骤清晰的任务结构化可追踪计划不当时不易修正ReWOO可并行任务效率高token 省不适用于强依赖链4. 主要框架选型4.1 主流框架一览框架定位特点适合谁LangGraphAgent 编排框架图状态机精细控制流与 LangChain 生态集成需要精细控制的中高级开发者CrewAI多 Agent 协作角色扮演式多 Agent开箱即用快速搭建多 Agent 团队AutoGen多 Agent 对话微软出品Agent 间自由对话协作研究型多 Agent 场景Dify / Coze低代码 Agent 平台可视化拖拽零代码非开发者/快速原型OpenAI Agents SDK官方 Agent SDK原生支持简洁 APIOpenAI 生态用户SmolagentsHuggingFace 出品轻量级代码优先追求简洁的研究/学习4.2 选型建议想快速体验 Agent 概念 → Dify / Coze拖拽即可 想学习 Agent 原理 → 手写 Agent Loop不用框架 想做单 Agent 复杂任务 → LangGraph 想做多 Agent 协作 → CrewAI 或 AutoGen 想在生产环境部署 → LangGraph 自建基础设施本系列教程的原则尽量先手写核心逻辑理解原理再用框架提高效率。每篇文章都会同时给出手写版本和框架版本。总结本文搞清了 Agent 的三个核心问题Agent 是什么LLM 感知 规划 行动 记忆 自主完成任务为什么需要 AgentLLM RAG 只能回答问题Agent 能自主做事底层架构记忆 → 规划 → 推理 → 工具执行 → 循环往复