我们用 LangChain 把一个简单的 Agent 跑起来了。但任务一复杂,问题就来了:
先搜索还是先分析?
失败要不要重试?
结果不合格怎么返工?
前面的状态怎么传给下一步?
这时候,一条简单的执行链就不太够用了。
1️⃣ 从“链”变成“图”
简单 Agent 可能是:
输入 → 模型 → Tool → 输出
复杂 Agent 却可能:
规划 → 搜索 → 分析 → 检查
检查通过 → 输出
检查失败 → 返回搜索于是,分支、循环、重试、条件判断都出现了。 LangGraph 可以把每一步设计成 Node(节点),再通过 Edge(边) 决定下一步去哪。 Agent不再只能“一条路走到底”。
2️⃣ State为什么重要?
复杂任务还有一个关键问题: 前面做过什么,后面得知道。 LangGraph通过 State(状态) 在节点间传递信息。 用户问题、搜索结果、Tool返回值、历史消息、检查结果……都可以放进State。 这样Agent每走一步,都能基于已有信息继续执行。
3️⃣ 什么项目适合LangGraph?
比如研究Agent:
制定计划 → 搜索 → 分析 → 检查
质量不够?
↩️ 重新搜索
检查通过?
➡️ 生成报告
这种需要多步骤、条件路由、循环重试、状态管理、人工介入的任务,就是LangGraph擅长的场景。
但如果只是:
提问 → Tool → 回答
就没必要强行上复杂架构。这正是LangGraph的价值。
