本质上,使用大语言模型(LLM)来解决问题,思维链(COT, Chain of Thought)是一种有效提升生成质量的方法,也就是说,之所以翻译质量能提升,不是因为有了智能体,而是因为有了思维链。至于思维链的每个环节是用一个独立的智能体,还是输出的一个步骤,并没有太本质的差别。(参考文章:[什么时候该用多智能体是不是一定要用多智能体?](http://t.cn/A6QX3cnI))
其实大部分 AI 应用场景都类似:要用 AI 解决问题,核心不在于智能体,而在于设计出一个适合 AI 的工作流。
那么怎么才能设计一个适合 AI 的工作流呢?我认为有几个因素需要考虑:
一、不要将 AI 的解决方案局限在人类现有的解决方案上
有时候我们过于将 AI 拟人化,会不自觉的用人类解决问题的方式来套用在 AI 上,有时候确实有效,但很多时候并不一定是最优解。就像专业的翻译员,他们并不需要直译反思意译三个步骤,他们可以一步到位,直接输出高质量的翻译结果,所以最开始让 AI 翻译,Prompt 都是直接一步输出翻译结果,而不是分步骤输出,结果翻译出来的比较生硬。而当我们发现思维链是大语言模型的一种有效提升方法后,就可以设计出更适合 AI 的工作流,分成几步来解决问题。
包括我看到一些智能体项目,尝试模拟人类软件开发的分工,使用项目经理、产品经理、架构师、程序员、测试等等智能体角色去尝试解决复杂的软件项目,同样也是一个过于拟人化而不一定适合 AI 解决问题的思路,所以也只能出现在论文中,而无法在实际项目中落地。相反像 GitHub Copilot 这样辅助生成代码的工具倒是真正适合当前 AI 编程的工作流,能实实在在提升开发效率。
二、不必完全依赖 AI 做决策,而是让 AI 辅助做决策或者做简单的决策
去年有一个超级火爆的项目叫 AutoGPT,就是你输入一个任务,GPT-4 会将任务分解,制定计划,调用外部工具,比如 Google 搜索,甚至执行代码,最终完成任务。这也算是 AI 智能体的先驱项目之一,但现在已经很少有人提及了,因为以现在 AI 的智能程度,还不足以对开放性的任务做出靠谱的决策,最终除了帮 OpenAI 卖了大量的 Token 外,并没有解决什么实际问题。所以现在 AI 应用的主流是把 AI 当“副驾驶(Copilot)”,只是让 AI 辅助人类完成任务,主要还是人在做决策。
另外就是自己设计工作流,让 AI 在工作流中完成一部分工作,并不过于依赖 AI 做决策,或者只需要做简单的决策。比如说商家借助 AI 处理差评的工作流:
1. 程序抓取评论信息
2. AI 分析每一条评论的情感,筛选出差评
3. AI 生成回复(可能需要人工审核)
这是一个典型的设计好流程的适合 AI 的工作流,AI 只需要做简单的情感分析和回复生成,而不需要做复杂的决策,这样的工作流可以很好的提升效率,并且结果也相对靠谱。
三、结合不同领域的 AI 模型或者工具,设计合适的工作流
去年起 AI 大热,一个很重要的原因是大语言模型的出现,这些模型一方面确实能力强大,有一定的通用性,有简单的推理能力,另一方面使用也简单,无论是通过聊天机器人,还是通过 API 调用,都能很方便的使用。即使像我这样不是人工智能专业的人,也能很容易的使用这些模型。而在以前,人工智能相对来说是个高门槛的领域,需要筛选数据、需要训练,还需要调参,对于非专业人士来说是很难使用的。
但这也导致一个问题,就是很多解决方案过于依赖大语言模型,而不知道或者不会使用其他领域的 AI 模型,但当你能够根据任务,将不同领域的 AI 模型或者工具结合起来,设计出合适的工作流,就能够得到更好的解决方案。
四、回归问题本质,AI 只是解决问题的工具
上面提的几点都是容易犯的一些错误,之所以容易犯这些错误,恰恰是因为我们有时候过于关注一些流行的概念或技术,而忽略了要解决的根本问题是什么,将 AI 变成了目的而不是手段。如果你有了解马斯克的第一性原理思维,其强调的就是回归事物最基本的条件,把其解构成各种要素进行分析,从而找到实现目标最优路径的方法。