乐于分享
好东西不私藏

读《Vibe编程:探索AI时代编程新范式》

读《Vibe编程:探索AI时代编程新范式》

跟着运来兄搭建自己的生物信息小书房。趁年轻,读几本硬书,到老了慢慢反刍。

《Vibe编程:探索AI时代编程新范式》是咱们生信书房介绍的第79本书。

今年我关掉了很多自动续费,省下来体验层出不穷的模型,微信阅读的会员续费留了下来,因为咱们这个系列还需要呐。而且自从Agent出来之后,觉得更加需要通过阅读来补充大块知识。尽管体验可以很快,但是回味却经久绵长。

在高铁上,我打开《Vibe编程:探索AI时代编程新范式》,想从生信角度看看,编程这次范式变化,讲如何影响生物信息的日常工作。

屏幕暗下去的时候,我盯着那支看不见的笔想:一个天天和单细胞数据、Python脚本打交道的生信人,什么时候也开始操心"编程范式"了?

这不是我操心,是编程这个把很多人卡在生信门口的技能,如今已经变了。让我回顾一下编程这件事的发展历史,清晰明了:

从机械穿孔卡片到结构化编程,从面向对象到函数式范式,每一次变革都重塑了人类与机器对话的方式。如今,我们面临一场新的革命——Vibe编程。

那么,什么是Vibe编程?

得益于大语言模型技术的持续突破,开发者已不再需要逐行敲击代码,而是通过自然语言表达意图,与AI协作完成从创意到落地的全流程。

说白了,就是“意图驱动、人机协作”为核心的新开发范式。它不需要我们在键盘上一行一行写代码了。

维度
传统开发流程
Vibe 编程开发流程
开发效率
多人协作,周期较长
可由单人在短时间内完成交付
技术门槛
需掌握多种编程语言与复杂框架
可用自然语言与图形界面完成配置
安全保障
手动实现加密与鉴权,风险较高
自动生成合规代码,内置安全防护
维护成本
修改需遍历多处代码,易出错
配置驱动更新,维护更灵活
协作难度
前后端分离,需频繁联调
全栈统一建模,协作更加高效

这让我想起今年回家收麦子的场景。之前在麦田用镰刀一行一行连同秸秆一起割,割成一把一把的,再用脱粒机打成小麦。现在直接上联合收割机,农民伯伯在路边看着,别割到别人家的就行了。割完一块地,就装袋子拉回家了。

一棵麦子没动手,麦子就拉回家了。这不就是“Vibe收麦”吗?

所以对我们生物信息人来说,是不是就可以快乐拥抱Vibe编程了?别着急,多年不回家的你,还知道自己的田在哪吗?还知道地边子在哪吗?

AI生成代码虽然高效,却经常忽略

  • 代码质量
  • 可维护性
  • 安全性
  • 性能等长期稳定交付

这些关键因素,主要原因是AI总是着急快速交付,又为了保持局部正确,加入过度的判断和重复的代码。所以一个经验老道的生物信息分析工程师,在处理自己熟悉的数据时,更愿意用自己已经写好的代码,而不是让AI来写。

书中用了一个很有意思的比喻,AI写的代码,是面条式代码(spaghetti code):向面条一样混乱、职责交织、难以理解与维护。看上去也是一条一条的,但是没有人会一根一根地吃面条。

然而,范式的变换不以人的意志为转移。

荀子在《劝学》里写:"君子生非异也,善假于物也。"

我当初读这句,只当是劝人借力。做了几年生信才慢慢懂:所谓善假于物,不是懒,是把精力从"怎么使工具"挪到"使工具去做什么"。

Vibe编程也是这个理。它没让生信人变轻松,是让我们把最贵的注意力,从"写对一行代码"转移到"判对一个结论"。

那支清晨划线的笔,最后停在了"善假于物"四个字上。

生信人的核心竞争力,正在悄悄迁移:从"会写脚本",到"会验收脚本"。工具越来越能写,越来越需要有人,稳稳地坐在验收的位置上。

这就是我们的核心竞争力。

