首页 / 文章

LangChain、LangGraph还是Deep Agents:如何选择合适的层级

通过一个实际运行示例对比LangChain、LangGraph与Deep Agents:何时仅用普通智能体循环即可,何时需要显式图结构,以及何时应规划大型任务。

发布者:REACTAPP.TOP阅读约 3 分钟746 词

来源: LangChain vs LangGraph vs Deep Agents: Which One Should You Use?

LangChain、LangGraph 和 Deep Agents 经常被一起提及,因此新手们会以为它们是竞争对手。其实并非如此。它们处于不同的控制层级,关键在于你的问题需要哪一层级的解决方案。

试想规划一个技术博客系列:有时你只是需要一个助手来帮你写作,有时则需要一套包含多个步骤的明确流程。还有些时候任务会更复杂:收集笔记、起草大纲、保存中间成果、制定发布计划。从简单的智能体到受控的工作流,再到完整的智能体工作空间,这种发展过程与这三款工具恰好对应。

每款工具能为你提供什么

LangChain提供了智能体应用的核心构建模块。LangGraph则增加了对工作流程及其状态的掌控能力。Deep Agents则是为那些需要规划、上下文管理、文件处理、内存管理以及任务委派的功能设计的更高级框架。

仅靠定义是无法完全解决问题的,人们混淆的往往不是各个工具的具体功能,而是如何为特定任务选择合适的工具。因此最清晰的比较方式就是重复构建同一个功能三次,观察代码会有哪些变化。

实际示例

这个测试项目是一个AI内容策略助手。你可以向它提交如下请求:

Create a content strategy for a blog series about LangChain, LangGraph, and Deep Agents.

它应当回答五个问题:目标受众是谁、哪种角度最有效、大纲应如何构建、需要考虑哪些风险,以及下一步该做什么。

这里没人追求开发出可直接投入使用的应用程序,重点在于观察同一个想法在三种不同框架下的变化。

LangChain:简单的智能体循环

LangChain适用于那些具有普通智能体循环结构的应用程序:

User question -> Model -> Tools -> Final answer

对于策略助手而言,这意味着有一个智能体,它可以调用若干工具:

lookup_audience_profile()
suggest_content_angles()

当你希望模型、工具、提示词以及结构化输出能够协同工作之时,这是最快的路径,也是你开始构建的起点。

LangGraph:一种明确的流程

现在假设你不想让模型在单个隐藏循环中决定所有事情,而是希望有可见的步骤:

identify_audience
generate_angles
select_angle
draft_outline
review_strategy

那是 LangGraph 的领域。你需要自己明确工作流程:哪些步骤先执行,哪些状态在步骤间转换,以及审核或分支应放在何处。这就好比是让助手包办一切,与为助手定义操作流程的区别。

深度智能体:处理复杂任务的工具

当任务不再只需要一个答案时,深度智能体才真正发挥作用。不必再这样请求:

Create one content strategy.

你是这样要求的:

Plan a four-part article series.
Create notes, choose angles, outline each article, and prepare a publishing checklist.

现在你已拥有一个更接近微型项目文件夹的结构。在此过程中,智能体可能会起草计划、处理大量上下文信息、保存临时文件、记住先前的决策,或将部分任务交给辅助工具处理。Deep Agents提供了用于处理这类复杂任务的特性。后续示例中的代码保持简洁,因为功能的重要性远高于代码量。

实施顺序

首先从LangChain开始,因为这是了解基本智能体架构最简单的方式。接着在LangGraph中重新构建相同的助手,然后再查看Deep Agents版本。最终你应该能够明确了解每种工具的适用场景:LangChain适用于快速构建智能体,LangGraph适用于需要控制流程的场景,而Deep Agents则适用于长时间、多步骤的任务。

相关阅读

  • 实用笔记:TypeScript 7 已发布速度提升10倍的编译器——详情如下 — 该实用笔记的详细操作指南:针对采用此模式的团队,介绍相关契约、检查机制以及可直接插入的代码片段。
  • 适用于 LangChain Deep Agents 的基于 MongoDB 的虚拟文件系统 — 通过双平面设计,如何将文件字节路由至对象存储,同时利用混合 grep、排名融合、分块处理、同步监视器等功能在 MongoDB Atlas 中实现搜索,以及相关的权衡考量。