如果需要回答下述问题:
“满足Sales Order SO08E34需要采购多少零件?”
你会选择哪种Agent架构?
-
ReAct:Agent利用ReAct框架逐步求解;
-
One-Shot:Agent“一次成型”指令序列(Routine)后作答。
一个月前,ReAct是不二之选,但o1之后,One-Shot也许是未来。
One-Shot
最新一轮融资后,OpenAI的市值已达1570亿美元,o1的AGI大饼想必在本次融资中发挥了关键作用。虽然OpenAI将o1主要定位于Science、Math和Coding等领域,但o1所展现的一些“偏门”能力可能会有意想不到的效果。
o1的偏门能力之一就是善于将复杂的业务描述(Policy & Procedure)准确地编排为可执行的指令序列(Routine),因其首次准确率颇高,我亦称之为One-Shot。
例如,在OpenAI的Cookbook《Using reasoning for routine generation》中,o1就展示了其将“如何删除付款方式”的帮助文章转化为Routine的能力(图1):
图1:o1将复杂的业务描述转化为Routine(部分截取),点击阅读原文访问该Cookbook
在该例中,o1可以将长度为300 tokens的Policy一次性编排为长度约为1000 tokens 的复杂Routine(图2),该Routine由7个Action和若干函数定义构成,每个Action又包含子Actions和执行逻辑(例如,IF…ELSE…):
图2: 流程图化的Routine(部分截取)
其中,Action可以被分为四类:
-
Function Call(黑色):生成并调用相关API,例如验证用户或取消订阅;
-
Knowledge Retriever(深蓝):调阅相关政策和知识;
-
向用户索取信息(黄色);
-
指导如何通知客户(浅蓝)。
而上述设计的优势在于,当用户查询如何删除付款方式时,执行Routine的Agent不仅仅可以提供操作建议,更可以在用户授权的情况下完成相关操作。
我们进一步比较了主流大模型与o1的One-Shot能力。在实验中,主流大模型转化简单业务描述(~100 tokens)为中等长度的Routine(~500 tokens)的首次准确率只有60%;而o1则可以理解更复杂的业务描述(> 500 tokens),稳定地输出超长的Routine(> 1000 tokens),在无需Few-Shots的情况下保障首次准确率>90%(表1)。
表1:主流大模型 vs o1的One-Shot能力
One-Shot Agent
让我们回到一开始的问题:
“满足Sales Order SO08E34需要采购多少零件?”
如果Agent第一次运行回答:“150个零件。”
而第二次回答:“200个零件。”
该Agent可能会被马上干掉。
与AI领域众多随机性问题(Stochastic)不同(例如,Alpha Go),企业在实际商业活动中所面临的绝大多数都是确定性问题(Deterministic),即特定的问题通过固定的流程和算法可以得到确定的解。
所以,当回答确定性问题时,Agent理论上既不需要“Think Step-by-Step”,也无需通过Thought-Action-Observation步步为营,而是使用o1这种强力模型一次性生成遵从于固有流程和算法的Routine,并通过Routine保证回答的确定性。
遵循以上逻辑,回答“多少零件”问题需要两步:
第一步,利用o1强悍的One-Shot能力将MRP生成流程一次性转化为可执行的Routine(图3),该Routine由完成计算MRP所需的Function Call构成(实体和算法):
图3:Routine生成
第二步,在用户查询零件需求时,将问题映射为上述Routine,并调用大模型驱动该Routine的执行(图4,此处的Execution LLM不是o1):
图4:Routine执行
我们可称符合上述设计原则的Agent为“One-Shot Agent”。实际上,OpenAI在其Cookbook中已经暗示了此类Agent的架构:
When developing customer service solutions, one of the initial steps involves transforming knowledge base articles into a set of routines that an LLM can comprehend and follow. A routine, in this context,refers to a set of step-by-step instructions designed specifically for the LLM to execute efficiently.
相较于全自动的ReAct和手工的Copilot,半自动化的One-Shot架构有如下优势(表2):
-
既免去了ReAct全自动的“踌躇”,也不像Copilot一样需要人工构建Routine;
-
鉴于流程和规则的确定性,被验证过的Routine可以反复利用,提升准确度并降低了token的用量;
-
同时,当业务规则发生变化时,One-Shot也毋需像Copilot完全由人工调整Routine,而只需利用业务内容重新生成Routine即可。
表2:比较ReAct,Copilot和One-Shot在Routine生成和维护上的异同
当然,o1还未正式发布,One-Shot Agent在实际环境中的效果还有待检验,但其未来的方向已初见端倪。
方向
类似于开头的问题,One-Shot Agent的机制也应能够高效地应对下述问题:
“北区的销售额如何在今年提升20%?”
“如果增加这个新功能,用户会喜欢吗?”
“这批椅子的生产计划和原料采购应如何安排?”
…
这些问题隶属于决策体系,通常而言,企业需要协调数据、洞察,以及人的智慧,并遵循固定的流程求解这些问题。求解过程大部分由人,少部分由系统驱动,或昂贵或自动化程度低。尽管SaaS已耕耘多年,决策体系依然是一块“洼地”。
但伴随着“慢思考”大模型的演进,One-Shot Agent的特征非常适合于跨平台并协作人类解答流程复杂的决策问题。我个人认为One-Shot Agent未来将在决策体系中将扮演相当关键的角色,而这也是我们未来探讨的方向。