04-后端开发 × AI 协同

后端是 AI 写得最快、也埋雷最深的岗位——CRUD 放心交给它,但支付、权限、数据一致性这三样,AI 只能当草稿纸。

Posted by WuQingBao on October 12, 2026

04-后端开发 × AI 协同

💬 一句话读懂本篇:后端是 AI 写得最快、也埋雷最深的岗位——CRUD 放心交给它,但支付、权限、数据一致性这三样,AI 只能当草稿纸。

版本 适用范围 前置阅读
V0.1 一人公司 / 超级个体 AI协同开发规范(总纲)、00-汇总·一人公司AI协同岗位全景

岗位定位:🤖 AI 主导 · AI 承担约 70% 工作量。后端代码有明确的”对错”(跑得通跑不通、测试过不过),所以 AI 成熟度极高;但后端也是错误代价最高的地方——前端丑了是体验问题,后端错了是资损和数据泄露。


一、传统画像:后端工程师原来干什么

工作项 传统占比 特点
CRUD / 接口样板 ~40% 重复劳动,无创造性
核心业务逻辑 ~25% 值钱的部分,靠脑力
单元测试 ~10% 都知道重要,都懒得写
Bug 修复 / 排障 ~15% 看日志、复现、定位
重构 / 性能优化 ~10% 一直想排期,一直没排上

二、AI 协同后的新画像

你从”码农”变成”技术主管 + 核心逻辑主程”。 分工按风险切,不按工作量切:

flowchart TD
    T["📋 需求 + 接口契约(03 分册定稿)"] --> Z{"这段代码动的是什么?"}
    Z -->|"CRUD/样板/DTO/文档注释"| A["🤖 AI 全写<br>你过一遍就合"]
    Z -->|"普通业务逻辑"| B["🤖 AI 起草<br>👤 你逐行审 + 补单测"]
    Z -->|"支付/权限/资金/数据一致性"| C["👤 你亲自写或逐行重写<br>AI 最多查资料<br>(总纲:高风险模块)"]
    A --> D["✅ 提交(标注 AI 辅助)"]
    B --> D
    C --> D
    D --> E["🤖 AI 写/补单元测试<br>👤 你检查断言是否真的在断言"]

    classDef human fill:#fff3e0,stroke:#e65100,color:#bf360c
    classDef ai fill:#e3f2fd,stroke:#1976d2,color:#0d47a1
    classDef risk fill:#ffebee,stroke:#c62828,color:#b71c1c
    class A ai
    class B,E ai
    class C risk

💡 时间去哪了:编码时间降 60%,但评审时间升 3 倍。总纲说得直白:看不懂的代码不许提交。AI 写得越快,你读得越认真。


三、逐项对比:传统做法 vs AI 协同做法

工作项 🐢 传统做法 🚀 AI 协同做法 谁主导
CRUD / 接口 手写或代码生成器 给契约(OpenAPI/表结构),AI 出全套接口+DTO+校验 🤖 AI 主导,你抽查
核心业务逻辑 手写 AI 出草稿→你逐行审→关键分支亲手改 🤝 强管控协同
支付 / 权限 / 资金 资深工程师手写+双人评审 你亲手写,AI 只许查文档、列 checklist 🧠 人主导(总纲红线)
单元测试 补不动,覆盖率低 AI 按函数批量生成,你补边界用例、检查断言质量 🤖 AI 主导,你补边界
Bug 排障 看日志、打断点、猜 贴日志+相关代码,AI 给 3 个可疑点排序,你验证 🤝 人机协同
重构 不敢动祖传代码 AI 出重构方案+等价性说明,小步改+每步跑测试 🤝 AI 干活你把关
SQL / 数据访问 手写,慢查询后补索引 AI 写初版,你审执行计划(详见 10 分册) 🤝 人机协同
注释 / API 文档 没空写 AI 全自动生成,你核对口径 🤖 AI 主导

四、协同工作流:一个接口的诞生

flowchart LR
    K["📋 接口契约先行<br>OpenAPI/Proto 定死<br>👤你定字段和语义"] --> G["🤖 AI 生成实现<br>(模板A)"]
    G --> RD{"👤 逐行读懂了吗?"}
    RD -->|"没读懂"| ASK["🤖 让AI解释这段<br>再不懂→亲手重写"]
    ASK --> RD
    RD -->|"读懂"| RV{"👤 评审四问<br>逻辑?安全?规范?扛造?"}
    RV -->|"不过"| G
    RV -->|"过"| UT["🤖 AI 补单测<br>👤 你查断言+加边界"]
    UT --> RUN["👤 本地跑通<br>+ 手工点一遍主流程"]
    RUN --> CI["✅ 提交合入<br>标注 AI 辅助生成"]

    classDef human fill:#fff3e0,stroke:#e65100,color:#bf360c
    classDef ai fill:#e3f2fd,stroke:#1976d2,color:#0d47a1
    class K,RD,RV,RUN human
    class G,ASK,UT ai

