跳过正文
  1. Posts/

AI 时代,我是如何用 Neovim 掌控多 Agent 协同开发的

·1506 字·4 分钟
目录

最近在折腾多 Agent 协同开发的框架,跑各种脚本的时候发现,平常用的 VS Code 开始变得越来越吃力和累赘。

Agent 经常跑在远程开发机或者隔离的容器里。如果每次都要配置 Remote SSH 去连这些随时可能被销毁重建的环境,不仅太重,而且很繁琐。更要命的是,本地跑大模型和跑多个 Agent 进程已经极其吃内存,Electron 架构的 IDE 再跟着抢占资源,开发体验直线下降。

于是我重新捡起了 Neovim,直接 ssh 上去用终端查看日志和修改代码。经过几周的调优,我发现 Neovim 不仅能胜任,而且其本身的设计哲学完美契合了当前的 AI 开发范式。

人类角色的转变:从打字员到审查员
#

过去我们高度依赖 IDE,是因为很多功能(智能提示、重构、一键生成各种类方法)是为了加快“从零手敲代码”的速度。

但在现在的多 Agent 工作流中,大段的样板代码、业务逻辑其实是 Agent 瞬间生成的。人类的工作更多变成了阅读、审查、导航文件以及极其微小的手术刀式修改

Vim 的核心设计是“为高效移动和精准编辑而生”,这恰恰切中了我现在的需求。我不需要在键盘和鼠标间来回切换,双手保留在主键盘区,就可以在 Agent 吐出的海量代码中快速跳转,决定哪些行保留,哪些行丢弃。

现代 Neovim 的 AI 工具链
#

很多时候,用终端开发并不意味着要退回到石器时代。现阶段的 Neovim 生态已经非常成熟,可以说是补齐了 AI 辅助的最后一块拼图。在这里分享几个我在高频使用的配置组合,它们解决了我在调试 Agent 时遇到的几个具体痛点。

1. 终端里的 Cursor Composer:Avante.nvim
#

在调试 Agent 的时候,经常会遇到它生成的代码逻辑跑偏。如果我手动去改,心智负担很重;如果开 VS Code 用 Cursor,又要重新建立连接。

Avante.nvim 是这个场景下的利器。它在侧边栏实现了一个极其强大的 AI 对话界面,支持接入最新的大模型。我可以选中一段 Agent 写出 bug 的代码,让它读取当前上下文直接生成修改方案。它的 Diff 界面非常直观,我可以精细到对某个代码块执行 Accept 或 Reject。

它的存在,让我可以把 Neovim 直接当成一个轻量级的终端版 Cursor 来用,遇到不懂的机制就直接在侧边栏询问。

2. 闪电般的内联补全:Supermaven
#

在自己手动敲补丁代码时,普通的 LSP 已经不够用了。过去大家喜欢用常规的代码补全,但我现在切换到了 Supermaven。它的特点就是极低的延迟和超大的上下文感知,在处理复杂工程时,基本可以在我写出第一行逻辑前就把剩下的代码精准猜出来。

3. 多终端与进程管理:ToggleTerm 与 tmux
#

开发多 Agent 系统,本质上是在调度和监控多个后台进程。你不可能在一个屏幕里只看代码。

我现在的习惯是用 tmux 做好物理分屏,左侧大窗专注看 Neovim 里的代码,右侧分屏跑着各种 Agent 互相通信的日志。而在 Neovim 内部,我配置了一键呼出的悬浮终端(比如 ToggleTerm.nvimSnacks.nvim)。当我在编写调度逻辑时,随时可以调起悬浮终端跑一下测试,看完结果立马折叠,视线完全不需要离开代码。

4. 调试 Agent 输出流:jq.nvim
#

Agent 之间的通信,或者它们去调用外部工具(Tool Calls)时, payload 通常是极其庞大和嵌套的 JSON。

在终端里看这种没被格式化的 JSON 体验非常糟糕。通过配置好 JSON 的 Treesitter 和 jq.nvim,我在 Neovim 里就能瞬间折叠或展开复杂的 JSON 结构,快速提取某个特定字段的值,找 bug 效率极大提升。

工具是为思想服务的
#

折腾了一圈配置,我最大的感触是:工具链的选择,本质上是和你的开发心理模型挂钩的。

重量级的 GUI 编辑器是为了让你更好地“写”代码;而 Vim 加终端的组合,则是为了让你更好地**“掌控”**运行着多个 AI 机器人的系统。当你用着极低的资源占用,在一个纯净的终端环境中同时操纵多个 Agent 时,那种阻力极小的“人机协同心流”,确实是很多现代 IDE 给不了的。

如果你也在被臃肿的开发环境困扰,或者需要在不同的远程机器间频繁切换,不妨试试重新拿起 Neovim。

相关文章

从进程视角重新理解 Docker

·3840 字·8 分钟
起因 # 第一次接触 Docker 是 2017 年,在深圳网警机房驻场做审核项目。机房完全没有外网,模型、依赖、运行环境全靠 U 盘拷贝 docker image 来传输。后来做模型转换系统,再到量化行业负责机器学习平台,和 Docker、K8s 打了不少交道。但距离上一次系统梳理 namespace、cgroup 这些底层机制,已经过去好几年了。