AI 编码 2.0 分析、思考与探索实践:从 Cursor Composer 到 AutoDev Sketch

在周末的公司【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 编码。

在周末的公司【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 等工具
  • 开发:HttpClient、Curl、Database 插件等
  • 校验:JUnit、Playwright、SonarLint 等

有了这些插件后,我们可以构建面向 AI 的接口,提供更好的提示词、工具,以及对应的校验机制。

思考 3:构建高质量的上下文,减少幻觉产生示例

图片图片

以后端开发为例,我们可以通过三种工程,构建 Agent 驱动的 AI 编码工具核心:

  • 软件工程的上下文工程。获取项目中的关键上下文:诸如于:依赖信息、数据库信息、框架信息等;示例:This workspace use Gradle+Java+JDK_18;This project use MariaDB;You are working on a project that uses Spring Boot 2.7.10,Spring MVC,JDBC to build business logic.
  • 函数调用工程(OpenAI)。即持续围绕不同的场景,让模型更好的理解不函数如何调用,做更好的集成。
  • 提示词工程(Claude)。面向不同的模型,提供思考过程范例,让模型更好的学习。

更好的上下文,配合上更好的提示词,意味着更少的幻觉。也因此工具的各种指标,诸如可用性、接受度、准确度等,都会有所提升。

三、我们的 AI 编码工具 2.0 探索实践:AutoDev Sketch

基于我们的分析和思考,我们开始构建我们的 AI 编码工具 2.0:AutoDev Sketch。它的核心应该是:高质量系统提示词 + LLM “推理”能力,获取 IDE 中的关联上下文,渲染为交互式视图(Sketch View)。

图片图片

1. 构建高质量的上下文与工具使用

图片图片

鉴于我们的思考,我们在 AutoDev Sketch 深度集成了 IDEA 插件,诸如于 Database 组件,提供统一的数据库能力,作为上下文、工具封装,快速帮助开发者进行数据库处理。它可以在三个步骤帮助 AI 更好地与数据库交互:

  • 系统提示词。当用户连接了数据库时,会在系统词中添加:User's workspace context is: This project use MariaDB 11.5.2-MariaDB
  • 工具使用。与此同时,AI 在识别到需求后,可以调用 Database 工具,来获取数据库信息( /database:schema),以帮助生成对应的代码。
  • SQL 交互。最后,模型不仅可以生成 SQL 代码,还可以与数据库进行交互,以验证生成的代码是否正确。同时,我们也将在未来提供对应的 SQL 代码校验机制。

除了 Database 组件,我们还提供了其他插件,如:HttpClient、SonarLint 等,以帮助开发者更好地进行开发、测试、校验。

2. 丰富的工具构建自动采纳的最后一公里

与 Cursor 这一类基于 VSCode 的 AI 编辑器相关,我们加入了更多的 IDE 原生的功能,以提升开发者的体验。如下是 AutoDev Sketch 的工具列表:

图片图片

诸如: run、 refactor、 structure 等,都是 IDE 原生的功能,我们将其封装为工具,以帮助 AI 更好地理解开发者的意图,并生成更加符合开发者预期的代码。

3. 多样化 Sketch 视图构建开发者心流的连续性

图片图片

在 AI 针对问题生成代码后,我们将代码渲染为交互式视图(Sketch View),以帮助开发者更好地理解代码,提升开发者的体验。这是就需要充分考虑不同场景下的交互可能性, 如下是 AutoDev Sketch 提供的连续性交互示例:

  • 多种化的 Patch/Diff 处理, 并针对生成代码进行 Lint 检查等
  • 前端应用在启动 dev 服务时, 自动打开 WebView 查看编译正确
  • 生成依赖文件时,可提供依赖的安全检查等

通常这种连续性,降低了开发者的心智负担,提升总体的开发体验。

AI 编码工具 2.0 总结

图片图片

我们可以对 AI 编码工具 2.0 的核心特点进行总结:分考虑与研发知识库、工具生态的结合,部署最新模型以刷新认知,关注开发者日常活动

  • 充分利用研发生态:结合研发工具链和知识库,提升 AI 编码工具的智能化。
  • 开发者编码心流:通过持续性自动化修改,提升开发效率。
  • 多种规格 AI 模型支撑:通过规划、理解、补全等不同模型,满足多样化的开发需求。

通过 AutoDev Sketch 的探索,相信大家也知道如何通过高质量上下文、丰富的工具集成和交互式视图,构建下一代 AI 编码工具,提升开发者的效率和体验。

相关资讯

刚刚,OpenAI首个智能体提前曝光!高级编码AI剑指400万年薪L6级工程师

AGI或许就在本周? 刚刚外媒爆料称,OpenAI暗藏的首个智能体项目「Operator」即将发布。 网友发现Operator已登陆ChatGPT,不过可能Pro用户最先用上这款AI智能体将与ChatGPT深度集成,直接可以接管你的屏幕,自动化完成任务。

比尔盖茨自述曾是熊孩子:16岁徒步数百英里,边走脑中边写BASIC代码

步入70岁之际,比尔·盖茨终于出版了自己人生中的首部自传《源代码》。 不同于以往的商业发展视角,无关对微软成就的宏大叙事,在这本书里,比尔·盖茨自己的成长历程和创业故事一一铺陈开:生在一个优秀的家庭,撞上历史性技术变革与乐观情绪弥漫的时代,自己在个人电脑革命方兴未艾之时步入成年……过去十几年,比尔·盖茨一直站在技术发展的潮头浪尖,他关于科技、计算机、AI的每一次预测和思考都引人注目。 今年1月13日,他在阿联酋的阿布扎比CNN学院,分享了自己关于AI基数的最新洞见。

比尔盖茨自述:中学时期就开始偷偷996写代码

57年前的西雅图冬夜,一个瘦削少年翻出卧室窗户,奔向名为“C的立方”的计算机实验室。 比尔·盖茨不会想到,这段在寒夜中追逐代码的岁月,正悄然叩响数字时代的大门。 当湖滨中学的编程少年们以无偿劳动换取珍贵的上机时间时,一场改变人类文明进程的变革已在晶体管与二进制中孕育——在这个数字时代的黎明,一群年轻的先驱者站在了浪潮之巅,他们以智慧和勇气,开辟了一个全新的领域:个人计算机软件。