当前位置: 首页 > article >正文

AutoDev 2.0 正式发布:智能体 x 开源生态,AI 自动开发新标杆

在我们等待了几个月之后,国内终于有模型(DeepSeek V3-0324)能支持 AutoDev 的能力,也因此是时候发布 AutoDev 2.0 了!在 AutoDev 2.0 中,你可以:

  • 编码智能体 Sketch 进行自动化编程

  • 自动化编程的规划器 AutoDev Planner

  • 系统迁移 Bridge 辅助旧系统重构

  • 观察者 Observer,动态观察 IDE 中的代码变化

  • 模型协议 MCP 接入工具生态

  • 在不同场景使用多种开源模型(编程、推理、Apply、补全等)

  • ……

更棒的是 AutoDev 2.0 是开源的,你可以自由使用、修改和分享,让我们一起来探索这个无限可能的世界!

与此同时,我们是集成度最好的 JetBrains IDE 上的第二代 AI 编程工具,我们支持主流的 Intellij IDEA、WebStrom、Clion 等 IDE,还有基于 Intellij Community 构建的 Android Studio、鸿蒙 IDE(DevEco Studio)等。

你可以尽情利用 JetBrains 的插件生态,让 AutoDev 2.0 更加强大!

简单回顾:AutoDev 开源两年

2023 年 4 月,我们开始了 AutoDev 的第一个探索性功能:AutoCRUD 开始,经过两年的模型快速迭代,在一些企业内部试用、定制,还有大量的个人定制版本:

作为难度颇的 Intellij IDEA 插件开发,我们大体上也算是有 20 个 Contributor:

在 IDEA 里调试 IDEA 可是非常吃资源的,我这老旧的 Intel MBP 快跑不动了:

以及我们接近 5000 次的代码提交。

PS:也可以很好反应国内的开源现状。

现在,让我们来看看与 AutoDev 相比,变了什么,什么是不变的?

1. 编码智能体 Sketch

我们开发 AutoDev 2.0 的动机来源于:DeepSeek V3 模型的推出。我们在 Shire 智能体语言上构建了 Sketch View,并率先将其应用到多文件编程支持。随后,我们将其应用到 AutoDev 2.0 中,通过丰富的 IDEA 插件生态,来构建更好的 IDE 编程体验。

1.1 交互式决策视图:Sketch View

Sketch View 提供了是一种新的交互式视图,它可以帮助你更好地理解架构、进行决策。Sketch View 的特点有:

  • 交互式设计。多种化的 Patch/Diff 处理, 并针对生成代码进行 Lint 检查等

  • 开发者体验。前端应用在启动 dev 服务时, 自动打开 WebView 查看编译正确

  • 质量与安全。生成依赖文件时,可提供依赖的安全检查

并且,你还可以用它来查看代码的结构,以及更好地编写代码。

1.2 隔离环境的工具调用:DevIns

我们在 AutoDev 1.0 中设计了 DevIns DSL 来构建隔离环境的指令抽象,基于 DevIns 指令,AutoDev 可以:

  • 安全操作。对指令进行更安全的检查,诸如 Shell、SQL,而不是依赖于 LLM 的不靠谱分析。

  • 模型无关。即可以在不同的模型上使用 CoT 来进行工具调用,而不依赖于 function tool。

  • 关键上下文。即基于 IDE 的 PSI 接口丰富了语法分析计算与架构视图,提供系统的关键上下文。

同时,DevIns 能和 MCP 生态非常好的结合在一起,以便于更好地调用工具。

2. 显性任务规划:AutoDev Planner

Planner 是 Sketch 的核心功能,它提供了一种新的任务规划体验。你可以通过 AutoDev Planner 来:

  • 可见的任务规划。通过 Pin 及 Planner ToolWindow 的可以看到当前的任务进度

  • 动态的任务规划。AI 会根据上下文动态调整任务规划(取决于模型,有时候并不会实时更新)

  • 手动执行未完成的任务。用户可以手动执行未完成的任务,以便更好地调整任务规划

结合诸如于 DeepSeek R1 这一类推理模型,AutoDev Planner 可以更好地规划任务,以适应用户需求。

3. 被动式错误观测:Observer

