实时诊断 (LSP)
最紧凑的反馈循环不会等你去运行代码——它会在你刚敲下错误的那一刻就抓住它。这正是语言服务器协议 (LSP) 所提供的:你编辑器背后的实时"智能",包括实时的错误、类型信息、跳转到定义和自动补全。语言服务器会在你的代码发生变化时读取它,并在任何东西运行之前就报告问题。
对 vibe coding 而言,这里的杠杆在于把这些诊断回传给 AI。没有它,循环很慢:AI 写代码,你运行它,它因为一个拼写错误或类型错误而崩溃,然后你手动把错误信息贴回去。把诊断接进来以后,智能体会在它写下那行代码的瞬间,看到和你一样的红色波浪线——并随手修掉类型或 lint 错误,根本不用等代码运行。
你可以用几种方式给智能体这双眼睛:
- 为你的技术栈运行语言服务器(tsserver、rust-analyzer、pyright 等等)——大多数 AI 原生编辑器会替你做好这件事。
- 让智能体运行一个类型检查或 lint 命令并读取输出,或者通过一个 MCP 服务器暴露诊断信息。
- 把一份干净的诊断报告当作"完成"的一部分,而不是事后才想起来的东西。
这也是为什么一门带类型的语言,对 vibe coding 来说可以是一种安静的超能力:每一个类型注解都是一份小小的、由机器检查的规格,会在 AI 的错误运行起来之前就把它逮住。一个"运行—崩溃—粘贴"的循环,于是变成了一个安静的、自我纠正的循环。AI 少做无用功,收敛得更快。