LangGraph经典例子

如果说 LangChain 的经典例子是 RAG,那么 LangGraph 的经典例子就是 状态机(State Machine)+ Agent 工作流

LangGraph 的核心思想可以概括为:

节点(Node) + 状态(State) + 边(Edge) = AI Workflow

一个最经典的流程如下:

        START
          │
          ▼
    Analyze Question
          │
     ┌────┴────┐
     │         │
 Need Tool?   No
     │         │
     ▼         ▼
 Call Tool   Answer
     │
     ▼
 Generate Answer
     │
     ▼
        END

示例1:Hello World(最简单)

LangGraph 最基础的例子。

from typing import TypedDict
from langgraph.graph import StateGraph, END

class State(TypedDict):
    message: str

def hello(state: State):
    return {
        "message": state["message"] + " World!"
    }

graph = StateGraph(State)

graph.add_node("hello", hello)

graph.set_entry_point("hello")

graph.add_edge("hello", END)

app = graph.compile()

print(app.invoke({
    "message": "Hello"
}))

输出:

{
    "message": "Hello World!"
}

示例2:多个节点组成流水线

例如:

START
   │
   ▼
Clean Text
   │
   ▼
Translate
   │
   ▼
Summarize
   │
   ▼
END

代码:

graph.add_node("clean", clean)
graph.add_node("translate", translate)
graph.add_node("summary", summary)

graph.add_edge("clean", "translate")
graph.add_edge("translate", "summary")
graph.add_edge("summary", END)

这就是 AI Workflow。


示例3:条件分支(经典)

这是 LangGraph 最重要的能力。

例如:

          Question
              │
              ▼
        Analyze Intent
       ┌─────────────┐
       ▼             ▼
Search Needed     Direct Answer
       │             │
       ▼             ▼
Search API        LLM
       │             │
       └──────┬──────┘
              ▼
             END

代码:

def route(state):
    if state["need_search"]:
        return "search"
    return "answer"

graph.add_conditional_edges(
    "analyze",
    route
)

这也是 LangGraph 最经典的示例。


示例4:循环(Loop)

LangGraph 可以实现 Agent 的思考循环。

      START
         │
         ▼
     Think
         │
         ▼
    Tool Call
         │
         ▼
   Enough Info?
      │      │
     No     Yes
      │      │
      └──►Think
             │
             ▼
            END

代码:

graph.add_conditional_edges(
    "tool",
    should_continue
)

def should_continue(state):
    if state["done"]:
        return END
    return "think"

这就是 ReAct Agent 的核心。


示例5:RAG Workflow

很多公司都是这么做的:

User
 │
 ▼
Rewrite Query
 │
 ▼
Retriever
 │
 ▼
Rerank
 │
 ▼
LLM
 │
 ▼
Answer

比 LangChain 的 RetrievalQA 更灵活。

例如:

Query

↓

Rewrite

↓

Vector Search

↓

Top20

↓

Reranker

↓

Top5

↓

LLM

每一步都是一个 Node。


示例6:Human in the Loop(非常经典)

很多企业都需要人工审批。

Generate SQL
      │
      ▼
 Human Review
      │
 ┌────┴─────┐
 │          │
Approve   Reject
 │          │
 ▼          ▼
Execute   Retry
 │
 ▼
END

LangGraph 支持:

  • interrupt

  • resume

例如:

graph.pause()

等待人工:

Approve?

用户点击:

Resume

继续运行。


示例7:多 Agent(最经典)

例如:

                 Supervisor
                     │
      ┌──────────────┼──────────────┐
      ▼              ▼              ▼
 Researcher      Coder         Writer
      │              │              │
      └──────────────┼──────────────┘
                     ▼
                  Final Answer

Supervisor 根据任务决定调用哪个 Agent。

例如:

用户:

帮我写一个关于 AI 的博客

Supervisor:

Research Agent
↓

Code Agent(如果需要)

↓

Writer Agent

↓

Answer

示例8:Plan → Execute(最经典)

OpenAI、Anthropic 都很喜欢这种 Workflow。

Question
    │
    ▼
Planner
    │
    ▼
Task1
Task2
Task3
    │
    ▼
Executor
    │
    ▼
Merge
    │
    ▼
END

例如:

帮我分析 Tesla 股票

Planner:

1. 财报

2. 新闻

3. 技术指标

4. 总结

Executor:

执行1

执行2

执行3

Merge:

最终报告

示例9:Reflection(自我反思)

论文里最经典的 Agent。

Generate
    │
    ▼
Critic
    │
 ┌──┴─────┐
 │        │
Good    Bad
 │        │
 ▼        ▼
END   Rewrite
          │
          ▼
       Critic

直到满意。


示例10:Deep Research(目前最火)

几乎所有 Deep Research 产品都可以抽象成:

User
 │
 ▼
Planner
 │
 ▼
Search
 │
 ▼
Read
 │
 ▼
Need More?
 │
 ├────Yes────┐
 ▼           │
Search Again │
 │           │
 └───────────┘
 ▼
Write Report
 │
 ▼
END

整个过程就是一个 Graph。


LangGraph 的完整能力图

                    START
                      │
                Analyze Task
                      │
          ┌───────────┴────────────┐
          ▼                        ▼
      Direct LLM               Need Tool
          │                        │
          ▼                        ▼
      Generate                 Call Tool
          │                        │
          ▼                        ▼
      Reflection <──────────── Tool Result
          │
          ▼
     Human Approval
          │
          ▼
      Final Answer
          │
          ▼
                     END

为什么现在很多项目推荐 LangGraph?

相比传统 LangChain 的线性 Chain,LangGraph 更适合复杂、可控的 AI 工作流,因为它天然支持:

  • 状态管理:节点之间共享和更新统一状态。

  • 条件分支:根据模型或程序判断动态选择执行路径。

  • 循环与重试:支持 ReAct、多轮搜索、自我反思等模式。

  • 人工介入(Human-in-the-loop):可暂停执行,等待审批或输入后继续。

  • 多 Agent 协作:通过 Supervisor、Planner 等模式组织多个智能体。

因此,在实际项目中,经常会看到这样的演进路线:

ChatBot
    ↓
RAG
    ↓
Tool Calling
    ↓
Agent
    ↓
LangGraph Workflow
    ↓
Multi-Agent System

其中,Planner + ExecutorRAG + ReflectionSupervisor + 多 Agent 是目前最具代表性的 LangGraph 经典应用模式,也是构建复杂 AI 应用时最值得掌握的几个案例。

posted @ 2026-07-01 18:47  jerry-mengjie  阅读(18)  评论(0)    收藏  举报