节奏建议:契约先行是 AI 协同后端的命门——字段名、类型、错误码、分页语义定死了,AI 生成的代码才不会自由发挥;契约没定就让 AI 写实现,等于让实习生自己猜需求。


五、提示词模板(直接抄作业)

模板 A · 按契约实现接口

1
2
3
4
5
6
7
8
9
【背景】技术栈:xxx(写死版本号);项目结构:(贴目录树/相关文件)
【任务】按以下接口契约实现完整代码:
(粘贴 OpenAPI/接口定义 + 相关表结构)
【约束】
1. 遵循项目现有分层和命名(参考已贴代码,不要自创风格)
2. 不引入新依赖;必须处理:参数校验/空值/重复提交/事务边界
3. 错误码统一走项目定义,禁止吞异常
4. 涉及权限的接口必须显式校验(贴出现有鉴权中间件用法)
【输出】完整代码 + 单元测试 + 你做的所有假设(列出来)

模板 B · Bug 定位

1
2
3
4
5
【现象】xxx(预期 vs 实际,何时开始,影响范围)
【输入】报错日志:(粘贴);相关代码:(粘贴);最近变更:(描述)
【任务】给出最可疑的 3 个原因,按可能性排序,每个附:
1. 判断依据  2. 一条能验证它的检查方法(日志/断点/最小复现)
【约束】只基于我给的代码和日志推理,不要猜我没贴的部分;信息不足就先列出你需要什么。

模板 C · 单元测试补全

1
2
3
4
5
6
7
以下是函数/接口代码(粘贴)和它的业务规则(粘贴)。
请生成单元测试,要求:
1. 覆盖:正常路径 / 每个业务规则的边界 / 异常输入(空、超长、非法类型、并发)
2. 每个断言写明"验证的是哪条规则"(注释标注)
3. 禁止无意义断言(如只断言"不抛异常")
4. 使用项目现有测试框架:xxx,Mock 掉外部依赖
输出后自查:列出你认为还测不到、需要人工补的场景。

模板 D · 安全加固审查

1
2
3
4
5
6
以下是即将上线的后端代码(粘贴)。请以攻击者视角审查:
1. 注入类:SQL/命令/模板注入,逐个数据流追踪
2. 越权:水平越权(改别人数据)/垂直越权(用管理接口)
3. 敏感信息:日志打印、错误响应泄露、硬编码
4. 资损路径:金额计算精度、重复提交、并发扣减
按严重程度分级输出,每条附修复代码。修复后我会再人工复核。

六、验收清单(合入前逐项勾)

逻辑

  • 每一行都读懂了(读不懂 = 不许合入,总纲铁律)
  • 实现与接口契约逐字段一致,无自由发挥
  • AI 列出的”假设清单”逐条核对过,假设都成立
  • 调用的 API/库/方法真实存在且版本正确(防幻觉,本地跑过)

安全

  • 所有输入有校验,SQL 走参数化/ORM,无字符串拼接
  • 每个数据操作有权限校验,改”别人的”数据被拒绝
  • 无硬编码密钥,日志不打印敏感字段
  • 支付/权限/资金相关:由你亲手写或逐行重写(不是审过就算)

质量

  • 单测断言有效(改坏代码测试会红)
  • 异常路径有兜底,事务边界正确
  • 无循环内 IO、N+1 查询
  • 提交信息标注”AI 辅助生成”

七、坑点清单

坑 长什么样 怎么防
幻觉 API 调用不存在的方法、错误的参数签名 合入前本地跑通;IDE 里逐个跳转确认
过时写法 用旧版本框架语法,和新版不兼容 提示词写死版本号(模板 A)
表面正确单测 覆盖率 90%,断言全是 assert not null 模板 C 强制”断言标注规则”+人工改坏代码验证测试会红
吞异常 catch 之后打个日志继续跑,错误静默扩散 评审四问之”扛造吗”;禁止空 catch
想当然默认值 你没说的业务规则,AI 自己补了一个”合理”的 模板 A 强制输出”假设清单”,逐条核对
事务边界漂移 AI 把该在一个事务里的操作拆开了,并发下数据错乱 高风险数据操作列为关口③人审重点
依赖夹带 悄悄 import 了一个没听说过的三方库 约束”不引入新依赖”;新增依赖走总纲白名单

💬 收尾一句:后端 AI 协同的公式是”AI 写 70%,你为 100% 负责“。CRUD 提效省下的时间,正好花在支付和权限那 30% 上——这才是这笔账算得过来的原因。 下一册:05-前端开发 × AI 协同——设计稿即代码的时代,前端是 AI 化最顺滑的岗位。