AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Agent Workflow 设计模式
发布日期:2024-04-30 20:06:04 浏览次数: 1789


今年 4 月初,吴恩达在美国红杉做了一场演讲,介绍了 4 种主要的 Agent Workflow 设计模式。分别是:

1)Reflection:让 Agent 审视和修正自己生成的输出;2)Tool Use:LLM 生成代码、调用 API 等进行实际操作;3)Planning:让 Agent 分解复杂任务并按计划执行;4)Multiagent Collaboration:多个 Agent 扮演不同角色合作完成任务;

他认为 GPT-4 能力很强,但是使用 GPT-3.5 和一个 Agent 工作流结合,也可能产生超过 GPT-4 的效果。与其在期待 GPT-5 的出现提高自己的业务能力,不如用现在的大模型结合 Agent 工作流,提高自己的业务效果。

视频观看地址:

国内 https://www.bilibili.com/video/BV1TD421W7qg

国外 https://twitter.com/dotey/status/1773490384594763882



Reflection (反思)

先说第一种反思,让 Agent 审视生成的输出,做出改进。我使用智谱清言的 GLM-4 做了测试,使用不同的提示词效果如下。

第一种普通模式

你是一个经验丰富的开发人员,请帮我使用 python 生成一段快速排序的算法


第二种带反思模式

你是一个经验丰富的开发人员,我需要你帮我做几步事情,请你按照我标记的顺序一步一步来
1. 先帮我使用 python 生成一段快速排序的算法
2. 作为一个开发人员,请检视一下这段代码,评估他可能有哪些问题
3. 根据你的评估,重新生成一段快速排序算法




可以看到经过一轮反思之后,模型输出了更好的效果。第二种方式事例地址:https://chatglm.cn/share/FoU2x。

这里的关键在于对提示词工程的理解,它的核心不在于你套用了什么模板,而是逻辑。逻辑就是你怎么将一个复杂的的任务拆成科学合理的步骤,并且让前面每一步的结果都成为后面步骤的基础,所有步骤合并在一起得到最终的结果。而不要指望一步得到结果。

还有要在提示词中明确表示,将步骤和结果都打印出来,因为大模型的工作原理是基于前面的 token 去预测后面的 token,如果没有前面步骤的输出,就无法影响后面的结果。


Tool Use (使用工具)

让大模型可以访问 API 调用其他功能协助工作。现在最常用的就是网络搜索了,许多大模型都可以通过结合网络搜索结果来做回复,大大提高了效果。

现在就有很多优秀的结合搜索的工具,比如:秘塔:https://metaso.cn/ 或者 perplexity:https://www.perplexity.ai/。还有一个开源项目 FreeAskInternet,可以在本地运行搜索功能 https://github.com/nashsu/FreeAskInternet。

现在我搜东西基本不用百度,直接用秘塔搜索。



Planning (任务规划)

去年有个大火的 Github 项目叫做 AutoGPT(https://github.com/Significant-Gravitas/AutoGPT),它就已经能做到自主规划任务,设定步骤,执行完成了。

现在大模型的任务规划研究已经有很多了,可以具体看看这篇综述文章:2023年大语言模型智能体规划技术(LLM Agent Planning)研究进展汇总(https://zhuanlan.zhihu.com/p/681969177)。


LLM+P

其中有几项效果比较好的技术,比如将经典的 PDDL 结合大模型。LLM+P 将经典规划器的优势融入语言模型,可以为大多数问题提供最优解,比单独让 LLM 做规划效果更好。在我的早期文章中关于 Agent 的任务规划中就有提到:AI Agent 学习笔记

PDDL(Planning Domain Definition Language)是一种标准化和通用的规划领域语言,用于描述计划领域的形式语言。它能够用于描述可行动作、初始状态和目标状态的语言,帮助规划器生成计划。PDDL 通常被用于 AI 的自动规划问题,例如机器人路径规划、调度问题、资源分配等。使用特定领域的 PDDL 可以帮助 Agents 更好地规划和执行任务,提高任务完成的效率和质量。

CodePlan

现在使用大模型协助编程已经是常态了,不过只能在单页代码层面协助,很难做到在仓库级别的协助。CodePlan 就打算做这个尝试,它包含一系列多步编辑(计划),其中每一步都会在代码位置上调用一个LLM,其上下文来自整个仓库、先前的代码更改和任务特定的说明。CodePlan的核心是使用 LLMs 来生成代码,并使用规划来确定需要的更改。LLMs 可以学习代码的结构和语法,并且可以根据输入生成相应的代码。规划则是指确定需要的更改的过程,这个过程可以根据 LLMs 的输出来确定。

论文地址:https://arxiv.org/pdf/2309.12499.pdf

PromptAgent

PromptAgent 是加州大学的研究团队提出的一个框架,它能够自动优化 Prompt,帮助用户更高效地使用大语言模型。PromptAgent结合大模型的自我反思特点与蒙特卡洛树搜索规划算法,自动迭代检查Prompt,发现不足,并根据反馈对其进行改进,寻找通往最优 Prompt 的路径,可以将平平无奇的初始 Prompt 打造成媲美人类专家手工设计的 Prompt。

论文地址:https://arxiv.org/pdf/2310.16427.pdf


Multiagent Collaboration (多 Agent 角色合作)

最后一个设计模式,多 Agent 合作,它不只是听起来有趣,实际的效果也很不错。ChatDev(https://github.com/OpenBMB/ChatDev) 是一个由 OpenBMB 和清华大学 NLP 实验室,共同开发的大模型全流程自动化软件开发框架。

它使用自然语言描述的想法来创建定制软件,通过多个智能代理协作的方式来实现软件开发的各个阶段,包括需求分析、设计、编码、测试和文档编写。你可以提示 LLM 有时表现得像软件工程公司的 CEO,有时像设计师,有时像产品经理,有时像测试人员。

多 Agent 的合作可以带来多样性,还能模拟真实环境,让不同角色不同专业知识的人合作,产生的结果能在真实环境中更起作用。

这里可以让同一个大模型扮演过个 Agent,也可以使用不同的大模型扮演不同 Agent,也能实现更好的效果。比如 GPT-4 的中文训练语料很少,如果在多 Agent 交互中在生成中文的地方使用国内大模型,会产生更好的效果。

最后

这几种 Agent 模式结合使用创建工作流,让项目自动化产生了可能,一个企业如果可以自动化某些开发任务,让大模型自己确定任务执行规划,自己开发任务,自己测试修改,最后给到我们一个合适的结果,这就会大大提高效率降低企业成本。

不过最后吴恩达也说到了,Agent 现在还不算可靠,有时候有用有时候效果一般,但是我们不妨先尝试看看,也许就能带来惊喜。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询