AI是如何理解和生成代码的? 📅 2026/6/29 21:56:41 token化AI不像人一样一个字一个字的读代码而是把文本切成一个个小块叫做token。例如Hello World会被切成Hello和World两个 Token。中文的你好世界可能被切成你好和世界两个 Token也可能被切成更多个。为什么这个概念重要因为AI的计费和能力限制都以 Token 为单位。你发送的内容越长消耗的 Token 越多费用越高。提示简单记住这个换算关系 —— 1 个 Token ≈ 4 个英文字符 ≈ 1-2 个中文字符。一篇 1000 字的中文文章大约是 500-1000 个 Token。上下文窗口AI的工作记忆上下文窗口是AI一次能记住的内容量。这就像你的办公桌大小 —— 桌子越大能同时摊开的文件越多。对于AI编程来说上下文窗口越大越好 —— 因为AI需要同时看到更多项目代码才能做出合理的修改。Claude、Gemini、GPT 等主流模型都在持续扩大上下文窗口。概率生成为什么AI有时会胡说八道AI生成内容的本质是预测概率最高的下一个词。大多数时候它预测得很准但有时候它会一本正经地胡说八道 —— 这被称为幻觉Hallucination。Vibe Coding感觉驱动的编程新范式Vibe Coding就是不要纠结代码的每一个细节跟着感觉走让AI帮你实现想法。Vibe Coding 的核心原则意图优先先描述你想要什么效果而不是告诉AI怎么写代码快速迭代不追求一次完美拥抱生成 → 测试 → 修正的循环信任但验证相信AI的能力但始终检查关键逻辑上下文经营持续维护和优化提供给AI的背景信息Vibe Coding 适用场景原型开发、概念验证快速把想法变成可运行的东西个人项目、学习项目试错成本低探索性编程不确定最终效果边做边看UI/前端开发可视化反馈快容易判断好不好Vibe Coding 需谨慎的场景注意 生产环境的核心系统银行、医疗等注意 安全敏感代码认证、加密等注意 性能极致要求的场景Agentic Engineering工程化升级范式为什么纯 Vibe Coding 在大项目中不够用Vibe Coding 对于做小项目、快速原型非常好用但当项目变大变复杂时纯粹的跟着感觉走会遇到麻烦代码质量不可控AI可能写出能跑但很乱的代码积累成技术债务前后矛盾AI在不同对话中可能给出相互冲突的实现方式缺乏全局视角AI可能只关注当前的小任务忽略对整体架构的影响难以协作没有统一规范时多个人或多次会话的代码风格各异什么是智能体Agent智能体Agent是一个能够自主完成任务的AI系统。智能体的工作循环是感知读取项目代码、理解需求 → 推理分析问题制定计划 → 行动 修改文件、运行命令、安装依赖→ 反馈检查结果、发现新问题Claude Code 就是一个典型的编程智能体 —— 你告诉它帮我添加一个用户注册功能它会自己读懂项目代码自己创建文件自己写代码并运行测试。智能体协作模式当一个智能体不够用时比如项目特别复杂可以让多个智能体协作各司其职。领导者-执行者模式Leader-Worker一个老板Agent负责拆分任务和协调多个员工Agent负责执行具体任务。Qoder 就是这种模式的典型代表 —— 有 Leader指挥官、Coding开发者、Research研究员、Verify测试员等多个 Agent 角色。管道式协作PipelineAgent按顺序接力就像工厂流水线需求分析Agent → 架构设计Agent → 代码实现Agent → 测试Agent → 部署Agent对等协作Peer-to-Peer多个Agent平等地互相审查就像同事之间互相Code Review。一般一个单智能体就能完成大多数项目了当项目足够复杂时再考虑Qoder 等多智能体方案。自主决策与任务分解优秀的AI编程智能体不会一股脑地把所有代码写出来它会像一个经验丰富的程序员一样先思考再行动Plan-Act-Observe-Reflect 循环1. Plan规划 要完成登录功能我需要做这些事...... 2. Act行动 先创建数据库用户表...... 3. Observe观察创建成功了但发现少了一个字段...... 4. Reflect反思我需要修改表结构加上邮箱字段...... 5. 回到 Plan 好的现在继续下一步......任务分解原则 —— MECEMECEMutually Exclusive, Collectively Exhaustive是一个管理咨询中常用的概念意思是相互独立完全穷尽。举个例子把构建一个博客系统分解为构建博客系统 ├── 1. 用户系统注册、登录、个人资料 ├── 2. 文章系统创建、编辑、删除、列表 ├── 3. 评论系统发表、删除、回复 ├── 4. 分类标签创建分类、打标签、按分类筛选 └── 5. 部署上线打包、配置服务器、域名这5个子任务之间互不重叠相互独立合在一起覆盖了博客系统的全部功能完全穷尽。在使用 Claude Code 时最佳实践是先让AI制定计划你确认后再执行。而不是一上来就让它开始写代码。这个习惯会大幅减少返工。规范驱动开发 SDDSpecification-Driven Development为什么AI编程需要规范如果你告诉AI帮我做一个网站它可能做出一个和你期望完全不同的东西。垃圾进垃圾出 —— 模糊的需求必然导致不准确的结果。规范Specification就是你和AI之间的合同它明确地写清楚要做什么功能需求怎么做技术方案做到什么程度质量标准有了这份合同AI才能精准地理解你的意图。需求规范PRD文档PRDProduct Requirements Document产品需求文档描述的是要做什么。用户故事User Story格式作为一个 [角色] 我希望 [功能] 以便 [价值/目的]。例如作为一个博客读者 我希望能按标签筛选文章 以便快速找到我感兴趣的内容。验收标准Acceptance Criteria格式Given前提条件系统中有20篇文章其中5篇标记了Python标签 When操作用户点击Python标签 Then预期结果页面只显示这5篇标记了Python标签的文章用AI辅助生成PRD的Prompt你可以让AI帮你把模糊的想法变成结构化的需求文档我想做一个个人书签管理工具。 请帮我生成一份完整的PRD文档包含 1. 项目概述一句话描述 2. 目标用户 3. 核心功能列表按优先级排列Must Have / Should Have / Nice to Have 4. 每个功能的用户故事和验收标准 5. 非功能需求性能、安全、兼容性 请用Markdown格式输出。技术规范SPEC文档SPECTechnical Specification技术规范文档描述的是怎么做。一个完整的SPEC文档包含模块内容说明系统架构整体架构设计图前后端如何交互技术选型使用什么技术和框架比如 Next.js Prisma SQLite数据模型数据库表结构设计有哪些表、每个表有哪些字段API接口接口定义每个API的URL、请求参数、返回格式目录结构项目文件组织代码放在哪个文件夹让AI从PRD自动生成SPEC的Prompt基于以下PRD文档请生成对应的技术规范文档SPEC [粘贴你的PRD内容] 要求 1. 推荐技术选型并说明理由 2. 设计完整的数据模型包含字段类型和关系 3. 列出所有API接口RESTful风格 4. 给出建议的项目目录结构质量规范质量规范定义了做到什么程度算合格编码规范代码风格统一、命名规则、注释要求测试规范需要覆盖哪些测试场景安全规范输入验证、认证授权、数据保护规范文件的组织与管理建议在项目根目录下创建一个specs/文件夹统一管理规范文件my-project/ ├── specs/ │ ├── PRD.md # 产品需求文档 │ ├── SPEC.md # 技术规范 │ ├── ARCHITECTURE.md # 架构设计 │ └── API.md # API 接口文档 ├── src/ # 源代码 ├── CLAUDE.md # 给Claude Code的项目说明详见第二部分 └── package.json规范文件最大的价值之一是 ——可以直接作为AI工具的上下文输入。当你把 SPEC.md 的内容提供给 Claude Code 时它就能精准地按照你的技术方案来写代码。主流模型系列介绍大语言模型基础知识参数量模型的大脑大小你可能听说过7B模型、70B模型这样的说法。这里的 B 是 Billion十亿的缩写指的是模型的参数数量。简单理解参数越多模型越聪明但也越慢、越贵。参数量级能力类比1-7B基础对话、简单代码小学生7-30B较好的编程、推理能力中学生30-70B优秀的编程、复杂推理大学生70B顶级的编程、深度推理研究生上下文窗口再次强调的核心概念对AI编程来说上下文窗口直接决定了AI能看到你项目中多少代码。窗口越大AI对项目的理解越全面生成的代码越准确。4K Token ≈ 一个文件 → 只能看到当前文件 32K Token ≈ 几个文件 → 能看到相关的几个文件 128K Token ≈ 一个小项目 → 能理解整个小项目 200K Token ≈ 一个中型项目 → 许多主力模型的长上下文起点 1M Token ≈ 一个大型项目 → Claude / Gemini / GPT 等旗舰模型的超长上下文级别Token 计费你的油费使用AI模型就像开车需要加油 —— Token 就是你的油用多少付多少。费用 输入Token数 × 输入单价 输出Token数 × 输出单价TemperatureAI的创造性开关Temperature 是一个 0-1 之间的参数控制AI回复的随机性Temperature 0每次给出几乎相同的答案最确定性→ 适合代码生成Temperature 1每次答案都不同最随机→ 适合创意写作提示编写代码时通常不需要手动调整 Temperature。Claude Code 默认使用适合编程的低 Temperature 值。Claude 系列AnthropicClaude 系列AnthropicClaude 是本教程推荐的主力模型由 Anthropic 公司开发。模型上下文速度代码能力推理能力费用档位关键特点Claude Haiku 4.5200K极快良好中等$轻量任务、批处理、低成本Claude Sonnet 4.61M快优秀强$$日常开发主力性价比高Claude Opus 4.71M中等顶级极强$$$复杂规划、架构和疑难问题核心优势超长上下文200K 到 1M随模型不同而变化项目级代码理解能力强代码生成质量在业界领先指令遵循能力精确你说什么它就做什么安全对齐好不容易生成危险代码