AI "自动驾驶" 的使用分享
一、开场:从 "AI 善后工程师" 说起
大家有没有遇到过这样的情况:
满怀期待地让 AI 帮你写代码,结果跑出来一堆问题,然后你花了大量时间去修改、调试、善后。最后发现,还不如自己写来得快。
这时候,你就变成了 "AI 善后工程师"。
我自己长时间使用以来的一些思考,就是如何跳出这个困境,让 AI 真正成为你的效率倍增器,而不是麻烦制造者。
二、问题根源:模糊的需求,模糊的结果
让我们看一个真实的对比案例。
模糊版本
我想加个导出 Excel 的功能
结果会怎样?
虽然 AI 和 Spec 也能做,但这个跑出来的结果可想而知。AI 会做大量假设:
- 导出什么数据?哪些字段?
- 在哪个页面?什么时候触发?
- 文件格式怎样?命名规则?
- 有没有数据量限制?
不断的和 AI 拉扯"需求",然后 AI 也一直被打断需要你不断的 "澄清" 事实。
AI 执行完成后,你发现 AI 生成的代码需要你不断的修改、补充、调整,就变成了 "AI 善后工程师"。
清晰版本
diff
我想在顾问模块的对账单列表页添加导出 Excel 功能
Ai 工作流:.windsurf\workflows\add-export-function.md
// 这是 "项目" 中定义的 AI 工作流,可以明确的给 AI 提供上下文信息
业务背景:
业务每月需要将对账单数据导出给组长,现在只能手动复制,容易出错
功能描述:
- 在列表页顶部添加"导出 Excel"按钮
- 导出当前筛选条件下的所有数据(不分页)
- 导出字段:账单号、提交时间、状态...
- 文件名格式:x月对账单_YYYYMMDD.xlsx
用户场景:
- 场景1:用户筛选了某个月份的数据,点击导出,得到该月份的 Excel 文件
- 场景2:用户未筛选,点击导出,得到所有数据的 Excel 文件
技术偏好:
- 使用项目中已有的 exceljs 库 // 如果没有现成组件,可以明确给 AI
- 导出限制:最多 10000 条数据,超过提示分批导出
结果?
AI 能够一次性生成 70-80% 可用的代码,你只需要做少量调整和验证。
三、核心方法:如何跳出 "AI 善后工程师"?
1. 5W1H 原则
这是产品思维的基础方法,同样适用于和 AI 沟通:
- Why(为什么):业务背景、痛点
- What(做什么):核心功能
- Who(谁用):目标用户角色
- Where(在哪):哪个模块/页面
- When(什么时候):触发时机
- How(怎么做):技术偏好(可选)
2. 明确边界
告诉 AI 什么要做,什么不要做
做:简单的关键字搜索
不做:复杂的高级筛选、搜索历史
这能避免 AI 过度设计,把简单问题复杂化。
3. 提供具体场景
不要说 "用户字段可以搜索",而是
arduino
场景:
1. 数据列表中,用户输入"张三",点击搜索,看到搜索的结果。
2. 点击 "张三" 的数据项ID,跳转到详情页。
具体的场景描述能让 AI 理解完整的用户操作流程。
4. 说明优先级(如果有多个功能)
P0(必须):基础搜索功能
P1(重要):搜索结果高亮
P2(可选):搜索历史记录
这样 AI 知道先做什么,避免在次要功能上浪费时间。
现在 AI "分析" 能力强了不少,自然也语言可以工作,但如果你掌握一些 "提示技巧" ,确实能让 AI 生成更准确的提案,减少来回澄清的次数,提高效率。
四、理性认知:为什么说迷信 "AI 全自动" 能力是不好的做法?
我们应该追求的是 "效率增益" ,而不是 "一次完美完成" 的代码。
关键是考虑显著的实现上的时间节省。
AI 最适合的场景:
- 高重复性/模板化:如 CRUD、DTO转换、前端字段映射
- 高耗时:纯手工需要超过 2-3 小时的繁琐任务
- 低风险:非核心生产逻辑
- 易于验证:容易判断对错,修复成本低
AI 不适合的场景:
- 核心业务逻辑(需要深度理解业务)
- 复杂的架构设计决策
- 需要大量上下文的重构工作
- 安全敏感的代码(需要人工深度审查)
五、最佳实践总结
好的做法
- 明确定义任务范围 - 用 5W1H 描述清楚
- 聚焦 AI 擅长场景 - 重复性、模板化任务
- 鼓励先计划再编码 - 使用 OpenSpec 等工作流
- 提供项目上下文指令 - 通过工作流文件、项目文档
- 保留人工复核环节 - AI 生成,人工审查
- 充分利用自动测试 - 用测试验证 AI 代码的正确性
不好的做法
- 上下文臃肿,不加取舍 - 把整个项目塞给 AI
- 不写测试直接上 - 无法验证 AI 代码质量
- 无急停,任其失控 - AI 跑偏了也不及时纠正
- 忽视 AI 给出的安全扫描 - AI 提示的安全问题不重视
- 迷信 AI 全自动能力 - 期望 AI 解决所有问题
- AI 代码不整理沉淀 - 生成的代码不规范化,技术债累积
六、结语:AI 是副驾驶,你是司机
AI "自动驾驶" 不是让你做甩手掌柜,而是
- 你负责方向:明确需求、定义边界、把握质量
- AI 负责执行:快速生成代码、处理重复性工作
- 协同提效:在合适的场景下,发挥各自优势
记住:好的需求描述 = 好的 AI 输出
当你从 "AI 善后工程师" 变成 "AI 驾驶员" 时,你会发现效率提升不止一倍。
人机的高效协同,与 AI 结队编程应是当下最优解。、
版权声明:
本文版权属于作者 林小帅,未经授权不得转载及二次修改。
转载或合作请在下方留言及联系方式。