ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LangGraph官方文档精华:大模型智能体开发速查手册!

LangGraph官方文档精华:大模型智能体开发速查手册! 本文基于 Content Extraction 工具生成。该工具专为技术文档设计利用智能爬虫与结构化生成技术从海量文档中萃取核心知识点与关键路径为您提供一份清晰、易记的智能体开发速查手册。Install该页面介绍了如何安装 LangGraph 所依赖的 LangChain 及相关 LLM 提供商的包指出推荐使用 LangChain 来接入大语言模型和定义工具并提供了基础安装命令。Core ConceptsLangGraph[HIGH]: LangGraph 是一个用于构建基于 LLM 的状态机和多智能体multi-agent工作流的库通常与 LangChain 配合使用。LangChain[CORE]: LangChain 是一个用于开发由语言模型驱动的应用程序的框架支持工具调用、记忆、链式逻辑等功能。Quickstart本文档是 LangChain 的快速入门指南展示了如何使用 Graph API 和 Functional API 两种方式构建一个具备工具调用能力的智能体Agent。示例使用 Claude 模型和自定义的加法、乘法、除法工具演示了从定义模型与工具、状态管理、节点逻辑到编译执行的完整流程。Core ConceptsGraph API[CORE]: 一种通过定义节点如 LLM 调用、工具执行和边控制流来构建智能体的声明式方法适合复杂状态流转。Functional API[HIGH]: 一种通过编写标准控制流如循环、条件在单个函数中实现智能体逻辑的编程式方法代码更简洁直观。StateGraph[CORE]: LangGraph 中用于构建基于状态图的智能体的核心类支持添加节点、边和条件路由。MessagesState (带 Annotated 的 TypedDict)[HIGH]: 使用 Annotated[list[AnyMessage], operator.add] 定义可追加的消息列表状态确保新消息被累积而非覆盖。tool 装饰器[HIGH]: LangChain 提供的装饰器用于将普通 Python 函数转换为可被 LLM 调用的工具Tool自动处理参数和描述。bind_tools()[HIGH]: 将工具绑定到 LLM 模型使其能够生成符合工具调用格式的响应如 tool_calls。conditional edges[CORE]: 根据当前状态如是否存在 tool_calls动态决定下一步执行哪个节点实现循环或终止逻辑。entrypoint 和 task[HIGH]: Functional API 中的装饰器entrypoint 标记主代理函数task 标记可异步/同步执行的子任务。add_messages[NORM]: LangGraph 提供的工具函数用于安全地合并消息列表保持消息顺序和类型一致性。Local server本文档介绍了如何在本地运行 LangGraph 应用服务器包括安装 CLI、创建项目、配置环境变量、启动开发服务器并通过 Studio UI 和 API 进行测试。Core ConceptsLangGraph CLI[HIGH]: LangGraph 提供的命令行工具用于创建、开发和部署基于 LangGraph 的应用。langgraph dev[CORE]: 启动本地 LangGraph Agent Server 的命令默认使用内存模式适用于开发和测试。Agent Server (智能体服务器)[HIGH]: LangGraph 中运行图graph逻辑的服务端组件支持通过 API 与智能体交互。.env file[NORM]: 用于存储本地环境变量如 API 密钥的文件从 .env.example 模板复制并填写。Studio[HIGH]: LangGraph 提供的可视化 UI 工具可连接本地服务器以调试和交互式测试智能体图。–tunnel flag[LOW ]: 用于在 langgraph dev 命令中创建安全隧道解决 Safari 浏览器无法访问 localhost 的兼容性问题。Threadless run[NORM]: 通过 REST 或 SDK 发送单次消息而不维护对话线程的调用方式适用于简单交互场景。Thinking in LangGraph本文档介绍了使用 LangGraph 构建 AI 智能体Agent的系统化方法以客户支持邮件处理为例详细阐述了从工作流拆解、节点设计、状态管理到错误处理和人机协作的完整开发范式。Core ConceptsLangGraph[CORE]: 一个用于构建具有状态、循环和人类干预能力的 AI 智能体Agent的框架基于图结构组织工作流。Node (节点)[CORE]: 图中的基本执行单元是一个接收状态、执行单一任务并返回状态更新的函数。State (状态)[CORE]: 智能体的共享内存存储需跨步骤持久化的原始数据而非格式化后的文本。Workflow Decomposition (工作流拆解)[HIGH]: 将复杂流程分解为离散、单一职责的步骤节点以提升可调试性、可观测性和容错能力。Node Types (节点类型)[HIGH]: 分为 LLM 步骤推理/生成、Data 步骤检索、Action 步骤外部操作和 User Input 步骤人工干预四类。interrupt()[CORE]: LangGraph 中用于暂停执行、保存状态并等待人类输入的机制支持长时间中断后精确恢复。Checkpointer (检查点)[HIGH]: 持久化智能体状态的机制使工作流可在失败或中断后从最近节点重新开始支持异步写入以减少性能开销。Error Handling Strategy (错误处理策略)[HIGH]: 根据错误类型瞬时、LLM 可恢复、用户可修复、意外采用不同策略重试、回环、暂停或抛出。Node Granularity Trade-off (节点粒度权衡)[NORM]: 更细的节点粒度提升容错性与可观测性更多检查点、独立重试但需权衡实现复杂度通常推荐细粒度。Command[Literal[…]][NORM]: 在节点中通过类型提示显式声明下一跳目标使控制流清晰可追踪。Workflows agents本文档介绍了 LangChain 中工作流Workflows与智能体Agents的核心概念、区别及多种高级模式包括提示链、并行化、路由、Orchestrator-Worker 架构和 Evaluator-Optimizer 循环并说明了如何利用 LLM 的增强能力如工具调用、结构化输出构建这些系统。Core ConceptsWorkflow (工作流)[HIGH]: 具有预定义代码路径、按固定顺序执行任务的自动化流程。Agent (智能体)[CORE]: 能动态决定工具使用和执行路径的自主系统适用于问题与解决方案不可预测的场景。Prompt Chaining (提示链)[NORM]: 将多个 LLM 调用串联前一个输出作为后一个输入用于分解可验证的子任务。Parallelization (并行化)[NORM]: 同时运行多个 LLM 子任务以提升速度或通过多视角输出增强结果可信度。Routing (路由)[NORM]: 根据输入内容动态分发到特定处理流程实现上下文感知的任务调度。Orchestrator-Worker[HIGH]: 协调器分解任务并分派给多个工作者再聚合结果LangGraph 通过 Send API 支持此模式。Evaluator-Optimizer[HIGH]: 生成器创建响应评估器打分或反馈循环迭代直至满足质量标准。LLM Augmentations[CORE]: 通过工具调用、结构化输出和短期记忆等机制扩展 LLM 能力支撑工作流与智能体。CapabilitiesPersistence本文档详细介绍了 LangChain/LangGraph 中的持久化Persistence机制包括基于线程Thread的检查点Checkpoint系统、状态回放Replay、状态更新Update State、跨线程共享数据的 Store 接口如内存存储和语义搜索以及底层的 Checkpointer 实现、序列化与加密支持。Core ConceptsThread (线程)[CORE]: Thread 是一个唯一标识符thread_id用于关联一系列图执行的检查点是状态持久化和恢复的基本单位。Checkpoint (检查点)[CORE]: Checkpoint 是图在每个超级步骤super-step的状态快照包含 config、metadata、values、next 节点和待执行任务tasks等信息。StateSnapshot[HIGH]: 表示一个检查点的对象包含图状态的完整信息可通过 get_state() 或 get_state_history() 获取。Replay (回放)[HIGH]: 通过指定 thread_id 和 checkpoint_id可从历史检查点重新执行后续步骤实现时间旅行式调试或分支执行。update_state[HIGH]: 允许手动更新图状态支持指定更新来源节点as_node并遵循通道 reducer 规则而非简单覆盖。Store (存储接口)[CORE]: 用于跨线程持久化数据如用户记忆与 Checkpointer 配合使用支持命名空间、键值存储和语义搜索。Semantic Search (语义搜索)[NORM]: Store 支持基于嵌入模型的语义检索可按含义而非精确匹配查找记忆。BaseCheckpointSaver[HIGH]: Checkpointer 的标准接口定义了 put、get_tuple、list 等方法用于保存和检索检查点。Checkpointer Libraries (检查点库)[HIGH]: LangGraph 提供多种 Checkpointer 实现InMemorySaver内存、SqliteSaverSQLite、PostgresSaverPostgreSQL分别适用于实验和生产环境。Serializer (序列化器)[NORM]: JsonPlusSerializer 是默认序列化器支持多种类型可通过 pickle_fallback 处理不支持的对象如 Pandas DataFrame。EncryptedSerializer[NORM]: 可对持久化状态进行 AES 加密通过 LANGGRAPH_AES_KEY 环境变量配置密钥保障数据安全。Agent Server / LangGraph API 自动持久化[HIGH]: 使用 Agent Server 或 LangGraph API 时检查点和 Store 的基础设施由系统自动管理无需手动配置。Durable execution本文档介绍了 LangGraph 中的持久化执行Durable Execution机制包括其前提条件、确定性重放原则、三种持久化模式、任务task的使用方式以及工作流恢复的策略。Core ConceptsDurable Execution (持久化执行)[CORE]: LangGraph 的持久化执行机制允许工作流在中断后从检查点恢复确保状态不丢失并支持一致重放。Checkpointer (检查点器)[HIGH]: 用于保存工作流进度的组件是启用持久化执行的必要条件。Thread Identifier (线程标识符)[HIGH]: 用于唯一标识一个工作流实例确保恢复时能正确加载其历史状态。Determinism and Consistent Replay (确定性与一致重放)[CORE]: 工作流恢复时会从合适起点重放至中断点因此非确定性操作和副作用必须封装在任务中以避免重复执行。Task (任务)[HIGH]: 封装非确定性或带副作用操作的单元确保恢复时直接使用已记录结果而非重新执行。Idempotent Operations (幂等操作)[HIGH]: 即使多次执行也产生相同结果的操作对持久化工作流中的容错至关重要。Durability Modes (持久化模式)[HIGH]: LangGraph 提供 exit、async、sync 三种持久化模式在性能与数据一致性之间提供权衡。Resuming Workflows (恢复工作流)[HIGH]: 通过相同 thread_id 和 None 输入可从最后成功检查点自动恢复失败的工作流。Starting Point for Resumption (恢复起点)[NORM]: 恢复起点取决于图类型StateGraph 从节点开头开始Functional API 从入口点开始子图中断则从父节点调用处恢复。StreamingLangGraph 提供了强大的流式输出系统支持多种流模式如 state 更新、完整 state、LLM tokens、自定义数据和调试信息可用于实时响应、提升用户体验并支持子图、异步、标签过滤及任意 LLM 集成。Core ConceptsStreaming (流式输出)[CORE]: LangGraph 的流式系统可在 LLM 响应生成过程中实时返回中间结果显著改善用户等待体验。stream_mode: values[HIGH]: 流式输出图在每一步执行后的完整状态full state。stream_mode: updates[CORE]: 流式输出图在每一步中各节点对状态的增量更新state deltas包含节点名和变更内容。stream_mode: messages[CORE]: 流式输出 LLM 生成的 token 及其元数据如节点名、标签等支持细粒度过滤。stream_mode: custom[HIGH]: 允许从节点或工具函数中发送任意自定义数据如进度提示需使用 get_stream_writer。stream_mode: debug[NORM]: 输出图执行过程中的详细追踪信息包括节点名和完整状态用于调试。Subgraph Streaming (子图流式输出)[HIGH]: 通过设置 subgraphsTrue可同时流式输出父图和嵌套子图的更新输出格式为 (namespace, data)。Metadata Filtering (元数据过滤)[HIGH]: 在 messages 模式下可通过 metadata 中的 langgraph_node 或 tags 字段筛选特定 LLM 调用的 token 流。get_stream_writer[HIGH]: 用于在节点或工具中获取写入器以发送 custom 流数据在 Python 3.11 异步环境中需手动传入 writer。Async Compatibility (Python 3.11)[NORM]: 在 Python 3.11 之前使用 async 时需显式传递 RunnableConfig 和 writer 参数以确保上下文正确传播。Interrupts本文档详细介绍了 LangGraph 中的 interrupt() 机制用于在图执行过程中动态暂停并等待外部输入。它支持持久化状态通过 checkpointer 和 thread_id、恢复执行、以及多种人机协作场景如审批、编辑、验证等并强调了使用中断时的关键规则和最佳实践。Core Conceptsinterrupt()[CORE]: LangGraph 中用于在节点任意位置动态暂停执行的函数可返回 JSON-serializable 值并通过interrupt字段传递给调用者。Checkpointing (检查点)[HIGH]: 通过持久化图状态需配置 checkpointer实现中断后恢复执行即使在错误状态下也能保留进度。thread_id[HIGH]: 作为图执行的“持久游标”相同 thread_id 可恢复同一检查点不同值则启动新线程空状态。*interrupt*[NORM]: 中断时由 interrupt() 传入的值会通过此字段返回给调用者表明图正在等待什么输入。Command(resume…)[HIGH]: 用于恢复被中断的图执行其 resume 值将成为 interrupt() 调用的返回值。节点重启行为[CORE]: 恢复执行时包含 interrupt() 的整个节点会从头开始运行而非从中断点继续因此中断前的代码会重复执行。Idempotency (幂等性)[HIGH]: 中断前的副作用操作应具备幂等性避免因节点重启导致重复执行如重复创建记录或覆盖数据。中断使用规则[CORE]: 不得在 try/except 中捕获 interrupt()中断调用顺序必须一致仅传递 JSON-serializable 值避免非幂等副作用。常见中断模式[HIGH]: 包括审批工作流、人工审查与编辑 LLM 输出、工具调用前中断、人类输入验证等场景。Static interrupts (静态中断)[NORM]: 编译时通过 interrupt_before / interrupt_after 设置的调试断点不适用于生产级人机交互仅用于调试。Time travel该页面展示了如何使用 LangGraph 构建一个带检查点checkpoint功能的简单工作流包含生成笑话主题和根据主题写笑话两个步骤并启用了内存中的状态保存器InMemorySaver为后续实现时间旅行time-travel调试功能做准备。Core ConceptsLangGraph[CORE]: LangGraph 是 LangChain 生态中用于构建状态化、多步骤 LLM 工作流的库支持循环、分支和状态持久化。StateGraph[HIGH]: StateGraph 是 LangGraph 中用于定义基于状态的工作流的核心类每个节点可读写共享状态。InMemorySaver (内存检查点保存器)[HIGH]: InMemorySaver 是一种检查点存储后端将执行历史保存在内存中支持回溯和时间旅行调试。Time-travel debugging (时间旅行调试)[CORE]: 通过保存每一步的状态快照开发者可回溯到任意历史步骤查看或恢复状态便于调试复杂 LLM 工作流。TypedDict with NotRequired[NORM]: 使用 TypedDict 定义工作流状态结构NotRequired 表示某些字段在初始状态中可选提升类型安全性和灵活性。Memory本文档介绍了如何在 LangGraph 中为智能体Agent添加短期记忆用于多轮对话和长期记忆用于跨会话存储用户或应用数据并提供了使用 InMemory、PostgreSQL、MongoDB 和 Redis 作为后端的同步与异步代码示例。Core ConceptsShort-term memory (短期记忆)[CORE]: 通过 checkpointer 实现线程级持久化使智能体能在多轮对话中记住上下文。Long-term memory (长期记忆)[CORE]: 通过 store 存储用户或应用级别的数据可在不同会话间持久保留信息。Checkpointer[HIGH]: LangGraph 中用于保存和恢复图状态的组件支持 InMemory、Postgres、MongoDB、Redis 等后端。Store[HIGH]: LangGraph 中用于长期记忆的键值存储接口可与数据库集成以实现跨会话数据访问。thread_id[HIGH]: 用于标识对话线程的唯一 ID是启用短期记忆的关键配置项。InMemorySaver / InMemoryStore[NORM]: 内存中的 checkpointer 和 store 实现适用于开发测试不适用于生产环境。PostgresSaver / PostgresStore[CORE]: 基于 PostgreSQL 的持久化 checkpointer 和 store适合生产环境使用。MongoDBSaver / MongoDBStore[HIGH]: 基于 MongoDB 的持久化方案提供灵活的文档存储能力。RedisSaver / RedisStore[HIGH]: 基于 Redis 的高性能内存数据库方案适合低延迟场景。setup() / asetup()[NORM]: 首次使用某些持久化后端如 Postgres、Redis时需调用 setup 初始化表或结构。Subgraphs本文档介绍了 LangGraph 中子图Subgraphs的使用方法包括如何通过子图实现模块化开发、不同状态模式下的集成方式共享状态 vs 独立状态、多层嵌套子图示例、检查点与状态持久化、中断时查看子图状态以及如何在流式输出中包含子图结果。Core ConceptsSubgraph (子图)[CORE]: 子图是 LangGraph 中用于封装独立工作流的图结构支持模块化开发和团队协作只要接口输入/输出 schema一致父图无需了解其内部细节。Independent State Schema (独立状态模式)[HIGH]: 当子图与父图状态无共享键时需通过节点函数手动转换状态父图状态 → 子图输入 → 子图执行 → 输出 → 转换回父图状态。Shared State Channel (共享状态通道)[HIGH]: 若子图与父图共享状态键如 messages可直接将编译后的子图作为节点添加到父图中无需手动状态转换。Nested Subgraphs (嵌套子图)[NORM]: 支持多层子图嵌套如 parent → child → grandchild每层状态相互隔离通过函数调用逐层传递和转换状态。Checkpointer Propagation (检查点传播)[HIGH]: 只需在父图编译时提供 checkpointerLangGraph 会自动将其传播至所有子图若需子图独立记忆可单独为其编译时指定 checkpointer。Interrupted Subgraph State Inspection (中断时查看子图状态)[NORM]: 仅当子图因 interrupt() 中断时才能通过 graph.get_state(config, subgraphsTrue) 查看其内部状态恢复执行后状态不可再访问。Streaming Subgraph Outputs (流式输出子图结果)[HIGH]: 在父图的 stream() 方法中设置 subgraphsTrue即可同时流式输出父图和所有子图的节点更新。ProductionApplication structure本文档介绍了使用 LangSmith Deployment 部署 LangGraph 应用的标准结构和配置要求包括 langgraph.json 配置文件、依赖管理、图定义和环境变量设置。Core ConceptsLangSmith Deployment[CORE]: LangChain 提供的托管平台用于部署和扩展 LangGraph 智能体Agent自动处理基础设施、伸缩和运维问题。langgraph.json[CORE]: LangGraph 应用的核心配置文件以 JSON 格式定义依赖项、图graphs、环境变量及其他部署设置。Graphs (图)[HIGH]: 在 langgraph.json 中通过 graphs 键指定一个或多个状态图每个图由唯一名称和指向编译图或图构建函数的路径定义。Dependencies (依赖项)[HIGH]: LangGraph 应用需通过 requirements.txt、pyproject.toml 等文件声明 Python 依赖并在 langgraph.json 的 dependencies 字段中引用系统级依赖可通过 dockerfile_lines 指定。Environment variables (环境变量)[NORM]: 开发时可通过 .env 文件或 langgraph.json 的 env 字段配置生产环境应通过部署平台设置环境变量。Test该页面展示了一个使用 LangGraph 构建状态图并测试从中断点恢复执行的单元测试示例重点演示了如何通过 update_state 模拟从特定节点开始执行并在指定节点后中断。Core ConceptsLangGraph[HIGH]: LangGraph 是 LangChain 生态中用于构建具有状态和循环的代理Agent工作流的库支持节点间状态传递与中断恢复。StateGraph[HIGH]: StateGraph 是 LangGraph 中用于定义带状态的工作流图的核心类每个节点接收并返回状态字典。MemorySaver[NORM]: MemorySaver 是 LangGraph 提供的检查点checkpoint存储器用于在内存中保存图执行的状态支持中断后恢复。update_state[CORE]: update_state 方法允许手动设置图的当前状态并指定该状态来自哪个节点从而控制下一次执行的起点。interrupt_after[HIGH]: interrupt_after 参数用于在调用 invoke 时指定执行到某个节点后暂停常用于分步调试或人工干预场景。LangSmith Studio本文档介绍了如何在本地使用 LangSmith Studio 可视化和调试 LangChain 智能体Agent。通过 LangGraph CLI 启动本地 Agent Server连接到 LangSmith Studio 界面可实时查看智能体执行过程中的提示词、工具调用、中间状态及错误信息并支持热重载和快速迭代。Core ConceptsLangSmith Studio[CORE]: LangChain 提供的免费可视化界面用于本地开发和调试智能体可实时查看执行流程、工具调用和调试信息。LangGraph CLI[HIGH]: LangChain 提供的命令行工具用于启动本地 Agent Server将智能体连接到 LangSmith Studio。LANGSMITH_TRACING[NORM]: 环境变量设为 false 可禁用数据上报确保所有执行数据保留在本地。langgraph.json[HIGH]: LangGraph CLI 的配置文件用于指定智能体入口、依赖和环境变量文件路径。Hot-reloading (热重载)[HIGH]: 在 Studio 中修改代码后无需重启服务器变更会立即生效支持从任意步骤重新运行对话线程。Studio Tunneling (–tunnel)[NORM]: Safari 会阻止 localhost 连接使用 --tunnel 参数可通过安全隧道访问 Studio 并手动添加允许来源。Agent Chat UIAgent Chat UI 是 LangChain 提供的一个开源工具用于快速为智能体Agent创建交互式聊天界面支持本地和部署环境并可自动渲染工具调用和中断信息。Core ConceptsAgent Chat UI[HIGH]: 一个开源的聊天界面工具用于与 LangChain 智能体进行交互支持自动渲染工具调用和中断。create_agent[NORM]: LangChain 中用于创建智能体的核心函数Agent Chat UI 可与其集成以提供交互体验。Graph ID[HIGH]: 在 langgraph.json 文件中定义的智能体图名称用于 Agent Chat UI 连接指定智能体流程。Deployment URL[HIGH]: 智能体服务的访问地址本地开发通常为 http://localhost:2024部署后为实际服务器 URL。LangSmith API key[NORM]: 用于连接 LangSmith 平台的可选密钥在使用远程智能体时可能需要。LangSmith Deployment本文档介绍了如何将 LangGraph 兼容的智能体Agent通过 GitHub 仓库部署到 LangSmith 平台并提供了测试部署后应用及获取 API URL 的步骤。Core ConceptsLangSmith Deployment[CORE]: LangSmith 提供的部署功能允许用户将基于 LangGraph 的智能体从 GitHub 仓库一键部署为可调用的 API 服务。GitHub Repository Requirement[HIGH]: 部署到 LangSmith 的应用代码必须托管在 GitHub 仓库中支持公有和私有仓库。LangGraph-compatible Agent[CORE]: 只有符合 LangGraph 结构的智能体才能被 LangSmith 部署需先完成本地服务器设置以确保兼容性。Deployment Workflow[CORE]: 部署流程包括创建 GitHub 仓库 → 在 LangSmith 中新建部署 → 关联 GitHub 账号 → 选择仓库提交部署 → 等待约15分钟完成。LangSmith Studio[HIGH]: 部署成功后可通过 Studio 可视化查看智能体的图结构graph用于调试和演示。API URL[CORE]: 每个部署会生成唯一的 API URL可用于通过 REST 或 LangGraph SDK 调用已部署的智能体。LangSmith Observability本文档介绍了如何在 LangChain 应用中启用和配置 LangSmith 的可观察性Observability功能包括设置前提条件、启用追踪、选择性追踪、指定项目名称、添加元数据以及使用匿名化器保护敏感数据。Core ConceptsLangSmith Observability[CORE]: LangSmith 提供的可观察性功能用于追踪、调试和监控 LangChain 应用的执行流程。Prerequisites (前提条件)[HIGH]: 使用 LangSmith Observability 前需拥有 LangSmith 账号和 API 密钥。Enable tracing (启用追踪)[CORE]: 通过设置环境变量如 LANGSMITH_API_KEY全局启用 LangSmith 追踪。tracing_context (追踪上下文)[HIGH]: LangSmith 提供的上下文管理器用于对特定代码块进行选择性追踪并可附加元数据和标签。LANGSMITH_PROJECT[NORM]: 环境变量用于为整个应用指定 LangSmith 中的日志项目名称。Dynamic project assignment (动态项目分配)[NORM]: 可在运行时通过代码为特定操作指定 LangSmith 项目名称实现灵活的日志分组。Metadata and tags in traces (追踪中的元数据与标签)[HIGH]: 可通过 tracing_context 为追踪记录添加自定义元数据和标签便于过滤和分析。Anonymizers (匿名化器)[CORE]: 用于自动识别并屏蔽敏感信息如社保号 XXX-XX-XXXX的机制防止其被记录到 LangSmith 中。Core benefitsDurable execution本文档介绍了 LangGraph 中的持久化执行Durable Execution机制包括其前提条件、确定性重放原则、三种持久化模式、任务task的使用方式以及工作流恢复的策略。Core ConceptsDurable Execution (持久化执行)[CORE]: LangGraph 的持久化执行机制允许工作流在中断后从检查点恢复确保状态不丢失并支持一致重放。Checkpointer (检查点器)[HIGH]: 用于保存工作流进度的组件是启用持久化执行的必要条件。Thread Identifier (线程标识符)[HIGH]: 用于唯一标识一个工作流实例确保恢复时能正确加载其历史状态。Determinism and Consistent Replay (确定性与一致重放)[CORE]: 工作流恢复时会从合适起点重放至中断点因此非确定性操作和副作用必须封装在任务中以避免重复执行。Task (任务)[HIGH]: 封装非确定性或带副作用操作的单元确保恢复时直接使用已记录结果而非重新执行。Idempotent Operations (幂等操作)[HIGH]: 即使多次执行也产生相同结果的操作对持久化工作流中的容错至关重要。Durability Modes (持久化模式)[HIGH]: LangGraph 提供 exit、async、sync 三种持久化模式在性能与数据一致性之间提供权衡。Resuming Workflows (恢复工作流)[HIGH]: 通过相同 thread_id 和 None 输入可从最后成功检查点自动恢复失败的工作流。Starting Point for Resumption (恢复起点)[NORM]: 恢复起点取决于图类型StateGraph 从节点开头开始Functional API 从入口点开始子图中断则从父节点调用处恢复。Human-in-the-loop本文档详细介绍了 LangGraph 中的 interrupt() 机制用于在图执行过程中动态暂停并等待外部输入。它支持持久化状态通过 checkpointer 和 thread_id、恢复执行、以及多种人机协作场景如审批、编辑、验证等并强调了使用中断时的关键规则和最佳实践。Core Conceptsinterrupt()[CORE]: LangGraph 中用于在节点任意位置动态暂停执行的函数可返回 JSON-serializable 值并通过interrupt字段传递给调用者。Checkpointing (检查点)[HIGH]: 通过持久化图状态需配置 checkpointer实现中断后恢复执行即使在错误状态下也能保留进度。thread_id[HIGH]: 作为图执行的“持久游标”相同 thread_id 可恢复同一检查点不同值则启动新线程空状态。*interrupt*[NORM]: 中断时由 interrupt() 传入的值会通过此字段返回给调用者表明图正在等待什么输入。Command(resume…)[HIGH]: 用于恢复被中断的图执行其 resume 值将成为 interrupt() 调用的返回值。节点重启行为[CORE]: 恢复执行时包含 interrupt() 的整个节点会从头开始运行而非从中断点继续因此中断前的代码会重复执行。Idempotency (幂等性)[HIGH]: 中断前的副作用操作应具备幂等性避免因节点重启导致重复执行如重复创建记录或覆盖数据。中断使用规则[CORE]: 不得在 try/except 中捕获 interrupt()中断调用顺序必须一致仅传递 JSON-serializable 值避免非幂等副作用。常见中断模式[HIGH]: 包括审批工作流、人工审查与编辑 LLM 输出、工具调用前中断、人类输入验证等场景。Static interrupts (静态中断)[NORM]: 编译时通过 interrupt_before / interrupt_after 设置的调试断点不适用于生产级人机交互仅用于调试。Comprehensive memory本文档概述了 LangChain 中通过 LangGraph 实现的短期记忆会话级和长期记忆跨会话机制。短期记忆通过图状态和检查点checkpointer管理单个对话线程中的上下文长期记忆则以命名空间namespace组织支持语义、情景和程序性三类记忆并可通过“热路径”或后台任务写入。文档还讨论了记忆存储结构、管理策略及实际应用模式。Core ConceptsShort-term memory (短期记忆)[CORE]: 在单个对话线程thread内维护消息历史和其他状态数据如文件、文档由 LangGraph 通过检查点持久化确保会话可恢复且上下文隔离。Long-term memory (长期记忆)[CORE]: 跨会话、跨线程存储用户或应用级别的信息按自定义命名空间组织支持随时检索用于个性化和上下文增强。Semantic memory (语义记忆)[HIGH]: 存储事实性知识如用户偏好常以 profileJSON 文档或文档集合形式实现用于个性化响应。Episodic memory (情景记忆)[HIGH]: 记录过去事件或行为常通过 few-shot 示例提示实现帮助代理从历史经验中学习任务执行方式。Procedural memory (程序性记忆)[HIGH]: 指代理执行任务所依赖的规则体现为模型权重、代码和系统提示可通过“反思”机制动态更新提示以优化行为。Memory writing: in the hot path (热路径写入)[NORM]: 在主交互流程中实时决定并写入记忆优点是即时可用和透明缺点是增加延迟和复杂度。Memory writing: in the background (后台写入)[NORM]: 将记忆生成作为异步后台任务避免影响主流程性能但需合理设计触发时机以保证记忆及时性。Memory storage structure (记忆存储结构)[HIGH]: 长期记忆以 JSON 文档形式存储按 namespace如用户ID和 key 组织支持跨命名空间的内容过滤与检索。Profile vs Collection (Profile 与 Collection 模式)[HIGH]: Profile 是单一可更新的结构化文档适合紧凑信息Collection 是多个独立记忆文档更易生成但需处理更新/删除逻辑和检索复杂性。LangGraph Store[HIGH]: LangGraph 提供的长期记忆存储组件支持语义搜索和内容过滤用于保存和检索各类记忆文档。最后唠两句为什么AI大模型成为越来越多程序员转行就业、升职加薪的首选很简单这些岗位缺人且高薪智联招聘的最新数据给出了最直观的印证2025年2月AI领域求职人数同比增幅突破200% 远超其他行业平均水平整个人工智能行业的求职增速达到33.4%位居各行业榜首其中人工智能工程师岗位的求职热度更是飙升69.6%。AI产业的快速扩张也让人才供需矛盾愈发突出。麦肯锡报告明确预测到2030年中国AI专业人才需求将达600万人人才缺口可能高达400万人这一缺口不仅存在于核心技术领域更蔓延至产业应用的各个环节。那0基础普通人如何学习大模型 深耕科技一线十二载亲历技术浪潮变迁。我见证那些率先拥抱AI的同行如何建立起效率与薪资的代际优势。如今我将积累的大模型面试真题、独家资料、技术报告与实战路线系统整理分享于此为你扫清学习困惑共赴AI时代新程。我整理出这套 AI 大模型突围资料包【允许白嫖】✅从入门到精通的全套视频教程✅AI大模型学习路线图0基础到项目实战仅需90天✅大模型书籍与技术文档PDF✅各大厂大模型面试题目详解✅640套AI大模型报告合集✅大模型入门实战训练这份完整版的大模型 AI 学习和面试资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】①从入门到精通的全套视频教程包含提示词工程、RAG、Agent等技术点② AI大模型学习路线图0基础到项目实战仅需90天全过程AI大模型学习路线③学习电子书籍和技术文档市面上的大模型书籍确实太多了这些是我精选出来的④各大厂大模型面试题目详解⑤640套AI大模型报告合集⑥大模型入门实战训练如果说你是以下人群中的其中一类都可以来智泊AI学习人工智能找到高薪工作一次小小的“投资”换来的是终身受益应届毕业生‌无工作经验但想要系统学习AI大模型技术期待通过实战项目掌握核心技术。零基础转型‌非技术背景但关注AI应用场景计划通过低代码工具实现“AI行业”跨界‌。业务赋能 ‌突破瓶颈传统开发者Java/前端等学习Transformer架构与LangChain框架向AI全栈工程师转型‌。获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】
返回列表