在今年的Sequoia Capital AI Ascent 2024大会上,著名人工智能专家Andrew Ng受邀做了一场演讲。演讲过程中,他提出了一个很有趣的新概念——”代理工作流程(Agentic Workflow)”。
我在观看完演讲之后,立刻就对这种法进行了实践和尝试,发现其效果极为出色。下面,我将对代理工作流程这一概念进行全面介绍,并分享笔者自身在实践运用过程中的体会和思考。
代理工作流(Agentic Workflow)是与大型语言模型(LLM)交互和完成任务的一种新方法。传统上,我们与LLM交互时,会直接输入一个提示(prompt),LLM然后会基于这个提示直接生成一个输出结果。这种做法有点像让一个人一次性从头到尾写出一篇文章,没有反复修改和迭代的机会。
代理工作流则更像是将写作过程分解为多个步骤:首先是根据主题大纲写一个草稿,然后是对草稿进行分析、修改和补充,之后是进一步完善和润色,如此反复迭代,直到最终生成期望的结果。
在这个过程中,我们不是直接向LLM提出”写一篇文章”这样的指令,而是将任务分解为多个子任务,引导LLM按步骤完成每个子任务。每个子任务的输出将作为下一步的输入,以此循环往复。
Andrew Ng在演讲中举了一个实际案例,说明了代理工作流程在编码任务上的性能表现。他的团队使用了一个名为HumanEval的编码基准测试集,测试了传统的”零示例提示”方法和代理工作流程方法在解决代码问题时的结果差异。
测试任务是:”给定一个非空整数列表,返回所有偶数位置元素的和”。使用零示例提示方法,也就是直接让AI生成解决方案代码,GPT-3.5的正确率仅为48%,GPT-4的正确率为67%,表现都相对一般。
但是,当采用代理工作流程,将任务分解为分析问题、迭代编写代码、测试和调试等多个步骤时,GPT-3.5的表现甚至超过了GPT-4使用零示例提示的正确率。Ng指出,在GPT-4模型上应用代理工作流程,也同样取得了非常出色的结果。这个案例生动地展示了,即使是较低版本的大型语言模型(如GPT-3.5),通过将任务分解为多个步骤并进行反复迭代优化,也能在解决复杂问题上达到超越一次性直接生成输出的卓越性能。
之后Andrew 给出了四种常见的agent 设计模式。分别是Reflection、Tool use、Planning和Multiagent collaboration。
这种模式涉及AI系统通过自我反馈和迭代完善来提高自身能力。通过这种方式,AI系统能够在生成初始解决方案后,通过进一步的反思和分析,提高其输出的质量和准确性。这种方法不仅可以用于编程任务,还可以扩展到其他领域,如写作、设计或任何需要迭代改进的任务。
相关论文包括:
“Self-Refine: Iterative Refinement with Self-Feedback” by Madaan et al. (2023)
“Reflexion: Language Agents with Verbal Reinforcement Learning” by Shinn et al. (2023)
通过这些方法,语言模型可以变得更加自适应和灵活,更好地满足用户的需求。实际上,这也是人们在实际应用中常用的方式,通过多轮对话和部分矫正,使得AI的返回答案能够达到更加满意的结果。
工具使用范式源于早期计算机视觉领域的探索。由于当时的语言模型无法处理图像,唯一的选择是生成可调用视觉API的函数,如图像生成、目标检测等。随着GPT等多模态语言模型的出现,工具使用概念得以推广,语言模型不再被视为孤立的系统,而是与外部工具和知识库相连的智能代理。
相关论文有:
“Gorilla: Large Language Model Connected with Massive APIs” by Patil et al. (2023)
“MM-REACT: Prompting ChatGPT for Multimodal Reasoning and Action” by Yang et al. (2023)
通过工具使用,语言模型可以执行诸如网页搜索、代码生成、个人效率等多种任务,大大超越了其原有的自然语言处理能力。未来,工具使用或许将成为语言模型发展的重要方向,赋予它们更强的计划、推理和行动能力。
规划是指训练语言模型进行推理、策划和分解复杂任务的能力。这使得语言模型不仅能回答问题,还能主动制定并执行行动计划。通过规划能力,语言模型可以自主分解任务,确定所需的子步骤和工具,并协调不同模型的调用。在Andrew提到的一个场景中,语言模型需要先检测图像中人物的姿势,再调用图像生成模型合成新图像,最后结合语音合成输出结果。
相关论文包括:
“Chain-of-Thought Prompting Elicits Reasoning in Large Language Models” by Wei et al. (2022)
“HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face” by Shen et al. (2023)
规划赋予了语言模型一种”工具使用”的元能力,使其不再被限制在特定领域,而是能够灵活地组合不同专家模型完成各种复杂任务。
多智能体协作是指让多个语言模型或智能体通过交互协作来完成复杂任务。例如,可以模拟不同角色的专家(如医生、护士等)共同完成诊断和治疗方案的制定。该模式的关键在于训练智能体之间进行高效协作,明确分工,避免冲突和矛盾。
相关论文有:
“Communicative Agents for Software Development” by Qian et al. (2023)
“AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation” by Wu et al. (2023)
未来,多智能体系统或许将成为解决复杂问题的有力工具,展现出超越单一智能体的协同能力。
通过合理运用”反思”、”工具使用”、”规划”和”多智能体协作”等代理推理设计模式, Andrew Ng预计今年人工智能系统的能力将获得爆炸式增长,挺进前所未有的复杂应用领域。不过,这种全新的代理工作流程与传统模式有根本区别,需要我们投入更多耐心,等待智能体在后台逐步分析、规划、迭代,往往需数分钟甚至数小时才能获得最终结果,这与人类追求即时反馈形成鲜明对比。
另一个值得重视的趋势是对token快速生成能力的需求。在代理工作流中反复迭代是常态,快速生成token的模型即使质量略低,也可能通过多轮优化最终超越单次质量更高但生成慢的模型。代理推理工作流开辟了人工智能发展的新视野,通过结构化交互唤起AI潜能,展现出无限可能。
我个人在2023年开始使用gpt3 等工具时,一直都是类似于zreo shot prompt 的使用模式。即不给出任何提示词直接向大模型提出需求。例如翻译文章或者修改代码,但是在实际的操作中我慢慢的学会了给予大模型相应的上下文和提示并且在反复的对话中的到自己满意的结果。但是这些都是仅仅局限于单个模型的对话。并非如上文提到的多智能体协作的方式。
过去,我在撰写文章的过程中会根据关键词在网上进行大量的搜索,以找到合适的资料和视频。找到资料后,我会进行大量的阅读、归纳和总结。随后,将这些资料结合自己的实践和案例进行分析,并翻译成英文。然后,通过SEO优化工具对我的文章进行优化,并委托设计师制作合适的文章插图。这些环节往往会耗费我大量的时间和精力,因为解读文本和视频都需要花费时间去阅读。
于是,我根据自己平时的工作流程设计了一个智能代理工作流(agentic workflow):
搜索和总结:
使用Perplexity搜索相关网站和论文,自动提取关键信息和要点。
使用GPTs对YouTube视频内容进行自动摘要和总结。
文章梳理和结构化:
使用AI工具对总结的内容进行梳理,自动生成文章的标题和结构。
根据生成的结构,对内容进行进一步的整理和优化。
翻译和优化:
使用GPTs将文章从中文翻译成英文,确保翻译的准确性和流畅性。
利用SEO优化工具对英文文章进行关键词优化和格式调整,提高搜索引擎排名。
配图生成:
利用GPTs生成配图的提示词。
使用Midjourney生成与文章主题相关的配图,增强文章的视觉吸引力。
我通过提示词为这四个环节提供了充足的设定和上下文,从而大幅提升了我的工作效率。实际上,这篇文章就是通过这种多智能体协作工作流完成的。
在2024年8月我还根据这个workflow创建了一个SaaS产品BlogCard。其原理是用一个agent生成SEO关键词数据,另外一个生成blog文章,经试用后效果超过了单独的blog和SEO写作AI工具。
在设定每个环节的智能体时,我突然意识到,类似于单次提示(one-shot prompt)的模式对人类个体来说也可能是低效的。正如Andrew在演讲中所举的例子,如果我们给一个程序员一段代码片段,但不告诉他上下文和语言,那么人类也会不知所措。换言之,当我们在创建智能体时,我们也在某种程度上创造了自己——“我们创造了工具,工具反过来塑造了我们。”
当我为每个智能体分配任务并使它们协作时,我在思考,我是否也是根据我对编辑团队的理解来塑造这些不同的智能体?换句话说,当提示词足够精准,分工足够细致时,我们与它们之间还有什么区别?在当今时代,人们对AI生产工具的准确性提出质疑,但有时也可能忽略一个事实:作为人类,我们也会犯下许多错误。
生成式的内容本质上是基于无数训练语料的概率,但人们是否曾想过,电子云也是由概率波函数描述的?在量子力学中,电子的位置和运动不能被精确地确定,而是用概率波函数来描述。这意味着我们只能知道电子在某个位置出现的概率,而不是它的确切位置。 如同用神经网络利用概率分布来表示数据的特征或类别一样,我们所认为的“真实”世界在微观层面上也是由概率构成的。
就像我们无法完全确定电子的位置一样,AI也无法保证100%的准确性,但两者都能在一定程度上描述或模拟现实。
或许正如Andrew在演讲中所总结的那样,通往通用人工智能(AGI)的道路将是一段旅程,而不仅仅是一个终点。在这个旅程中,我期待着未来这些方法所能带来的颠覆性应用,以及它们将如何改变我们的世界。
Madaan, A., et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback.
Shinn, S., et al. (2023). Reflexion: Language Agents with Verbal Reinforcement Learning.
Patil, P., et al. (2023). Gorilla: Large Language Model Connected with Massive APIs.
Yang, Y., et al. (2023). MM-REACT: Prompting ChatGPT for Multimodal Reasoning and Action.
Wei, J., et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.
Shen, S., et al. (2023). HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face.
Qian, Q., et al. (2023). Communicative Agents for Software Development.
Wu, W., et al. (2023). AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation.
Sequoia Capital. (2023). AI Ascent 2024. YouTube video
原文发布在我的博客