2

代码都是 AI 写的,我到底在干啥?

·7 分钟

妲学笔记的代码,从第一行到现在,都是 AI 写的。

我是计算机科班出身,基础知识有,但开发经验很匮乏——没做过生产项目。让我自己从零搓一个能上线的系统,搓不出来。但 AI 这两年变化太快了,我跟 AI 协作写代码的方式从头到尾变了三轮。

粘代码的时候

做第一个版本的时候,AI 还没有 Agent。工作流是这样的:我在聊天窗口里描述需求——"帮我写一个文章列表的 API,要分页",AI 给一段代码,我复制粘贴到项目里,跑一下。报错了就把错误信息贴回去,它再改一版,我再粘。一个功能来回三五轮是常态。

来回粘很慢,但确实能出东西。两周下来,三个 Docker 容器跑起来了——前端、后端、数据库,功能都有。我负责的是想清楚做什么功能、决定架构长什么样、测一下跑起来对不对。具体代码怎么写是 AI 的事。

科班底子在这里的作用是:AI 给的代码我大致能看懂,它说"用 SQLAlchemy 做 ORM"我知道在说什么,它建议的架构方案我能判断合不合理。不是每行代码都看得懂,但整体方向对不对、这个库该不该用、这个设计会不会给自己挖坑,这些判断我能做。

不用粘了

到重建妲学笔记的时候,Claude 有了 Agent 模式。

区别在哪呢?之前 AI 只能看到我贴给它的那段代码,对项目的其他部分一无所知。Agent 不一样——它能直接读我整个项目,每个文件、每个目录都看得到。我说"搜索功能换成 Pagefind",它自己去翻现有代码看搜索是怎么做的,然后删旧的、装新依赖、改配置、跑构建验证,整个流程不需要我粘任何东西。

能说的话也变粗了。之前得说"帮我写一个函数,接收 xxx 返回 xxx",现在可以说"这个页面加载太慢了,你看看什么原因"。它自己去排查、定位、修。

我的角色还是没变——架构和验收。但介入执行的频率低多了。之前每段代码都经我手粘过去,现在很多改动我不看过程,看结果就行。

说不要什么就行了

再后来变成了更有意思的状态:我基本上只需要说不要什么。

重建妲学笔记就是这样——不要后端、不要数据库、不要管理后台、不要在线编辑器。AI 从这些"不要"里推导:那内容用文件管、编辑器用本地 Typora、部署只需要一个 Nginx 容器。我们讨论架构,我做减法,它推导减完之后该是什么样。

这个模式能成立有一个前提:AI 对我的项目得有足够的上下文。它读过所有代码,知道现在的架构长什么样,知道之前做过哪些决策、为什么做。社区管这个叫 context engineering——比起"怎么写 prompt","给 AI 喂什么信息"其实更关键。信息喂对了,我说一句"不要数据库",它能推导出一整条替代方案;信息没喂对,它只会反问"那你要什么"。

实际操作上,项目的规范我写在 CLAUDE.md 里,积累的方法论存在 memory 文件里,之前的决策和理由也有记录。这些相当于 AI 的"项目记忆"——聊到新问题的时候,它已经知道前因后果了,不用每次从头解释。

搞不定的时候

当然不是什么都能 vibe。

工具之间有能力差异。Claude Opus 4.6 写代码是我用过最好的,GPT Image 2 出图很好用,博客封面基本都是它画的。有过 GPT 好几轮解决不了的问题换 Claude 一轮搞定的,反过来也有。知道什么时候该换工具,这本身也是一种判断。

但更有意思的是审美和产品层面——所有工具都搞不定的那种。

拿写文章举例。AI 默认写出来的东西像说明文:每段等权重、等格式,信息密集但读起来没有人味。你说"不是这种感觉",它改几轮还是那个味——它不理解"人味"是什么,只会在说明文的框架里调措辞。

最后我自己改了一段给它看。改完的版本有处境、有情绪、有轻重不均——在意的地方多说几句,不在意的一笔带过。AI 看了之后才反应过来。

然后我们把示范的思路沉淀下来,变成了一套写作方法论:叙事型文章的骨架是时间线和决策,不是知识块;章节标题用事件命名,不用话题标签;AI 腔的具体表现——平行结构、哲理收尾、等权重处理——要逐条检查去掉。方法论存进 memory 文件之后,写新文章我只需要说"按方法论来",它就知道该怎么写了。

这个循环在开发中也经常出现:AI 搞不定 → 我示范一次怎么做 → 一起沉淀成规范 → 以后它按规范来。你现在读的这篇,也是这么写出来的。

💬

留言区待配置

部署 Twikoo 后端后,设置环境变量 NEXT_PUBLIC_TWIKOO_ENV_ID