AI 民科和 AI 科学家之间的差距

民科通常指的是民间科学爱好者,本人呢也算是个 AI 民间科学爱好者,简称 AI 民科。AI 科学家呢,就是那些专业的在 AI 领域有一定研究成果的科学家,比如像吴恩达老师。

最近很多人都在学习吴恩达老师发布的一段用来翻译的智能体工作流

  1. 通过提示大语言模型 (LLM) 实现从一种语言到另一种语言的翻译;
  2. 对翻译进行反思,提出建设性的改进建议;
  3. 根据这些建议进一步优化翻译。

无独有偶,我在去年也提出了类似的翻译 Prompt:直译、反思、意译:提升 GPT 翻译质量的一种新策略,本质上也是在翻译的时候,分成三步:

  1. 先直译
  2. 反思,指出直译中的问题,提出改进意见
  3. 根据直译和反思的结果最终进行意译

所以当很多朋友看到吴恩达老师的工作流后,提到和我的 Prompt 原理一样。一方面我很高兴我写的 Prompt 得到这么多人的认可,另一方面也深感我这样的 AI 民科和 AI 科学家之间的差距。

这差距不在这一段 Prompt,而是在于是如何得到这一段 Prompt 的,以及未来如何创造更多这种有价值的 Prompt。

我的翻译 Prompt 诞生史

那么作为一个 AI 民科,是我怎么得到这一段 Prompt 的呢?

无非是大量的实践后摸索出来的结果。

V1: 一次提供 3-5 个翻译结果

最开始,就是在翻译吴老师的 AI 课程字幕的时候,我就尝试用 GPT 去翻译字幕,但是翻译结果随机性很大,有时候翻译的很好,有时候翻译的很差。于是我就想:能不能一次提供 3-5 个翻译结果,然后我就只要去选择最好的那个结果,或者从几个结果中组合一下,省的自己去手动修改润色。

当时我还写了一篇文章《字幕翻译、书籍翻译的福音,如何借助 ChatGPT 得到高质量的翻译结果?》分享我的经验:

另外还有一个很重要的技巧,就是翻译的时候,让 ChatGPT 一次提供 3-5 个不同风格的翻译结果,然后你就可以得到很多不同角度的翻译结果,大部分时候,你只要从这几种不同翻译结果里面选一个就可以了。

ChatGPT 这类大语言模型是一种概率模型,根据概率生成内容,有时候很难一次就得到一个很好的结果,所以要得到好的生成效果,可以让它一次多生成几种结果,然后你可以从中选一个最好的,甚至于你可以让它自己帮你选一个。

有的时候,它能随机出来相当不错的翻译结果,所以大部分时候就只要从几个翻译选项中选一个最好的,或者组合一下。

V2: 直译 + 意译

当一次提供 3-5 个结果选择后,效率高多了,毕竟大多数时候只要选择一下,然后复制粘贴出来就可以。但缺点也很明显:

  1. 要花大量的时间去手动筛选
  2. 由于一次生成 3-5 条结果,所以每次都不能翻译太长的内容,并且每次都要耗费大量的 Token,成本很高

但在反复生成的过程中,我也发现了规律,那就是我选择第一条翻译的结果的概率最低,通常第一条翻译质量最差,而第二条就好很多,第三条和第四条质量有时候比第二条好,有时候差不多,但越到后面越容易偏离原意。

所以我就想,是不是只翻译两遍,直译和意译,就可以得到不错的结果呢?

于是反复试验对比了不同的 Prompt,最终发现:直译 + 意译两遍翻译的效果确实要比只翻译一遍要好很多,并且效率也不错,每次可以翻译比较长的内容,Token 消耗也少很多。

我也试过翻译 3 遍,一方面第三遍的时候结果容易偏离原意,另一方面 Token 消耗略大,所以性价比不高。

当时我也写过一篇文章《一个简单的 Prompt 大幅提升 ChatGPT 翻译质量,告别“机翻感”》分享了我的经验。

V3: 直译 + 反思 + 意译

我虽然是一个 AI 民科,但也不会只是闭门造车,日常也喜欢学习别人的 Prompt 经验技巧,有一次看到一个 AI 写作的 Prompt(很遗憾记不得哪一个了),会对生成的结果进行反思,提出改进建议,然后再重新生成。当时我就想:能否将其应用到翻译 Prompt 上?在直译之后,对翻译结果进行反思,提出改进建议,然后再意译。

于是我改进了 Prompt,加入了反思这一步,效果确实很好,让翻译质量更稳定,由于反思的内容不算很长,也并没有让 Token 增加太多,所以是一个很好的改进。

我的那篇《直译、反思、意译:提升 GPT 翻译质量的一种新策略》里面也详细分享了这种 Prompt 的使用方法。

基本上这就是我翻译 Prompt 的迭代过程,作为一个 AI 民科,就是靠的这种不停在实践中总结经验,改进迭代。

但基本上也就止步于此了,后来我也没能再提出更多有价值的 Prompt。

AI 民科和 AI 科学家之间的差距

几个月前,吴恩达老师分享了一个视频:《AI 智能体工作流引领人工智能新趋势》,在视频中吴恩达老师建议大家关注 AI 智能体工作流,可以大幅提升 AI 应用的性能,并且他总结了一套智能体设计模式:

  • 反思:让大语言模型对自己的结果检查改进
  • 使用工具:让大语言模型调用外部工具,如网络搜索、代码执行等
  • 规划:让大语言模型自己设计一个多步骤的计划来达成目标
  • 多智能体合作:多个 AI 智能体协同工作,分配任务,讨论和辩论想法,写作得到更好的结果

当时我就觉得,这样一套框架一下子就把很多提示工程的经验囊括进去了,绝大部分任务都可以基于这套设计模式往上面套,就可以得到更好的结果。包括我的翻译 Prompt,本质上也是多智能体 + 反思,我还打过比方,就好比英语老师智能体直译,校长智能体审阅反思,中文老师智能体润色意译。

所以当吴恩达老师提出新的翻译智能体工作流,我一点都不奇怪,因为当有了一个科学的设计模式,就能衍生出来有多有价值的 Prompt 和工作流。

同样这也正是 AI 民科和 AI 科学家之间的差距所在,也许 AI 民科通过实践能在某个任务上不断总结迭代,得到一个还不错的结果,但如果不能提炼出一个通用的设计模式或者理论框架,就很难将任务泛化推广到其他领域。而 AI 科学家则能提出一套设计模式,然后通过这套设计模式,将经验泛化到不同的领域,让其他人也能应用这样的设计模式,从中受益。

要想跨越这道鸿沟,仅仅靠实践经验是不够的,需要大量的理论支撑,这也通常是我这样的 AI 民科所欠缺的,希望通过不断学习能弥补这种差距。