在那篇《AutoDev Next》的愚人节文章里,我们介绍了 AutoDev 下一阶段的一些构思和想法,而 AutoDev Remote Agent 则是其中一个重要的组成部分。 如今,作为 AutoDev Workbench 的一部分的 AutoDev Remote Agent 开始进入试运行阶段,你可以使用 AutoRemote Agent 来:
与此同时,作为 AutoDev 开源方案的一个重要组织部分,你可以自由地发布和修改 AutoDev Remote Agent 的代码,甚至可以将其集成到你的项目中。
当前,你可以在我们的 GitHub 上创建 issue 来测试它的功能:https://github.com/unit-mesh/autodev-workbench
毫无疑问,Remote Agent 是 AI Coding 领域的热门话题,无论是 Claude Code 还是 Codex Agent,它们都在尝试让 AI 编程助手在后台默默地 帮你完成开发任务。
几年前,因为某国产操作系统的项目机会,我深入了解了 Android 构建系统、Gradle 源码、Intellij Community 的源码等。我也从头独立构建过独立的 基于 Intellij Community 的 IDE,也因此我深知作为个人,难以承受独立 IDE 的机器和云服务器成本。除此,基于 VSCode 是一个非常简单的 方案,只是我向来是习惯不了 VSCode 那弱鸡的语法分析能力和不能重构的重构功能。
所以,既然在一个 IDE 可能并不是那么重要的未来,那么开发 IDE 自然不会成为 AutoDev 的重点。
在我们构建 AutoDev 的 VSCode 版本的时候,我就思考未来的 AI 编程的演进,既然 2024 年的主流的 AI Coding 都是:
而在 2025 年里,Grep/Ripgrep Search 成为向量化之外的首选方案时,向量化已经不再重要了,编码 AI 模型(Claude)的能力越来越强。它已经可以 Agentic 的 Coding,那么显然我们可以在服务端运行 Agent,来完成代码的编写、测试、部署等任务。
在过去的一个多月里,我们构建了 AutoDev Remote Agent 的原型,你可以在你的 GitHub 项目里在 Action 中使用它来帮助你分析 issue、规划任务、 编写代码等。详情见:https://github.com/marketplace/actions/autodev-remote-agent
在探索过程中,我们使用 Augment(~~虽然 AutoDev IDEA 很强~~,但是显然 Augment 是至今最强的 AI 编程助手)来帮助我们完成了第一个版本的 AI Agent 设计 —— 基于我们从 VSCode 重构出来的内核,以及我们在 AutoDev Workbench 中的 AI 编程助手的设计。
AutoDev Remote Agent 参考了我们在 AutoDev Sketch 的工具设计,但是由于没有合适的服务器来运行,所以 GitHub Action 是最适合的运行环境。 因此,我们在经典的各类工具 MCP 封装的基础上,加上了 GitHub 工具的封装,可以自动获取 issue,并将分析结果和任务规划结果写入到 issue 中。
如下是简单的工具运行示例:
[AIAgent] AI Agent initialized with LLM provider: DeepSeek
[AIAgent] Total enhanced tools loaded: 18
[AIAgent] Configuration: { maxToolRounds: 3, enableToolChaining: true, toolTimeout: 1200000 }
✅ Agent initialized: DeepSeek (deepseek-chat)
🔧 Tools: list-directory, read-file, write-file, delete-file, str-replace-editor, analyze-basic-context, search-keywords, grep-search,
run-terminal-command, github-get-issue-with-analysis, github-create-new-issue, github-list-repository-issues,
github-find-code-by-description, github-analyze-issue, browse-webpage, browse-webpage-with-summary, web-search,
project-memory
Augment 在帮助我们设计 AutoDev Remote Agent 的过程中,创建了 Round 的机制,用来限制对话的数量,避免无限循环。每个 Round 都会有一个 工具的调用,以及对应的总结,如下所示:
[ToolExecutor] 🎯 Stage 1/1: 2 tools
[ToolExecutor] Round 2: Executing tool: grep-search
[ToolExecutor] Round 2: Executing tool: analyze-basic-context
[ToolExecutor] ⚡ Fast execution: grep-search took 33ms
[ToolExecutor] Round 2: Tool grep-search completed in 33ms
由此在最后,我们可以得到一个完整的任务规划。
AutoDev Remote Agent 是由 Augment AI 完成的第一个版本,我们下一代的一个重点是实现 AutoDev Remote Agent 的自举。
与主流的工具相比,我们还缺少 processes 相关的工具,我们将在未来的版本中添加。
功能类别 | AutoDev Remote Agent | Claude Code | Augment | Cursor Agent | CodeX Agent |
---|---|---|---|---|---|
文件操作 | ✅ 完整套件 | ✅ 完整套件 | ✅ 完整套件 | ✅ 完整套件 | ✅ 完整套件 |
- 文件读取 | read-file |
View |
view |
read_file (智能行数限制) |
file.read (沙箱化) |
- 文件编辑 | str-replace-editor |
Edit |
str-replace-editor |
edit_file + Apply (专用应用模型) |
file.write (工作区安全写入) |
- 文件创建 | write-file |
❌ 无 | save-file |
edit_file (创建模式) |
file.write (创建模式) |
- 目录列表 | list-directory |
LS |
view (目录模式) |
list_dir |
通过 shell.execute (ls) |
- 文件删除 | delete-file |
❌ 无 | remove-files (批量) |
delete_file (可在设置中禁用) |
通过 shell.execute (rm) |
- 文件重命名 | ❌ 无 | 通过 shell.execute (mv) |
|||
终端执行 | ✅ 完整套件 | ✅ 基础功能 | ✅ 完整套件 | ✅ 完整套件 | ✅ 沙箱化执行 |
- 命令执行 | run-terminal-command |
Bash |
launch-process |
run_terminal_cmd (智能终端配置) |
shell.execute (沙箱环境) |
- 输出获取 | get-terminal-output |
自动集成 | read-terminal |
自动集成 + 监控 | 自动集成 (stdout/stderr 捕获) |
- 安全策略 | 用户确认机制 | 内置检测机制 | 用户确认机制 | 防护栏 + 允许/拒绝列表 | 沙箱隔离 + 结构化配置 |
进程管理 | ✅ 完整套件 | ⚠️ 基础功能 | ✅ 完整套件 | ⚠️ 基础功能 | ✅ 完整套件 |
- 进程启动 | launch-process |
通过 Bash |
launch-process |
通过 run_terminal_cmd (后台) |
process.start (专用工具) |
- 进程列表 | list-processes |
❌ 无 | list-processes |
❌ 无 | 通过 shell.execute (ps) |
- 进程状态 | read-process |
❌ 无 | read-process |
终端输出监控 | 内置状态监控 |
- 进程终止 | kill-process |
❌ 无 | kill-process |
❌ 无 | process.stop (专用工具) |
代码搜索 | ✅ 多种搜索 | ✅ 基础搜索 | ✅ 高级搜索 | ✅ 智能搜索 | ⚠️ 基础搜索 |
- 文件模式搜索 | search-keywords |
GlobTool |
view (搜索模式) |
search_files (模糊匹配) |
通过 shell.execute (find/grep) |
- 内容搜索 | code-search-regex |
GrepTool |
view (正则搜索) |
grep_search (ripgrep) |
通过 shell.execute (grep) |
- 语义搜索 | ❌ 无 | ❌ 无 | codebase-retrieval |
codebase_search (索引化语义搜索) |
❌ 无 |
- 符号搜索 | ❌ 无 | ❌ 无 | ❌ 无 | ❌ 无 | ❌ 无 |
代码分析 | ✅ 基础分析 | ⚠️ 有限支持 | ✅ 高级分析 | ✅ 高级分析 | ✅ 基础分析 |
- 项目分析 | analyze-basic-context |
❌ 无 | ❌ 无 | 自动代码库理解 | ❌ 无 |
- 代码诊断 | ❌ 无 | ❌ 无 | diagnostics |
自动错误修复 | ❌ 无 |
- 代码理解 | ❌ 无 | Think |
❌ 无 | Tab 预测 + 上下文感知 | python.exec (代码执行分析) |
- 代码变更分析 | ❌ 无 | ❌ 无 | ❌ 无 | ❌ 无 | diff.get (变更对比) |
GitHub集成 | ✅ 完整套件 | ❌ 无 | ❌ 无 | ❌ 无 | ❌ 无 |
网络功能 | ✅ 完整套件 | ❌ 无 | ✅ 完整套件 | ✅ 基础支持 | ✅ 可控网络访问 |
- 网页抓取 | web-fetch-content |
❌ 无 | web-fetch |
❌ 无 | ❌ 无 |
- 网络搜索 | web-search |
❌ 无 | web-search |
web_search |
❌ 无 |
- 浏览器控制 | open-browser |
❌ 无 | open-browser |
❌ 无 | browser.open (无头浏览器) |
- 网络访问控制 | ❌ 无 | ❌ 无 | ❌ 无 | ❌ 无 | net.enable/disable (动态控制) |
Jupyter支持 | ❌ 无 | ✅ 完整支持 | ❌ 无 | ✅ 基础支持 | ❌ 无 |
- 笔记本读取 | ❌ 无 | NotebookReadTool |
❌ 无 | edit_notebook (读取模式) |
❌ 无 |
- 单元格编辑 | ❌ 无 | NotebookEditCell |
❌ 无 | edit_notebook |
❌ 无 |
记忆管理 | ❌ 无 | ✅ 文件方式 | ✅ 数据库方式 | ✅ 会话管理 | ❌ 无 |
- 记忆存储 | ❌ 无 | CLAUDE.md |
remember |
自动检查点 + 会话历史 | ❌ 无 |
- 记忆检索 | ❌ 无 | 自动集成 | 自动集成 | 智能上下文建议 | ❌ 无 |
可视化 | ❌ 无 | ❌ 无 | ✅ 基础支持 | ❌ 无 | ❌ 无 |
- 图表渲染 | ❌ 无 | ❌ 无 | render-mermaid |
❌ 无 | ❌ 无 |
开发工具集 | ❌ 无 | ❌ 无 | ❌ 无 | ❌ 无 | ✅ 专用开发套件 |
- 包管理 | ❌ 无 | ❌ 无 | ❌ 无 | ❌ 无 | pip.install (Python 包) |
- 代码执行 | ❌ 无 | ❌ 无 | ❌ 无 | ❌ 无 | python.exec (代码片段执行) |
- 测试执行 | ❌ 无 | ❌ 无 | ❌ 无 | ❌ 无 | tests.run (项目测试) |
- 工具帮助 | ❌ 无 | ❌ 无 | ❌ 无 | ❌ 无 | tool.describe (工具文档) |
当然了, 除此之外,我们的工具还有大量的 bug,但是我们会在未来的版本中逐步修复。
作为一个在 GitHub Action 上运行的 AI Agent,我们需要确保它的安全性。AutoDev Remote Agent 通过以下方式实现沙箱化:
当然了,Docker 也是一个非常不错的选择,但是在我这台老 MacBook 上,Docker 的性能实在是太差了,所以我们暂时不考虑 Docker。
AutoDev Remote Agent 是一个开源的 AI 编程助手,你可以在 GitHub 上找到它的代码:https://github.com/unit-mesh/autodev-workbench 你也可以在我们的 GitHub 上创建 issue 来测试它的功能。
围观我的Github Idea墙, 也许,你会遇到心仪的项目