第二章:大模型到底是怎么工作的(小白版)


为什么要了解原理?

很多人一边用 AI 写代码,一边又觉得它像魔法。魔法感越强,失望也越大。 因为一旦它出错,你就不知道问题出在哪,只能骂一句"AI 废物"然后什么都没改变。

如果你理解了几个最关键的原理,你会发现:

  • AI 出错是可以预测的
  • 很多"AI 的锅"其实是"提问方式的锅"
  • 知道原理,才能知道怎么绕开局限

这一章,我们只讲最关键、最够用的原理,而且尽量不用术语吓人。


1. 什么是训练?

你可以把训练理解成:让一个人极其夸张地刷完整个互联网,再让他从这些内容里学习语言、知识、模式和结构。

它看过:

  • 各种编程教程和文档
  • GitHub 上的开源代码
  • Stack Overflow 的问答
  • 技术博客
  • 论文
  • 自然语言文本

当然,它不是像人一样"真正理解世界",更准确地说,它是在学习:

  • 什么词后面通常接什么词
  • 什么问题通常对应什么答案
  • 什么代码结构通常长什么样
  • 什么报错大概率和什么原因有关

所以你可以把训练想成:海量刷题 + 模式提取

这对你意味着什么?

  • AI 对"主流框架的主流用法"非常熟悉(因为训练数据里有大量这类内容)
  • 但对"你们公司自研内部框架的特殊用法"一无所知
  • 越是小众、越是新的东西,它越可能出错

所以在 Prompt 里给 AI 补充它可能不知道的信息,是非常关键的一步。


2. 什么是推理?

推理不是"哲学思考",更像是:开卷考试

你把题目给它,它会结合训练时学到的大量模式,去预测"下一段最合理的内容应该是什么"。

比如你说:

用 FastAPI 写一个文件上传接口

它脑子里就会迅速调出一大堆相关模式:

  • FastAPI
  • UploadFile
  • File(...)
  • 异步接口
  • 返回 JSON

然后按概率和上下文去拼出一份"像样"的答案。

关键点:它在生成,不在检索

这里有个很重要的点:它不是在一个真实数据库里检索唯一正确答案,而是在生成"高概率合理答案"。

类比:

  • 搜索引擎 = 图书管理员,帮你找到一本真实存在的书
  • 大模型 = 一个博览群书的人,根据他的知识,给你写一段关于这个话题的文字

前者的答案是"找到的",后者的答案是"生成的"。生成的东西,有时候对,有时候会有错。

这就是为什么它经常看起来很懂,但又不一定百分百对。


3. 什么是上下文窗口?

上下文窗口,你可以把它理解成:AI 的短期记忆容量

你跟一个人聊天,如果前面你说了很多话,他不可能无限记住所有细节。AI 也一样。它能同时"看见并记住"的内容是有限的。

上下文里可能包括:

  • 你的当前问题
  • 前面对话历史
  • 你贴进去的代码
  • 项目里被读取的文件
  • 需求说明
  • 报错信息

上下文窗口的大小是多少?

不同模型差距很大:

模型 上下文窗口(大约)
GPT-3.5 16K token
GPT-4 128K token
Claude 3 Sonnet 200K token
Gemini 1.5 Pro 1M token

Token 的概念我们在第三章详解,这里先记住:越大的上下文窗口,意味着 AI 可以"同时处理"更多内容

两个反直觉的事实

事实一:上下文太短,它会"失忆"

如果你和 AI 聊了很多轮,早期的设定和上下文可能已经超出了窗口范围,AI 就会"忘记"你前面说的东西。典型表现:你前面说了"我们用 Vue 3",后来它写代码却给你用了 React。

事实二:上下文太长,它会"分心"

很多人以为把整个项目扔给 AI,它就会更聪明。现实往往是:

  • 信息太多,重点变稀释
  • 旧方案和新方案混在一起
  • 无关文件挤占注意力
  • 它开始忘记你真正想解决的问题

就像你问一个同事"帮我看看登录接口为什么 401",结果你给了他三个月聊天记录和五版废弃需求——他不会更聪明,只会更痛苦。


4. 什么是幻觉?

幻觉这个词听起来很玄,实际一点说就是:AI 会一本正经地编。

它常见的编法包括:

  • API 根本不存在
  • 方法名拼错了,但样子很像真的
  • 某个库其实没有这个功能
  • 配置项是虚构的
  • 它把旧版本用法当成新版本用法
  • 引用的文档链接根本打不开

为什么会这样?

因为它的目标是生成"看起来合理、统计上高概率"的内容,而不是天然附带"事实核验机制"。

这跟一个过度自信的实习生很像:

  • 知识面挺广
  • 说话很流畅
  • 出手很快
  • 但不确定的时候也不会老老实实承认"不知道"

