内容提要
廖雪峰在2026年通过四篇AI编程实战博文,展示从古法AI编程到Spec Coding的演进,开发四个开源软件,并引入C#技术栈。其方法论与全球趋势同步,强调人定义需求、AI生成代码,同时指出AI编程是经验者的杠杆,非新手替代品。
延伸解读
方法论演进:从古法到规格驱动
廖雪峰的四篇博文展示了一条清晰的方法论爬坡路线:从古法AI编程(人工粘贴代码)到Vibe Coding(命令行智能体),再到Spec Coding(规格驱动开发)。每一步都针对前一步的痛点,如上下文管理、质量控制和需求表达。这种演进与全球趋势同步,说明规格驱动是认真使用AI开发完整软件的必然收敛点。
AI时代的技术选型逻辑
廖雪峰在项目中对C#的取舍揭示了AI时代技术选型的变化:当AI能生成95%的代码时,语言熟悉度让位于平台能力和AI生成质量。他因跨平台UI问题弃用C#,又因Avalonia和NativeAOT的成熟而重新采用。这显示语言忠诚度正被工程适配性取代,平台能力成为主导因素。
AI编程的边界与风险
廖雪峰的实践也暴露了AI编程的边界:效率数据均为自报,项目为个人工具,不涉及生产环境的复杂性。AI生成代码的安全性不能默认成立,他主动发现并加固了本地RPC漏洞。此外,AI编程是经验者的杠杆,而非新手的替代品,完全不懂编程的人现阶段无法驾驭。
Q&A
廖雪峰在2026年上半年发布的AI编程实战系列文章主要讲了什么?
廖雪峰在2026年1月至5月发布了四篇AI编程实战博文,分别使用古法AI编程、Vibe Coding和Spec Coding三种方法,开发了ASCII Draw、MyPassword、CryptoDrive和Serial Debugger四个开源软件,并在6月用C#和Avalonia将ASCII Draw重写为跨平台桌面应用。这些文章展示了从传统编程到AI辅助编程的演进,强调人定义需求、AI生成代码的新范式。
廖雪峰在ASCII Draw项目中采用了什么编程方法?为什么?
廖雪峰在ASCII Draw项目中采用了“古法AI编程”,即让AI在网页对话框里写代码,然后人工粘贴到VS Code中。原因是当时付费API尚未配置,最终API花费为零。这种方法暴露了资深工程师与AI协作的细节,如先给总体布局和开发原则、坚持纯静态页面、每跑通一个小功能就git提交等。
廖雪峰在MyPassword项目中如何设计安全架构?
MyPassword项目采用了双层密钥结构:使用PBKDF2派生KEK(密钥加密密钥)来加密随机生成的DEK(数据加密密钥),并采用JSON加密条目存储以便未来扩展Passkey/TOTP。此外,针对本地RPC被恶意进程调用的风险,设计了HMAC签名配对机制。廖雪峰强调AI不会主动思考安全漏洞,需要人提出安全问题并让AI加固代码。
廖雪峰在CryptoDrive项目中如何改进Cryptomator?
CryptoDrive以Cryptomator为原型,针对其移动/重命名文件会导致物理文件位置变动、不利于同步的痛点,设计了以inode映射物理路径的虚拟文件系统,目录树单独存于files.json,并内置了S3兼容存储的单向云同步。整个项目约3天完成,展示了“站在开源肩膀上用AI重写”的成本优势。
廖雪峰在Serial Debugger项目中如何应用Spec Coding?
在Serial Debugger项目中,廖雪峰先用一小时在Visual Studio设计器里拖出界面,并强调使用有语义的变量名(如buttonSend)以便AI理解意图;再用一小时写SPEC.md,然后向AI发出最终指令“完成所有代码”,5分钟后全部代码生成完毕并一次跑通。后续收尾工作(如硬编码改数组、换行符细节、Debug日志、GitHub Actions发布、.NET程序集裁剪)也全部通过把崩溃日志扔给AI完成。
廖雪峰在AI编程实践中如何选择技术栈?为什么会出现C#?
廖雪峰在技术选型上主要考虑平台能力和AI生成质量。在MyPassword中,因跨平台UI需求,他放弃了C#而选择Java+SWT;在Serial Debugger中,因是Windows专用工具,他直接使用Visual Studio + .NET 10 + C# WinForms;在AsciiDraw桌面版中,他使用C# + Avalonia实现跨平台,并用NativeAOT编译。出现C#的原因是当AI生成代码质量高时,语言选择标准从“我熟不熟”转向“AI写得好不好、平台能力够不够”,而C#在AI训练语料充足、类型系统严格、工具链统一,生成质量与Java、Python相当。
廖雪峰认为AI编程对开发者的定位有何影响?
廖雪峰认为AI编程是经验者的杠杆,而非新手替代品。他在ASCII Draw篇中直言“完全不懂编程能使用AI Coding吗?——现阶段洗洗睡吧”。AI编程放大了已有的工程判断力,而不是替代它。开发者需要具备产品定义、架构设计、技术选型、规格写作、质量验收、调试方法、安全审计和发布工程等能力,这些都不直接是“写代码”,但依赖传统工程功底。
廖雪峰的AI编程实践与全球方法论演进有何关联?
廖雪峰的实践节奏与全球AI编程方法论演进同步。他从古法AI编程到Vibe Coding再到Spec Coding,与行业从Vibe Coding向Spec-Driven Development(SDD)的迁移几乎同步。他的每一步都由自身工具链的痛点驱动,但结果上精确复现了全球方法论的演进路径,说明“规格驱动”是任何认真使用AI写完整软件的人都会收敛到的工程解。
廖雪峰在AI编程实践中如何保证代码质量?
廖雪峰通过多种方式保证代码质量:在古法AI编程中,他坚持小步提交和git快照,每跑通一个小功能就提交;在Vibe Coding中,他主动提出安全问题并让AI加固;在Spec Coding中,他通过写详细的SPEC.md来约束AI生成代码,并强调架构设计(如异步线程)和示例。此外,他还通过给AI喂日志而非截图来调试,以及使用GitHub Actions进行发布和裁剪。
廖雪峰的四篇AI编程博文对编程教育有何启示?
廖雪峰的四篇博文展示了编程教育内容的转变:从教语法和API转向教如何定义问题、设计架构、约束AI、验收产出。他的文章没有一行教“代码怎么写”,而是全部讲决策过程。这预示着编程教学的重心将从“语法与API”转向“需求表达、架构设计与质量验收”,规格写作能力成为新的核心技能。