百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

Web开发29年,中年程序员编写AI应用:“减少LLM的工作量,自己多写点代码!”

yuyutoo 2025-02-08 13:28 1 浏览 0 评论

【CSDN 编者按】大型语言模型(LLM)技术迅猛发展,关于它们能否替代人类工作者的讨论愈发热烈。本文作者自 1996 年开始便一直从事 Web 开发,他通过自己编写 AI 应用的经验,深入探讨了 LLM 在辅助人类执行任务方面的能力与局限性。

原文链接:https://seldo.co
m/posts/what-ive-learned-about-writing-ai-apps-so-far

作者 | Laurie Voss 翻译 | 郑丽媛
出品 | CSDN(ID:CSDNnews)

起初我打算写一篇名为“如何编写 AI 应用程序”的文章,但后来觉得这个话题过于宽泛,所以我把它简化成了现在的这篇文章。或许有人会问,我凭什么指导你如何编写任何东西呢?以下是我自己在编写 AI 应用,特别是大型语言模型(LLM)应用时会遵循的一些原则。

有一个我已经认输的争论点是:我们根本不应该把 LLM 称为“AI”;它们实际上是机器学习的一种形式,而非那个对普通大众而言听起来像是通用智能的技术——“AI”这个名字,甚至比我之前认为的最差技术名称“无服务器”还要误导人。但是,我们现在还是习惯把 LLM 叫做 AI,并且非 LLM 领域的部分也正在被 LLM 周围的喧嚣声所淹没。在日常工作中,我也经常这样做,所以我当然也是导致这个问题的一部分。

尽管我们可能无法改变这种叫法,但作为从业者,我们至少应该清楚它究竟是什么:非常高级的自动补全工具。当规模足够大时,自动补全功能可以执行一些看似推理的任务,而在某种程度上,“看似推理”和“实际推理”之间的界限已经模糊了。即便如此,作为软件开发者,我们应该清醒地认识到这些系统的局限性,不要尝试让它们去做力所不能及的事情。


LLM 擅长将大量文本转化为精简文本

这是关于大型语言模型(LLM)最重要、最基本的一点,也是判断一个 LLM 应用是否有效的黄金法则。如果你的任务是将大量文本输入给 LLM,并要求它转换为更少的文本输出,那么这项任务很可能完成得非常出色;但如果你要求它生成与输入量相当的文本内容,那效果可能平平;如果你希望它生成的文本比你提供的还要多,那就别指望了。本文接下来的部分将通过实例来说明这一法则在实际中的应用。


LLM 只会可靠地知道你刚刚告诉它们的信息,别依赖训练数据

LLM 是在互联网上找到的海量信息上进行训练的。因此,像 Claude 和 ChatGPT 这样的工具可以回答各种常识性问题,但这并不意味着可以依靠 LLM 已有的知识来执行某些任务。你不知道 LLM 是基于什么数据训练的(众所周知,这些数据往往是非法获取的,因此训练者拒绝透露),因此你也就不知道它的知识边界,以及何时会开始产生幻觉(即输出错误或不准确的信息)。

解决这个问题的办法就是直接向 LLM 提供答案。例如,你想知道合同的具体条款?那就把合同交给它;想知道视频的主题?那就提供视频的文字稿;希望它做出决策?那就给予所有用于决策的信息。这些都是将文本转换成更简洁文本的例子,而 LLMs 在这方面很擅长。(当然,你也可以尝试通过微调 LLM 来扩展它的知识范围,但这条路可能充满挑战。)

这就是为什么检索增强生成(RAG)不会被淘汰的原因。RAG 本质上是先告知 LLM 所需的信息,然后立即要求它以浓缩的形式返回这些信息。LLM 在处理这类任务时表现出色,这也是 RAG 广受欢迎的原因所在。


LLM 不能为你写作

