用AI写了一年代码,我总结了5个效率翻倍的习惯

程序员用AI编程不是新鲜事,但同样用AI,有人效率翻5倍,有人反而更慢。分享5个经过实战验证的AI编程习惯,从提示词结构到代码审查,每个都能立刻用上。

一句话结论

AI编程的关键不是"让AI帮你写代码",而是"把自己变成一个会指挥AI的程序员"。

同样用AI编程,差距为什么会这么大?

2025年初,我们团队开始全面引入AI辅助编程。一年下来,一个很有意思的现象出现了:同样是Cursor/Copilot,同样的大模型,有人效率翻了好几倍,有人反而觉得"AI写的代码还不如我自己写"。

后来我仔细观察了效率高的几个同事,发现他们不是更聪明,而是形成了一套与AI协作的方法论

这不是什么高深的技术,而是一些日常习惯。我把这5个最重要的习惯整理出来,每个都经过了一年的实战验证。

习惯一:永远不要让AI从零开始

新手最常犯的错误是扔一句话给AI:“帮我写一个用户登录功能。”

这种"裸提示词"的问题在于:AI不了解你的项目架构、代码风格、技术栈、命名规范。它只能基于通用经验生成一段"看起来能跑"的代码,但你拿回去大概率用不了。

高效的做法是先给AI足够的上下文

1
2
3
4
5
6
7
8
9
我有一个基于FastAPI的后端项目,使用SQLAlchemy做ORM,
MySQL数据库,用户表结构如下:
[附上表结构DDL]

请帮我写一个用户登录接口,要求:
1. 使用bcrypt做密码哈希
2. 登录成功返回JWT token
3. 失败返回具体的错误原因(密码错误/用户不存在)
4. 遵循项目现有的response格式:{"code": 0, "msg": "success", "data": {...}}

区别在哪?前者产出的代码要改半天,后者基本可以直接用或者小改就能用。花2分钟写好上下文,能省30分钟的调试时间。

习惯二:把大任务拆成10分钟以内的小任务

别让AI一次性写一个500行的模块,它大概率会写到一半就开始跑偏。

正确的做法是把大功能拆成一个个小步骤:

  • 第1步:先让AI写数据库模型和表结构
  • 第2步:写数据验证逻辑(Pydantic schema)
  • 第3步:写CRUD接口
  • 第4步:写业务逻辑层
  • 第5步:写单元测试

每一步都在上一步的基础上继续,这样AI始终有明确的上下文,产出的代码质量和连贯性都会高很多。

这个习惯看起来"慢",实际上更快。因为如果让AI一次写完500行代码,你可能要花2小时去调试和修改逻辑错误。拆成小步之后,每一步都可以即时验证,问题不会积累。

习惯三:先让AI解释代码,再让它修改代码

这个习惯是我们团队踩了无数坑之后总结出来的。

场景:你拿到了一段别人写的代码(或者自己半年前写的),要改一个功能。直接让AI"帮我加上xxx功能",它可能会引入意想不到的bug。

高效的做法是两步走:

1
2
3
4
第1步:请详细解释这段代码的逻辑,特别是xxx函数的工作原理,
以及修改xxx功能可能会影响哪些地方。

第2步:基于你的分析,帮我实现xxx功能,注意保持与现有代码风格一致。

为什么要先解释?因为AI在解释代码的过程中,会"被迫"深入理解代码逻辑。这就好比让你给别人讲解一个知识点——讲清楚的过程本身就是理解的加深。

先解释再修改,AI产出的代码质量和兼容性明显更高。

习惯四:建立一个自己的"AI代码片段库"

这是让我受益最多的一个习惯。

每次AI帮你写了一段好用的代码片段(一个通用工具函数、一个优雅的装饰器、一个处理特定格式的解析器),别用完就扔。

把它保存下来,按功能分类。下次遇到类似需求,直接把历史片段喂给AI,让它基于这个模式继续优化。

我的个人片段库里目前有200多个片段,涵盖了:

  • 各种API响应格式的封装
  • 数据库查询的通用模式
  • 错误处理的最佳实践
  • 常用的文本处理函数
  • 各种第三方SDK的调用模板

有了这个库之后,我发现一个有趣的现象:AI越来越"懂"我了。因为它可以参考我积累的代码风格和偏好,产出的代码越来越贴合我的习惯。

习惯五:永远不要跳过代码审查

这是最重要的一点,也是很多人最容易忽略的。

AI写的代码"看起来能跑",不代表它就是对的。常见的坑包括:

  • 安全漏洞:没有做输入验证、SQL注入风险、敏感信息硬编码
  • 边界条件:没有处理空值、异常情况、并发冲突
  • 性能问题:N+1查询、不必要的内存占用、没有分页
  • 逻辑错误:业务规则理解偏差、状态机设计缺陷

我的做法是,AI生成的代码不管多"完美",至少要做三层检查:

  1. AI自检:写完后让AI自己审查一遍,问它"这段代码有没有潜在问题?"
  2. 关键逻辑人工过:业务规则相关的代码一定要自己看一遍
  3. 跑一遍测试:有单元测试跑单元测试,没有测试至少手动跑几个用例

这三步加起来可能只要5-10分钟,但能避免90%的线上事故。

一个真实的效率对比

用数据和事实说话。以我们团队一个中等复杂度的后端接口开发为例:

方式耗时代码质量Bug数量
纯手写4小时稳定1-2个
AI直接生成1.5小时一般,需大量修改3-5个
AI+这5个习惯1小时0-1个

最关键的发现:“AI直接生成"反而比纯手写bug更多。因为开发者容易产生"AI写的应该没问题"的信任心理,放松了审查。

而"AI+好习惯"的组合,既享受了AI的速度优势,又保持了人工的质量把控。

写在最后

AI编程不是一个"会用还是不会用"的问题,而是一个"用得好还是用不好"的问题。

这5个习惯的共同点是什么?都是把人放在主导位置,AI放在辅助位置。 你负责思考架构、拆解任务、把控质量,AI负责生成代码、解释逻辑、提高速度。

别指望AI替你思考。你越清楚自己想要什么,AI的产出质量就越高。


希望这篇文章对你有帮助。如果你在实践中遇到问题,欢迎交流讨论,我的微信:18010612009(杨哥)。