![代码编辑器与 AI 图标](https://blog.kbmp.club/upload/coding.jpg) 市面上的 AI 编程工具看着很多,但按能力边界划,其实就三类。选错类别,要么觉得「没用」,要么会被它的破坏力吓一跳。 ## 第一类:行内补全 典型形态是编辑器插件,你写前几个字符,它把后面续出来。 - **优点**:无感、不打断心流、几乎零学习成本; - **局限**:只看得见光标附近的上下文,不理解整个项目; - **适合**:写样板代码、补全重复结构、记不住的 API 签名。 这一类最稳妥,几乎不会坏事——它只在你主动接受时才写入,而且改动范围就几行。 ## 第二类:对话式 侧边栏聊天,能读你选中的文件、贴报错、问设计问题。 - **优点**:有全局视野(如果它能索引整个仓库),适合理解和调试; - **局限**:需要你手动复制粘贴结果,**改代码这件事还是你在做**; - **适合**:读陌生代码、定位报错、讨论方案。 这一类的问题是上下文要你自己喂。文件没选中它就看不到,而人工挑选「哪些文件相关」本身就是个技术活。 ## 第三类:智能体式 这一类是分水岭:**它不只会写,还会执行。** 它能自己读文件、改多个文件、跑 shell 命令、看报错、再改。你给一个目标,它自己拆步骤往下推进。 本站的文章发布流程就是这么做的——配图上传、文章创建、发布状态推送,全程由 AI 通过接口完成,没有打开后台界面。这类能力的效率提升是数量级的,但**风险也是数量级的**。 ## 智能体的三个必备护栏 如果要用第三类工具,下面三条不是建议,是底线: **1. 必须在 Git 仓库里工作** ```bash git status # 开工前确认工作区干净 git add -A && git commit -m "wip: before agent run" ``` 有了提交点,搞砸了一条 `git checkout .` 就能回去。**没有版本管理的目录里跑智能体,等于裸奔。** **2. 给它受限的环境** 容器或虚拟机里跑,`rm -rf /` 的破坏范围就限制在容器里。生产数据库、正式环境的密钥,一律不给。 **3. 破坏性命令要人工确认** 删除、覆盖、推送到远端、`DROP TABLE` 这类操作,配置成必须点确认。模型会犯错,也会误解你的意图——它以为你说的「清理旧文件」包括你的源数据。 ## 怎么选 按实际情况对号入座: - **只是想写快一点** → 第一类足够,别引入复杂度; - **经常读别人的代码、查报错** → 第二类,注意选能索引整个仓库的; - **批量改造、重复性任务、跨文件的机械改动** → 第三类,但先把护栏搭好; - **代码不能出网** → 只能选支持本地/私有化部署的方案,或者本地模型方案(我另写了一篇本地跑大模型的)。 还有一个常被忽略的维度:**语言与框架的主流程度**。越主流的语言,训练数据越多,AI 的表现越好。冷门框架或内部 DSL,收益会明显下降。 ## 一个心态问题 用 AI 写代码最常见的不满来自期待错位:**把它当搜索引擎用会失望,当实习生用会比较准。** 给实习生交代任务,你会说清楚背景、约束、验收标准;你也不会把他的产出不经审查就合进主干。对 AI 也一样——**产出必须审查**,尤其是涉及删除、权限、数据的部分。 ## 小结 三类工具不是迭代关系,是并行关系,解决不同问题。能力越强的一类需要越强的护栏,这个规律在这行里几乎没有例外。 我的建议是从第一类开始用熟,需要时再上第三类,并且**永远在 Git 里用它**。