Agent方法论-应用开发典型范式Agent 开发典型范式从场景到智能等级核心结论Agent 没有“越自主越好”。设计时应先明确任务目标、环境可观测性、风险边界与反馈机制再选择恰当的 Agent 范式。一、按应用场景划分类型核心目标典型能力代表案例行动型 AgentAction Agent根据用户目标决定下一步行动工具调用、任务分解、ReAct 推理OpenAI Function Calling、NL2SQL模拟型 AgentSimulation Agent在虚拟环境中扮演角色并产生交互角色设定、记忆、环境反馈、多角色协作Generative Agents、CAMEL自主型 AgentAutonomous Agent围绕长期目标持续规划和执行长期记忆、自主规划、工具使用、循环迭代Auto-GPT、BabyAGI三者的差异主要体现在目标持续时间、是否需要环境建模、记忆长度以及 Agent 能否自主决定后续步骤。1. 行动型 AgentFunction Calling 的基本闭环行动型 Agent 的关键不在“聊天”而在于让模型从自然语言中识别意图和参数选择函数再把函数执行结果送回模型生成最终答案。下面是课程中的 Function Calling 控制流程精简整理functions定义与辅助函数实现省略。课程采用的是早期function_call响应结构messages[]messages.append({role:system,content:Answer user questions by generating SQL queries against the Chinook Music Database.})messages.append({role:user,content:Hi, who are the top 5 artists by number of tracks?})chat_responsechat_completion_request(messages,functions)assistant_messagechat_response.json()[choices][0][message]messages.append(assistant_message)ifassistant_message.get(function_call):resultsexecute_function_call(assistant_message)messages.append({role:function,name:assistant_message[function_call][name],content:results,})pretty_print_conversation(messages)完整链路可以概括为用户问题 → LLM 选择函数并生成参数 → 程序执行函数/SQL → 将执行结果追加到消息上下文 → LLM 组织最终答案2. 模拟型与自主型 Agent模拟型 Agent强调“像某个角色一样行动”。典型的 Generative Agents 会让角色在虚拟小镇中观察环境、形成记忆、反思并制定日程多角色之间还能传播信息并产生涌现行为。自主型 Agent强调“围绕目标持续行动”。Auto-GPT、BabyAGI 一类系统会在循环中分解目标、选择工具、执行任务、读取结果并调整后续计划。二、按技术实现划分技术方向常见实现ChatbotsCustomer Support、根据用户需求生成 Prompt、Code AssistantMulti-Agent SystemsCollaboration、Supervisor、Hierarchical TeamsRAGAdaptive RAG、Agentic RAG、Corrective RAGCRAG、Self-RAGPlanning AgentsPlan-and-Execute、Reasoning without Observation、LLMCompilerReflection CritiqueBasic Reflection、Reflexion、Language Agent Tree SearchLATS、Self-Discover AgentEvaluation基于 Agent 的评估、在 LangSmith 中评估这些方向并不是互斥的。一个生产级 Agent 往往会同时包含规划 工具调用 RAG 反思 评估。三、四类关键工作流1. CRAG先判断检索质量再决定是否补充搜索CRAGCorrective RAG的核心是增加“检索结果评分”环节避免把低质量文档直接交给模型检索文档 → 相关性评分 ├─ 全部相关直接基于文档生成答案 └─ 存在不相关重写查询 → Web 搜索 → 合并新证据 → 生成答案它解决的是传统 RAG 的一个常见问题检索失败时模型仍可能基于错误或无关上下文强行作答。2. Self-RAG让模型对“检索与生成”同时自检Self-RAG 不只检查文档是否相关还会在生成过程中加入反思信号是否需要检索、证据是否支持当前回答、回答是否有用。这样可以把检索、生成和评价组成可循环修正的闭环。3. LLMCompiler把可并行任务编译成 DAG普通 Agent 往往串行执行工具步骤一多延迟和 Token 消耗就会明显增加。LLMCompiler 的思路是Planner 生成任务流 ↓ Task Fetching Unit 识别依赖关系并构建 DAG ↓ 无依赖任务并行执行依赖任务按拓扑顺序调度 ↓ Joiner 汇总结果判断输出答案或重新规划适合场景一次请求需要查询多个独立数据源或包含多个可以并行完成的子任务。4. LATS用树搜索扩大候选再通过反思选择路径Language Agent Tree Search 将单一路径推理扩展为树搜索生成候选动作 → 执行动作 → 反思与评分 ↓ 选择更有希望的节点 → 扩展新候选 → 回传分数 ↓ 找到满意答案或达到停止条件它通过“多候选 评价 回溯”降低一次错误决策导致全链路失败的概率但代价是更高的推理成本和更复杂的终止控制。四、多智能体协作模式1. Collaboration专业 Agent 分工协作课程中的典型示例是Researcher Chart Generator研究 Agent 负责查询和整理数据图表 Agent 负责生成可视化路由节点根据当前状态决定下一位 Agent 或工具。用户任务 → Researcher ↔ 工具节点 ↔ Chart Generator → 最终结果这类模式适合可清晰拆分、不同子任务需要不同工具或提示词的工作。2. Supervisor由主管 Agent 动态路由Supervisor 不直接完成所有工作而是判断任务应该交给哪个专业 Agent并在各 Agent 返回结果后决定继续分派还是结束用户 → Supervisor → 专业 Agent A / B / C ↑ ↓ └──── 汇总与再路由 ────┘如果团队规模继续扩大可以进一步形成Hierarchical Teams分层团队由多级主管管理各自的子团队。五、按智能程度划分智能体类型决策依据是否有记忆/模型适用场景Simple Reflex Agent当前感知 条件动作规则无环境完全可观测、规则稳定Model-based Reflex Agent当前感知 内部状态 世界模型有内部状态环境部分可观测需要追踪状态Goal-based Agent目标 搜索/规划通常有需要比较多条路径是否能到达目标Utility-based Agent效用函数与综合收益有多个可行方案之间需要权衡成本、速度、风险Learning Agent经验、反馈与持续学习持续更新环境变化、需要长期优化表现学习型 Agent 通常由四部分组成Performance Element负责采取行动Critic评价行动结果Learning Element根据反馈更新策略Problem Generator主动提出探索性行为帮助获得新经验。六、如何选择合适的范式规则固定、结果可预测优先使用工作流或 Simple Reflex Agent。环境信息不完整、需要维护上下文使用 Model-based Agent。目标明确但路径不确定使用 Goal-based Agent 或 Plan-and-Execute。多种方案需要权衡引入 Utility Function做效用型决策。任务复杂且可分工采用 Multi-Agent并明确路由、共享状态与终止条件。数据可能检索失败采用 CRAG/Self-RAG显式评估证据质量。需要长期适应环境引入 Critic、反馈数据和 Learning Element。七、工程落地要点最小必要自主性能用确定性流程解决就不要无条件扩大 Agent 的自由度。工具边界清晰为每个工具定义输入、输出、权限与失败处理。状态可观测记录规划、工具参数、执行结果、路由原因和反思结论。设置停止条件限制最大迭代次数、时间、成本并识别重复循环。区分事实与推断RAG 结果、工具返回值和模型推断应分别记录。持续评估同时关注正确率、任务完成率、延迟、Token 成本与安全性。总结Agent 开发可以归纳为一个组合公式Agent 模型推理 状态/记忆 工具 规划 反馈/反思 评估从行动型、模拟型到自主型能力逐步增强从简单反射、基于模型、目标驱动、效用驱动到学习型决策机制逐步复杂。真正重要的不是堆叠组件而是让自主程度与任务价值、风险和成本相匹配。
