大模型应用工程现状和未来
大模型应用工程现状和未来
2024年9月2日修改
作者:混沌福王
大模型(以下称作LLM)经历了2023元年的爆发,和以往的热点不一样,它的热潮依旧没有褪去,时间在证明着这次 LLM 革命性的价值。
然而到目前为止,大部分人的视角,似乎仍然停留在 chat 聊天的层面。这里有两个层面的原因。第一是大模型底层的整个运转逻辑并不被大部分产品、老板、投资人等非技人清晰明了。人们更多的容易被 AGI、聊天等这类空洞或者显而易见的讨论所吸收。真正理解并熟悉大模型应用运转机制的人不多,甚至大量技术领域的人员,也分不清模型训练、 提示工程 的区分,对 RAG,或者ReAct 之类理解的概念也少之又少,至于中文网上甚至出现了卖课卖出上千万利润的荒唐现象。
另外一个层面,对于从事专业技术,或者 AI 相关行业的人通常又不屑于关注应用和产品层面的理解,他们对大模型的兴趣更容易在底层研究。这是任何新技术早期经常有的现象。
笔者由于近期从事了大量和 LLM 相关的落地工程,深刻的体会到 LLM 应用在真正落地过程各种阻力,以及工作和生活等存在大量误区(也是工作阻力)。我们亟需让 LLM 技术可以更广泛的被理解、被运用、被推动。
LLM 落地的常见误区
- 通用 LLM 需要训练业务知识才能落地
这是一个非常普遍的误解。很多人认为,要让 LLM 在特定业务场景下发挥作用,必须对其进行针对性的训练,灌输业务知识。这些误区可能是来源一些公众号,或者是一些行业模型基座的宣
但事实上,通用 LLM 已经具备了广泛的知识和理解能力,通过精心设计的提示和任务描述,就可以引导 LLM 完成特定的业务任务。LLM 的重点能力不在特定知识,而是通用 逻辑推理能力 。想象一个智商超群,知识能力广泛的毕业生,但“他”入职一家大型金融公司做临时工,规定他期间不允许记忆任何公司机密(我们假设)。虽然在这之前, 他从未学习过公司的业务规则,但是当交代一个客户回访任务,我们只需要给定这个临时宫内部信息资料的查询权限,交代回访的目标、客户信息、相关业务规则手册。这位临时工,将会使用他的通用逻辑能力,先去理解目标,写下来、再去拆解任务,写下来,再根据子任务分门别类去查询每个文档,最后再汇总信息得到结果。最终我们可以发现这个临时工可以不运用任何记忆功能,完成了这一目标。
通用大模型就像这个“临时工”,核心能力在于“通用逻辑推理能力”,而不是业务知识的记忆。
我们在实践中也验证过,即没有经过专门训练的通用 LLM,也能够通过合理的提示,快速适应不同的业务场景,给出令人满意的结果。
- LLM 就是靠一段对话聊天解决任务
得益于 chatgpt 的广泛传播,进入公众视角的 LLM 应用就是聊天。大量诸如编码、文案编写确实可以在 LLM一问一答的对话聊天中获任务结果,但是仅仅依靠一段对话完成任务在使用场景、及效果上会大大受限。
在实际应用中,我们需要将任务分解为一系列的子任务,通过多轮对话和交互,引导 LLM 逐步完成任务。这个过程需要精心设计任务流程和提示策略,而不是简单的一问一答
这其实就是经常说的 Agent (智能体代理),这种智能体通过结合 大语言模型 与关键模块,如规划和记忆,来执行任务。构建这类智能体时, LLM充当着控制中心或“大脑”的角色,负责管理完成任务或响应用户请求所需的一系列操作。
形象点说就是上面这个“大学毕业生案例”。一段对话不足以解决一个问题,而是通过多段对化,加上临时记忆功能,拆解不同的任务分支,最终完成复杂的任务。 大部分场景都需要多段对话进行强化,而不是公众想象的调用一个问答 API。
- 提示工程是简单的学会如何提问
很多人会误以为,掌握了提问的技巧,就掌握了提示工程。但实际上,提示工程远不止如何提问这么简单。它涉及到任务分解、上下文管理、知识引导、结果评估等多个方面。对于多轮对话,整个 Agent 逻辑的设计都是提示工程的一部分,因为我们和大模型交互最终都是通过文本沟通。
设计一个有效的提示,需要深入理解任务的需求和 LLM 的特性(不同模型的反馈有巨大差异),需要不断尝试和优化,需要权衡效果和成本。我们在项目中发现, 仅仅使用类似 COT、TOT等业界已知方案是不够的, 大量场景是需要自己反复设计,测试、验证,最终得到在特定业务场景中准确率更高的 Agent 组合。 最终结果是一个看似简单的任务,设计出优秀的提示也可能需要几十次迭代。