目录前言1. 大模型代码能力的技术基础1.1 Transformer一切的基础1.2 代码预训练让模型学过代码1.3 不要神化也不要矮化2. Token 与上下文窗口1M 时代重新理解AI 的工作记忆2.1 TokenAI 世界的原子2.2 上下文窗口AI 的工作记忆2.3 1M 上下文到底意味着什么能装下哪些东西2.4 超长上下文的三个真实用途2.5 不要迷信数字1M 也不等于全记住3. 模型能看代码 ≠ 真的理解项目结构3.1 一个典型的反例3.2 AI 理解的三个常见误区3.3 怎么弥补理解的鸿沟4. AI 输出的幻觉代码场景的三个真实案例4.1 案例一调用了不存在的 API4.2 案例二错误地理解了业务逻辑4.3 案例三自信地补全了不存在的文件4.4 应对幻觉的三个原则5. 学生/工程师怎么利用这些原理写出更好的 Prompt5.1 原则一给 AI 足够的上下文经营5.2 原则二把为什么告诉 AI5.3 原则三让 AI 显式说明它的推理过程5.4 原则四拆分大任务为小任务5.5 原则五建立你自己的项目记忆5.6 原则六1M 时代新增把项目核心信息放在上下文的开头和结尾结语前言很多用过 AI 写代码的人都会经历这样一个阶段起初被它的聪明惊艳然后被它的犯傻气哭最后陷入困惑——它到底是真懂还是在装懂这一篇就从技术原理出发帮你建立一个对大模型代码能力的现实主义预期。我们要回答的问题包括大模型为什么会写代码200K 上下文到底值钱在哪为什么 AI 经常看得到代码却理解不了项目它在哪些场景下会一本正经地胡说八道理解了这些你就知道该怎么写 Prompt、该怎么验证 AI 的输出。1. 大模型代码能力的技术基础很多人把大模型想象成超级搜索引擎或编程百科全书这都低估了它的能力也误解了它的本质。1.1 Transformer一切的基础现代大语言模型包括写代码用的 Claude、GPT、DeepSeek几乎都基于同一种神经网络架构——Transformer。它最核心的能力是注意力机制Attention当模型读到一段代码时它能同时看到这段代码里的所有 Token并自动判断哪些 Token 之间关系更重要。打个比方如果让你读function getUserById(id: string)这一行代码你的注意力会立刻放在getUserById和id上因为你知道这是函数名和参数。Transformer 的注意力机制做的事情类似但它能跨越更长的距离——比如识别出第 100 行的函数定义和第 500 行的函数调用是同一个东西。1.2 代码预训练让模型学过代码Transformer 给了模型看懂上下文的能力但要让模型会写代码还需要在海量代码上预训练。训练数据包括 GitHub 上的开源项目、Stack Overflow 的问答、官方文档、教程书籍等等量级通常是几万亿 Token。预训练之后模型学会了什么它学会了代码的统计规律在if (user) {后面大概率跟return在 React 函数组件里大概率会return div.../div在 Python 类里__init__是构造函数……这些规律被压缩成几十 GB 的模型参数。1.3 不要神化也不要矮化这种学过海量代码的能力有两面性好处是它真的能写各种语言、各种框架的代码坏处是它经常把相似但不同的东西搞混——因为它本质上是在预测最像训练数据的下一个 Token而不是理解逻辑。这是后面幻觉问题的根源。2. Token 与上下文窗口1M 时代重新理解AI 的工作记忆理解大模型必须理解两个核心概念Token和上下文窗口。这两个词决定了 AI 编程能力的上限。2026 年的今天主流模型已经普遍跨过 1M Token 门槛这对工程师意味着什么我们这一节重点讲清楚。2.1 TokenAI 世界的原子AI 不是像人一样一个字一个字地读代码它把文本切成一个个小块叫做Token。例如Hello World会被切成Hello和World两个 Token中文的你好世界可能被切成你好和世界两个 Token也可能更多。为什么 Token 这个概念重要因为AI 的计费和能力限制都以 Token 为单位。粗略换算关系是1 个 Token ≈ 4 个英文字符 ≈ 1-2 个中文字符一篇 1000 字的中文文章大约对应 500-1000 个 Token。2.2 上下文窗口AI 的工作记忆上下文窗口是 AI 一次能记住的内容总量就像你的办公桌大小——桌子越大能同时摊开的文件越多。模型2026 年现状按窗口从小到大上下文窗口大致相当于GPT-3 / 3.5早期4K - 8K Token一篇短文GPT-42023 初版8K Token几页文档GPT-4o128K Token一本中篇小说Claude Sonnet 4.5 / Opus 4.5200K Token1M Beta 中一本厚书Qwen3-Max262K Token一套完整项目代码GPT-5 / GPT-5.5400K Token一部长篇小说到两本专业书Claude Sonnet 4.6 / Opus 4.61M Token已 GA一整套技术手册DeepSeek V4 Pro / V4 Flash1M Token一整个中型项目 文档Gemini 2.5 Pro / 3 Pro1M Token一个小型代码库到一套开源框架Gemini 1.5 ProAPI2M Token当前最大一个完整大型代码仓库2.3 1M 上下文到底意味着什么能装下哪些东西2024 年之前上下文够不够用是个大问题2026 年的今天1M Token 已经是主流门槛。这意味着什么直观换算1 本《代码大全》约 800 页≈ 30 万 Token1 个中型开源项目如 Next.js 核心代码≈ 50-80 万 Token1 套完整技术文档如 Vue 3 官方文档全集≈ 100-150 万 Token1M Token 大致能装下一整个中型项目的代码 文档 测试用例这意味着什么以前你需要做上下文裁剪——挑选哪些文件让 AI 看现在你可以全量喂入——把整个项目代码 所有文档一次塞给 AI。Claude Code、Gemini Fullstack Agent 都已经在用这个能力做全仓库感知。2.4 超长上下文的三个真实用途对 AI 编程来说超长上下文≥ 500K解锁了三个以前做不到的事用途一跨项目的全局重构。以前 AI 只能改一个文件、一个模块现在你可以把整个项目的 50 个文件全喂给 AI让它做项目级别的重构——比如把所有 React 类组件统一改成函数组件AI 能看到所有用法的上下文不会改一处漏一处。用途二长文档/书籍级的问答。工程师可以把整本《设计模式》《算法导论》喂给 AI让它基于全书内容回答哪种模式适合我的场景。这种全书阅读 跨章对比的能力128K 模型做不到1M 模型能做得很好。用途三完整日志/报错分析。生产环境的报错日志可能一次刷出几千行以前要分批贴给 AI现在可以一次性贴完AI 能基于完整日志链路定位问题根因。2.5 不要迷信数字1M 也不等于全记住但 1M 不等于完美。这里有一个非常重要的认知陷阱上下文窗口大 ≠ 信息被同等重视。Transformer 的注意力机制在长上下文中会出现中间遗忘现象——研究表明模型对开头和结尾的内容关注度高对中段的内容关注度低俗称lost in the middle问题。所以即使你有 1M 上下文把核心信息放在开头和结尾仍然是最优策略。这也是为什么 CLAUDE.md 这种项目说明书非常有用——它把最关键的项目信息压成几千 Token每次会话自动加载在开头等于给 AI 装了一个项目记忆外挂。3. 模型能看代码 ≠ 真的理解项目结构理解了上下文窗口的概念后就容易理解一个反直觉的事实AI 即使能看到全部代码也不等于它真的理解了项目结构。3.1 一个典型的反例假设你有一个 React 项目包含 50 个组件、20 个工具函数、5 个页面。AI 收到了所有文件它看到了这些代码。但当你说请重构用户管理模块的代码组织方式时AI 可能会做出一系列令人困惑的事情——它可能把UserList.tsx和UserCard.tsx合并成一个大文件可能给一个工具函数起了个和现有命名规范不一致的名字可能删除了某个它没看到用法的 import。为什么会这样因为 AI 的看到和人的看到完全不是一回事。人看代码是带着几十年的工程经验和项目上下文AI 看代码是在做 Token 之间的概率匹配。3.2 AI 理解的三个常见误区第一个误区AI 知道每个文件的语法但不知道文件之间的约定。比如你们项目里所有 React 组件都用 named export但某个文件用了 default export——AI 不会主动统一这种不一致除非你明确告诉它。第二个误区AI 记得住细节但记不住为什么。AI 看到一段被精心优化的正则表达式但它不知道这段代码是因为性能问题被重写过的——它可能反过来优化成更简洁但更慢的版本。第三个误区AI 在长对话中会失忆1M 上下文也救不了。上下文窗口虽然扩到了 1M但前几轮的内容会被逐渐稀释——而且如前面提到的lost in the middle问题模型对中段的内容关注度天然偏低。所以你会发现一个有趣的现象AI 在前 5 轮对话里表现很好到第 30 轮时开始犯傻——它忘了你之前定下的规则。超大上下文不等于长期记忆更不等于稳定状态。要想让 AI 在长任务中保持一致性必须依赖 CLAUDE.md、Auto Memory 这类外挂机制而不是指望模型自己记住。3.3 怎么弥补理解的鸿沟最有效的办法是给 AI 写项目说明书CLAUDE.md——把项目背景、命名约定、代码风格、禁区规则都写清楚让 AI 在每次会话开始时重新加载这份说明书。这不能完全弥补理解的差距但能把差距缩小到可接受的范围。4. AI 输出的幻觉代码场景的三个真实案例幻觉Hallucination是 AI一本正经地胡说八道的学术说法。AI 生成内容的本质是预测概率最高的下一个词大多数时候预测得很准但有时候会自信地编造内容。4.1 案例一调用了不存在的 API新手最常踩的坑让 AI 写一段调用某个第三方库的代码AI 信心满满地写了出来import 也写得头头是道。但实际运行时报错ModuleNotFoundError。查文档才发现这个 API 在 3.0 版本就被移除了AI 用的是 2.0 的旧 API 拼凑出来的幽灵函数。为什么会这样因为 AI 的训练数据有时间截止点而且它会把不同版本的 API 混在一起概率性地输出。AI 不具备我这个 API 是否存在的判断能力。4.2 案例二错误地理解了业务逻辑让 AI 给一个电商网站写满 100 减 20的优惠计算函数。AI 写出来的代码语法完美、注释清晰、还有单元测试。但实际跑起来才发现它把满 100 减 20理解成了100 元以上打 8 折因为它从训练数据里看到 8 折比减 20 更常见。这是代码场景里最危险的幻觉——语法对、风格好、跑得起来但业务逻辑完全错了。这种错误不会让程序崩溃但会让你的电商网站每天都在亏钱。4.3 案例三自信地补全了不存在的文件让 AI 分析一个项目的代码结构。AI 告诉你我看到项目里有个legacy/old_api.py文件还在被引用建议你清理一下。“但实际上这个文件根本不存在——是 AI 在长上下文中想象出了一个文件因为它觉得这个项目应该有一个遗留目录”。这种幻觉在大型项目里特别危险因为人类审查者看到AI 提到了一个文件时会本能地相信它存在而不是去验证。4.4 应对幻觉的三个原则原则一永远验证关键代码。数据库操作、用户认证、支付逻辑——这些地方 100% 信任 AI 出过事的案例比比皆是。信任但验证是 AI 编程的黄金法则。原则二让 AI 引用它看过的东西。当你让 AI 修改某段代码时要求它先告诉我你打算修改哪几个文件、引用了哪几行代码。这样能有效减少凭空想象的幻觉。原则三把幻觉当作 bug 来对待。AI 出现幻觉时不要说它又犯傻了然后跳过而是要追根究底它是基于什么信息得出的错误结论是上下文不够还是你的描述有歧义把幻觉当作改进 Prompt 的信号。5. 学生/工程师怎么利用这些原理写出更好的 Prompt理解了上面的原理你就能有针对性地改进 Prompt。下面是五个立竿见影的技巧。5.1 原则一给 AI 足够的上下文经营不要只说帮我写个登录功能而是说“我在做一个 Next.js Prisma SQLite 的项目使用 NextAuth 做认证。现在需要加一个登录功能要求支持邮箱密码登录登录后跳转到用户主页。”后者给了 AI 至少 5 个关键信息技术栈、相关库、目标行为、具体要求、跳转逻辑。AI 基于这些信息生成的代码质量会明显高于前者。5.2 原则二把为什么告诉 AI不要只说写一个冒泡排序而是说“我需要给初学者演示排序算法的工作过程请写一个带详细注释的冒泡排序并在每一步打印当前数组状态让初学者能看清每轮的比较和交换。”前者 AI 写出来的是正确但枯燥的代码后者 AI 写出来的是为初学者定制的代码。告诉 AI 你的目标和受众AI 就能调整输出的粒度和风格。5.3 原则三让 AI 显式说明它的推理过程在复杂任务中让 AI先说思路再写代码。比如“请先分析这个问题可能涉及的几个技术点然后给出你认为最合适的方案最后再写代码。”这样做有两个好处一是能让你提前发现 AI 的思路错误二是当 AI 主动暴露推理过程时它瞎编的概率会显著降低。5.4 原则四拆分大任务为小任务不要让 AI 一次性写 500 行代码。把它拆成 5 个 100 行的小任务每完成一个就 review 一次。这不只是为了减少幻觉——更是因为 AI 在短任务上的注意力更集中输出的代码质量更高。5.5 原则五建立你自己的项目记忆把项目的关键决策、命名约定、代码风格写到CLAUDE.md或类似的说明文件里每次和 AI 对话时让它先读这份文件。这等于给 AI 装了一个项目记忆外挂能从陌生人变成半个团队成员。5.6 原则六1M 时代新增把项目核心信息放在上下文的开头和结尾既然 1M 上下文也存在lost in the middle问题那你就主动利用这一点把你的项目目标、关键约束、禁区规则这些最重要信息放在对话的开头系统提示或 CLAUDE.md把当前任务的具体要求放在结尾用户的最新提问。中间部分放项目代码、参考文档这些次要信息。这种结构能让模型对核心指令保持高注意力输出质量明显更稳定。结语这一篇我们走过了 AI 代码能力的底层Transformer 代码预训练给了它学过代码的能力Token 和上下文窗口决定了它能看到多少而幻觉是它概率性输出的天然副产品。2026 年的今天1M 上下文已经从奢侈品变成了日用品。但工程师必须清醒更大的上下文不等于更好的 AI——它只是把上下文经营这件事从挤破头挑选变成了全量喂入后再精心组织。真正决定 AI 输出质量的仍然是你给它的结构化程度、约束清晰度、关键信息的位置。理解这些原理之后你就不会再问AI 怎么又犯傻了——你会问我给的上下文是不是不够、“我的描述是不是有歧义”、“我是不是应该把任务拆小一点”、“核心信息是不是放在了正确的位置”。这才是和 AI 高效协作的正确心态也是 1M 时代工程师的核心竞争力。