在我们等待了几个月之后,国内终于有模型(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 插件市场,但是你还可以通过下载源码来手动安装。