
开篇
AI 编程最常见的误区,是把问题简化成:
这个任务能不能交给 AI?
更有用的问题是:
AI 可以负责哪一段?开发者必须把住哪一关?
同一个任务,通常不只有"全交给 AI"和"完全自己做"两个选项。
例如,AI 可以先帮你梳理重构风险、生成最小修改建议和补充测试;但是否修改核心模块、是否改变接口契约、是否可以上线,仍然应该由开发者决定。
一、用 4 个问题判断任务边界
拿到一个任务后,我会先判断:
text
1. 规则是否明确?
2. 结果是否容易验证?
3. 出错后是否容易回滚?
4. 出错代价是否可控?
四个答案越接近"是",越适合让 AI 参与。
| 特征 | 更适合 AI 主导 | 更需要开发者主导 |
|---|---|---|
| 规则 | 已有明确输入、输出和示例 | 需求仍有歧义或涉及业务取舍 |
| 验证 | 能用测试、编译或静态检查验证 | 结果难以量化或依赖现场判断 |
| 影响 | 修改范围小,容易回滚 | 涉及数据、权限、金额或线上配置 |
| 成本 | 出错只影响开发效率 | 出错会造成损失、安全风险或用户影响 |
这个判断并不是为了限制 AI,而是为了决定需要多强的人工验收。
二、这类任务可以放心让 AI 先做
这些任务通常规则明确、结果可检查,适合让 AI 先产出初稿:
| 任务 | AI 可以完成什么 | 开发者验收什么 |
|---|---|---|
| 读代码 | 梳理目录、调用链和核心模块 | 关键结论是否与代码一致 |
| 写测试 | 根据规则列场景、生成测试初稿 | 边界是否覆盖、断言是否有价值 |
| 写文档 | 提取接口字段、整理 README | 示例能否真正运行 |
| 排查问题 | 整理日志、列根因假设 | 假设是否有证据支持 |
| 小范围重构 | 找重复逻辑、给出最小改动 | 外部行为是否保持不变 |
| 代码审查 | 按安全、边界和性能列风险 | 问题是否真实、优先级是否合理 |
这里的关键词是"先做"。
AI 适合先把重复劳动和信息整理做掉,开发者再集中处理判断和验证。
三、这类任务不能直接交给 AI 决定
下面这些事情,AI 可以参与分析,但不应该拥有最终决定权:
1. 业务规则和优先级
例如退款是否允许撤销、优惠券冲突时采用哪条规则、数据保留多久。
这不是代码问题,而是产品目标、成本和责任的选择。AI 不知道当前组织真正要承担什么后果。
2. 高风险变更是否执行
涉及以下内容时,必须提高人工审查等级:
- 权限和身份认证。
- 金额、库存和订单。
- 数据迁移和批量删除。
- 生产环境配置。
- 密钥、隐私和安全策略。
- 高并发下的数据一致性。
AI 可以列检查项、生成迁移脚本和设计回滚方案,但执行前需要负责人确认。
3. 没有证据的技术结论
"这段代码性能更好""应该加缓存""换成某个框架更现代",都只是候选建议。
没有压测数据、监控指标或真实瓶颈时,不要因为 AI 说得自信就扩大改动范围。
四、最实用的分工方式:AI 先分析,人来决策
我更推荐下面的协作方式:
text
AI:整理信息、提出选项、生成初稿、列验证步骤
开发者:确认规则、选择方案、审查改动、完成验收
以一次接口重构为例:
| 阶段 | AI 的任务 | 开发者的任务 |
|---|---|---|
| 理解 | 总结当前调用链和重复逻辑 | 确认是否真有维护问题 |
| 设计 | 给出 2 到 3 种最小改法 | 选择符合项目约束的方案 |
| 实现 | 按文件生成修改建议 | 审查改动范围和接口兼容性 |
| 验证 | 列出测试场景和回归命令 | 执行测试、检查结果、决定提交 |
这样 AI 是工程搭档,不是无人监管的代码生成器。
五、一个可直接复用的任务分配 Prompt
当你不确定任务应该怎么分工时,可以这样问 AI:
text
请帮助我评估下面这个开发任务的 AI 协作边界,先不要写代码。
任务背景:
[填写需求、系统模块和已知限制]
请从以下角度输出:
1. 哪些子任务规则明确、结果可验证,适合由 AI 先完成。
2. 哪些子任务存在业务、数据、安全或上线风险,必须由开发者决定。
3. 需要补充哪些上下文,才能安全地让 AI 继续。
4. 每一步的验收方式是什么。
5. 如果 AI 输出错误,如何最小范围回滚。
请把建议分为:
- 可以直接委托。
- AI 先分析,人工确认后执行。
- 只能由开发者负责。
这个 Prompt 的价值不是得到一个绝对答案,而是逼着我们在开始前明确风险和验收点。
六、交给 AI 前,至少补齐这 3 件事
无论任务大小,我都会提供:
text
背景:当前模块做什么,哪些文件和规则相关。
目标:这次要解决什么,不解决什么。
限制:不能改什么,如何验证,何时停止。
例如:
text
目标:修复 PATCH 接口无法接受 false 的问题。
限制:不修改接口路径、错误码和任务存储方式。
验证:补充 true、false、非法值三组接口测试。
这比一句"帮我修一下"更容易得到稳定结果。
总结
哪些任务该交给 AI,不取决于任务听起来是否简单,而取决于规则、验证、回滚和风险。
text
规则清楚 + 易验证 + 易回滚 + 低风险
→ AI 可以先做
规则模糊 + 难验证 + 难回滚 + 高风险
→ 开发者必须主导
- 让 AI 处理信息整理、初稿生成和重复劳动。
- 让开发者负责业务判断、风险决策和最终验收。
- 高风险任务不是不能用 AI,而是必须拆小、加证据、设回滚。
- 最好的协作,不是把责任交出去,而是把注意力用在最需要判断的地方。
下一篇文章,我们将把这些可复用的协作方式沉淀下来:
《建立你的个人 AI Prompt 库:分类、版本和迭代》
✍坚持原创,求关注,点赞,收藏