Observer 是在 Sketch 中新增的一个功能,它可以帮助你更好地观察代码的变化。Observer 可以观察:

  • 测试失败。当测试失败时,Observer 可以自动带上上下文(相关代码)发给模型

  • 构建失败。当构建失败时,诸如 Gradle、Maven 的构建日志会被自动发送给模型

  • 添加依赖失败。当添加依赖失败时,Observer 会自动将问题反馈给模型

  • ……

通过被动式的错误观测,AutoDev 可以更好地理解代码的变化,以提升开发效率。

4. 旧系统改造智能体:AutoDev Bridge(试验性)

Bridge 是我们针对遗留系统迁移的一个新功能,它主要包括:

  • 迁移路径。基于"探索-感知-响应"框架,通过大型语言模型智能生成系统迁移路径

  • 架构视图。利用 AI 进行工具调用对现有系统进行深度扫描,生成符合C4模型标准的架构蓝图

  • 业务逻辑分析。结合抽象语法树(AST)解析和运行时调用链追踪技术,实现业务逻辑的精准还原

  • 执行迁移。生成包括单元测试、集成测试和端到端测试在内的多层次验证方案,确保迁移后系统功能完整性

作为一个试验性功能,AutoDev Bridge 并没有完全成熟,但是我们相信它会在未来的迁移中发挥重要作用。

5. 开发工具生态集成:双向 MCP

MCP(模型上下文协议)是一个非常好的开放协议,它可以帮助 AI 智能体更好地理解上下文。在 AutoDev 2.0 中,我们将 MCP 与 JetBrains 插件生态 进行了双向集成,以便于更好地调用工具。

  • MCP 即工具。通过 DevIns 指令对 MCP 进行封装,来调用第三方工具

  • AutoDev 即服务。将 AutoDev 作为一个 MCP 服务,可以被任何 Agent Tool 调用

如此一来,将 AutoDev 与整个工具生态进行了无缝集成,丰富系统的上下文能力,降低幻觉的产生。

其它

我们重新写了 UI 配图页面,详细参考新文档进行配置:https://ide.unitmesh.cc/quick-start

AutoDev 2.0 功能开关

2.0 的 Sketch 与 MCP 功能需要开启对应的配置,诸如允许 Composer mode、允许自动修改 Lint、自动 Apply、自动运行终端等,详细见文档:

工具问题依旧,效率真能提升吗?

哪怕效率提升再多,效能提升依然有限。你们在写代码上的时间到底有多少????????????

安装 AutoDev 2.0

你可以:

  • 通过 GitHub 来下载最新版本的 AutoDev 插件:https://github.com/unit-mesh/auto-dev 。

  • 也可以 Settings → Plugins → Marketplace → Manage Plugin Repositories → Add,添加 https://plugin.unitmesh.cc/updatePlugins.xml 然后搜索 AutoDev 进行安装。

  • 我们还在努力重新上架到 JetBrains 插件市场,但是你还可以通过下载源码来手动安装。


http://www.kler.cn/a/612489.html

相关文章:

  • 如何快速对比两个不同的excel文件中的单元格的数据是否完全相同 并把不同的单元格的背景颜色更改为红色?
  • 如何设置合适的请求频率避免被封禁?
  • MySQL 优化详解:从基础到高级全面指南
  • 2024年VR市场回顾与2025年AR + AI智能眼镜展望
  • Android 13深度定制:揭秘类MIUI全面屏手势返回动效的架构级实现
  • C# 固高板卡(总线型) 操作类
  • Go 语言规范学习(2)
  • 在shell脚本内部获取该脚本所在目录的绝对路径
  • dbeaver连接mongodb 插入日期变成了字符串
  • Kotlin when 表达式完全指南:从基础到高级的12种实战用法
  • 03 相机标定图像采集
  • ESLint报错:Could not find config file.
  • Redis:String 类型 内部实现、编码、命令及应用场景
  • ESP32-C3物联网方案,智能设备创新升级,无线交互控制通信应用
  • Rk3568驱动开发_设备树点亮LED_10
  • 【机器学习】基础知识
  • 数据库基础知识点(系列三)
  • deepseek+在线markdown生成pdf文件
  • Spring Boot 项目常见漏洞与安全最佳实践
  • Maven工具学习使用(五)——生命周期和插件