首页 / 文章

2026年使用LangGraph构建你的第一个LangChain智能体

逐步使用LangGraph、工具、内存和追踪功能构建LangChain智能体,避免四种常见错误,并了解某培训支持团队是如何运用它的。

发布者:REACTAPP.TOP阅读约 10 分钟2399 词

来源: Building AI Agents with LangChain: A Beginner’s Guide for 2026

许多开发者跟随 LangChain 的教程后,最终得到的只是那些会编造工具名称、不断循环直至令牌耗尽的聊天机器人。从完成安装到拥有可正常使用的部署代理,其间存在巨大差距,而且大多数教程都会跳过那些容易引发问题的部分。本文将介绍代理在底层的具体运作机制、如何使用当前的技术栈构建代理、应避免哪些错误,以及教育技术领域中实际的部署情况。

简而言之:LangChain 代理通过将大型语言模型的推理能力与外部工具相结合,来完成多步骤任务。最新的 LangChain 版本更倾向于使用 LangGraph 来实现具有状态且能循环运行的代理,而非仅依赖旧版的 AgentExecutor。在任何具备生产级别的系统中,工具、检索功能以及内存管理都起着至关重要的作用。

什么才算得上是代理?

聊天机器人可以一次性接收输入并返回输出。而智能体则需要先设定目标,选择工具并执行这些工具,查看结果后决定下一步行动,如此循环直至达成目标或出现停止条件。这正是两者之间的根本区别。

这对学习类产品而言非常重要。想象一下,有学生输入:“对我进行第五章的测验,查看我最近三次测验的成绩,如果我的得分持续高于80%,则增加难度。”静态聊天机器人无法处理这样的请求。智能体则可以将该请求拆分成多个部分,调用测验API、查询成绩数据库,应用条件逻辑,最终返回定制化的测验题组。目前,各类学习平台及LMS初创公司都在构建这类架构。

