Agentic Workflow 指的是一种在生成式 AI 的人机协同中,通过不同模式(如 Embedding、Copilot、Agent)下的角色协作流程来完成任务的方式。
在 Agent 模式中,AI 完成大多数工作。它使用 Multiagent Collaboration 的方法,让不同角色的 Agent 按照任务要求自主规划选择工具、流程进行协作。例如,作为产品经理,可将产品功能设计任务拆解为多个独立任务,遵循不同工作流,生成初步结果后再修改。
Agentic Workflow 还通过学会调用外部不同类型 API 来获取模型缺少的额外信息等。其动作的决策需要根据大模型结合问句、上下文规划、各类工具来确定。
从提升效率、提高质量、节省时间的角度思考,Agentic Workflow 可以将复杂任务分解成较小步骤,融入更多人类参与的规划与定义,减少对 Prompt Engineering 和模型推理能力的依赖,提高 LLM 应用面向复杂任务的性能。
吴恩达通过开源项目 ChatDev 举例,让大语言模型扮演不同角色相互协作开发应用或复杂程序。AI Agent 的基本框架包括“LLM +规划+记忆+工具使用”,其中 LLM 扮演“大脑”,规划包括子目标分解、反思与改进,记忆分为短期和长期,工具用于辅助完成任务。
生成式AI的人机协同分为3种产品设计模式:Embedding(嵌入式)、Copilot(副驾驶)、Agent(智能代理),在这3种模式下,人与AI的协作流程也是有所差异。Embedding模式:人类完成大多数工作。Copilot模式:人类和AI协同工作。Agents模式:AI完成大多数工作。Agentic Workflow驱动角色工作流变革使用Multiagent Collaboration的方法,让不同角色的Agent按照根据任务要求自主规划选择工具、流程进行协作完成一件任务。我作为一个产品经理角色,我的诉求很简单,需要完成某一个产品功能设计,这个时候通过Agents拆解成多个独立的任务,然后遵循不同的工作流,最后给我生成一份在大体上符合我期望的输出结果,我再修修改改就能够达到可用的阶段了。所以,我从原子能力层重新思考,面对这个快速变化的时代,我该如何去重塑我自己的工作流,以不变应万变呢?我抽象化拆解了大模型的一些底层能力,例如:翻译、识别、提取、格式化等等,其实所有的一些都会围绕几个词“输入”、“处理”、“输出”、“反馈”。
通过学会调用外部不同类型API来获取模型(通常在预训练后很难修改)中缺少的额外信息,代码执行能力,访问专有信息源等(例如获取此时此刻的天气、联网网搜索等)Action(动作)根据上述大模型结合问句(Query)、上下文的规划(Context)、各类工具,最终大模型才能决策出最终需要执行的动作是什么。Agentic Workflow解决什么问题?我认为是可以从从提升效率、提高质量、节省时间的角度上进行思考。好比一台“印钞机”,按照指定好的流程重复着机械性的活动,但是它在源源不断的产生价值。Productivity(效率)=产生价值的速率Agentic Workflow通过将一个复杂的任务分解成较小的步骤,在整个过程中中融入了更多人类参与到流程中的规划与定义。它减少了对Prompt Engineering和模型推理能力的依赖,提高了LLM应用面向复杂任务的性能,更丰富、更精确。下面是Coze(扣子)平台上的工作流编排器的示例,这个话其实是一个抽卡游戏的流程,你可以看到在整个工作流中间会有很多节点前后之间有节点以及连线,然后每个节点之间它是通过不同的定义,比如说图片处理工具,或者说是通过多模态模型进行图片理解工具等等其他各种各样的工具组合而成。
吴恩达通过开源项目ChatDev进行举例,你可以让一个大语言模型扮演不同的角色,比如让一个Agent扮演公司CEO、产品经理、设计师、代码工程师或测试人员,这些Agent会相互协作,根据需求共同开发一个应用或者复杂程序。AI Agent基本框架OpenAI的研究主管Lilian Weng曾经写过一篇博客叫做《LLM Powered Autonomous Agents》,其中就很好的介绍了Agent的设计框架,她提出了“Agent = LLM +规划+记忆+工具使用”的基础架构,其中大模型LLM扮演了Agent的“大脑”。Planning(规划)主要包括子目标分解、反思与改进。将大型任务分解为较小可管理的子目标处理复杂的任务。而反思和改进指可以对过去的行动进行自我批评和自我反思,从错误中学习并改进未来的步骤,从而提高最终结果的质量。Memory(记忆)分为短期记忆和长期记忆。其中短期记忆是指的将所有的上下文学习看成是利用模型的短期记忆来学习;而长期记忆是提供了长期存储和召回信息的能力,它们通常通过利用外部的向量存储和快速检索来存储和召回信息。Tools(工具)