AI 编程工具越堆越多,开发者却越来越没掌控
VIBECONTROLOBSERVABILITY
这一年 AI 编程工具几乎以月为单位翻新:功能越堆越多,内置的 agent 越嵌越深,system prompt 越写越长,可开发者对它的掌控感却越来越稀薄。当厂商在引擎盖下悄悄改一行东西,你搭好的工作流就可能当场散架。我最大的感触不是技术,而是两个字——掌控。
堆功能 ≠ 更好用,真正的稀缺是看得见、改得动、能复现的那份确定性。
现在最让我警惕的一句话是:“当你发现 AI 在背地里偷偷修改你的上下文,而你却对此一无所知时,这种掌控感的丧失是极其危险的。"有人特意写工具去拦截 AI 编程工具发往后端的请求,结果发现厂商在背后往 context 里塞了各种多余的、每天都在变的文字。每一次版本更新,都可能悄无声息地改变注入的方式和时机,把你辛苦搭好的 workflow 直接搞乱。
说实话,我第一次想到这儿的时候,心里咯噔一下。因为这种"失控感”,我用 AI 编程工具时也隐隐有过,只是从没这么清晰地抓住过。当工具越来越大、越来越黑盒,你其实没法判断它"为什么这么做"——它改了哪几行、为什么改、背后偷偷塞了什么 prompt,你一无所知。而真正厉害的人,不过是把这种模糊的不安,提炼成了一个非常具体、可验证的控诉:可观测性。
现在很多工具习惯把功能做成一架"宇宙飞船",功能多到你可能只用过其中 5%,了解的也就 10%,剩下 90% 全是 AI 领域的"暗物质",没人知道它背地里在干嘛。功能多本身不是问题,功能以隐式、不可见的方式发生才是问题。当你看不透一个工具,你就不敢信任它;当你不信任它,它再强也跟你无关。
所以这两年出现了不少反其道而行的做法:把工具砍到极简,只留最基础的读写与执行能力,让 model 能走的路一目了然。这样的工具未必能力上限更高,但状态变得可穷举——系统提示短到你可以完整记住,接口少到你不用猜它背后还做了什么。这份"看得清",往往比"功能多"更让人踏实。
我一直觉得,现在很多 AI 编程工具的确认弹窗,本质上是一种"假安全"。要么 agent 想干嘛就干嘛,要么每一步都问"你确定要删这个文件吗"——结果用户要么直接开免确认模式,要么无脑按回车,根本没人看。这种机制只会带来疲劳,不是真正有效的解决方案。
我深有同感。真正的掌控感,不是靠一层层弹窗制造的,而是靠"看得见、改得动、能复现"。把确认、护栏这类东西留给用户按需实现,把计划写进一个文件、把待办写进另一个文件,每一样都比内置一个"蹩脚 UI"更透明、更可控。这份掌控,是拿"开箱即用的便利"换来的,但对真正吃这碗饭的工程师来说,这笔账划算。
最容易被忽略的一点,其实是扩展性。极简不是终点,“极简内核 + 极致扩展"才是完整的设计。基础操作是原子动作,而更复杂的能力,全部丢给使用者自己拼装。写一个简单文件就自动加载,甚至支持热更新——改完配置,reload 一下就即时生效。基元少而确定,组合多而自由,这才是工程上最健康的形态。
我更想说的是:当下这个"大乱斗"时代,开发者真正该问的不是"这个工具能做多少”,而是"我能不能理解它在做什么、能不能决定它做什么"。用句老话,工具是来服务人的,不是让人去迁就工具的。这套理念未必是最终答案,但它提醒了所有人一个早就该想清楚的问题。
读完这些,我其实挺感慨的。AI 编程工具这一年像坐过山车,从"你能不能写行代码"一路卷到"你集成多少功能、多少个 agent"。可偏偏有人逆着方向往回走,用最少的工具,去找回最原始的东西——掌控感。
工具越做越聪明,不等于开发者越来越有掌控。当 AI 编程进入"堆功能"的大乱斗,真正稀缺的不是更多能力,而是可观测、可修改、可复现的那份底层的确定性。减法,有时比加法更需要勇气,也更接近本质。
当下的大乱斗里,越来越多人开始重新选择后者。