本页目录
在深入了解 LLM 及其工作原理之前,我们首先需要明确要去往哪里。
如今 LLM 实际被用来做什么?它们有什么价值?我们可以用它们构建什么?
本文会介绍 LLM 的不同应用,也会讨论哪些东西不该用 LLM 构建,因为确定性更强的工具更适合它们。
适合使用 LLM 的场景……
非结构化数据 → 结构化数据
大多数公司都掌握大量非结构化数据,例如客服通话记录、客户邮件、发票,甚至只是会议笔记。
这类数据很难处理:难以搜索、难以分析,也难以阅读。
例如,我的一位朋友正在攻读博士,研究历史上的鹰类迁徙模式。鹰群活动数据记录在 19 世纪留下的古老非结构化日志中。即使这些日志已经被仔细归档和数字化,逐份阅读仍然极其耗时。
解决办法是什么?使用 LLM 把日志转换为表格数据。LLM 可以阅读日志、理解其中模式,再转换为结构化格式,供后续分析、可视化和进一步研究。
这可能是 LLM 最常见、也最强大的使用场景。过去几十年,人类积累了海量数据;LLM 正在让这些数据变得可以检索和利用。
这里存在一个共同主题:LLM 常被用于那些雇人处理并不现实或成本过高的数据任务,从而让过去难以利用的数据产生新的可能性。
标注与分类
分类是 LLM 的另一项常见任务。你可以给模型一段输入,要求它添加标签,从而更有效地组织和理解数据。
一个很有代表性的例子来自 《提示词报告》。该案例研究试图从可能有自杀倾向的人所写文本中,检测“能够预测危机级自杀风险的信号”。研究使用了 Reddit 子版块 r/SuicideWatch的数据,并要求 LLM 的判断与专家分析相匹配。
获得文本后,LLM 需要判断其中是否包含“极度绝望”或“受困感”等因素,并回答“阳性”(文本包含风险信号)或“阴性”。
分类系统在机器学习领域已经存在很久,通常需要大量数据训练。LLM 让这个过程变得简单,只需一个提示词就能让模型充当分类器,非常实用。
LLM 的最新进展也让获取结构化数据变得更加容易。可以查看这个 分类示例 ,它来自 Vercel AI SDK 教程。
问答
另一个常见场景是让 LLM 回答问题。你向模型提出问题,它会根据训练数据给出回答。
不过,把 LLM 当作知识库存在几个缺点。训练数据有截止时间,因此无法获得最新信息;模型通常也不能为答案引用来源,很难验证准确性。
因此,把 LLM 连接到外部数据源是一种常见模式。
外部数据源可以是数据库、搜索引擎或任意 API。LLM 可以通过 tools调用外部服务,获取最新信息。
这种做法并非万无一失,仍需精心设计,防止 LLM 产生幻觉或提供错误信息。但以聊天机器人或搜索引擎形式出现的问答系统,确实是 LLM 的常见用途。
Perplexity、Google、OpenAI 等公司如今普遍提供的 Deep Research 就是一个典型例子:用户只需提出一个简单查询,系统便会生成完整的学术报告式内容。
智能体
LLM 能够访问外部工具,让许多人非常兴奋。这意味着 LLM 可以在现实世界中 执行操作 ,而不只是生成文本。
这种模式通常称为“智能体”:一种可以在现实环境中执行操作、响应用户输入并与其他系统交互的系统。
可以想象一个像团队成员一样工作的编码智能体:你能在 Slack 上联系它,它可以编写代码、部署到生产环境,并与用户沟通。
这与下面这类智能体所描绘的愿景相似,例如 Devin。.
不过,智能体尚未迎来真正的爆发时刻,至少远没有达到聊天机器人那样的程度。在用户体验方面,智能体仍未找到最终形态。
想继续深入: 加入“面向真正工程师的 AI 编码”候补名单
不适合使用 LLM 的场景……
简单封装式聊天机器人
使用 LLM 构建聊天机器人很诱人,因为搭建起来非常简单:给模型一个提示词,让它访问对话历史,就可以开始工作。
“与我们的文档对话。”“与客服机器人对话。”“与搜索结果对话。”这类简单聊天机器人只是 LLM 的薄封装,往往被匆忙拼凑出来,让产品看起来更有互动性。
然而,让聊天机器人真正投入生产是一件极其困难的事。稍有不慎,它们就会让用户受挫并损害品牌。要让聊天机器人只回答相关问题、始终不偏离主题,出了名地困难。
大型模型提供商(OpenAI、Anthropic、Google 等)内置了护栏,防止模型说出损害品牌的话。但潜在对话的范围实在太大,这些护栏可能永远无法做到完美。一个著名例子是 Google Gemini 曾让用户去死。
只需一名执意攻击的用户,就可能越狱你的聊天机器人,让它说出不当内容。没有完善防护措施,不要发布聊天机器人。
确定性系统
构建 AI 系统时有一条很实用的经验法则:“如果可以用确定性方式构建,就应该采用确定性方式。”
LLM 是概率系统。它们会一次又一次地从许多可能选项中选择文本的下一个词。根据下一个词的选择方式,也就是“采样策略”,相同输入可能产生不同输出。
这种设计也让它们容易出现几类故障模式:
- 幻觉:生成没有现实依据的文本
- 谄媚迎合:过度迎合用户观点,而不是给出平衡的回答
这些故障模式可以缓解,但需要细致设计和测试。因此,只要系统能够以确定性方式构建,就应该这样做。
确定性系统更容易测试、调试和维护,投入生产也更安全,而且运行速度往往更快、成本更低。
总结
确定性系统不会消失。与 AI 应用相比,它们的构建、测试和维护容易得多。在人人都试图用 LLM 解决所有问题的时代,能够识别 什么时候不该使用 LLM 是一项宝贵技能。
对于任何任务,确定性系统都应该是默认选择,除非遇到只有 LLM 才能突破的障碍。
当然,LLM 也有自己的用武之地。可以把目前看到的 LLM 使用场景分成两类。
第一类任务是 雇人处理成本过高:
- 把非结构化数据转换为结构化数据
- 标注与分类
第二类任务是 对确定性系统而言过于复杂:
- 问答
- 文本生成
- 智能体
因此,落入这两类之一的任务,通常都很适合交给 LLM。