一小时干出一天工作量?今天,我掀了金牌同事的底牌

作者:modelbest
2024-01-16 11:27:46

周五下午四点,北京刚过小寒。

营销主管 Rebecca 坐在空调吹到 26 度的办公室内,照理她应该感觉温暖舒适、心情愉快。然而,此刻她的额头却冒出了冷汗。电脑屏幕光荧荧地照在一张忧虑的脸上,聊天框里的内容解释了原因:因为同事交接的一次失误,本该在下班前完成的客户业务推荐项目刚刚才被提起。

只剩 1 小时!

这项任务既要提取大量业务数据,又要根据数据分析结果向 B 端和 C 端用户分别发送不同营销信息。根据她之前的工作经验,预估任务完成时间是 1 天……

推到下周?这将损失公司品牌的信誉度。

立即开始?时间来不及了!

找人帮忙?谁有能力帮我?
一个名字从她的脑中一闪而过——“P 经理”!听说 ta 工作效率奇高,尤其擅长数据分析和代码编写,领导曾经惊奇地感叹:“ta 的脑子像台计算机,快得超过了碳基生物的合理范围!”

“那就试试?”Rebecca 带着最后的希望向“P 经理”发出任务需求。

1 小时后……
公司电梯间,偶遇业务副总,“你这周工作很出色,继续保持!”Rebecca 长舒一口气,显然还没有从刚才的极限操作中缓过神来。“P 经理”究竟是怎么 1 小时干出 1 天的工作量的?Rebecca 查看了“P 经理”的工作日志,展开复盘:

01

还原工作场景

这项任务中对多条业务线采取的是相同的处理方式,表明它其实是高重复性工作,但是从数据中判断一条业务线属 B 端业务还是 C 端业务并不简单,评估该业务线并做简要盈利分析也需要大量复杂的、动态的决策,所以这项工作还不足以简单到可以用 RPA(Robotic Process Automation)机器人流程自动化方法来自动执行。

但是“P 经理”找到了完美对策:使用将 Agent 引入 RPA 的 APA(Agentic Process Automation) 智能体流程自动化方案。

一接到 Rebecca 的请求,“P 经理”就开始编写工作流程序。在涉及复杂数据处理与逻辑控制部分,“P 经理”创新性地引入了两个不同角色的 Agent 进行辅助操作:

  •  DataAgent:完成复杂的数据处理流程;
  •  ControlAgent:把控任务执行的逻辑顺序;
                                                                                                                                         “P 经理”执行任务的步骤

总结来说,“P 经理”的工作步骤如下:

a.添加 Webhook 工具来接收任务执行的指令;
b.使用 Google Sheets 来读取 Rebecca 发送的数据文件;
c.引入 ControlAgent 来判断业务线属于 B 端还是 C 端;
d.当业务线属于B端时,引入 DataAgent,利用 Agent 的智能来根据不同业务线的实际情况撰写业务线分析报告,并将报告以邮件形式发送给相关部门 leader;
e.当业务线属于 C 端时,选择调用工具向用户发送产品推荐信息;
f.在工作流被编写、固化下来以后,不同的数据将会自动分流到不同的逻辑进行高效数据处理;
g.完成所有任务,向 Rebecca 报告工作结果。

02

高效工作原理

看完“P 经理”的工作日志,Rebecca 仍然有很多疑问,比如为什么可以把 Agent 引入 RPA,以成为全新的智能体流程自动化方法 APA 呢?

原理就是把工作流构建任务转化为代码生成任务了。”

至于为什么能做到这一点很好理解。

第一,Agent 以 LLM 为核心,而 LLM 本身就是在代码数据中进行预训练的,天然地具有较强的代码能力;

第二,Agent 使用的是基于代码的智能体工作流描述语言 Agentic Workflow Description Language(该语言使用 JSON 实现对工作流中数据的组织与管理,选择 Python 语法实现对工作流的逻辑控制,将控制流中的跳转、循环等直接通过 Python 语法进行表征,同时将工作流中的工具调用封装为 Python Function)。

将工作流构建任务转化为代码生成任务简直是专业对口!

03

兼顾效率和智能

RPA、Agents、APA 的效率与智能对比表

Rebecca 是知道 RPA(Robotic Process Automation)机器人流程自动化方法的,它利用软件来自动化重复性、规则性高的工作,在金融、零售行业或者供应链管理场景下很常见,已经将很多工作者从原来机械、繁琐的日常工作中解放出来。

使用传统 RPA 工作流方法干活的特点是:非常高效,但不智能,稍微复杂一点的工作就离不开人的监督或参与。

而普通的基于大语言模型的 Agent 正好相反,在办事效率上不尽如人意,但是在智能维度上表现很好。

                                                                                 RPA、Agents、APA 的效率与智能范式转变图
这么看来,“P 经理”的智能体流程自动化工作方法 APA 结合了 RPA 和 Agent 的优点,既高效率、又高智能,一点也不“偏科”,“鱼和熊掌兼得”。

揭秘底牌——“P经理”到底是谁?

“P 经理”其实是化名,ta 的全名叫“ProAgent”,是一个以大语言模型为基础,引入了“智能体流程自动化”(APA)的超级智能体,目标实现自动化复杂任务工作流的构建和执行。

2023 年 11 月,APA 研究由 面壁智能 联合 清华大学 THUNLP 实验室 的研究人员共同发布,同时相关研究论文也已公开发表: 

 

 ➤  项目地址  

https://github.com/OpenBMB/ProAgent/

 ➤  论文地址  

https://arxiv.org/abs/2311.10751

幕后故事:

揭秘“P 经理”的真实身份之后,再来重新复盘这个商业场景下的工作过程应该如下:

ProAgent 通过自主编写代码的方式,自动构建工作流,在涉及复杂数据处理与逻辑控制的部分适时引入 DataAgent ControlAgent,或在需要的部分调用恰当的工具来解决问题,工作流构建完毕自动开始执行,整个过程都无需人工介入。

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 工作流构建的性能。

工作流执行过程基于 Python interpreter。给定一个工作流,其对应的 mainWorkflow 函数用作为工作流执行的入口来开始整个执行过程。执行过程遵循 Python 代码执行规则,即按照顺序逐行执行。一旦 mainWorkflow 函数返回,工作流执行就成功完成了。