# 《Vibe编程:探索AI时代编程新范式》目录- 封面- 版权信息- 内容提要- 自序- 前言  - 本书的适用对象- 资源与支持  - 提交勘误  - 与我们联系  - 关于异步社区和异步图书- 第1章 起源  - 1.1 走进Vibe编程    - 1.1.1 让想法落地    - 1.1.2 让创意优先于技术  - 1.2 从"命令式""意图式"的转变    - 1.2.1 回顾命令式编程    - 1.2.2 从命令到意图    - 1.2.3 开发流程对比  - 1.3 Vibe编程的基石    - 1.3.1 大语言模型技术的成熟    - 1.3.2 市场需求的催化    - 1.3.3 开发者的核心痛点  - 1.4 小结- 第2章 编程方式的演变  - 2.1 编程语言的进化    - 2.1.1 与机器对话    - 2.1.2 从二进制到符号语言    - 2.1.3 高级编程语言的兴起    - 2.1.4 结构化编程与面向对象编程的突破    - 2.1.5 现代编程范式的多元化  - 2.2 编程交互的进化    - 2.2.1 物理介质上的编程雏形    - 2.2.2 从行编辑到全屏交互的突破    - 2.2.3 编辑·编译·调试一体化的集成化时代    - 2.2.4 跨平台生态与插件化架构革新  - 2.3 低代码开发与无代码开发的崛起    - 2.3.1 图灵完备理论体系    - 2.3.2 早期技术探索    - 2.3.3 概念形成与初步实践    - 2.3.4 市场发展期    - 2.3.5 传统低代码与无代码平台的局限性    - 2.3.6 AI赋能低代码和无代码平台  - 2.4 小结- 第3章 Vibe编程应用生态  - 3.1 通用大语言模型辅助编程    - 3.1.1 大语言模型问答    - 3.1.2 大语言模型的编程能力    - 3.1.3 对话式辅助编程的优缺点  - 3.2 IDE辅助编程    - 3.2.1 IDE插件集成AI    - 3.2.2 AI原生集成IDE    - 3.2.3 IDE的AI集成对比  - 3.3 端到端Agent编程    - 3.3.1 端到端Agent编程理念    - 3.3.2 端到端Agent编程产品    - 3.3.3 运作机制与系统架构  - 3.4 应用形态的未来    - 3.4.1 新的应用形态    - 3.4.2 应用形态与用户分层  - 3.5 小结- 第4章 Vibe编程应用场景与实践案例  - 4.1 应用场景剖析    - 4.1.1 产品原型快速构建    - 4.1.2 "全民开发"兴起    - 4.1.3 启蒙利器与进阶阻碍    - 4.1.4 企业内部流程自动化:效率提升与整合难题  - 4.2 实践案例详解    - 4.2.1 独立开发者的成功案例    - 4.2.2 创业公司的应用实践    - 4.2.3 大型企业的转型    - 4.2.4 开源社区的适应与创新  - 4.3 小结- 第5章 最佳实践  - 5.1 提示词工程技巧    - 5.1.1 为什么好的提示词很重要    - 5.1.2 提示词工程的核心原则    - 5.1.3 提示词优化实例    - 5.1.4 实用提示词模板合集    - 5.1.5 为Cursor配置提示词  - 5.2 需求规划    - 5.2.1 需求分析    - 5.2.2 编写产品需求文档    - 5.2.3 选择AI友好的技术栈    - 5.2.4 使用AI生成需求文档  - 5.3 代码审查与优化    - 5.3.1 AI的局限    - 5.3.2 常见质量缺陷    - 5.3.3 低劣代码可能导致项目失败    - 5.3.4 AI时代的代码审查指南    - 5.3.5 建立代码审查体系  - 5.4 工程化管理    - 5.4.1 工程化简介    - 5.4.2 适用于Vibe编程的轻量级工程化体系  - 5.5 小结- 第6章 实战案例  - 6.1 环境配置    - 6.1.1 准备工具    - 6.1.2 项目脚手架  - 6.2 项目需求梳理    - 6.2.1 梳理需求说明文档    - 6.2.2 梳理技术设计文档    - 6.2.3 梳理项目执行计划文档  - 6.3 后端开发    - 6.3.1 实现思路    - 6.3.2 开发后端服务程序    - 6.3.3 代码审查    - 6.3.4 接口测试    - 6.3.5 补充完善更多功能  - 6.4 Web端系统开发    - 6.4.1 实现思路    - 6.4.2 开发Web页面    - 6.4.3 代码审查    - 6.4.4 让AI按预期输出Web页面    - 6.4.5 调用服务器端真实接口  - 6.5 应用部署    - 6.5.1 理解代码部署逻辑    - 6.5.2 将应用部署到Vercel    - 6.5.3 借助GitHub Actions实现持续部署  - 6.6 小结- 第7章 局限与挑战  - 7.1 用户视角    - 7.1.1 普通用户    - 7.1.2 专业开发者  - 7.2 产品视角    - 7.2.1 尴尬的产品定位    - 7.2.2 成本困境    - 7.2.3 不同的用户体验  - 7.3 开发者的心智革命,普通人的技术平权    - 7.3.1 旧时代开发者的思维转变    - 7.3.2 新时代开发者的核心技能    - 7.3.3 一深多广,跨学科能力的崛起    - 7.3.4 普通人的技术平权    - 7.3.5 职业发展与教育路径的调整  - 7.4 小结- 后记