Attach Workflow把工作流装载到Agent上
Agentic Request和Workflow的更深层关系
相信熟悉 Agently 框架的开发者已经理解:
-
Agently Agentic Request 能够帮助开发者更轻松地表达自己的单次业务请求诉求;
-
Agently Workflow 则能够组合多次模型请求,通过编排完成更复杂的任务;
可能有的开发者就会提出一个疑问:Agentic Request和Workflow是两个独立的能力吗?似乎隐隐约约感觉,这二者之间还有可以进一步融合的可能?
的确如此,其实,您已经在使用 Agently 框架的工具调用(Tool Using)能力时,使用到了类似的能力融合效果。因为 Agently 的Agent实例在进行工具调用时,就使用了一个内置的工具调用ReAct流程,通过“调用决策及参数生成”-“调用”-“整合结果给出回复”将工具调用结果整合到Agent请求的最终结果中。
但这样的方式存在两个问题:
-
虽然ReAct是一个业界知名的方法论,但是实际落地实现的方案上仍然存在不少差异,无论是使用框架内置的工具调用方案,还是直接使用模型厂商提供的Function Calling方案,都存在明显的“黑盒”问题,即开发者无法知道实际的工具调用决策设计过程,只能看到最终调用与否的指令以及相关的调用参数,于是,开发者只能不断调整输入的工具说明参数信息,希望能够“撞大运”被目标模型理解和采纳,导致整个适配、测试过程如同“开盲盒”;
-
如果开发者希望进一步定制、调整、优化工具调用的决策过程,甚至希望跳出ReAct方法论的限制,提出新的决策链条方案,似乎也是一件很困难的事,并且,即使提出了一个更好或更适用于业务场景的决策链条方案,又如何将它做成一个轻松调用、轻松复用的方法,在之后的业务开发中被复用呢?
看到这里,可能有些开发者已经有新的思路了:
Agently Workflow 已经为开发者提供了一套编排、组织、管理复杂模型请求的方案,有没有可能将一套做好的Workflow绑定到Agent实例上,让它成为Agent实例处理特定任务时的一套标准处理流程?
就以工具调用为例,有没有可能形成下图这样的融合关系: