AI 编程心得 27 条 | 朱百宁

1 阅读9分钟

image.png AI编程时代,上古程序员们都支棱起来了。
我前前后后实践了一些项目(火火猫AI起名、人生穿越器游戏等),有一些心得总结了下,写下来分享给大家。

#我近期用得最多的是 Cursor + Codex 插件形态(之前用 Claude Code 更多一些)。主要还是一些基础功能,其他像“skill、agent”等能力还没怎么用。

总体感受:AI 编程能力很强大,而且越来越强。

就目前最新的模型而言,一个小的全新项目或一个新增需求,很多时候基本能一把搞定。UI 方面可能还需要反复调整,但后端往往更容易一次成型,的确很厉害。

不过,在AI编程时代,你可以不写代码,但软件开发、项目管理的基本流程、规范不能丢了,这些方面还是一样的。
在这些方面,人会犯的错,AI 也会犯。

下面就从基本原则说起。

【基本原则】

  1. 文档先行:不要以为说几句话就行了,对于稍微大一点的需求,尽量写入文档,而不是在对话里一句一句碎片化地说。 写文档,一方面也是自己梳理思路的过程,另外,不落到文档里,后面可能要反复给 AI 解释,很烦。 让你写文档,也不是要求一次性写完,而是先写个大概,再让 AI 来不断完善。
  2. 框架和基础组件先行:在开始一个新项目时,尽量先让 AI 确定基本框架、方法论、组件。不要让 AI 随便发挥,要不然会重复造轮子,错误码乱飞、硬编码遍地。而且 UI 方面会不一致,比如你会看到各种样式的按钮、对话框、页面等。
  3. 把 AI 用透,把订阅费用用扎实。
  4. 让 AI 画 UI:一开始,我会在产品方案的.md文档中,让 AI 画字符版UI 线框图,这样有助于尽早对齐基本的 UI。
    后来我给Cursor安装了 Pencil插件,然后通过 MCP 调用来让 Pencil 直接出图。
    这样,可以在画布上直观地看到UI界面,也可以拖拽调整。
    Pencil会把UI样式存储在.pen的json文件。 当你对UI确认后,可以让 Codex 翻译成目标前端代码(比如web页面、小程序、uniapp 之类)。
  5. 让 AI debug:一开始遇到问题,我还试图自己看日志分析,后来懒了,要 Vibe coding 就彻底一些:直接把界面截图、错误信息粘贴给 AI,让 AI 自己分析。
    更省事的方法是,给AI足够的线索和权限,让AI自己上。 比如,让前后端打印足够的日志,尤其是本地调试时更要让日志落盘、给 AI 数据库权限。 这样遇到问题,AI 就能自己检索日志、查询数据库,从而完成定位问题、改代码、验证的一条龙。 你再也不用频繁复制粘贴日志、数据内容了。
  6. 让 AI 自动做运维:在项目部署过程中,有很多后台页面需要操作,这个很麻烦。我也试过 ChatGPT Atlas,发现太慢了。 后来就考虑让AI用CLI命令操作,比如让AI用gcloud命令来操作Google Cloud的Cloud Run、Cloud SQL等。 这样,环境搭建、应用部署、甚至是数据操作(建表、测试数据处理等),都自动化了。 UI界面是给人用的、是低效的,AI需要的是CLI、API接口。 #这个世界总是在不断轮回,CLI/API→GUI→CLI/API ...
  7. 让 AI 写总结:公司里面,人要写总结,那我们也要让 AI 总结。将遇到的问题,让 AI 总结进 AGENTS.md 中,沉淀为规则,防止再犯。
  8. 让 AI 并行工作:对同一个项目,可以开两个 workspace,比如分别是前端和后端修改专用,这样就可以同时使用 Codex 了(也减少一个窗口里上下文混乱)。

【谨防 AI 捣乱】

  1. 害AI之心不可有,防AI之心不可无。
  2. AI 搞丢代码:记得要及时对修改进行暂存、提交。要不然被AI改坏了,就白干了。
    另外,如果一个文件 AI 修改后,你又手动修改了,要明确告诉 AI 重新读取该文件。否则它下次可能按旧内容继续改,覆盖了你的手动修改。
  3. AI 不写注释:人懒得写注释,AI 也同样。所以要叮嘱 AI 多写关键注释,方便人和它自己后续理解——AI 经常通过关键字搜索定位代码入口。
  4. AI 搞几千行的大文件:大文件人难读,AI 也一样。所以,要吩咐好AI,最多不要超过一定行数。如果一不留神文件太大了,尽量进行分拆。
  5. AI 想当然用错变量、接口:这个现象尤其是在使用第三方API的时候,经常出现。因此,如果使用到第三方 API,一定要让模型直接引用官方文档,不要想当然。 #可以使用 Context7 这类“官方API文档”的工具。

