【从零学Vibe Coding】第二章:大模型到底是怎么工作的(小白版)
第二章:大模型到底是怎么工作的(小白版)
为什么要了解原理?
很多人一边用 AI 写代码,一边又觉得它像魔法。魔法感越强,失望也越大。 因为一旦它出错,你就不知道问题出在哪,只能骂一句"AI 废物"然后什么都没改变。
如果你理解了几个最关键的原理,你会发现:
- AI 出错是可以预测的
- 很多"AI 的锅"其实是"提问方式的锅"
- 知道原理,才能知道怎么绕开局限
这一章,我们只讲最关键、最够用的原理,而且尽量不用术语吓人。
1. 什么是训练?
你可以把训练理解成:让一个人极其夸张地刷完整个互联网,再让他从这些内容里学习语言、知识、模式和结构。
它看过:
- 各种编程教程和文档
- GitHub 上的开源代码
- Stack Overflow 的问答
- 技术博客
- 论文
- 自然语言文本
当然,它不是像人一样"真正理解世界",更准确地说,它是在学习:
- 什么词后面通常接什么词
- 什么问题通常对应什么答案
- 什么代码结构通常长什么样
- 什么报错大概率和什么原因有关
所以你可以把训练想成:海量刷题 + 模式提取。
这对你意味着什么?
- AI 对"主流框架的主流用法"非常熟悉(因为训练数据里有大量这类内容)
- 但对"你们公司自研内部框架的特殊用法"一无所知
- 越是小众、越是新的东西,它越可能出错
所以在 Prompt 里给 AI 补充它可能不知道的信息,是非常关键的一步。
2. 什么是推理?
推理不是"哲学思考",更像是:开卷考试。
你把题目给它,它会结合训练时学到的大量模式,去预测"下一段最合理的内容应该是什么"。
比如你说:
用 FastAPI 写一个文件上传接口
它脑子里就会迅速调出一大堆相关模式:
FastAPIUploadFileFile(...)- 异步接口
- 返回 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 帮你写代码,它背后大概在做这几件事:
- 解析意图:理解你说的是什么功能
- 匹配模式:从训练中找相关代码结构
- 生成草稿:按概率拼出一份代码
- 格式化输出:把代码整理成可读格式
整个过程没有"运行代码"这一步(除非工具集成了代码执行环境)。所以 AI 不知道它生成的代码跑不跑得通,除非你让它验证。
实际案例:为什么同样的问题,多问几遍结果不一样?
这是因为生成过程有随机性(叫做"temperature",温度参数)。相同的输入,每次生成的结果会有细微差异。
这不是 bug,而是设计特性。高随机性让 AI 更有创造力,但也更不稳定。对于代码任务,你通常希望结果更确定、更精确,一些工具允许你调低这个参数。
7. 大模型 vs 搜索引擎:一个容易混淆的对比
| 维度 | 搜索引擎 | 大模型 |
|---|---|---|
| 返回内容 | 找到的真实网页 | 生成的文本 |
| 正确性 | 取决于网页质量 | 取决于训练和生成质量 |
| 时效性 | 实时更新 | 有知识截止日期 |
| 适合任务 | 查找特定信息 | 理解、生成、推理 |
| 出错方式 | 找不到答案 | 生成错误但看起来合理的答案 |
关键差异:搜索引擎出错时,你知道它找不到;大模型出错时,你可能不知道它编了。
总结:你需要建立的正确心智模型
把 AI 想象成一个这样的合作者:
- 见多识广:看过大量代码,对主流方案烂熟于心
- 开卷答题:每次都调用已有知识来生成答案
- 记忆有限:只能"看见"当前对话窗口内的内容
- 偶尔会编:不确定时不会承认不确定,会生成一个看起来合理的答案
- 不会运行代码:除非工具集成了,否则它无法自我验证
用这个心智模型,你就能更准确地预测它什么时候靠谱、什么时候需要你来把关。
一句话总结
大模型不是会思考的神谕,更像一个见多识广但偶尔会自信瞎写的超级实习生。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)