吴恩达联手LangChain:LangGraph智能体开发核心解析

从LLM到智能体:一场工作流范式的进化
AI教育平台DeepLearning.AI推出了由吴恩达(Andrew Ng)联合LangChain联合创始人兼CEO Harrison Chase、以及Tavily联合创始人兼CEO共同打造的课程《AI Agents in LangGraph》。这门课程被众多开发者视为学习智能体开发的优质入门教程,系统讲解了如何使用LangGraph框架从零构建AI Agent。
吴恩达在课程开场时回顾道,就在大约一年前,团队制作首个LLM框架课程时,构建一个能稳定运行的智能体示例还相当困难。而如今,情况已发生了根本性变化。据Harrison Chase介绍,智能体应用能够大规模落地,主要得益于两项关键改进:一是函数调用(Function Calling)能力的成熟,让工具调用变得更加可预测和稳定;二是专用工具的智能体化适配,其中最典型的就是搜索工具。
函数调用背景:函数调用是现代LLM实现工具使用的基础机制。OpenAI于2023年6月在GPT-3.5和GPT-4中正式引入Function Calling特性,允许模型输出结构化的JSON格式指令,指定需要调用的函数名称和参数,而非自由文本。这一能力的成熟显著降低了Agent工具调用的不确定性——早期Agent往往依赖复杂的提示工程和文本解析来驱动工具使用,错误率高且难以维护。随后,Anthropic的Claude、Google的Gemini等主流模型也陆续推出类似的Tool Use机制,逐渐形成行业标准。值得注意的是,函数调用本质上是一种"受控输出格式化":模型被训练为在特定情境下优先生成符合JSON Schema约束的结构化响应,而非任意文本——这背后依赖的是指令微调(Instruction Fine-tuning)和强化学习(RLHF)对输出分布的定向塑造。2024年后,业界进一步将这一概念泛化为"工具调用"(Tool Calling),支持在单次推理中并行触发多个工具,显著提升了Agent在复杂任务中的执行吞吐量,也为多步骤任务的并行化编排奠定了技术基础。

这一判断切中了智能体开发的核心痛点——传统工具并非为AI Agent设计。以搜索引擎为例,普通用户查询时会返回多个链接供人工点击查阅,但对于自主运行的Agent而言,它真正需要的是可直接引用、带有来源链接、并具备可预测格式的答案。
传统搜索引擎(如Google、Bing)的设计目标是为人类用户提供相关网页列表,其输出是需要人工点击、阅读和筛选的链接集合,隐含着"人类会处理歧义和非结构化信息"的前提。而Agent需要的是可编程消费的信息:结构化的文本摘要、明确的来源引用、一致的输出格式,以及对查询意图的深度理解。Tavily等**智能体搜索(Agentic Search)**工具正是针对这一需求设计的,其API直接返回经过提炼的答案文本和来源列表,而非HTML网页。这种设计在技术上依赖检索增强生成(Retrieval-Augmented Generation,RAG)的变体——先通过网络爬取和索引获取原始内容,再用LLM对多源内容进行摘要和融合,最终输出结构化答案,同时附带可验证的来源链接以支持引用溯源。
值得补充的是,RAG技术本身经历了从"朴素RAG"(Naive RAG)到"高级RAG"(Advanced RAG)再到"模块化RAG"(Modular RAG)的演进历程。朴素RAG仅做简单的检索+拼接,而高级RAG引入了查询重写、混合检索(稠密向量+稀疏BM25)、重排序(Reranking)等优化环节;Agentic Search工具的设计理念则更接近模块化RAG——将检索、筛选、摘要各环节拆解为可独立优化的组件,并以Agent驱动整个流程,从而在实时性、准确性和可解释性上同时超越静态知识库检索。类似的工具还包括Exa(前身为metaphor)和Perplexity API,它们共同构成了新一代Agent基础设施的重要组成部分,弥合了LLM推理能力与实时互联网信息之间的鸿沟。
什么是智能体工作流?
为了让开发者直观理解Agent,吴恩达用一个生动的比喻说明"智能体式工作流"(Agentic Workflow)。假设三个人合作撰写一篇论文:一个人先做规划、列出提纲;另一个人负责调研、检索资料、整理文档;第三个人写出初稿;随后再有人通读全文、提出修改建议,并将稿件退回给相应角色进行修订或补充检索——如此循环迭代,直至产出最终成果。