【Debug】

  1. 还是要多打日志。无论是前端还是后端,都要有充足的日志。这样才能精确地刻画出发生了什么、数据是什么、返回是什么等。
  2. UI 调试,试试辅助线。UI 问题是非常多的(各种对齐、错乱等等),很耗时。有一阵我在前端耗费的时间精力几乎占90%。后端基本上都是一稿过,前端反复改都不行。 这是因为后端解决的问题往往很明确,尤其是数据的增删改查什么的,基本上一看代码就能理解。但对于前端,你很难一看HTML/CSS/JS就能脑补页面的实际展示和行为。另外,UI 样式本身就是主观的,同一个功能有很多种UI方案,AI给的方案之一,所以可能并不满足你的期望。 因此,导致UI调整很费神。 对于UI对齐、错乱等难搞的细节调整,我使用的一个技巧,就是,让AI画布局/边界辅助线或背景色块。这样让你和AI真实了解到UI的实际结构和表现,避免理解错、或者AI操作错对象。 另外,要多问问 AI,“这个问题是不是因为父级、继承样式造成的”,有些问题是这个原因造成的。
  3. 多个工具并用:如果遇到疑难杂症,不要只守着一个AI伙计。Codex 实在搞不定,就用 Claude Code、Antigravity等。当然,这需要开更多账户、花更多钱。
  4. 重启大法依然有效: 有时候,明明感觉各方面都是对的,但还是不行。 这时,尝试下重启大法。 比如微信开发者工具、HbuilderX这类工具,我多次遇到了重启就好了的情况。 【提示词】
    在 AI 应用开发,肯定离不开调用大模型、写提示词,也就是 prompt engineering。
  5. 提示词规则要具体、明确,不要泛泛而谈。说规则也要举例子,方便模型学习(one-shot/few-shot)。
    注意:如果涉及敏感词相关,不要堆太多例子,谨慎举例,避免提示词本身触发模型风控。
  6. system prompt 与 user prompt: 这两个提示词分别写什么? 一个简单的原则是:不变的规则写入 system prompt,变化的内容写入 user prompt。
    System prompt:给模型的“最高级规则/角色设定”,决定你是谁、做什么、用什么原则做事、哪些不能做;优先级最高。
    User prompt:用户当下的具体需求/问题/指令,告诉你“现在要做什么、本次任务的参数输入是什么”。 另外,拆分变与不变,也有利于缓存命中与复用(因此,不要在 system prompt 插入变量)。
  7. Token 缓存:DeepSeek v3.2 token 价格已经很低了,如果大部分 token 被缓存会让成本进一步下降。但我发现只有 Deepseek 官方API的缓存有效,其他火山引擎、Novita 之类,缓存计数字段永远返回是 0,不知道怎么回事。
  8. 君子一言驷马难追:如果没有使用推理模式,要让模型更“听话”:就是要让它的输出中包含指令的确认和复述。否则,你会碰到明明提示词里面写的很清楚了,但它就是不遵守。 这个其实就是利用思维链的本质,还是Next Token机制。 对于复杂问题、没见过的问题,让模型直接给出答案,那答案很可能不靠谱、很可能是幻觉。 但让模型输出问题思考过程、复述对提示词中任务的理解,就是在利用“next token”与之前的输出的“自洽”逻辑,进而实现了问题的解决、规则的遵守。
  9. JSON 输出:为了让系统处理模型返回内容,一般都要求 JSON 对象这样的结构化输出。但你会遇到几种问题,最常见的就是带```json markdown 标记,或者内容里面有英文双引号,导致 json 解析失败。 对策:在提示词中强调不要使用 markdown、内容中双引号要转义。但模型偶尔还是不听,所以你需要做一个兜底,比如过滤掉 markdown 格式标记等。

【其他】

  1. API key:推荐按项目、按开发/测试分开创建,这样方便管理,也方便分开查看成本与用量。
  2. 让模型“找到回忆”:下次打开项目时,找到相应的 task 历史,加载上下文。话说Codex 不能对历史会话命名,这个很不方便,只能用它总结的标题。
  3. 云费用:我刚开始用Google Cloud做开发测试时,Cloud SQL 随手选个配置,发现一天消耗几十美金,人家送的几百美金几天花了很多。后来改了下配置,变成每天几美金、甚至不足一美金。
  4. 苹果IAP内购定价:苹果IAP内购项目不能任意定价(必须在它的价格列表中选择),这个要注意。
  5. 防薅羊毛:国内羊毛党盛行,国外也是。之前出现有国外用户反复删除、注册账号,来薅新用户权益的羊毛。

【结语】

AI能力日新月异、突飞猛进,我们要做的是多体验、多融入。 有想法,别犹豫,召唤AI,创造起来!

最后,欢迎体验我们Vibe coding出的人生穿越器微信小游戏(微信搜索“人生穿越器”):一键回到小时候,重走人生路,或者体验任何有趣的角色。 海外用户,可在Google Play或者苹果 Appstore下载 LifeLife App。

关注作者:

  • 公众号:八点三十五
  • X/twitter:zhubaining001