Agently Workflow介绍
Agently Workflow 是 Agently 团队自2023年10月以来持续开发更新并于2024年3月正式置入框架的核心功能。
我们期望通过 Agently Workflow 能够帮助开发者在 Agently AI应用开发框架核心部分为开发者提供的单次模型请求能力增强的基础上,能够对多轮模型请求甚至更复杂的业务逻辑进行编排管理,并保持我们一贯的对保障开发者在开发过程中思路流畅、不被业务不相关信息干扰打断的开发体验的极致追求。
在我们开始着手开发相关的能力的时候,我们还很难让更多的开发者理解我们所看到的模型应用开发的思想和范式,只能遵从“Talk is cheap, show me the code!”的准则一路向前,用我们最终呈现给开发者们的框架能力、表达语法和开发案例来展示我们对这个问题的深度思考。
但幸运的是,时至2024年7月的今日,越来越多的前沿研究的学者、AI应用开发者已经意识到基于多轮模型请求的复杂工作流程对于大模型能力落地的重要性,这些共识的建立,让我们的工作的解释成本变得更低,能够更快跳过解释环节,直接和开发者们一同探索更多基于工作流管理方案的模型应用场景开发的可能性。
在这个过程中,吴恩达博士(Dr. Andrew Ng)对于AI Agentic Workflow概念的阐述,以及翻译工作流演示项目Translation-Agent,对于推动整个行业更大范围的认知建立有着重要的影响作用,在此要特别提出感谢。
同时,我们也关注到有些开发者会关心 Agently Workflow 和另一个知名AI应用开发框架LangChain团队推出的工作流框架LangGraph的差异,我们将简单的能力对比表格呈现如下:
能力项 | LangGraph | Agently Workflow |
---|---|---|
允许成环 | ✅ | ✅ |
按条件分发 | ✅ 使用conditional_edges分发 | ✅ 使用if/elif/else逻辑管理多条件分支 |
支持并行分支 | ✅ | ✅ |
对列表数据拆解分发 | 🟠 可以通过Send+conditional_edges用一种很复杂的方式解决 | ✅ 使用.loop_with()方法分发到子工作流并回收 |
全局环境通讯 | ✅ state | ✅ storage |
工作块上下游通讯 | ❌ | ✅ inputs |
跨工作流运行时通讯 | ❌ | ✅ public_storage |
分支数据读写安全 | 🟠 通过State预定义保障读写安全,增加预定义复杂度 | 🟠 通过inputs和storage将上下游直连和全局数据管理分离,全局数据读写安全部分依赖开发者自行保障 |
工作流检查点 | ✅ | ❌ 下一阶段重点更新目标 |
如果您想要了解更多对比细节,可以点击阅读此文档
Agently Workflow 能力示意图
对比:LangGraph 能力示意图