这与当下人们使用LLM的常见方式形成鲜明对比。大多数人用大模型写文章,是给出一个prompt,让模型从头到尾一次性(one-shot)生成。而智能体式工作流通过迭代打磨,能够产出质量高得多的成果。吴恩达打了个精妙的比方:即便是他本人,如果被要求一气呵成、不允许回退删改地写作,写出来的东西也不会好。人类写作尚且需要反复修改,何况LLM。
从认知科学的角度来看,这种迭代式工作流与人类的"双过程理论"(Dual Process Theory)高度契合:快速的直觉生成(System 1)与慢速的批判性审查(System 2)相互配合。在Agent架构中,初稿生成对应快速的单次推理,而反思与修订则模拟了慢思考过程——通过多次LLM调用弥补单次推理的局限性。研究表明,即使使用相同的基础模型,引入迭代反思机制后,在代码生成、数学推理等任务上的准确率可提升20%-40%。
这一思想与近年来引发广泛关注的"测试时计算扩展"(Test-Time Compute Scaling)理论高度吻合:在推理阶段投入更多计算资源(即更多次LLM调用和迭代步骤),往往比单纯扩大模型参数量更能有效提升复杂任务的表现。OpenAI的o1/o3系列模型正是将这一思想内化为模型训练目标,而Agent框架则在应用层面提供了更灵活的外部实现路径,使开发者无需等待新模型即可从中受益。
具体到实践层面,这意味着可以分别提示LLM去写提纲、写初稿、修订草稿、执行搜索等,将复杂任务拆解为可迭代的步骤。
智能体的五大核心设计模式
课程中,吴恩达系统梳理了智能体工作流的关键设计模式,这也是理解现代Agent架构的基础:
1. 规划(Planning)
即思考需要执行哪些步骤,就像先列出论文提纲,再决定后续动作。规划能力决定了Agent能否将模糊目标分解为可执行的子任务。在Agent工程中,规划通常有两种实现路径:一是静态规划(如Tree-of-Thoughts),在执行前生成完整计划;二是动态规划(如ReAct),在每步行动后根据观察结果实时调整后续计划。前者适合结构清晰的任务,后者更能应对不确定性高的开放环境。
静态规划与动态规划的选择本质上是"承诺时机"的权衡问题。静态规划在执行前对全局路径做出承诺,适合任务边界清晰、环境确定性高的场景,但一旦中间某步结果偏离预期,整个计划可能需要推倒重来,缺乏容错性。动态规划则遵循"最小承诺原则"(Least Commitment Principle)——只对当前步骤做出决策,将后续路径的确定推迟到获得实际观察反馈之后,以此换取更强的适应性,代价是推理开销的增加(每步都需要一次完整的LLM推理)。对于生产环境中的Agent系统,一种常见的折中方案是分层规划:先生成粗粒度的高层计划(静态),在每个高层步骤的执行中再进行细粒度的动态调整,在规划效率与执行灵活性之间取得平衡。
2. 工具使用(Tool Use)
知道有哪些可用工具以及如何调用它们,例如前面提到的搜索工具。工具使用能力主要依赖LLM本身的函数调用特性。从工程实践来看,工具集的设计本身也是一门学问:工具粒度过粗会限制Agent的灵活性,过细则会增加规划复杂度和调用开销。成熟的Agent系统通常遵循"正交性原则"——每个工具承担单一、明确的职责,通过组合调用实现复杂功能。
工具描述(Tool Description)的质量往往被初学者低估,但其实对Agent性能有决定性影响。LLM在决定是否调用某个工具、以及如何填充参数时,主要依赖工具的自然语言描述(即函数文档字符串或schema中的description字段)进行推理。研究表明,清晰、精确的工具描述可将工具选择准确率提升15%-30%。此外,当工具数量超过一定阈值(通常认为是20-30个),单次提示包含全部工具定义会导致"工具检索噪声"问题——模型在海量工具中选择时准确性下降。对此,业界发展出了工具检索(Tool Retrieval)技术:先用语义搜索从工具库中动态检索最相关的若干工具,再注入当前提示,从而在工具集规模和调用精度之间取得平衡。
3. 反思(Reflection)
指对结果进行迭代式改进,往往需要多个LLM相互批评、提出有价值的建议,从而驱动这种编辑循环。这正是"迭代打磨"思想在架构层面的体现。反思机制在技术上通常通过两种方式实现:自我批评(Self-Critique),即同一模型用批评性提示词审查自己的输出;或对抗验证(Adversarial Verification),即引入专门的"批评者"模型(Critic)对"生成者"模型(Generator)的输出进行独立评估,这种设计与生成对抗网络(GAN)的思想有异曲同工之妙。
需要指出的是,自我批评和对抗验证各有其适用边界。自我批评的局限性在于"盲点一致性"——如果模型在生成阶段犯了某类系统性错误(如对某领域知识的误解),其批评者角色往往也会犯相同的错误,导致反思循环在错误的轨道上"自洽"。对此,引入外部基准(如代码执行结果、单元测试通过率、事实核查API)作为客观反馈信号,可以打破这种"自我封闭"的循环。这正是AlphaCodium等代码Agent的关键设计思路——以编译器和测试套件的确定性输出作为反思的锚点,而非依赖模型自身的主观评估,使反思机制具备了可验证的客观性基础。
4. 多智能体协作(Multi-agent Communication)
可以把每个Agent想象成扮演特定角色的成员,每个LLM配备独特的prompt,在整个流程中承担独特职责——正如论文协作中的规划者、调研者、写作者和评审者。
多智能体系统(Multi-Agent Systems,MAS)是人工智能领域的经典研究方向,其理论根源可追溯至1980年代的分布式AI研究。现代LLM时代的多智能体协作在此基础上引入了角色扮演(Role Playing)和专家混合(Mixture of Experts)的思想:不同Agent被赋予不同的系统提示和工具集,协同处理超出单一LLM上下文窗口或能力边界的复杂任务。多智能体架构的核心挑战在于通信协议设计——Agent之间如何传递状态、协商分歧、处理冲突,直接决定了系统的整体可靠性。
从系统设计角度看,多智能体的通信拓扑结构有三种主要模式:中心化编排(Centralized Orchestration,即由一个"指挥者"Agent调度所有"执行者"Agent)、去中心化对等通信(Decentralized Peer-to-Peer,即Agent之间直接交互)、以及混合层级结构(Hierarchical,即树状的多级编排)。中心化编排易于调试和控制,但存在单点瓶颈;去中心化通信更灵活但状态同步复杂;层级结构则在扩展性和可控性之间取得折中。LangGraph原生支持子图(Subgraph)嵌套,天然适合构建层级化的多智能体系统,而AutoGen则更倾向于去中心化的对话驱动模式——两种范式代表了当前多智能体工程的两种主流哲学。AutoGen、CrewAI等框架与LangGraph共同构成了这一赛道的主要竞争格局,各自在通信模型和编排策略上有不同侧重。