该设计由三层构成:

  • 大语言模型核心,如GPT-4o、Claude、Gemini或开源模型。
  • 工具层:普通的 Python 函数、外部 API,或是 LangChain 内置的工具,如 Tavily Search、Wikipedia 以及自定义的 SQL 查询。
  • 内存层:从短期对话缓冲区到长期向量存储或实体记忆,各种形式均可。
  • 通过 LangGraph 状态机将它们连接起来,就能得到可用于实际生产的环境。

    逐步构建

    请按顺序执行这些步骤。初学者往往因为跳过某些步骤,而在有真实用户使用时出现问题。

    1. 安装所需依赖。在 Python 3.11 或更高版本上运行 pip install langchain langchain-openai langgraph langchain-community tavily-python。将 OPENAI_API_KEY 和 TAVILY_API_KEY 设置为环境变量,切勿直接写在代码中。
  • 在编写代码之前,先用一句话明确目标。例如:该智能体通过查询LMS API并汇总结果来回答有关学生课程进展的问题。模糊的目标会导致智能体功能异常,而尽早明确目标能节省数小时的调试时间。
  • 设置模型。ChatOpenAI(model="gpt-4o", temperature=0)能带来更稳定的推理效果,温度设置为零对于工具调用尤为重要,因为它能降低随机调用工具的概率。对于注重成本的应用场景,gpt-4o-mini仅需较低的成本就能完成大部分工作。
  • 使用@tool装饰器定义工具。每个工具都是带有清晰文档字符串的Python函数,因为模型会读取该文档字符串来决定何时调用它。如果文档字符串质量不佳,工具可能根本不会被调用,或者会在错误的时间被调用。
  • 构建 LangGraph 的状态与节点。定义一个 TypedDict 形式的状态架构,为模型的推理过程创建一个节点,为工具执行创建另一个节点,并通过带有条件边的 StateGraph 将它们连接起来,这些边构成了推理循环。
  • 添加内存功能。LangGraph 中的 MemorySaver 用于处理短期状态;而对于个性化学习代理所依赖的长期记忆,则需要连接诸如 Pinecone 或 Chroma 这样的向量存储系统。
  • 编译、测试并观察运行过程。使用 graph.compile(checkpointer=memory) 进行编译,通过测试查询调用该模型,并利用 LangChain 的追踪平台 LangSmith 来查看每一步的详细情况:哪些工具被调用、它们接收了什么输入,以及模型最终做出了何种决策。
  • 增强其稳定性。加入重试机制、令牌使用限额(max_iterations)、输入验证以及recursion_limit,防止智能体陷入无限循环。将每次工具调用记录到监控系统中。
  • 智能体在教育技术中的应用

    Moodle、Canvas等学习管理系统或自研系统均可将智能体用作课程助手。它们可以查询学生成绩、推荐下一学习模块、将学习困难的学生标记给教师,并通过RAG技术从上传的PDF文件中生成测验题。某中型学习管理系统提供商称,在引入智能体回答学生进度相关问题后,教师的行政工作时间减少了40%。

    AI辅导系统以智能体形式运行效果最佳,而非单纯调用单个模型。该辅导系统会先检测学生已掌握的知识(即记忆部分),再调取相关的课程资料(RAG技术),根据学生的偏好调整讲解方式(通过偏好配置工具),并安排后续测验(借助日历工具)。LangChain的工具链功能使得整个系统的代码量控制在大约500行Python代码以内。

    大学和研究机构门户也是合适的应用场景。研究生可以利用智能体搜索机构知识库、总结论文内容、交叉验证引用信息以及撰写文献综述部分。智能体负责繁琐的检索工作,而学生则进行思考分析,只要配置得当,这种分工方式既能保证效率,又能避免引用错误。

    基于技能的学习平台,比如编程训练营和专业认证项目,会利用智能体来执行实时代码评估,将学习者的输出与评分标准进行对比,提供有针对性的反馈,并更新技能图谱。一个优秀的平台不仅会给出评分,还会分析学习者犯错的原因,并生成简短且针对性的教学内容。

    选择框架

    要详细比较LangChain、LlamaIndex、CrewAI和AutoGen,需要专门的文章来阐述,不过有一些经验法则可供参考。对于需要工具、记忆功能和推理循环的通用智能体而言,搭配LangGraph的LangChain是更佳选择。LlamaIndex则更适合用于检索流程和文档问答场景。许多实际应用系统会将两者结合使用,由LlamaIndex负责数据导入和检索,而LangChain则负责上层智能体的协调工作。

    单个请求的处理流程如下:首先明确目标与系统提示,接着配置模型并绑定工具,创建图结构及节点,随后让智能体自行判断需要使用哪种工具。它用生成的输入调用该工具,观察输出结果,并决定任务是否完成或需要继续循环。处理完毕后,它会返回答案。

    从这一流程中可以总结出一些重要经验。

    • 温度参数的重要性超过模型选择。无论使用哪种前沿模型,将智能体模型的温度值设为零通常都能显著减少虚假的工具调用现象,相比较高数值效果更明显。网上看到的任何具体百分比都只是粗略估计,需用自己的工具进行测试。
    • 文档字符串就是智能体的操作手册。在初学者构建的系统中,简短模糊的一行描述往往是导致工具被误用的最常见原因。
  • LangGraph取代AgentExecutor是有充分理由的。AgentExecutor适用于简单的单次处理型智能体,但凡涉及分支逻辑、人工干预步骤或并行工具调用的场景,都需要基于节点的状态机。
  • RAG与智能体的结合才是教育产品发挥真正价值的关键。没有检索功能,智能体只能依据训练数据进行推理;而有了检索功能,它就能回答与实际课程内容、学生数据或机构知识相关的问题。
  • 追踪功能并非可选。切勿在没有LangSmith或类似工具的情况下发布智能体,因为没有追踪记录的话,调试循环型智能体只能靠猜测,而有了追踪功能,根本原因分析只需几分钟。
  • 案例研究:培训营客服台

    这是一家中型在线编程训练营,约有1,200名在读学生正在学习Python、数据科学和网页开发课程。客服团队每周要处理800多个学生问题,其中约60%是关于截止日期、项目反馈以及课程内容查找的重复性问题。

    在引入智能助手之前,三名全职员工通过共享邮箱处理所有事务。平均响应时间为6.2小时,学生满意度仅为62%,而且每位讲师每周要花费约11小时处理行政类查询。

    该团队由两名开发人员在六周内构建了一个包含四种工具的LangGraph智能助手。其中一个工具通过RAG技术在学习管理系统知识库中搜索课程资料;另一个工具通过LMS API查询学生进度;第三个工具根据课程日历计算截止日期;最后一个工具则将复杂的查询连同完整背景信息一起转交给人工处理。

    上线90天后,取得的成果如下:

    • 该智能系统处理了74%的咨询请求。
    • 平均响应时间降至8秒。
    • 客户满意度上升至81%。
    • 需要人工处理的工单减少了52%。
    • 每位讲师每周可节省约7小时时间。
    • 开发成本大约在4.5个月内便得到了回本。

    最值得注意的发现是升级工具的作用,它竟然是整个系统中最重要的部分。一旦学生明白该工具知晓自身局限并能妥善转接任务,他们对其的信任度便显著提升。这种转接机制带来的满意度提升,甚至超过了逻辑处理能力上的任何改进。

    这些数据来自团队自身的报告,因此仅可作为展示成效趋势的参考,而非必须达到的标准。

    四种常见错误

    使用 AgentExecutor 处理复杂智能体

    它不支持条件分支、并行工具执行,也无法在对话轮次之间保持状态,而这些在 2026 年已是标准要求。建议迁移到 LangGraph。虽然初期学习曲线较陡,但你能完全掌控推理流程,而且 LangChain 的官方文档现在也指出,对于任何非简单场景,LangGraph 都是默认选择。

    没有递归限制

    如果没有设置 recursion_limit,智能体可能会无限循环,从而消耗大量令牌和资金。在依赖大量工具的智能体中,这种风险更高,因为一次失败的调用就可能导致反复重试。应在 LangGraph 的编译配置中将 recursion_limit 设置为 25 或更低,并在节点逻辑中明确指定停止条件,而非将决策交给模型。

    提前跳过 LangSmith 跟踪

    当智能体给出错误答案时,问题可能出在众多环节之中,而由于没有痕迹可循,你只能查看最终输出结果并自行猜测原因。鉴于其开发用途可免费使用,应从第一天起就启用 LangSmith。在编写智能体代码的第一行之前,先导出 LANGCHAIN_TRACING_V2=true 和 LANGCHAIN_API_KEY,这样在首次调试时你就会感到十分方便。

    使用文档说明模糊的工具编写

    工具的选择完全由读取文档字符串的模型决定。像“获取用户数据”这样的描述无法为模型提供有效信息,因此它会随机调用工具或根本不调用。应明确说明工具的功能、所需输入以及适用场景。一个好的描述应为:从学习管理系统数据库中检索指定student_id对应的学员最近五次测验成绩,以便在用户询问过往表现或测验记录时使用。

    快速解答

    LangChain对初学者有什么帮助?它是一个Python框架,可将语言模型与工具、数据源及内存系统连接起来。你只需将一组工具提供给模型,它就会自行决定调用哪个工具来达成目标。在尝试多步骤工作流之前,建议先阅读快速入门文档并使用简单的工具调用代理。

    对于智能体而言,LangChain 是否优于 LlamaIndex?对于需要工具、记忆功能和推理循环的通用智能体,搭配 LangGraph 的 LangChain 更为合适。LlamaIndex 则更擅长信息检索和文档问答功能,许多团队会同时使用这两种技术。

    构建第一个智能体需要多长时间?对于仅包含单一工具的简单智能体,具备基础 Python 编程能力的开发者大约需要两到四小时即可完成。而具备多种工具、记忆功能、错误处理机制以及 LangSmith 可观测性功能的商用级智能体,根据 API 的复杂程度不同,通常需要一到三周的时间来开发。

    RAG是什么?你需要它吗?检索增强生成技术能让智能体在撰写回复之前先检索相关内容,从而回答有关您自己的数据的问题,比如课程内容、学生记录或PDF文件。只要智能体需要了解模型训练数据中不存在的信息,就需要使用这项技术,而对于学习类产品而言,几乎总是如此。

    LangGraph会取代LangChain吗?不会,它是LangChain的扩展。LangChain提供了基础组件(模型、工具、内存),而LangGraph则增加了支持循环、分支和多智能体协作的状态化图结构编排功能。对于LangChain生态系统中的任何复杂智能体,这都是推荐的解决方案。

    从小规模开始

    构建智能体已不再需要你是机器学习研究员或大型科技公司的工程师。只要具备基础Python技能,借助LangGraph、LangSmith以及清晰的流程,就能在周末内开发出可用的智能体。自适应辅导系统、学习管理系统助手以及进度指导工具都已触手可及,相关技术也已成熟到可以用于实际应用。

    表现优异的团队并非那些拥有最庞大模型的团队,而是那些充分理解智能体架构、能够设计出合理的工具集、可靠的记忆机制以及完善的故障处理方案的团队。先从一种工具、一个目标和一个智能体开始,再逐步迭代优化。