这明确属于“将少量文本扩展为大量文本”的范畴。如果你给 LLM 一个提示,并要求它生成小说篇幅的文本,它确实可以做到。但是,LLM 只知道你告诉它的内容。如果你给出简短的提示并要求生成长篇大论,那么你将得到无尽的废话、冗长的陈述、毫无意义的胡言乱语以及幻觉般的输出。你无法让 LLM 为你进行必要的思考以写出一些东西,思考的工作必须由你自己完成。要想让 LLM 写出好东西,你必须给它一个很长的提示——可实际上,如果你要给出那么长的提示,还不如自己直接写呢。


让它们自我修正,必要时多次尝试

LLM 的一个神奇之处在于,它们能够观察自己的输出,并判断是否达到了预期效果。这种能力有时被称为自省,是智能体(agent)行为的关键特征。我必须得说,给予 LLM 机会去检查是否出错、并给它一个重新尝试的机会,这是一个非常明智的做法。虽然这会增加应用程序的复杂性,但其可靠性将会成倍提高。LLM 不擅长一次成功,但如果你给它多几次尝试的机会,它通常都能搞定。这就是它们非确定性的诅咒与魔力所在。


尽量减少 LLM 的工作量

关于可靠性,上文已经提到了:那你知道什么才是真正可靠的吗?常规编程。它会根据极其精确的指令,每次都将输入转化为输出,方式始终如一。如果你要求 LLM 执行的任务可以通过编写一些常规代码来实现,那就去写代码吧。这样运行起来会更快、更便宜且更为可靠。LLM 能够处理模糊性和复杂性,这很厉害,但你给它们处理的模糊性和复杂性越少,它们的表现就会越好。常规的声明式编程就很靠谱,你应该尽可能地使用这种方式。


LLM 可以辅助人类执行任务,但不能替代人类

这实际上是上述所有观点的一个推论。如果你有一个非常棒的提示,其中包含了大量细致的指令,并且提供了执行该任务所需的所有数据,再加上多次反思和尝试的机会,以及尽可能多的常规代码,那么 LLM 确实能够执行这些任务。通过集合多个这样的提示、数据和代码组合,你可以创建一个能执行众多任务的智能体。此时,你可能会想某个人的工作是否仅仅是这一系列任务的集合,并认为“既然已经创建了能够完成这些任务的智能体,就可以取代这个人”。这种想法很诱人,但我从未见过它真正奏效。

工作不仅仅是任务的集合。工作还需要确定优先级、判断特殊情况、与其他信息来源(如同事规章制度等)进行临时沟通的能力、应对完全不可预见情况的能力以及丰富的经验。正如我所说,LLM 可以处理一定程度的模糊性和复杂性,但这越少越好。让它们承担一个人类规模的工作量,会带来远超它们处理能力的模糊性和复杂性。这就像是要求它们将文本扩展为更多文本,这根本行不通。

有人可能争论说,随着 LLM 上下文窗口变得更大,智能体工具变得更加复杂,最终会出现能够完全替代人类的能力:毕竟,LLM 擅长将文本转换为更简洁的文本。要复制一个人类所知的一切需要多少文本?我不知道,但这肯定远远超过当前任何 LLM 所能处理的数量。在此期间,试图用 LLM 替代人类的努力都会失败。让你的应用程序增强并加速人类的工作吧,这才是我见过最为有效的方法。

尤其值得一提的是,因为我经常在黑客松上看到这一点:请停止尝试编写一个能替代医生或律师的 LLM 应用程序。LLM 的训练中并没有包含法律学位或医学学位,而且你绝对无法将 7 年的医学训练压缩到任何一个提示中。我认为 LLM 无法可靠地取代任何人类工作者,尤其是医生——不要把你的健康交给一个只会试图提供帮助的自动补全系统。也不要因为你用 ChatGPT 来生成法律条款而被告上法庭。


LLM 既强大又有限制

