在过去的几周里,我们为 LangGraph.js 和 LangGraph Python 推出了新功能,改进了底层工作流和预构建代理。
这些新功能使构建具有更快开发周期、更高效运行以及对图的每个级别更大控制力的工作流变得更加容易。
以下是新功能快速回顾
1. 节点缓存 ♻️
我们通过引入 节点/任务级别缓存 来开始这一周。现在您可以缓存 LangGraph 工作流中单个节点的结果,从而减少冗余计算并加快执行速度。节点缓存对于加速开发周期尤其有用。
2. 延迟节点 🕰️
接下来,我们增加了对 延迟节点 的支持 — 这些节点的执行将被推迟,直到所有上游路径都完成。延迟节点非常适合 MapReduce、共识和代理协作工作流。
3. 模型预/后钩子 🪝
我们预构建的 ReAct 代理现在通过预/后模型钩子支持更多可定制的消息流。模型预钩子非常适合总结消息历史(控制上下文膨胀),而模型后钩子则非常适合安全护栏和人工干预交互。
作为一项不错的奖励,请查看这些 交互式文档,它们可以帮助您可视化 ReAct 代理工作流。
4. 内置提供商工具 🔍
您现在可以使用内置提供商工具,例如 网络搜索 和 Remote MCP 工具与预构建的 ReAct 代理。只需将工具规范字典传递给 tools 列表,即可轻松搞定!
JS 增强功能
除了以上在 Python 和 JS 中都引入的功能外,我们还在 JS 端进行了一些专门的改进。
1. 可恢复的流 ⏩
通过 reconnectOnMount 使您的应用程序能够抵御页面重新加载或网络中断。流会自动恢复 — 没有丢失的 token,也没有额外的代码。
🔗 JS 文档
2. DevX 改进 🧘
最后,我们对 LangGraph JS v0.3 进行了一系列更改,以改善日常开发体验。
.stream()方法现在是完全类型安全的,根据您的 streamMode 返回状态更新和值。代码中不再充斥着 any 和不安全的类型转换。Python 版本很快也会有同样的更新!- 现在为 StateGraph 提供了
.addNode({node1, node2, ...})和.addSequence({node1, node2, ...}),减少了构建简单工作流的样板代码。 - 现在,中断会作为
.invoke()和"values"流模式返回,允许您直接处理中断,而无需稍后调用getState()。
关注 @LangChainAI、@SydneyRunkle (Python) 和 @__dqbd (JS) 以随时了解最新动态。👀