5. 记忆(Memory)
即在多个步骤之间追踪进度和结果。记忆机制让Agent能够记住此前的状态和产出,是维持长链条任务连贯性的关键。Agent的记忆系统通常分为四个层次:工作记忆(Working Memory,即当前上下文窗口中的信息)、情节记忆(Episodic Memory,存储历史对话和任务记录)、语义记忆(Semantic Memory,通过向量数据库存储的知识库)、以及程序性记忆(Procedural Memory,通过微调或提示缓存固化的技能)。不同类型的记忆需要不同的存储介质和检索策略,这也是Agent工程中复杂度最高的组件之一。
这四层记忆架构并非孤立运作,而是存在动态的"记忆整合"(Memory Consolidation)机制:工作记忆中的高价值信息可以通过摘要压缩转存为情节记忆,频繁被检索的情节记忆可以提炼为语义记忆中的结构化知识,而多次使用的高效解题模式则可固化为程序性记忆(通过少样本示例缓存或微调)。这一过程与认知神经科学中海马体(Hippocampus)将短期记忆巩固为长期记忆的机制有深刻的类比关系。在工程实现上,LangGraph的持久化机制(Checkpointer)主要覆盖工作记忆和情节记忆层,而语义记忆和程序性记忆的管理通常需要集成向量数据库(如Pinecone、Weaviate、Qdrant)和外部知识管理系统,构成完整的记忆基础设施栈。
你可能没注意到,吴恩达特别指出:这些能力中,部分与LLM本身相关(如用于工具调用的函数调用能力),但很多能力实际上是由Agent所运行的框架在LLM外部实现的。这正是LangChain和LangGraph这类框架的核心价值所在。
为什么选择LangGraph?
Harrison Chase介绍,LangChain框架长期以来已经支持了记忆(多种形式)、函数调用LLM、工具执行等诸多要素。随着智能体范式的演进,LangChain专门强化了对Agentic Workflow的支持,并衍生出了LangGraph。
课程列举了几种主流Agent范式,均可通过LangGraph得到更好的支持:
- ReAct:早期的智能体构建范式,结合推理(Reasoning)与行动(Action)。ReAct由Yao等人于2022年在论文《ReAct: Synergizing Reasoning and Acting in Language Models》中提出(发表于ICLR 2023),其核心思想是让LLM在执行动作前先生成"思考轨迹"(Thought),再输出具体动作(Action),最后观察环境反馈(Observation),形成Thought→Action→Observation的循环。这种交错推理与行动的方式显著提升了Agent在复杂多步任务中的表现,是理解后续更复杂Agent架构的重要基础。ReAct的核心创新在于将思维链(Chain-of-Thought,CoT)推理与外部工具调用交织在一起:Observation来自真实的工具执行结果(如搜索引擎返回值、代码执行输出),使LLM能够基于真实反馈修正推理路径,而非依赖纯粹的参数化知识——这是解决LLM知识截止和幻觉问题的关键路径之一;
- Self-Refine:实现迭代式精炼(Iterative Refinement)的经典方案。其核心机制是将同一个LLM实例化为"生成者"和"批评者"两个角色,通过多轮反馈循环不断改进输出质量,在无需额外训练数据的情况下利用模型自身的元认知能力提升生成效果;
- AlphaCodium:最新的编程Agent示例,采用"流程工程"(Flow Engineering)构建,针对代码生成任务设计了包含问题理解、测试生成、迭代修复的专用流程,在竞赛编程基准上取得了超越直接提示的显著效果。

