LangGraph大法好:工作流编排框架,特别适合构建复杂的多步骤、有状态或协作式 AI 应用

为什么不选择Coze / Dify ?

因为太复杂太难以控制,还是利用底层代码和AI框架更合适。我给你展示利用dify做deep research是多么复杂:
要求:

image1432×427 18.9 KB

dify实现:

![image](https://oss.xyyzone.com/jishuzhan/article/1948691789950529538/d33e35cb985eb9a2db6b1d26ec1207bd.webp)

github.com

GitHub - AdamPlatin123/Open-Deep-Research-workflow-on-Dify

通过在 GitHub 上创建帐户来为 AdamPlatin123/Open-Deep-Research-workflow-on-Dify 开发做出贡献。

以上就是dify的deep research:

而且这还是最基本的deep research,运行起来各种报错和不稳定,只能当成测试使用而已,不能真正运转。如果我们需要真正可用的,高可用的,高可控的,高性能的复杂agent,还是优先选择LangGraph。这是经过很长时间综合考虑得到的经验,分享给你:

我推荐LangGraph:

LangGraph 是一个基于语言模型(如 OpenAI、Deepseek等)的工作流编排框架,特别适合构建复杂的多步骤、有状态或协作式 AI 应用。

LangGraph实现deep research:

以下是一个基于 LangGraph 的简化版 Deep Research 智能体实现示例,包含核心工作流程和关键代码。该示例模拟了自动研究"气候变化对农业的影响"的过程,重点展示 ​状态管理并行搜索 ​ 和 ​反思循环​ 三大核心机制



核心代码实现(简化版)

1. ​定义状态容器

管理研究过程中的动态数据,使用 TypedDict 结构化存储:

python 复制代码
from typing import TypedDict, Annotated, List
from langchain_core.messages import HumanMessage
from operator import add

class ResearchState(TypedDict):
    user_query: str  # 用户原始问题
    search_queries: Annotated[List[str], add]  # 搜索查询列表(可追加)
    search_results: Annotated[List[str], add]  # 搜索结果(可追加)
    citations: Annotated[List[str], add]  # 引用来源
    is_sufficient: bool  # 信息是否充足

2. ​关键节点函数

每个节点对应研究流程中的一个环节:

  • 查询生成节点(多样化生成搜索关键词)
python 复制代码
def generate_queries(state: ResearchState):
    user_topic = state["user_query"]
    # 模拟 Gemini 生成多样化查询(实际需调用 LLM)
    queries = [
        f"{user_topic} 对粮食产量的影响",
        f"{user_topic} 的农业适应技术",
        f"{user_topic} 经济成本报告 2025"
    ]
    return {"search_queries": queries}
  • 并行搜索节点(模拟多线程搜索)
python 复制代码
def web_research(state: ResearchState, query: str):
    # 模拟 Google Search API 调用(返回标题+摘要)
    results = {
        "气候变化对粮食产量的影响": "研究显示... [来源: IPCC 报告]",
        "农业抗旱技术进展": "基因编辑作物可提升... [来源: Nature]"
    }
    return {
        "search_results": [results[query]], 
        "citations": [f"Source_{hash(query)}"]
    }
  • 反思分析节点(判断信息完整性)
python 复制代码
def reflection(state: ResearchState):
    # 模拟反思逻辑:若结果少于3条则判定信息不足
    is_sufficient = len(state["search_results"]) >= 3
    return {"is_sufficient": is_sufficient}

3. ​构建状态图与工作流

用 LangGraph 编排节点逻辑:

python 复制代码
from langgraph.graph import StateGraph

# 初始化状态图
builder = StateGraph(ResearchState)

# 添加节点
builder.add_node("generate_queries", generate_queries)
builder.add_node("reflection", reflection)
builder.add_node("web_research", web_research)  # 实际需并行化处理

# 设置边关系
builder.set_entry_point("generate_queries")
builder.add_edge("generate_queries", "web_research")
builder.add_conditional_edges(
    "reflection",
    lambda state: END if state["is_sufficient"] else "web_research"
)

# 编译可执行图
research_agent = builder.compile()

4. ​执行研究任务

bash 复制代码
# 启动研究流程
result = research_agent.invoke({
    "user_query": "气候变化对农业的影响"
})

# 输出结果
print("最终报告摘要:", result["search_results"])
print("引用来源:", result["citations"])

执行输出示例

less 复制代码
最终报告摘要: [  "研究显示全球变暖导致小麦减产5-10% [来源: IPCC 报告]",  "基因编辑作物可提升抗旱性 [来源: Nature]",  "2024年亚洲农业损失达$120亿 [来源: FAO]"]
引用来源: ["Source_123", "Source_456", "Source_789"]

小结 : 本质上你可以说,这和dify的逻辑没有区别,但是程序员会觉得代码形式更靠谱和简单,可控和高效。同时复杂性可以进一步大幅提高,基于工作流的 LangGraph 实现简洁且可维护。

使用 LangGraph 构建多代理系统提供了以下优势:

结构化工作流 :LangGraph 为定义代理交互提供清晰的结构,使复杂系统更易于设计和维护。

状态管理 :框架处理多次 LLM 调用之间的状态管理,确保信息在代理之间正确流动。

条件路由 :LangGraph 允许动态决定下一个代理,创建更适应和响应的系统。

检查点 :内置检查点功能便于调试和恢复长时间运行的进程。

可扩展性 :基于图的方法便于添加新代理或修改现有工作流,随着系统的发展。

参考:《How to build a Multi-Agentic Systems for RAG using LangGraph - Full project》nicoladisabato/MultiAgenticRAG | DeepWiki


以下我介绍更多 LangGraph 实现的详细项目示例:



0. 对话与问答系统

  1. 多轮对话机器人
  • 功能:记忆上下文、动态跳转话题、处理模糊查询(如用户连续追问"怎么设置闹钟?"→"音量能调吗?")。
  • LangGraph 价值 :通过状态管理(MessagesState)追踪对话历史,结合条件分支实现意图识别(如转人工客服或调用知识库)。
  • 案例:医疗科普机器人,根据用户病史动态调整回答深度,并在高风险回答前插入人工审核节点。
  1. 智能问答系统(RAG 增强)​
  • 功能:检索文档→多轮总结→验证准确性→循环优化答案。
  • LangGraph 价值:动态控制检索流程(例:未找到答案时引导用户重新提问),支持多轮迭代优化回答质量。
  • 案例:法律文书助手,解析合同 PDF 后,通过循环判断逻辑处理模糊条款查询。

参考:《 LangChain+LangGraph+RAGAS=可靠的 RAG 系统》,介绍怎样利用langgraph打造工业级的RAG, mp.weixin.qq.com/s/NWo5jJmmw...


1. 自动化工作流与业务流程

  • 智能客服系统

    • 多轮对话管理:处理用户查询 → 数据库检索 → 生成回答 → 满意度评估 → 转人工(如果需要)。
    • 自动工单分类:用户输入 → 意图识别 → 路由到对应部门 → 生成响应模板。
  • 审批流程自动化

    • 结合规则引擎和 LLM:员工提交申请 → 经理审核(自动生成审核意见) → 财务部门处理。
  • 电商订单处理

    • 订单确认 → 库存检查 → 支付验证 → 物流分配 → 客户通知(邮件/SMS)。

参考:《Customer Support Email Automation with AI Agents and RAG》 GitHub - kaymen99/langgraph-email-automation: Multi AI agents for customer support email automation built with Langchain & Langgraph

《human-in-the-loop 邮件自动化处理》 GitHub - langchain-ai/agents-from-scratch: Build an email assistant with human-in-the-loop and memory

介绍基于langgraph处理邮件/客服等自动化工作,还有human-in-the-loop的配合使用。

同时,推荐我喜欢的hitl工具:GitHub - ptonlix/gohumanloop: 💯 Perfecting AI workflows with human intelligence


2. 复杂决策与动态规划

  • 旅行规划助手

    • 用户输入偏好 → 调用多个 API(航班、酒店、景点)→ 生成个性化行程 → 动态调整(如天气变化)。参考:《 用 AI 打造你的专属旅行计划:多智能体旅行规划工具(实战篇)》mp.weixin.qq.com/s/WszVU5N31...
  • 投资建议引擎

    • 用户风险测评 → 市场数据获取 → 投资组合生成 → 定期复盘调整。
  • 医疗诊断辅助

    • 症状输入 → 分诊建议 → 推荐检查项目 → 生成通俗易懂的解释(需结合专业数据库)。

参考:《 Gemini 开源了全栈 LangGraph 快速启动项目:开发者的新利器》,deep reseach例子,mp.weixin.qq.com/s/wLYIr1AQy...

《多渠道信息调研和多react_agent》介绍怎样利用多个langgraph节点''react_agent''来进行多渠道信息收集处理,复杂的决策和动态规划, GitHub - kaymen99/personal-ai-assistant: Your personal AI assistant powered by multiple AI agents. Connects to WhatsApp, Slack, or Telegram to manage your emails, schedule, to-dos, messages, and daily research.

objectivec 复制代码
//介绍怎样利用多个react_agent来进行复杂的决策和动态规划

llm = get_llm_by_provider(self.model, self.temperature)
        self.agent = create_react_agent(
            llm, 
            tools=self.tools, 
            state_modifier=self.system_prompt,
            **({"checkpointer": self.memory} if self.memory else {"checkpointer": False}) # set to False to avoid "MULTIPLE_SUBGRAPHS" error
        )

3. 多智能体协作系统

  • 虚拟团队协作

    • 分配角色(项目经理、工程师、设计师)→ 模拟会议讨论 → 生成任务清单。
  • 游戏 NPC 交互

    • NPC 根据玩家行为动态响应,记忆历史互动并影响后续剧情。
  • 辩论模拟器

    • 多个 AI 角色持不同观点,按规则辩论并生成总结报告。

参考:《 使用 LangGraph 打造 Multi-Agent 系统》 mp.weixin.qq.com/s/OmJdNh8zF...

多代理系统是一组相互交互的独立"代理"。可以将每个代理想象成一个能够独立思考和行动的个体,类似于人类。这些代理一起工作或竞争以实现特定目标或完成任务。

简单来说,想象一群机器人清理你的房子。每个机器人是一个代理。一个可能负责吸尘地板,另一个可能负责擦拭家具,还有一个可能负责倒垃圾。它们各自独立工作,但通过沟通和协调确保整个房子被高效清洁。这就是多代理系统的本质:多个实体以协调的方式一起工作,以执行复杂任务或解决问题。

  • Researcher :研究员。针对研究主题采集网络资源,做自主研究
  • Editor :编辑。负责初期规划研究大纲和整体结构
  • Reviewer :审阅。根据设定的标准对研究结果进行检查验证
  • Revisor :修订。根据审阅结果对研究结果进行修订
  • Writer :撰写。根据研究输出撰写最终报告内容
  • Publisher :发布。负责用不同的格式发布最终研究报告

参考:
《 学习使用LangGraph x GPT-Researcher构建一个多智能体架构的AI自主研究助理》 mp.weixin.qq.com/s/PlpsIT5bj...
《TradingAgents:多代理 LLM 金融交易框架》 :部署由LLM驱动的专业智能体------从基本面分析师、情绪分析师、技术分析师,到交易员、风险管理团队------平台能够协同评估市场状况并制定交易决策。 GitHub - TauricResearch/TradingAgents: TradingAgents: Multi-Agents LLM Financial Trading Framework


4. 数据处理与分析流水线

  • 自动化报告生成

    • 数据库查询 → 数据清洗 → 可视化生成 → 自然语言总结。
  • 实时舆情监控

    • 爬取社交媒体 → 情感分析 → 关键事件提取 → 生成日报。
  • 科研文献综述

    • 检索论文 → 提取关键结论 → 对比分析 → 生成综述草稿。

参考: 《自动化潜在客户线索研究》GitHub - kaymen99/sales-outreach-automation-langgraph: Automate lead research, qualification, and outreach with AI agents and Langgraph, creating personalized messaging and connecting with your CRMs (HubSpot, Airtable, Google Sheets)

复制代码
《自动化潜在客户线索研究》
 
1 LinkedIn Profile Scraping:自动从 LinkedIn 收集有关潜在客户及其公司的基本信息,以创建全面的个人资料。
 
2 公司数字存在分析 :评估公司的网站和博客内容,以深入了解其产品和服务。此外,评估他们在 Facebook、Twitter、YouTube 等平台上的社交媒体活动。
 
3 最近的公司新闻分析 :跟踪与公司相关的最新新闻和公告,以深入了解他们当前的举措和挑战。
 
4 痛点识别 :识别公司面临的潜在挑战或差距,并就贵机构的产品和服务如何解决这些问题提供量身定制的建议。
 
5 报告生成 :为每个分析生成详细的报告,这些报告既保存在本地,也保存在 Google Analytics 中。创建一份综合的全球研究报告,结合来自领导档案,公司档案和数字存在的见解。 

《Langgraph故事写作》:langchain-ai/story-writing | DeepWiki

它使用户能够在人工智能的帮助下协作编写故事,具有编辑现有章节、沿着不同路径继续叙述以及维护故事章节之间复杂关系的能力。




所以,为何选择 LangGraph?​

  • 复杂控制流:突破传统链式结构的限制,支持循环、分支、人工干预等非线性逻辑。
  • 状态持久化:自动管理多轮交互状态,降低开发复杂度。
  • 多 Agent 原生支持:直接建模 Agent 协作,无需手动调度线程。
  • 企业级扩展:内置检查点(Checkpoint)机制,支持高可靠生产部署。
相关推荐
牛奔3 分钟前
Go 如何避免频繁抢占?
开发语言·后端·golang
想用offer打牌5 小时前
MCP (Model Context Protocol) 技术理解 - 第二篇
后端·aigc·mcp
passerby60616 小时前
完成前端时间处理的另一块版图
前端·github·web components
KYGALYX6 小时前
服务异步通信
开发语言·后端·微服务·ruby
掘了6 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
爬山算法7 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
Moment7 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
草梅友仁8 小时前
墨梅博客 1.4.0 发布与开源动态 | 2026 年第 6 周草梅周报
开源·github·ai编程
Cobyte8 小时前
AI全栈实战:使用 Python+LangChain+Vue3 构建一个 LLM 聊天应用
前端·后端·aigc