周五下午四点,北京刚过小寒。
营销主管 Rebecca 坐在空调吹到 26 度的办公室内,照理她应该感觉温暖舒适、心情愉快。然而,此刻她的额头却冒出了冷汗。电脑屏幕光荧荧地照在一张忧虑的脸上,聊天框里的内容解释了原因:因为同事交接的一次失误,本该在下班前完成的客户业务推荐项目刚刚才被提起。
这项任务既要提取大量业务数据,又要根据数据分析结果向 B 端和 C 端用户分别发送不同营销信息。根据她之前的工作经验,预估任务完成时间是 1 天……
推到下周?这将损失公司品牌的信誉度。
立即开始?时间来不及了!
“那就试试?”Rebecca 带着最后的希望向“P 经理”发出任务需求。
这项任务中对多条业务线采取的是相同的处理方式,表明它其实是高重复性工作,但是从数据中判断一条业务线属 B 端业务还是 C 端业务并不简单,评估该业务线并做简要盈利分析也需要大量复杂的、动态的决策,所以这项工作还不足以简单到可以用 RPA(Robotic Process Automation)机器人流程自动化方法来自动执行。
但是“P 经理”找到了完美对策:使用将 Agent 引入 RPA 的 APA(Agentic Process Automation) 智能体流程自动化方案。
一接到 Rebecca 的请求,“P 经理”就开始编写工作流程序。在涉及复杂数据处理与逻辑控制部分,“P 经理”创新性地引入了两个不同角色的 Agent 进行辅助操作:
总结来说,“P 经理”的工作步骤如下:
看完“P 经理”的工作日志,Rebecca 仍然有很多疑问,比如为什么可以把 Agent 引入 RPA,以成为全新的智能体流程自动化方法 APA 呢?
至于为什么能做到这一点很好理解。
第二,Agent 使用的是基于代码的智能体工作流描述语言 Agentic Workflow Description Language(该语言使用 JSON 实现对工作流中数据的组织与管理,选择 Python 语法实现对工作流的逻辑控制,将控制流中的跳转、循环等直接通过 Python 语法进行表征,同时将工作流中的工具调用封装为 Python Function)。
将工作流构建任务转化为代码生成任务简直是专业对口!
RPA、Agents、APA 的效率与智能对比表
Rebecca 是知道 RPA(Robotic Process Automation)机器人流程自动化方法的,它利用软件来自动化重复性、规则性高的工作,在金融、零售行业或者供应链管理场景下很常见,已经将很多工作者从原来机械、繁琐的日常工作中解放出来。
而普通的基于大语言模型的 Agent 正好相反,在办事效率上不尽如人意,但是在智能维度上表现很好。
“P 经理”其实是化名,ta 的全名叫“ProAgent”,是一个以大语言模型为基础,引入了“智能体流程自动化”(APA)的超级智能体,目标实现自动化复杂任务工作流的构建和执行。
2023 年 11 月,APA 研究由 面壁智能 联合 清华大学 THUNLP 实验室 的研究人员共同发布,同时相关研究论文也已公开发表:
➤ 项目地址
https://github.com/OpenBMB/ProAgent/
➤ 论文地址
揭秘“P 经理”的真实身份之后,再来重新复盘这个商业场景下的工作过程应该如下:
ProAgent 构建并执行复杂工作流
➤ 更多技术细节
ProAgent 使用 ReACT 模式逐步构建工作流,其共包含四个工作流构建步骤:
1.Action Define:决定在工作流中添加什么工具。
2.Action Implement:将工具的输入/输出参数转化为 JSON 结构,同时将工具的调用封装为Python函数。
3. Workflow Implement:定义一个 mainWorkflow 函数,用以组织整个 workflow 的逻辑控制与数据处理。
4. Task Submit: 当 ProAgent 构建完 workflow 时以该操作标识构建过程结束。
另外,为了优化 ProAgent 的效果,又引入了几个优化技巧:
1. Testing-on-Constructing:在构建过程中,ProAgent 会在每一次修改工作流之后对工作流进行测试,以保证工作流的正确性。
2. Function Calling:工作流构建的所有操作均封装为了 GPT-4 的 Function Calling,从而提高对工作流构建过程的控制。
3. Chain-of-Thought:ProAgent在编写工作流代码时,需要对于每个 function 都要给出注释 comment 和一个编写 plan,从而提高 ProAgent 工作流构建的性能。