从这些范式的架构图中可以清晰看到一个共性:智能体及其行为本质上由一个循环图(Cyclical Graph)定义。这正是LangGraph命名的由来——它以图结构描述Agent的状态流转,天然契合Agent"感知—决策—行动—反馈"的循环特性。
LangGraph基于有向图(Directed Graph)的数据结构来编排Agent工作流,其核心概念包括节点(Node)、边(Edge)和状态(State)。每个节点代表一个处理单元(如LLM调用、工具执行),边定义了节点间的流转规则,而全局共享的State对象则贯穿整个图的生命周期,承担跨节点的信息传递。LangGraph的设计本质上借鉴了计算机科学中有限状态机(FSM)和数据流编程的思想:图中的每条边可以携带条件逻辑,形成条件边(Conditional Edge),使Agent能够根据当前状态动态选择下一步行动——这正是实现ReAct、Self-Refine等循环模式的底层机制。
从更宏观的软件架构视角来看,LangGraph的设计哲学与"编排式"(Orchestration)和"协作式"(Choreography)两种微服务集成模式之间存在有趣的映射关系。传统LangChain的链式结构更接近编排模式——由中心化的链对象显式控制调用顺序;而LangGraph的图结构则更接近状态机驱动的事件协作——节点之间通过状态变更和条件边进行隐式协调,使得复杂的多分支、多循环工作流的表达更为自然。LangGraph的设计还融合了流式处理和检查点(Checkpoint)机制,使其更适合生产环境部署。与LangChain的链式(Chain)结构相比,图结构天然支持条件分支和循环,这对于需要动态决策的Agent至关重要——相比线性的调用链,图结构能更自然地表达条件分支、循环迭代和多角色协作。
LangGraph课程学习路径
这门课程遵循循序渐进的教学逻辑,对初学者相当友好:
- 从零构建Agent:仅用一个LLM和Python手写智能体,理解底层原理;
- 重建为LangGraph组件:用LangGraph重新实现同一Agent,掌握框架各组件的职责;
- 掌握智能体搜索:专门讲解Agentic Search的能力与实际用法;
- 两项进阶能力:
- 人类输入(Human Input):即"人在回路"(Human-in-the-loop,HITL),在关键节点介入并引导Agent。HITL是将人类判断嵌入自动化流程的设计模式,在Agent工程中通常表现为:在Agent执行高风险操作(如发送邮件、提交代码、调用付费API)前暂停并请求人工确认。从系统设计角度来看,HITL本质上是一种可控性与自主性之间的权衡机制:完全自主的Agent效率最高但风险最大,完全人工的流程最安全但失去了自动化价值——HITL通过在关键决策节点引入人工审核,在两个极端之间寻找最优平衡点。LangGraph通过其中断(Interrupt)机制原生支持HITL,允许开发者在图的任意节点设置断点,在保留自动化效率的同时为关键决策节点提供人工审核的安全阀,有效降低Agent"幻觉"或误操作带来的风险。值得进一步指出的是,HITL的介入粒度本身也是一个需要精心设计的工程参数——过于频繁的人工干预会使Agent退化为普通审批流程,失去自主化价值;过于稀少则可能在关键节点失控。业界正在探索"自适应HITL"(Adaptive HITL)的概念:系统根据Agent的置信度评分动态调整人工介入阈值,在低置信度决策上主动请求确认,在高置信度决策上自主执行,从而在效率与安全性之间实现动态平衡;
- 持久化(Persistence):存储Agent当前状态以便后续恢复,对调试和产品化都极为有用。LangGraph通过检查点(Checkpointer)机制实现持久化,支持将Agent在每个节点执行后的完整状态序列化存储到数据库(如SQLite、Redis、PostgreSQL)中。这一设计带来三大工程价值:容错恢复(可从上一检查点重启而非从头运行)、时间旅行调试(可回溯到任意历史状态节点)、以及多会话并发支持。值得一提的是,这种检查点机制与分布式系统中的**事件溯源(Event Sourcing)**模式高度相似——通过记录每一个状态变更事件而非仅存储当前状态,使系统具备完整的历史可审计性和任意时间点的状态重建能力。对于需要运行数分钟甚至数小时的复杂Agent任务,持久化是从原型走向生产的必要条件;
- 综合项目实战:用LangGraph完成一个完整的端到端项目。
结语:智能体开发的现状与前景
从吴恩达与Harrison Chase的对话中,可以清晰感受到智能体技术的成熟轨迹:函数调用让工具使用趋于稳定,专用工具的智能体化解决了数据格式问题,而LangGraph这类图结构框架则为复杂的循环工作流提供了工程化支撑。
值得关注的是,当前Agent技术的演进速度本身也在加速:随着GPT-4o、Claude 3.5等模型在工具调用准确性和长上下文处理能力上的持续提升,Agent的"天花板"正在被不断抬高;与此同时,以LangGraph为代表的编排框架正在将过去需要大量定制代码才能实现的能力(如HITL、持久化、多智能体协调)标准化为可复用的工程组件。这两个维度的同步进步,使得Agent从实验室走向生产环境的周期正在从"年"压缩到"月"甚至"周"的量级。
从更长远的视角来看,当前Agent工程面临的核心挑战已从"能不能用"转向"可不可靠"——即如何在复杂、开放的真实环境中保证Agent的行为可预测、可审计、可干预。这推动了"Agent可观测性"(Agent Observability)这一新兴工程领域的快速发展:LangSmith(LangChain的追踪平台)、Weights & Biases的Weave等工具开始提供针对Agent调用链的全链路追踪、性能分析和异常检测能力,将传统软件工程中的可观测性三支柱(日志、指标、追踪)移植到Agent系统中。随着Agent在生产环境中承担越来越多的高价值任务,可观测性基础设施的重要性将不亚于编排框架本身。
对于希望入门AI Agent开发的工程师而言,这门课程既讲解了规划、工具、反思、多智能体、记忆等核心设计模式,又结合LangGraph进行了动手实践,并覆盖了人在回路与持久化这两项工程落地的关键能力。它提供了一条从理论认知到工程实践的完整路径,值得有志于智能体开发的开发者重点关注。
核心要点
核心要点
核心要点
相关推荐

开源权重模型之争:安全与开放如何平衡
深入分析开源权重模型的核心争论:模型权重公开发布带来透明度与创新,但也引发安全滥用风险。本文探讨分级发布、红队测试等折中方案,解读开源AI背后的行业博弈与治理挑战。

抱怨如何侵蚀你的心智:注意力自我强化效应解析
习惯性抱怨正在训练大脑发现更多负面信息,形成恶性循环。本文从注意力自我强化机制出发,解析抱怨的心理侵蚀过程,并提供主动管理注意力、跳出负面循环的实用方法。

Steam恶意软件溯源:比特币、Cookie和外卖订单如何锁定攻击者
一起Steam恶意软件案件中,调查人员通过比特币交易链、Google Cookie和Uber Eats外卖订单三条线索交叉验证,成功溯源攻击者真实身份。深入解析数字取证技术与匿名幻觉。