-生成式-AI-神话-破除-工程师快速指南-
《生成式 AI 神话,破除:工程师快速指南》
原文:
towardsdatascience.com/gen-ai-myths-busted-a-engineerss-quick-guide/
因此,我整理了这本简短、实用的手册:为了驳斥一些神话,并为工程师提供利用 AI 的有用指南。对我来说,AI 的成功并不是通过它能吐出多少花哨的工具来衡量的。这不是重点。重点是:它实际上使我们更有效率吗?它使人类工作得有多聪明,甚至有多懒散?鉴于工程师是这项技术最重要的消费者之一,我认为澄清这些事情是值得的。
那么……什么是生成式 AI,什么是 LLM?
当人们讨论像 ChatGPT、Claude 或 Amazon Q 这样的工具时,他们真正指的是语言模型。这是推动大量生成式 AI 的核心技术。它被训练来理解书面语言并通过生成新文本来响应。当这些模型扩展到包括数十亿甚至数万亿个参数时,它们就变成了我们所说的大型语言模型,或LLM。LLM 只是生成式 AI 的一种,专门设计用于处理文本和代码。
让我们从基础知识开始。
标记,不仅仅是单词
在语言模型中,理解的最小单位不总是完整的单词,而是一个标记。想象一下标记就像乐高积木:小的部件组合在一起构建更大的结构。一个标记可能是一个完整的单词(如“城堡”),一个单词的一部分(如“cast”),甚至只是一个单个字母或字符。例如:
句子“我喜欢编程”可能被拆分为标记:[I] [love] [pro] [gramming].*
这个过程被称为分词。这是模型如何学习这些材料来构建其词汇表的方式。这些词汇表可以非常大:GPT-4 的词汇表大约有 100,000 个标记。Claude 的甚至更大。
《语言模型如何学习(不同)》
语言模型主要有两种学习方法:
- 掩码模型:这些模型通过隐藏一个单词并尝试预测应该填入空白处的内容来学习。
“Tony Stark 也被称为 ___ Man。”
模型学习填充空白。它推断出“Tony Stark”提供了最强的线索,而“is”和“also”并没有增加多少价值。
- 自回归模型:这些模型一次预测一个单词的下一个单词。
从:“Elsa 走进了城堡……”开始
模型继续说:“……门在她身后砰然关闭。”
以这种方式,它逐字逐句地构建故事。
这两种方法都赋予模型一种超能力:生成文本的能力。能够生成开放性输出的模型被称为生成式模型,因此得名生成式 AI。
“开放性输出”是什么意思?
回到我们的漫威例子:
“托尼·斯塔克也被称为 ___ 人。”
大多数人(和大多数模型)会说“铁人”。但模型也可能提出“强大”、“有趣”,甚至“家庭”。
这就是开放性输出:模型并不局限于只有一个“正确”的答案。它根据概率进行预测。有时它做得很好。有时呢?可能就不那么好了。这就是为什么 AI 既感觉神奇又不可预测。
大的飞跃:从 LM 到 LLM
扩展规模将语言模型转变为大型语言模型。这就像为了在 GRE 考试中取得高分而学习整个词典。有了更多的数据和更多的参数,模型可以捕捉到更细微的模式。参数类似于调音板上的旋钮——你拥有的旋钮越多,音乐就越复杂。例如,GPT-4 据估计有 1.76 万亿个参数。
显然,这需要大量的数据。而且我们不可能永远对数据进行标注。改变一切的是自监督学习。不再依赖人类对每一句话进行标注,模型能够通过遮盖单词并预测它们来自己学习。这就像以超人的速度做填空题。
正因如此,大型语言模型(LLM)在代码方面表现出色:编程语言是训练者的理想领域。代码高度正式,语法严谨,避免了自然语言的混乱和不确定性。Python 中的相同操作每次都会以相同的方式表现,而英语句子则可以根据语气、文化或情境有不同的含义。这种精确性使得模型不需要数万亿行代码就能“理解”它。即使是在较小的代码数据集上,模式也足够一致,使得模型可以很好地泛化并产生令人惊讶的稳健结果。
不仅 LLM
在我们继续之前,请注意,LLM 只是生成式 AI 的一种类型。它只是碰巧是目前最常见和最广泛使用的,但并非全部。
当前的模型通常是LMMs(大型多模态模型)。它们不仅处理文本。它们还能通过图像、音频甚至视频进行理解和生成。这就是为什么你看到模型能够一次性读取代码块、描述图像,并将其翻译成普通英语。
在过去几年里,对话中还有一个术语:基础模型。它们是在通用数据上训练的非常大的模型,具有广泛的范围。把它们想象成“底层”或“冰淇淋世界中的香草口味”。一旦训练完成,它们可以随后微调或扩展以应用于更多专业任务,例如创建软件文档、为公司的聊天机器人提供动力或审查合同。“基础”是描述它们的术语,与它们之上的较小、专业模型形成对比。
常见神话(如果你不关心定义和细节)
神话 1:“AI 像我们一样理解。”
事实: AI 在人类意义上的“理解”并不存在,它预测(带有概率)。它使用先前的文本(上下文)对接下来可能发生的事情做出有根据的猜测。好的预测可以模拟理解,但背后是概率的运作。尽管如此,一些实验很有趣。一篇博客展示了不同的模型似乎在扮演“个性”。OpenAI 的 O3 在一场外交游戏中表现出欺骗的高手,而 Claude Opus 4 只是希望每个人都和睦相处。
神话 2:“AI 只是复制训练数据。”
事实: 它不会像剪贴板一样存储训练示例。它将模式存储到权重(模型的数值旋钮)中,这些权重在训练过程中会被调整。当你查询它时,模型不会复制粘贴,而是创建新的序列。话虽如此,数据隐私仍然是一个问题。如果使用了私人数据来训练,它仍然可能间接地出现,或者被人类在强化学习过程中读取。
神话 3:“提示是黑客工具。”
事实: 提示不是黑客工具,而是方向盘。提示设置上下文,让模型知道哪些标记需要更重地加权。如果你还记得我们之前的例子:
“托尼·斯塔克也被称为 ___ 人。”
在这里,“托尼·斯塔克”具有最大的权重,而大写的“人”帮助模型聚焦于“钢铁”。填充词(“也被称为”)相对较轻。一个有效的提示做的是同样的:突出重要的线索,让模型能够得出正确的推理。这并不是黑客工具,而是一种指导。
神话 4:“AI 总是给出相同的答案。”
事实: 不,生成式 AI 依赖于概率,而不是预编程的脚本。这意味着,同一个问题会根据随机性、温度设置,甚至是你提示中的细微差别而有不同的答案。有时候这很棒(头脑风暴),有时则会让人困惑和沮丧(不一致的答案)。
神话 5:“更大的模型总是更好。”
事实: 尺寸有帮助,但不是一切。也就是说,大不一定总是更好。像 GPT-4 这样的大型模型可能很神奇,但一个较小的专业模型可能在特定任务上做得更好。敏捷和专业性有时可以打败力量。
神话 6:“AI 可以取代工程师。”
事实:由于生成式 AI 倾向于系统化、规则化的编程语言,它是一个出色的编程助手。但这并不意味着它能够成为首席工程师。相反,它更像是快速实习生,擅长创建草稿、模板甚至优秀的代码片段,但需要审查和监督。
简而言之,生成式 AI 不会取代工程师,但它将改变工程的本质。技能集将有所不同。工程师不再需要花费大部分时间逐行编写代码,而是能够更多地关注系统架构、设计和项目监督。生成式 AI 可以编写函数,但不能权衡利弊,理解业务目标或在大规模上管理复杂性。这就是需要有人掌舵的地方。
误区 7:“AI 在编造东西时太愚蠢了。”
事实:使 AI 看起来非常愚蠢的通常是幻觉。还记得我们告诉您模型基于概率给出开放式响应吗?这就是开始的地方。如果模型没有上下文,或者你询问的事实是不寻常的,它仍然需要填补空白并让你满意。因此,它会预测一些听起来不错的东西,尽管可能是错误的。
另一个常见的原因是上下文窗口。模型只能像短期记忆缓冲区一样一次性“看到”一定数量的标记。如果你的问题依赖于该窗口之外的信息,它就会简单地丢失。然后模型会猜测并填补空白,这可能是完全错误的。
幻觉并不意味着 AI 出现故障,它是系统设计用于自由生成且从不遵循脚本的结果。
实用手册:作为软件工程师与 AI 合作
将 AI 视为(人类)团队成员。用简单明了的语言告诉它你需要什么。不要在意语法,也不要试图搞笑。直接并持续进行。在过程中提出尽可能多的“愚蠢”问题。循环很简单:提问,审查(结果),细化(请求),重复。
1) 上下文优先
告诉模型这是为谁准备的,目标是什么,以及哪些约束条件很重要。
迷你提示示例:
You are helping our payments team. Goal: add idempotency to the charge endpoint.
Constraints: Python 3.11, FastAPI, Postgres, existing retry logic.
Output: explain first, then give code in ```python```py fences.
2) 声明任务
明确定义步骤或验收标准,以便“完成”有明确的定义。
迷你提示示例:
Make a step list for the refactor. Include pre-checks, code changes, tests, and a final rollout check.
Mark each step with [owner], [est], and [risk].
3) 限制输出
请求一个形状,这样你就不会得到一堵文字墙。
迷你提示示例:
# Example 1
Return JSON with keys: rationale, risks, code, tests. No extra prose.
# Example 2
Generate a SQL query inside sql … fences.
4) 检查和迭代
将初稿视为草图。指出错误的部分。要求进行更正。循环再次进行。
5) 保持活页日志文件
让模型将每个大步骤和更改保存到文件中,这样你就可以稍后重用上下文。
迷你提示示例:
Start or update a file named AI_LOG.md.
Append a dated entry with sections: Context, Decision, Commands, Snippets, Open Questions.
Only add new content. Keep older entries.
6) 在上下文窗口内工作
模型只能“看到”最近文本的简短片段。当线程过长时,压缩聊天历史。
A. 使用提示进行操作。你可以在聊天内容较多时使用以下压缩提示并将其粘贴:
Summarize all prior messages into a compact brief I can reuse.
Format:
- Facts we agreed on
- Constraints and conventions
- Decisions and their reasons
- Open questions
- Next actions
Keep it under 300 tokens. Preserve file names, APIs, and versions exactly.
B. 当可用时使用工具。一些采用 AI 的服务也内置了工具来帮助。例如,Amazon Q 有一个/compact命令,可以将聊天历史压缩成更短的形式。它甚至会在你的对话接近限制时提醒你,并建议进行压缩。(相关 AWS 文档)
C. 重新播种下一轮对话。在压缩后,将简短的内容粘贴回作为新的上下文。然后发出你的下一个请求。
总结
生成式 AI 并非旨在取代工程师,而是在革命性地改变工程的概念。如果得到恰当利用,它更像是一个助手,帮助我们加快繁琐的工作,以便我们(工程师)可以专注于设计、系统和艰难的决策。能够引导它、对它提出反对意见并使其成为团队一员的工程师将会蓬勃发展。因为,最终,即使是钢铁侠也必须亲自驾驶战衣。
你喜欢这篇文章吗?阅读我关于 TDS 的更多文章——或者订阅我的通讯获取更多信息。谢谢!

浙公网安备 33010602011771号