让 AI 写代码一年了,聊聊真实感受
概述
AI 编程是 2026 年落地最深、价值最明确的 AI 场景之一。但很多人的体验还停留在”生成的代码不能直接用”的阶段。问题不在 AI,在使用方法。
这篇文章分享我一年多来用 AI 编程的实践经验,覆盖日常开发的各个环节。
一、AI 编程的定位
首先想清楚一件事:AI 不是替代你写代码,而是放大你的能力。
AI 擅长 你不该让 AI 做的事──────────────────────────────────────────────写样板代码、CRUD 设计系统架构写单元测试 理解复杂业务规则写正则、数据结构 做安全敏感的操作重构/重命名/提取函数 维护依赖版本兼容性查文档、写注释 写一次性密码/密钥调试(读错误日志定位问题) 做代码审查的最终决策使用 AI 的正确姿势是:你负责”做什么”和”对不对”,AI 负责”怎么写”。
二、Prompt 技巧
2.1 给足够的上下文
AI 没有读心术。最常犯的错误就是只丢一句”帮我写个用户管理模块”,然后怪 AI 写得不合要求。
好的 prompt 结构:
角色 + 任务 + 约束 + 输出格式 + 示例示例:
你是一个资深 Python 后端开发。请为 Flask 应用实现用户注册接口。要求:
- 使用邮箱+密码登录,密码 bcrypt 加密
- 邮箱需要格式校验和唯一性检查
- 返回统一的 JSON 格式:{code, message, data}
- 用 SQLAlchemy 2.0 语法
- 写完后给一个完整的 curl 测试示例
2.2 分步对话,不要一次性
复杂任务不要试图一次完成。应该像和人结对编程一样,分步沟通:
第 1 轮:帮我设计数据库模型第 2 轮:基于这个模型,写注册 API第 3 轮:现在加上邮箱验证码逻辑第 4 轮:帮我写这些接口的单元测试每一轮都在上一轮的基础上迭代,AI 的后续输出会更精准。
2.3 给 AI “自我修正”的机会
写 prompt 时加上这句话:
在输出代码之前,先分析一下可能的问题和边界情况。
这会让 AI 先生成思考过程,再写代码,质量明显更高。
2.4 用 System Prompt 设定全局规则
在 opencode 或 Cursor 的 system prompt 中设置全局规则:
- 使用 TypeScript 5.x,strict 模式- React 函数组件 + Hooks,不要 class 组件- 错误处理统一用 try-catch 包裹 async 函数- 注释只写 Why,不写 What- 单文件不超过 300 行这样后续所有对话都会遵循这些约定,不需要每次都重复。
三、工作流设计
3.1 我的日常开发流程
需求分析 │ 人写需求文档/TODO List ▼方案设计 │ AI 辅助出技术方案 + 人审核 ▼编码实现 │ AI 写代码 + 人 review ▼测试 │ AI 写测试 + 人审查边界条件 ▼Code Review │ 人做最终审查 + AI 辅助检查 ▼部署每个环节的人机分工在开头的表格里。
3.2 Agentic 模式 vs Chat 模式
Chat 模式(传统) Agentic 模式(推荐)──────────────────────────────────────────────对话式,每次需要手动粘贴代码 自主完成多步任务需要你把代码复制过去 直接读写项目文件适合问问题、小段代码 适合功能开发、重构工具:ChatGPT、Claude.ai 工具:opencode、Cursor对于超过 100 行的代码任务,Agentic 模式的效率远高于 Chat 模式。opencode 可以直接操作文件系统、运行命令、读取项目上下文,完成从代码编写到测试验证的完整闭环。
3.3 测试先行
让 AI 先写测试是一个很有效的策略:
- 你定义接口签名和预期行为
- AI 根据描述写测试用例
- 你审核测试是否覆盖了关键场景
- 再让 AI 写实现代码
- 跑测试验证
这样做的好处:测试就是需求文档,AI 和人都按照同一套标准验证。
四、常见陷阱
陷阱 1:过度信任 AI 的输出
AI 写的代码看起来往往很合理,但可能有:
- 不存在的 API(幻觉)
- 不安全的写法(硬编码密钥、SQL 注入)
- 性能问题(N+1 查询、不必要的循环)
应对:每条 AI 生成的代码都要 review,像 review 新人代码一样。
陷阱 2:prompt 太模糊
❌ “帮我改一下这个函数” ✅ “这个函数在并发场景下有问题,请用 asyncio.Lock 保护共享资源,并加上类型注解”
应对:把你对人类同事会说的话,再具体一倍。
陷阱 3:一次对话塞太多需求
AI 的注意力有限。长对话中后面提到的需求可能被忽略。
应对:
- 复杂任务拆成多个子任务
- 重要的约束放在 prompt 末尾(AI 更容易记住最近的内容)
- 定期开启新对话,把关键上下文贴在开头
陷阱 4:忽略错误处理
AI 倾向于写”快乐路径”——正常情况跑得通,异常情况直接崩。
应对:明确要求 AI 处理边界情况:
“请确保处理以下场景:传入参数为空、网络超时、数据库连接失败、并发写入冲突”
五、2026 年的最佳实践总结
- 选对工具:写代码用 Claude + opencode/Cursor,不要用通用聊天工具
- 给够上下文:文件内容、项目结构、技术栈约束——信息越全,输出越好
- 分步迭代:复杂任务拆成小步骤,每一步让 AI 做完后你审核
- 测试先行:用测试定义需求,让 AI 按测试写实现
- 始终 review:AI 是协作者,不是替代者。最终责任在你
- 建立规则库:把常用的约束写成 system prompt,形成团队 AI 编程规范
最后一条建议:不要因为 AI 写代码快就忽略基本功。好的架构能力、领域知识、安全意识,是 AI 教不了你的——而这些恰恰是决定代码质量的关键。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!