Sunday 的面试指南

LangChain × LangGraph 分层编排:组合确定性流程与自主 Agent

《Agent 大模型 0 到 1 系统课》 · 程序员 Sunday

你正在阅读本节的免费试读。完整课程 ¥499,可在文末添加作者微信购买。

上一小节,咱们使用 LangGraph 实现了一套研发任务分流流程。

这套流程有三个功能:

  • 任务不存在,就要求用户补充任务编号
  • 任务已经完成,就直接结束
  • 任务仍在进行中,才进入后续处理

这套流程还是蛮稳定,因为每条路径都已经由代码提前写好了。

但是,如果进行中的任务还需要继续分析交付风险,问题就没有这么固定了。

Agent 得先查询测试报告。

如果测试已经全部通过,就不需要再查失败详情。

但是,如果测试失败了,还得继续查询失败位置、断言内容和实际值,最后再生成风险结论。

这里面既有确定的流程,也有不确定的决策。

因此,这样的需求,如果全部交给 LangGraph ,咱们得把每一种 Tool 调用顺序都提前写出来。

而如果全部交给 createAgent(),模型又可能拿一个已经完成或者根本不存在的任务继续分析,白白消耗模型调用。

所以,这一小节要解决的问题就是:

使用 LangGraph 控制确定的业务流程,再把真正需要模型判断的部分交给 LangChain Agent。

也就是 LangChain 和 LangGraph 配合使用,来把 组合确定性流程 与 自主 Agent 进行组合。

如果用个专业的名字表示,那就是 Workflows and agents

其中:

  • Workflow 拥有预先确定的代码路径
  • Agent 则会动态决定自己的处理过程和 Tool 使用方式
LangChain × LangGraph 分层编排:组合确定性流程与自主 Agent 配图 1

先看一下最终结果

本节代码在:

/Code/Node/第五章/08-langchain-langgraph-workflow

模型环境变量和前几节保持一致,直接执行:

npm run demo

代码运行之后,程序会依次处理三个任务:DEV-1024、DEV-2048、DEV-9999

先看正在进行中的 DEV-1024:

LangChain × LangGraph 分层编排:组合确定性流程与自主 Agent 配图 2

这里同时出现了两条执行路径。

  • 外层的 LangGraph 执行路径:load_task → risk_agent → finalize_analysis
  • 内层的 Agent 自己决定的 Tool 调用路径:get_latest_test_report → get_failure_detail

接着再看已经完成的 DEV-2048:

LangChain × LangGraph 分层编排:组合确定性流程与自主 Agent 配图 3

任务已经完成,普通代码直接给出了处理结果,模型根本没有被调用。

不存在的 DEV-9999 也是一样:

本节试读已结束

继续学习,解锁完整课程

购买《Agent 大模型 0 到 1 系统课》,
继续阅读本节剩余内容与后续课程。

扫码添加作者微信,备注「Agent 课程」

添加作者微信 · 购买完整课程

解锁完整课程 ¥499

《Agent 大模型 0 到 1 系统课》
扫码添加微信,备注「Agent 课程」,购买后由 Sunday 提供完整内容的学习方式。

扫码添加作者微信 LGD_Sunday,购买 499 元 Agent 课程

微信昵称:LGD_Sunday
手机上可长按保存二维码,再用微信扫一扫识别。

保存微信二维码