LangGraph JS
用图结构编排有状态、可恢复的智能体,支持人工介入和长期记忆。
- Star 数
- ★ 3.4k
- 最近更新
- 2 天前
- License
- MIT
- 主语言
- TypeScript
- FA 评分
- 55/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 需要长期运行、故障恢复的客服机器人,可在中断后继续对话。
- 不适合
- 希望开箱即用、不想理解图与状态概念的初学者
- 不愿绑定 LangChain 生态、担心迁移成本的团队
- 源码审查
- 55/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
LangGraph JS 是 LangChain 推出的低层编排框架,用于构建可控的、有状态的智能体。它以图的方式组织执行流程,支持持久化执行、人工介入(human-in-the-loop)、短期与长期记忆。该库提供 npm 包 @langchain/langgraph,可与 @langchain/core 配合使用,也可独立运行。它被 Replit、Uber、LinkedIn、GitLab 等公司采用。LangGraph 提供可视化调试(通过 LangSmith)、生产级部署能力,并可与其他 LangChain 产品(如 Deep Agents、LangChain、LangSmith)集成。其 API 参考文档涵盖核心类、方法、图与检查点 API,以及预构建组件。
LangGraph JS 允许开发者以图的形式定义智能体的状态流,节点代表步骤,边代表转移。它提供持久化执行:智能体在失败后可从上次停止点恢复,支持 long-running 任务。支持中断(interrupts)以插入人工审查或修改状态。提供短期工作记忆和跨会话的长期持久记忆。可配合 LangSmith 进行调试,追踪执行路径、状态转换和运行时指标。部署时支持生产级基础设施。安装与使用:通过 npm 安装 @langchain/langgraph 和 @langchain/core。具体使用方式需查阅官方文档。
- 需要长期运行、故障恢复的客服机器人,可在中断后继续对话。
- 需要人工审批流程的自动化任务,例如订单审批或内容审核。
- 需要跨会话记忆的个性化助手,记住用户偏好。
- 构建复杂多步骤的智能体,如需要规划、调用子代理的 Deep Agents。
- 在生产环境中需要可观测性和调试能力的 LLM 应用,结合 LangSmith。
如何安装或部署这个 Agent?
安装 npm 包 @langchain/langgraph 和 @langchain/core:
npm install @langchain/langgraph @langchain/core如何使用这个 Agent?
具体使用方法请参阅官方文档:https://docs.langchain.com/oss/javascript/langgraph/overview。文档涵盖图构建、检查点、人工介入等 API。可使用 LangSmith 进行调试。
这个 Agent 有哪些优点和局限?
- 提供持久化执行,失败自动恢复,适合长任务。
- 原生支持人工介入,可在执行中暂停和修改状态。
- 支持短期与长期记忆,构建真正有状态的智能体。
- 被多家知名公司用于生产环境。
- 与 LangChain/LangSmith 集成,提供调试和部署工具。
- 文档以英文为主,中文资源有限。
- 需要熟悉图概念和 LangChain 生态。
- 调试和部署依赖 LangSmith,可能产生成本。
- 与 LangChain 深度集成,可能带来迁移成本。
这个 Agent 与同类方案有什么区别?
与 Python 版 LangGraph 功能对等,但面向 JavaScript/TypeScript 生态。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| LangGraph JS 当前 | 55 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 3.4k | 2 天前 | TypeScript | — |
| LangGraph | 44 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 43k | 今天 | Python | — |
| Deuz SDK | 69 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 563 | 2 天前 | TypeScript | OpenAI API · Claude API |
| LlamaAgents | 66 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 460 | 5 天前 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库包含依赖覆盖(package.json 中的 overrides)和 CI 工作流,但未发现明确的权限最小化、用户确认、数据流透明、敏感数据处理、外部影响、回滚或来源归属的文档或实现。依赖安全方面有覆盖和自动合并工作流,但未提供漏洞扫描证据。扣分原因:缺乏安全相关文档和实现。
证据显示:代码库结构一致,测试文件存在,CI 配置了多节点版本测试。依赖可用性方面,package.json 有 overrides 和锁定文件。失败消息方面,测试中有错误处理,但未发现面向用户的失败消息文档。扣分原因:未提供失败消息的明确文档。
证据显示:README 描述了目标受众和使用场景,提供了安装说明和示例。能力边界在 README 中有描述,但未详细说明。触发精度方面,框架是低级别的,用户控制触发。环境适配方面,支持 Node.js >=18,并有 CI 测试。扣分原因:能力边界和触发精度描述不够详细。
证据显示:README 提供了信息架构,安装说明清晰,命名稳定(包名 @langchain/langgraph),有示例和 FAQ 链接,许可证为 MIT,有版本和变更日志(changesets),维护责任明确(LangChain Inc)。扣分原因:已知限制未明确列出。
证据显示:输出可用性方面,框架提供 API 和文档。边际价值方面,提供了高级功能如持久执行、人机交互、记忆。成本效益方面,开源免费,但未提供性能或成本数据。扣分原因:缺乏成本效益的量化数据。
证据显示:README 中的声明部分有文档链接,但未提供具体证据。交叉来源验证方面,有多个文档链接,但未提供独立验证。事实与推断分离方面,README 区分了事实和推荐,但不够明确。扣分原因:声明缺乏可追溯的具体证据。
- 未发现安全相关文档,如权限最小化、数据流透明、敏感数据处理等。
- 依赖安全方面虽有覆盖,但未提供漏洞扫描证据。
- 已知限制未在 README 中明确列出。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Patch Changes - [#3037](https://github.com/langchain-ai/langgraphjs/pull/3037) [6180711](https://github.com/langchain-ai/langgraphjs/commit/61807113665e4875c6ec8fd34c6f6c9f7becf497) Thanks [@raghavverma-langchain](https://github.com/raghavverma-langchain)! - langgraphjs deploy local builds push through your active Docker context. Before, the push used a temporary Docker config with no current context and failed with failed to connect to the docker API at unix:///var/run/docker.sock on setups like Docker Desktop without the default socket. An explicit DOCKER_HOST is still respected …在 GitHub 查看 ↗ -
发布说明摘录
Patch Changes - [#3025](https://github.com/langchain-ai/langgraphjs/pull/3025) [06f9fdb](https://github.com/langchain-ai/langgraphjs/commit/06f9fdbb76facef0d4f2100e14baa99ef8f0bd2b) Thanks [@eliornl](https://github.com/eliornl)! - run.start input sent while a thread is paused on several interrupts now returns invalid_argument and leaves the thread paused, instead of starting a run that fails because one input can't say which interrupt it answers. Answer each interrupt with input.respond. - Updated dependencies []: - @langchain/[email protected]在 GitHub 查看 ↗ -
发布说明摘录
Patch Changes - Updated dependencies [[2e1fe5b](https://github.com/langchain-ai/langgraphjs/commit/2e1fe5b3fffd87b2f7ba260da3726a2c03c2f72f), [0acf88d](https://github.com/langchain-ai/langgraphjs/commit/0acf88db9fdc6441c8b3a162b7a328b9b91e115e), [9cc54cc](https://github.com/langchain-ai/langgraphjs/commit/9cc54cce575ae00deb0bb5946aa457f44f485427), [4690a5b](https://github.com/langchain-ai/langgraphjs/commit/4690a5b9a59f4f96790fdce45160f744272ca054)]: - @langchain/[email protected]在 GitHub 查看 ↗