AutoDev Composer:Intellij 平台的 Cursor、WinSurf 平替方案(预览版)

对于频繁在 Cursor 和 Intellij 切换的同学,可以考虑使用我们开源的 AutoDev 作为 AI 程序员。

在半个多月前,DeepSeek V3 发布之后,我们为 Shire 引入了多文件编辑的能力。在我们多次测试之后,我们发现 DeepSeek V3 在编程场景下的表现非常出色, 尤其是在多文件编辑场景下。

于是,我们开发在久久未更新新特性的 AutoDev 上引入了 AutoDev Composer 的功能,我们 还借鉴了大量的成熟工具的方案:

  • Shire 上的出色 Sketch 渲染机制
  • Cursor、WindSurf 等复杂的系统提示词
  • Continue 那充满 bug 的 StreamDiff 模式
  • ......

现在,你不用再切换到类 VSCode IDE 上编写提示词,回到 Intellij IDEA 进行 debug。而是可以直接在 Intellij IDEA 上就可以完成所有的工作。

作为一个业余项目,我们也是很努力地~。

解密 AutoDev Composer 系统提示词

项目上下文

在 Composer 模式上,你依旧可以体验对我们对于软件工程的理解,以及在软件成分分析的丰富经验。如下是 AutoDev Composer 的基本上下文提示词:

python 复制代码
- The USER's OS version is Mac OS X 15.2 x86_64
- The absolute path of the USER's workspaces is: /Users/phodal/IdeaProjects/untitled
- This workspace use Gradle Java JDK_11
- The user's shell is /bin/bash
- User's workspace context is: This project use MariaDB 11.5.2-MariaDB, You are working on a project that uses Spring Boot 2.7.10, Spring MVC,JDBC to build RESTful APIs.
- Current time is: 2025-01-20 11:23:59

我们将会获取系统信息、工作空间信息、工具链信息、数据库信息、语言环境信息等等,以帮助你更好地完成你的工作。特别是,当你编写 CRUD 代码时,AutoDev 就会根据你的数据库信息,为你生成对应的代码。

工具上下文

与使用 FunctionTool 不同的是,我们一直相信 DSL(领域特定语言)这一类基于语言的方案,才是最好的生成式 AI 方案。因此,我们在 AutoDev 中采用的 是基于 DevIns DSL 工具调用方案:

bash 复制代码
<tool>name: file, desc: Read the content of a file by project relative path, example:
<devin>
找到指定文件(需该路径下存在文件)
/file:.github/dependabot.yml#L1C1-L2C12
根据文件名全局搜索(大小写敏感,不带路径)
/file:PythonFrameworkContextProvider.kt
</devin>

由于工具的说明本身是代码、测试代码的一部分,因此,可以生成准确可靠的提示词。

思考过程

考虑到 AutoDev DSL 工具的复杂性,我们参考了 WindSurf 的提示词生成方案,引入了思考过程:

bash 复制代码
# 第一步. 创建 routes.py
我已经创建了 routes.py 来定义 "/upload" 和 "/query" 端点。此外,我还添加了 "/" 作为 main.html 的端点。

# 第二步. 创建 main.js
我已经创建了一个专用的 main.js 文件来存储所有的交互式前端代码。它定义了显示窗口和按钮的 UI 元素,并为这些按钮创建了事件监听器。

以便于添加更多的示例给 AI 模型,事实也证明 AI 模型学习得相当的不错。

AutoDev 开发者体验:Sketch 模式

尽管,AutoDev 现在变成了一个业余项目,但是我们一直相信理解开发者体验才是 AI 辅助研发的核心。因此,我们在 AutoDev Composer 上引入了 Shire 智能体语言采用的 Sketch 模式。你可以通过 Sketch 将 Code 转换为 everything。

简单来说,就是将 markdown 使用不同的 UI 进行渲染,以便更好进行交互。

Diff Sketch 模式

通过 Diff Sketch 模式,你可以快速理解 AI 变更的代码,来决定如何处理这些变更:查看源文件、diff 查看变更、或者直接应用变更。

由于,我们并没有能力像 Cursor 一样,提供 diff model,所以我们提供了 repair 模型,即当无法准确识别 patch 时,会再调用模型进行修复。

Terminal Sketch 模式

在 AutoDev 中,你可以在 Terminal Sketch 模式中执行脚本,或者将 Terminal 弹出(参考 Cursor),方便于你在系统中执行命令,查看运行结果。

Mermaid、PlantUML Sketch 模式

当你安装了 Mermaid 或者 PlantUML 插件之后,你可以通过 Mermaid、PlantUML Sketch 模式,将你的代码转换为流程图、时序图等等。

其它

下载和体验:github.com/unit-mesh/a...

相关推荐
aircrushin17 分钟前
轻量化大模型架构演进
人工智能·架构
文心快码BaiduComate1 小时前
百度云与光本位签署战略合作:用AI Agent 重构芯片研发流程
前端·人工智能·架构
风象南2 小时前
Claude Code这个隐藏技能,让我告别PPT焦虑
人工智能·后端
Mintopia3 小时前
OpenClaw 对软件行业产生的影响
人工智能
陈广亮3 小时前
构建具有长期记忆的 AI Agent:从设计模式到生产实践
人工智能
会写代码的柯基犬3 小时前
DeepSeek vs Kimi vs Qwen —— AI 生成俄罗斯方块代码效果横评
人工智能·llm
Mintopia4 小时前
OpenClaw 是什么?为什么节后热度如此之高?
人工智能
爱可生开源社区4 小时前
DBA 的未来?八位行业先锋的年度圆桌讨论
人工智能·dba
叁两7 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent