AutoDev 2.0 正式发布!智能体 x 开源生态 = 无限可能
PS:在我们等待了几个月之后,国内终于有模型(DS V3-0324)能支持 AutoDev 的能力,也因此是时候发布 AutoDev 2.0 了!
2023 年 4 月,我们开始了 AutoDev 的第一个功能:AutoCRUD,经过两年的快速迭代,我们干掉了这个功能。因为新的 AutoDev 2.0 来了,智能体 驱动的 AI 编程改变了我们过去的架构。在 AutoDev 2.0 中,你可以:
- 编码智能体 Sketch 进行自动化编程
- 自动化编程的规划器 AutoDev Planner
- 系统迁移 Bridge 辅助旧系统重构
- 观察者 Observer,动态观察 IDE 中的代码变化
- 模型协议 MCP 接入工具生态
- 在不同场景使用多种开源模型(编程、推理、Apply、补全等)
- ……
更棒的是 AutoDev 2.0 是开源的,你可以自由使用、修改、分享,让我们一起来探索这个无限可能的世界!与此同时,我们是最好的 JetBrains IDE 平台上的第二代 AI 编程工具,你可以尽情利用 JetBrains 的插件生态,让 AutoDev 2.0 更加强大!
编码智能体 Sketch
我们开发 AutoDev 2.0 的动机来源于:DeepSeek V3 模型的推出。我们在 Shire 智能体语言上构建了 Sketch View,并率先将其应用到多文件编程支持。 随后,我们将其应用到 AutoDev 2.0 中,通过丰富的 IDEA 插件生态,来构建更好的 IDE 编程体验。
交互式决策视图:Sketch View
Sketch View 提供了是一种新的交互式视图,它可以帮助你更好地理解架构、进行决策。Sketch View 的特点有:
- 交互式设计。多种化的 Patch/Diff 处理, 并针对生成代码进行 Lint 检查等
- 开发者体验。前端应用在启动 dev 服务时, 自动打开 WebView 查看编译正确
- 质量与安全。生成依赖文件时,可提供依赖的安全检查
并且,你还可以用它来查看代码的结构,以及更好地编写代码。
隔离环境的工具调用:DevIns
我们在 AutoDev 1.0 中设计了 DevIns DSL 来构建隔离环境的指令抽象,基于 DevIns 指令,AutoDev 可以:
- 安全操作。对指令进行更安全的检查,诸如 Shell、SQL,而不是依赖于 LLM 的不靠谱分析。
- 模型无关。即可以在不同的模型上使用 CoT 来进行工具调用,而不依赖于 function tool。
- 关键上下文。即基于 IDE 的 PSI 接口丰富了语法分析计算与架构视图,提供系统的关键上下文。
同时,DevIns 能和 MCP 生态非常好的结合在一起,以便于更好地调用工具。
可见的任务规划:AutoDev Planner
Planner 是 Sketch 的核心功能,它提供了一种新的任务规划体验。你可以通过 AutoDev Planner 来:
- 可见的任务规划。通过 Pin 及 Planner ToolWindow 的可以看到当前的任务进度
- 动态的任务规划。AI 会根据上下文动态调整任务规划(取决于模型,有时候并不会实时更新)
- 手动执行未完成的任务。用户可以手动执行未完成的任务,以便更好地调整任务规划
结合诸如于 DeepSeek R1 这一类推理模型,AutoDev Planner 可以更好地规划任务,以适应用户需求。
被动式错误观测:Observer
Observer 是在 Sketch 中新增的一个功能,它可以帮助你更好地观察代码的变化。Observer 可以观察:
- 测试失败。当测试失败时,Observer 可以自动带上上下文(相关代码)发给模型
- 构建失败。当构建失败时,诸如 Gradle、Maven 的构建日志会被自动发送给模型
- 添加依赖失败。当添加依赖失败时,Observer 会自动将问题反馈给模型
- ……
通过被动式的错误观测,AutoDev 可以更好地理解代码的变化,以提升开发效率。
旧系统改造智能体:AutoDev Bridge(试验性)
Bridge 是我们针对遗留系统迁移的一个新功能,它主要包括:
- 迁移路径。基于"探索-感知-响应"框架,通过大型语言模型智能生成系统迁移路径
- 架构视图。利用 AI 进行工具调用对现有系统进行深度扫描,生成符合C4模型标准的架构蓝图
- 业务逻辑分析。结合抽象语法树(AST)解析和运行时调用链追踪技术,实现业务逻辑的精准还原
- 执行迁移。生成包括单元测试、集成测试和端到端测试在内的多层次验证方案,确保迁移后系统功能完整性
作为一个试验性功能,AutoDev Bridge 并没有完全成熟,但是我们相信它会在未来的迁移中发挥重要作用。
DevOps 生态集成:双向 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 1.x 功能
AutoDev 1.x 的功能依然保留,删除了一些用得比较少的功能,如 AutoCRUD。
工具问题依旧,效率真能提升吗?
哪怕效率提升再多,效能提升依然有限。你们在写代码上的时间到底有多少????????????
安装 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 插件市场,但是你还可以通过下载源码来手动安装。