幻觉最常见的场景

场景一:描述一个不存在的 API

你让 AI 写一个前端上传组件,你说:

用某个 UI 库写一个支持拖拽上传、自动压缩图片、断点续传的组件

如果这个 UI 库本身只支持普通上传,它很可能会:

  • 自动脑补一个 beforeCompress 钩子
  • 再脑补一个 resumeUpload 方法
  • 最后再给你写一套看起来特别正规的配置对象

你一运行,全是错。这不是因为它故意骗你,而是它把几个"常见模式"拼成了一个"看上去合理的答案"。

场景二:知识截止日期问题

AI 的训练数据有截止日期。比如某个框架在训练后发布了破坏性变更,AI 可能会给你写一份旧版本的代码,然后用你框架当前版本时报错。

场景三:过度自信

你问它"这个方案有没有安全问题",它可能会说"这个方案安全性良好",但实际上存在明显的 SQL 注入风险。

如何应对幻觉?

我希望你帮我写代码,但不要猜测不存在的 API。

要求:
1. 如果你不确定某个框架或库是否支持某能力,请明确标注"需要核对官方文档"
2. 优先使用稳定、常见的 API
3. 生成代码前先列出你依赖的关键 API 和它们的用途
4. 如果某功能需要第三方库,请说明原因
5. 如果你对某个实现不确定,请说"我不确定,建议验证"

这类 Prompt 的价值很大,因为它不是让 AI “更聪明”,而是在约束它别乱编


5. 为什么模型有强弱差异?

很多人会简单理解成:“这个模型更聪明,那个模型更笨。”

这种说法太粗糙了。更准确的差异来自四件事:

差异一:训练数据质量和覆盖范围

  • 某些模型训练数据质量更高(筛选更严格)
  • 某些模型代码训练数据更多
  • 某些模型有更新的知识截止时间

差异二:推理能力

处理复杂问题时的稳定性。简单任务大家都能做,复杂多步推理才分高下。

差异三:工具调用能力

能不能查文件、跑命令、读网页、操作环境。这决定了 AI 是"只会说话"还是"会干活"。

差异四:上下文长度与上下文管理能力

能处理多少内容,以及在长上下文里是否依然表现稳定。

所以 GPT、Claude、Gemini、DeepSeek 的差异,不只是"智商排名",更像不同工程师的工作风格:

特点 适合场景
擅长长文分析 文档整理、代码审查
擅长代码补全 日常写代码
工具链更强 Agent 任务、自动化流
速度更快、成本更低 大量重复任务

6. AI 在编程里的实际工作方式

当你让 AI 帮你写代码,它背后大概在做这几件事:

  1. 解析意图:理解你说的是什么功能
  2. 匹配模式:从训练中找相关代码结构
  3. 生成草稿:按概率拼出一份代码
  4. 格式化输出:把代码整理成可读格式

整个过程没有"运行代码"这一步(除非工具集成了代码执行环境)。所以 AI 不知道它生成的代码跑不跑得通,除非你让它验证。

实际案例:为什么同样的问题,多问几遍结果不一样?

这是因为生成过程有随机性(叫做"temperature",温度参数)。相同的输入,每次生成的结果会有细微差异。

这不是 bug,而是设计特性。高随机性让 AI 更有创造力,但也更不稳定。对于代码任务,你通常希望结果更确定、更精确,一些工具允许你调低这个参数。


7. 大模型 vs 搜索引擎:一个容易混淆的对比

维度 搜索引擎 大模型
返回内容 找到的真实网页 生成的文本
正确性 取决于网页质量 取决于训练和生成质量
时效性 实时更新 有知识截止日期
适合任务 查找特定信息 理解、生成、推理
出错方式 找不到答案 生成错误但看起来合理的答案

关键差异:搜索引擎出错时,你知道它找不到;大模型出错时,你可能不知道它编了。


总结:你需要建立的正确心智模型

把 AI 想象成一个这样的合作者:

  • 见多识广:看过大量代码,对主流方案烂熟于心
  • 开卷答题:每次都调用已有知识来生成答案
  • 记忆有限:只能"看见"当前对话窗口内的内容
  • 偶尔会编:不确定时不会承认不确定,会生成一个看起来合理的答案
  • 不会运行代码:除非工具集成了,否则它无法自我验证

用这个心智模型,你就能更准确地预测它什么时候靠谱、什么时候需要你来把关。


一句话总结

大模型不是会思考的神谕,更像一个见多识广但偶尔会自信瞎写的超级实习生。


上一章:第一章 — Vibe Coding 到底是什么?
下一章:第三章 — Token 是什么

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