和 AI IDE 合作
和 AI IDE 合作
AI IDE 是 AI 时代的 IDE,它将 AI 的能力集成到 IDE 中,开发还是那个开发,但 IDE 已经不是那个 IDE。
AI IDE 的优点
AI IDE 几乎全自动帮你完成项目开发。比如:
- 可以自动生成代码,提高开发效率,疗效十分明显。
- 可以自动修复代码,提高交付效率,疗效比较明显。
- 可以自动生成文档,提高文档质量,疗效比较明显。
- 可以自动生成测试,提高测试质量,疗效比较明显。
总而言之,AI IDE 可以替代人类完成几乎所有在 IDE 需要完成的工作。你想做啥,吩咐就行,前提是,你知道你想做啥,还有你知道做成什么样子,做到什么程度。
AI IDE 的能力远比 AI 插件(比如 CoPilot )强大,AI 插件需要你找到合适的代码位置给出清晰的提示才可能完成工作,而 AI IDE 缺的只是目标,有了目标它就可以调用 IDE API 完成所有工作,它自己会分析已有代码,按需获取环境上下文,设计和调整任务。AI 插件好比 GPS,它可以帮你规划路线,而 AI IDE 好比自动驾驶,你只需要告诉它目的地,它就能帮你完成所有工作。
AI IDE 的缺点
- 不是所有的模型都好用,需要花时间对比甄别。
- 基本都需要好的网络,也需要付费。
- 对复杂项目和长上下文,往往效果不理想。
- 结果不一致,每次结果就像开盲盒抛硬币。
- 可能会修改之前写好的代码,或者少修改需要修改的代码。
人类还需要做什么?
- 提供需求,你要能清楚的描述你想要什么,AI 才能开始干活。
- 评审结果,AI 不会背锅,你需要为 AI 负所有责任。
- 适当干预,甚至顶上,AI 在某些时候会犯浑,不听指挥或者胡言乱语。
和 AI IDE 合作应该做什么
- 整理好你的需求,并给出足够多的上下文。
- 按照软件工程的最佳实践,定义好尽可能多的规则和文档,比如需求文档、设计文档、代码规范、接口定义,DB 设计,测试规范等。
- 建立清晰的项目结构和代码组织方式,这样 AI 更容易理解和导航。
- 保持代码的一致性和可维护性,即使是 AI 生成的代码也要符合团队规范。
- 定期审查和优化 AI 生成的代码,管理和清还技术债务。
- 建立版本控制和代码审查流程,追踪 AI 所做的更改。
- 保存有效的 prompt 和最佳实践,建立团队的 prompt 工程指南。
- 不要害怕重来或者重构,重构的信心来自于测试,测试也可以让 AI 写
和 AI IDE 合作不应该做什么
- 盲目信任 AI 生成的所有代码,始终需要人工审查。
- 完全依赖 AI 而忽视代码的真实功能和意图。
- 忽略代码质量和安全性检查。
- 让 AI 直接操作生产环境或敏感数据。
- 期望 AI 能完全理解复杂的业务逻辑和特定领域知识。
- 使用过于模糊或不完整的 prompt。
- 在没有充分测试的情况下部署 AI 生成的代码。
AI IDE 产品对比
参考 https://metaso.cn/s/yPYhwGU
主流 AI IDE 产品比较:
Cursor
- 优势:出现的比较早,较为成熟,表现更佳。
- 缺点:订阅费用较高。
WindSurf
- 优势:功能和 Cursor 基本一致。
- 缺点:订阅费用也比较高。
Trae
- 优势:字节出品,暂时免费。
- 缺点:新品,功能不太稳定,效果也差一些。
编写高效 Prompt 的建议
结构化描述
- 清晰说明目标和要求,多用确定的词汇甚至数字,少用虚词
- 提供具体的输入/输出示例,比如给出 api 请求结构
- 指定代码风格和规范,比如参考某个类或者模块,或者给出具体的文档规范
- 约束修改范围,改哪或者不改哪,甚至点名用什么方法,用什么技术栈
上下文提供
- 给出相关代码片段,类,或者目录
- 提供项目背景信息,比如项目介绍,或者为什么需要这个功能
- 在实现前可以和 AI 讨论实现的必要性和方案
迭代优化
- 通过对话补充信息
- 根据结果调整 prompt 后重头提交
- 保存有效的 prompt 模板
其他注意点
- 建立和维护需求文档,API 文档,各种文档,因为你随时可能需要唤醒 AI 的记忆
- 对话有长度限制,新需求最好开新对话,或者定期来新会话,AI 注意力不集中后容易乱编
- 版本控制很重要,随时做好倒车的准备,每次功能到可保存的状态就要提交,如果是大功能建议开新分支
- 尝试切换模型,对比结果,有些问题真的挑模型
- 尝试切换对话方式和语气,对比结果,比如使用批评或者赞美(PUA)
- 让 AI 插入必要的调试日志,然后通过提供调试日志给 AI 来排查问题,问题解决后再清理
尝试把 AI 当成一个团队伙伴,要有耐心,要给与尊重。尝试把 AI 当成一个从外面空降的专家,他固然厉害,但明显不了解你的业务需求,他可很有想法,最终还是需要你来决定他的实施方向。人类始终处于主导地位,否则做出来的东西必然是一堆胡言乱语的垃圾。
最后
多说无益,开始尝试起来你会有更深的感受和体会。这个时代 AI IDE 是不能回避的现实问题,如果你想当程序员的话。以上。
This post is licensed under CC BY 4.0 by the author.