在周末的公司【AI4SE 效能革命与实践:软件研发的未来已来】直播里,我分享了《AI编码工具 2.0 从 Cursor 到 AutoDev Composer》主题演讲,分享了 AI 编码工具 2.0 的核心、我们的思考、以及我们的 AI 编码工具 2.0 探索实践。
在这篇文章中,我将分享这次演讲的内容,希望能够给大家带来一些启发。
一、AI 编程工具 2.0 (趋势分析)
我们分析了市面上最受欢迎的 AI 编程工具,如 Cursor、GitHub Copilot Edit、WindSurf、Cline 等,简单总结一下新一代 AI 编程工具的特点:
AI 编程工具正在从代码补全、代码预测,到更加智能、更耗费 token 的 AI 自动化编码与验证,以及正在发展中的异步 AI 编码。
基于这些特点,我们认为 AI 编程工具 2.0 的核心特点应该是:
Agent 驱动。依赖于基础模型的强大推理能力,结合在编程工具中提供更快、更好的获取上下文,可以让 AI 编程工具更好地理解开发者的意图,并编写出更加符合开发者预期的代码。
开发者体验优先。结合开发者日常活动,更好的满足开发者的心流,诸如编辑预测、自动测试等;诸如 Cursor 结合开发者活动提供了大量机制来降低心智成本,以及应对失败和重试等。
自动化校验。即自动化校验 AI 生成代码的质量、业务逻辑正确性、修复幻觉导致的问题,诸如 patch等,从而在机制上减少幻觉带来的影响;诸如 Cursor 集成大量实用的 Lint、Terminal 等工具,提供自动化检验手段。
当然了,它们还有其它非常不错的范式:
容错式交互:采用「生成-校验-回滚」的三阶段机制降低心智负担
场景化聚焦:针对代码评审、漏洞修复等场景设计专用交互流
当前主流的 AI 编码 2.0 工具主要集中在 VSCode 平台上,而 VSCode 只是一个编辑器,它的 API 限制了 AI 编码工具的功能扩展,阻碍了更高级功能的实现。我们便开始思考,直接在 IDE 上构建 AI 编码工具会不会是一个更好的选择?
二、我们的 AI 编码工具 2.0 的思考
我们在内部做了一些新一代编码工具收集,发现典型的 Intellij IDEA 用户,会使用 Cursor 来生成代码,然后再回到 IDEA 中进行测试和调试。分析其中的原因,我们发现:尽管 Cursor 能提升开发效率,但是它并没有 IDEA 带来的提升大,即 IDEA 与编辑器的能力差异,使得 IDEA 提升反而更大。
因此,我们开始思考,如何更好的开发 AI 编码工具 2.0?
思考 1:编辑器优势在于体验,IDE 优势在于生态集成
我们简要分析了编辑器与 IDE 的优势与劣势:
VSCode
显著优势:可以快速开发功能原型、迭代;
缺点:插件丰富但是质量低,需要重新开发和设计。尽管有 LSP(Language Server Protocol)、DAP(Debug Adapter Protocol)等,MCP(Model Context Protocol)等,但是并不能提供非常好的集成。
Intellij IDEA 系列
显著优势:开箱即用,高质量的官方插件可以提供高质量的上下文
缺点:开发成本高、速度缓慢、文档缺失(AI 无法生成靠谱的代码)
因此,我们认为,AI 编码工具 2.0 应该更多的借助工具生成的能力,
思考 2:借助 IDEA 插件生态,构建端到端自动化
在现有可参考的工具里,IDEA 是一个非常好的示例,诸如在后端 API 开发场景,它非常好的集成【设计-开发-校验】相关的工具生态。诸如:
设计:Swagger、PlantUML、Mermaid 等工具
领取专属 10元无门槛券
私享最新 技术干货