与如今业内关于 AI 能做什么的炒作相比,我声称它们能“将文本转换成简洁文本”的能力似乎是一次巨大的倒退。然而,将文本转化为更简洁文本仍然是一个庞大的潜力领域和巨大市场,尤其是在其具有明确边界的情况下,不是由炒作驱动的过度承诺,也不依赖于 LLM 将一夜之间变得更好的假设。审视这些可能性,找到适合这些边界的项目,然后尽情享受其中的乐趣吧。

相关推荐

史上最全的浏览器兼容性问题和解决方案

微信ID:WEB_wysj(点击关注)◎◎◎◎◎◎◎◎◎一┳═┻︻▄(页底留言开放,欢迎来吐槽)●●●...

平面设计基础知识_平面设计基础知识实验收获与总结
平面设计基础知识_平面设计基础知识实验收获与总结

CSS构造颜色,背景与图像1.使用span更好的控制文本中局部区域的文本:文本;2.使用display属性提供区块转变:display:inline(是内联的...

2025-02-21 16:01 yuyutoo

写作排版简单三步就行-工具篇_作文排版模板

和我们工作中日常word排版内部交流不同,这篇教程介绍的写作排版主要是用于“微信公众号、头条号”网络展示。写作展现的是我的思考,排版是让写作在网格上更好地展现。在写作上花费时间是有累积复利优势的,在排...

写一个2048的游戏_2048小游戏功能实现

1.创建HTML文件1.打开一个文本编辑器,例如Notepad++、SublimeText、VisualStudioCode等。2.将以下HTML代码复制并粘贴到文本编辑器中:html...

今天你穿“短袖”了吗?青岛最高23℃!接下来几天气温更刺激……

  最近的天气暖和得让很多小伙伴们喊“热”!!!  昨天的气温到底升得有多高呢?你家有没有榜上有名?...

CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式

之前也有写过CSS优惠券样式《CSS3径向渐变实现优惠券波浪造型》,这次再来温习一遍,并且将更为详细的讲解,从布局到具体样式说明,最后定义CSS变量,自定义主题颜色。布局...

柠檬科技肖勃飞:大数据风控助力信用社会建设

...

你的自我界限够强大吗?_你的自我界限够强大吗英文

我的结果:A、该设立新的界限...

行内元素与块级元素,以及区别_行内元素和块级元素有什么区别?

行内元素与块级元素首先,CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,分别为块级(block)、行内(inline)。块级元素:(以下列举比较常...

让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华
让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华

去年的两会期间,习近平总书记在参加人大会议四川代表团审议时,对治蜀兴川提出了明确要求,指明了前行方向,并带来了“祝四川人民的生活越来越安逸”的美好祝福。又是一年...

2025-02-21 16:00 yuyutoo

今年国家综合性消防救援队伍计划招录消防员15000名

记者24日从应急管理部获悉,国家综合性消防救援队伍2023年消防员招录工作已正式启动。今年共计划招录消防员15000名,其中高校应届毕业生5000名、退役士兵5000名、社会青年5000名。本次招录的...

一起盘点最新 Chrome v133 的5大主流特性 ?

1.CSS的高级attr()方法CSSattr()函数是CSSLevel5中用于检索DOM元素的属性值并将其用于CSS属性值,类似于var()函数替换自定义属性值的方式。...

竞走团体世锦赛5月太仓举行 世界冠军杨家玉担任形象大使

style="text-align:center;"data-mce-style="text-align:...

学物理能做什么?_学物理能做什么 卢昌海

作者:曹则贤中国科学院物理研究所原标题:《物理学:ASourceofPowerforMan》在2006年中央电视台《对话》栏目的某期节目中,主持人问过我一个的问题:“学物理的人,如果日后不...

你不知道的关于这只眯眼兔的6个小秘密
你不知道的关于这只眯眼兔的6个小秘密

在你们忙着给熊本君做表情包的时候,要知道,最先在网络上引起轰动的可是这只脸上只有两条缝的兔子——兔斯基。今年,它更是迎来了自己的10岁生日。①关于德艺双馨“老艺...

2025-02-21 16:00 yuyutoo

取消回复欢迎 发表评论: