LangChain 与 LangGraph 核心要点总结

LangChain 与 LangGraph 核心介绍

  • [一、AI 时代下的编程范式](#一、AI 时代下的编程范式)
    • [1.1 Vibe Coding(氛围编程)](#1.1 Vibe Coding(氛围编程))
    • [1.2 Vibe Coding 的局限性](#1.2 Vibe Coding 的局限性)
    • [1.3 AI 开发框架:新战略高地](#1.3 AI 开发框架:新战略高地)
    • [1.4 主流 LLM 应用开发框架选择](#1.4 主流 LLM 应用开发框架选择)
  • [二、LangChain:LLM 应用开发的核心框架](#二、LangChain:LLM 应用开发的核心框架)
    • [2.1 LLM 嵌入应用时遭遇的难题](#2.1 LLM 嵌入应用时遭遇的难题)
    • [2.2 LangChain 定义与技术特点](#2.2 LangChain 定义与技术特点)
    • [2.3 LangChain 发展简史](#2.3 LangChain 发展简史)
  • 三、LangGraph:面向复杂工作流的图式架构
    • [3.1 LangChain 的局限性(为什么需要LangGraph)](#3.1 LangChain 的局限性(为什么需要LangGraph))
    • [3.2 LangGraph 的解决方案](#3.2 LangGraph 的解决方案)
    • [3.3 LangChain 与 LangGraph 的关系](#3.3 LangChain 与 LangGraph 的关系)
    • [3.4 LangGraph 发展简史](#3.4 LangGraph 发展简史)

一、AI 时代下的编程范式

1.1 Vibe Coding(氛围编程)

定义 :开发者使用自然语言 向代码优化的大语言模型(LLM)描述问题,由 LLM 生成软件,程序员摆脱底层编码与调试。

关键特征 :用户通常在不完全理解代码底层机制的情况下,接受 AI 生成的代码。

起源 :由 Andrej Karpathy 于 2025 年 2 月提出,迅速成为新兴编码方式。

对开发者技能的影响:

  1. 更加注重问题定义和规范,清晰表达需求与期望结果
  2. 具备指导和审查 AI 生成代码的能力,扮演指导者或编辑角色
  3. 系统设计和架构理解比低层次编码更重要
  4. 学会有效与 AI 沟通,掌握提示技巧

1.2 Vibe Coding 的局限性

  1. 代码质量与架构的"黑箱"困境
    AI 目标是生成功能可运行的代码,但无法理解"优雅"、"可维护"、"可扩展"的架构。
  2. 上下文长度的"金鱼记忆"与知识滞后性
    (1) 有限上下文窗口:LLM 无法记住 庞大项目全部代码,后期修改可能生成冲突或重复代码
    (2) 知识截止与幻觉:可能使用过时 API 或幻觉出不存在的库函数,对开发者甄别能力要求极高
  3. 安全性与可靠性的"隐形地雷"
    (1) AI 无安全意识,可能生成 SQL 注入、XSS 攻击、硬编码密码等漏洞代码
    (2) 生成的代码缺乏严格测试的可靠性,在高并发或边缘情况下不稳定

正确认知:Vibe Coding 不是替代品,而是效率倍增器。

(1) 糟糕的"程序员":无法负责架构设计、技术方案、代码质量与系统安全

(2) 优秀的辅助工具:擅长样板代码、重复任务、单元测试、代码解释、灵感建议

Karpathy 后期观点 :不要幻想有万能 AI 工具解决所有编程问题,更可行的是建立结构,让不同工具在不同场景各司其职,像接力赛一样完成开发任务。

1.3 AI 开发框架:新战略高地

框架原则 :抽象与封装 + 模块化与可组装性

以 LangChain 为例:封装了不同 LLM、向量数据库、工具的交互复杂性;通过"链"将模块组合。

框架提供的价值:

架构:知识代码组织方式

质量:判断 AI 生成代码是否合格

安全:内置最佳实践规避风险

集成:高效组装 AI 生成的"零件"到大系统

学习框架的战略好处:

提升效率,快速原型

化繁为简,解决痛点

强大的生态集成

思维升级:全链路系统思维

职业领先:核心竞争优势

1.4 主流 LLM 应用开发框架选择

语言生态 框架 核心特点 适用场景
Python LangChain 生态最丰富、灵活性极高、集成工具众多 几乎任何复杂 LLM 应用,高度定制化
Python LlamaIndex 专注 RAG 和数据连接,文档索引/查询/检索性能优异 以私有数据查询分析为核心的应用(知识库、文档问答)
JavaScript/TS LangChain.js 官方 JS/TS 移植版,API 与 Python 相似 全栈开发、浏览器扩展、Edge Runtime
JS/TS LlamaIndex.TS TypeScript 版 RAG 框架 Next.js、Nuxt 等全栈 RAG 应用
Java LangChain4j 社区项目,API 符合 Java 习惯 现有 Java 企业应用集成 LLM 能力
Java Spring AI Spring 官方,与 Spring 生态无缝集成 Spring Boot 企业级生产系统
Java Spring AI Alibaba 阿里云官方支持,深度集成通义千问 深度依赖阿里云生态的 Spring 项目
C++ (无全栈框架) C++ 主要用于底层推理,上层用 Python/Java 调用 极致性能、离线运行、资源受限环境(llama.cpp)

选择逻辑:

(1)团队技术栈优先

(2)项目需求:研究/灵活性 → Python LangChain;RAG 核心 → LlamaIndex;企业后端 → Spring AI/ LangChain4j;Web 全栈 → LangChain.js;极致性能/嵌入式 → C++ llama.cpp

(3)社区支持:Python/JS 更新最快,社区最活跃

总结:"框架思维"驾驭"Vibe 工具",是未来开发者最强的核心竞争力。

二、LangChain:LLM 应用开发的核心框架

2.1 LLM 嵌入应用时遭遇的难题

以"智能医疗咨询助手"为例,直击原生 LLM 的痛点:

场景 问题 解决方案
幻觉 致命错误建议(如吞纽扣电池) 提示词工程 + RAG,强制从权威知识库检索
提示词不统一 不同功能各自编写,质量参差 使用提示词模板统一规范
模型切换困难 与特定模型 API 强耦合 LLM API 抽象层(LangChain)
非结构化输出 程序无法直接解析自然语言结果 输出解析,强制 JSON Schema
知识陈旧 训练数据截止,无法回答最新问题 RAG 注入实时外部知识
外部工具调用 LLM 自主决定何时调用哪个工具复杂 智能体(Agent)框架,让 LLM 规划选择工具

总结:成熟 LLM 应用 = 提示词 + RAG + 外部工具 + 输出解析器 + 核心引擎(LLM)。

2.2 LangChain 定义与技术特点

**定义:**用于开发由大语言模型(LLM)驱动的应用程序的框架,通过将 NLP 流程拆解为标准化组件,自由组合、高效定制工作流。

技术特点:

  1. 统一的模型调用:抽象接口支持多种 LLM 和嵌入模型,灵活切换供应商
  2. 灵活的提示词管理:提示词模板支持动态生成,管理少样本示例
  3. 可组合的任务链(Chains):串联多个步骤(如先检索文档再生成回复),实现复杂任务编排
  4. 上下文记忆机制(Memory):存储多轮对话状态(注:该功能已由 LangGraph 支持,原实现已过时)
  5. 检索与向量存储集成 :支持文档加载→分割→向量化→存储→检索→输入 LLM ,简化 RAG 开发 ,兼容主流向量数据库(FAISS、Pinecone、Chroma)

2.3 LangChain 发展简史

时间 事件
2022.10 Harrison Chase 开源发布,解决 GPT-3 使用痛点
2023 中 支持 JavaScript/TypeScript,扩展至前端全栈
2024.01 发布 0.1.0 稳定版,拆分 langchain-core 与 langchain-community,引入 LCEL
2024.05 发布 0.2.0,增强异步与流式输出支持
2024 下半年 0.3.x 持续改进性能与集成
2025.09 发布 1.x Alpha 内测版,统一现代 LLM 功能,新增预构建 LangGraph 链和代理

三、LangGraph:面向复杂工作流的图式架构

3.1 LangChain 的局限性(为什么需要LangGraph)

传统链式结构(Chain A→B→C)是线性的、预先定义的,无法处理:

  1. 循环与分支:无法"跳回"上一步(如信息收集不完整时反复询问)
  2. 状态维护困难:链式调用无状态,多轮对话状态管理靠开发者外部存储
  3. 人工介入困难:AI 无法处理时需要中断链,无法优雅实现暂停→人工处理→继续
  4. 僵化的流程:不同意图需要不同子流程,链式结构需大量 if-else 控制流

3.2 LangGraph 的解决方案

定位 :低层次编排框架,用于构建可控、可靠的 AI 代理工作流。

核心思想 :将应用逻辑建模为图(Graph),节点表示操作/状态,边表示转移与数据流。

技术特点:

  1. 循环与分支:节点可连接到任何节点(包括自身),轻松实现循环直到条件满足
  2. 动态路由:通过条件边根据状态动态决定下一个节点
  3. 状态维护:核心状态对象自动持久化和传递,支持长时间运行任务
  4. 持久执行:故障后可自动从上次中断处恢复
  5. 人机协作:执行过程中随时检查和修改状态,无缝融入人工监督
  6. 全面记忆:短期工作记忆 + 长期持久记忆
  7. 可视化调试:借助 LangSmith 追踪执行路径、捕获状态转换
  8. 生产级部署:专为有状态、长时间运行工作流设计的可扩展基础设施

3.3 LangChain 与 LangGraph 的关系

(1) 互补关系 :LangGraph 底层大量复用 LangChain 组件(模型接口、工具、记忆等)

(2) 简单线性任务 :LangChain 链式结构已足够高效

(3) 复杂控制流、长期状态、多智能体:LangGraph 提供更强大支持

3.4 LangGraph 发展简史

时间 事件
2024 初 作为 LangChain 0.1.0 一部分引入,实验性功能发布
2024 中 独立演进,引入 Checkpoint 检查点机制
2024 下半年 发布 0.2.x、0.3.x,增强异步、并发、类型定义
2025 发布 0.4.x、0.5.x,完善 Python/JS 实现,推出 LangGraph Platform
2025.06 发布 0.6 版本,启动 v1.0 路线图计划

写在最后 :通过本文的学习,我们清晰认识到 Vibe Coding 虽强大但局限明显,真正驾驭复杂 AI 应用仍需框架思维。LangChain 作为 LLM 应用开发的核心框架,通过链式组件解决了模型调用、提示词管理、记忆、检索等基础痛点;而 LangGraph 则以图式架构应对循环、分支、状态维护、人机协作等复杂工作流挑战,两者互补构成现代 AI 应用开发的强大基座。掌握这些框架不仅是技术实现的手段,更是从"代码编写者"向"AI 应用架构师"蜕变的战略投资。希望这篇总结能帮助大家高效复习,也欢迎小伙伴们一起学习、共同进步,有任何疑问可以私信博主或在评论区留言,我们一起沟通流吖o( ̄▽ ̄)ブ

相关推荐
roman_日积跬步-终至千里1 小时前
【数据Agent论文·表格事实与生成|15】LogicNLG:数值抄对了,逻辑结论就对了吗?
人工智能·深度学习·自然语言处理·数据分析
Dawson Zhu1 小时前
大模型拒答率与错误率平衡术:五步构建可落地的安全与体验最优解
人工智能·语言模型·架构·aigc·agi
啥都鼓捣的小yao1 小时前
Transformer深入浅出
人工智能·深度学习·transformer
lisw051 小时前
大语言模型时代的可复现性:当“同一道题”给出不同答案
人工智能·机器学习·语言模型
障碍的枫子1 小时前
我的第一个Agent
开发语言·python·langchain
打工仔折腾 AI1 小时前
260+异构同步链路实战:如何用语义化自动翻译破解CDC DDL同步痛点
人工智能·后端·python·自然语言处理·性能优化·langchain·机器翻译
RobinDevNotes2 小时前
SGLang 上手:重复的前缀只算一次
人工智能·python·深度学习·sglang·c4python
CoderIsArt2 小时前
使用 Ultralytics YOLO 进行模型训练
人工智能·深度学习·yolo
梦仔生信进阶3 小时前
【机器学习】ACC = 1 是否意味着过拟合?还是数据泄露?一个好的模型应该是什么样的
人工智能·深度学习·机器学习