标签归档:焦虑

使用 Vibe Coding 的这6 种后遗症,你有吗?

我已经很久没有沉浸式写代码了。

以前碰到一个复杂问题,我会花几个小时读调用链、画状态变化、跟踪异常路径。刚开始很慢,脑子里只有一些零散信息。随着上下文逐渐完整,代码会形成一张连续的结构图。再往后写,很多判断不需要反复查找,心流也就出现了。

现在的工作节奏完全变了。

我先给 Agent 描述需求,等它执行。等待期间又觉得空着可惜,于是打开第二个窗口,让另一个 Agent 补测试。看到还有时间,再开第三个任务处理重构。

十几分钟后,几个 Agent 陆续返回结果。我开始查看摘要、检查 diff、运行测试、补充要求、处理冲突。一个任务还没看完,另一个任务已经弹出完成通知。

一天下来,代码生成了很多,我却很少在同一个问题里连续停留半小时。

心流没了

Vibe Coding 最先改变的是注意力结构。

写代码原本是一种连续活动。理解需求、寻找入口、建立模型、设计实现、发现问题、修正判断,这些环节彼此相连。Agent 把它切成了很多轮对话:描述任务,等待结果,检查结果,再描述下一步。

每轮都很快,每轮都带来一点进度。

大脑很容易适应这种高频反馈。问题一旦需要长时间推演,我就会产生阻力。以前遇到难点,会继续读代码、查日志、进调试器。现在的第一反应经常是把问题发给 Agent,让它先分析一下。

思考开始变得外包化。

这不会让工程师立刻失去能力。更常见的变化是耐心下降。看十分钟调用链就想问 AI,调试几次没有结果就想换提示词,设计还没收敛就开始生成代码。

慢思考越来越难维持。

复杂工程问题偏偏依赖这种能力。并发状态、数据一致性、故障恢复和性能瓶颈,很少能靠几轮快速问答解决。它们需要人在同一套上下文里待得足够久,直到各种局部信息连成一体。

Agent 使用频率越高,我越忙,也越难进入这种状态。

Token 焦虑

额度快用完会焦虑,这很正常。额度没用完也会焦虑,就就有点奇怪了。

买了订阅,看到 token 还剩很多,会产生一种浪费感。离开工位之前,总想再布置一个任务。准备去开会,让 Agent 先跑一轮测试;准备吃饭,让它顺手整理模块;睡觉之前更容易上头,总觉得应该给 AI 加个通宵夜班。

真的是如群友所说:床前 token 光。

这种焦虑会慢慢改变任务优先级。原本没有必要立即处理的工作,因为 Agent 正好空闲,被提前塞进了队列。需求还没有想清楚,先做一个版本看看;某段代码虽然还能维护,先让 Agent 重构一下;测试已经够用,再补几十个用例似乎也没坏处。

Agent 忙起来了,人的待验收任务也堆起来了。

第二天早上打开电脑,几个任务全部显示完成。看起来像是白捡了一夜生产力。仔细检查才会发现,每个结果都需要重新加载上下文,都要判断实现边界,还要验证它有没有把局部问题扩展成新的抽象。

AI 上完夜班,我们开始加班验收。

更麻烦的是,等待结果本身也会占据注意力。人已经离开电脑,脑子里还惦记着任务有没有跑完、会不会失败、明天要看多少改动。休息时间变成了一段漫长的异步等待。

越用越累

刚开始用 Vibe Coding,我以为自己会轻松很多。实际体验是产出提高以后,疲惫感也跟着上升。

过去一天写两百行关键代码,我基本知道每一行为什么存在。现在几个 Agent 可以快速生成几千行改动。我的工作量没有消失,它从编写转移到了理解、判断和验收。

生成可以并行,理解通常只能串行。

一个 Agent 修改接口,一个 Agent 补充测试,另一个 Agent 调整调用方。它们各自都能完成任务,最后所有结果汇集到我这里。我需要判断接口语义有没有变化,测试是否沿用了错误假设,调用方有没有掩盖异常,几个改动能否同时成立。

机器的带宽增加了,人的带宽没有同步扩展。

当输出超过处理能力,审核质量会自然下降。最初还会逐行看 diff,后来只看摘要;最初会认真检查测试内容,后来看到绿色就继续;最初要求自己理解每个关键决策,后来开始依赖 Agent 提供的变更说明。

疲惫带来的危险,很少表现为明显的错误决定。它更像一种缓慢降低的验收标准。

每一次都只少看一点,每一次都觉得风险可控。几个月以后,代码库里已经出现大量没人完整理解的实现。

不想 review

我现在越来越不想看 AI 写的代码。

人工审核 AI 代码,有时比自己重写还累。自己写代码时,设计过程和实现过程是连续的。我知道哪些地方经过权衡,哪些地方只是临时处理,哪些假设需要后续验证。

面对 AI 生成的代码,这些上下文都要重新推导。

最让人疲惫的代码,往往还写得挺像样。命名规范,结构完整,注释齐全,测试也有。逐段看都有合理性,放回整个系统却经常显得多余。

一个边界条件被扩展成通用框架,一次局部修复引入新的中间层,三个表面相似的流程被强行抽象到一起。代码能运行,测试也能通过,但维护成本被悄悄推高了。

审核者需要花很大力气,才能解释为什么一份「正确」的代码不适合进入当前系统。

重复几次以后,人会开始逃避。既然测试过了,先合进去。出了问题,再让 Agent 修。下一次 Agent 又基于上一次生成的结构继续扩展,代码越来越多,理解越来越少。

最后会出现一种荒诞状态:人不愿意维护 AI 写的代码,于是继续让 AI 维护。

理解变浅

亲手写代码的过程,本身也是建立系统认知的过程。

为了实现一个功能,我需要找到入口,理解依赖,处理编译错误,观察测试失败,再确认数据如何穿过整个链路。实现完成以后,我对这部分系统已经形成了自己的判断。

Vibe Coding 跳过了其中大量过程。

Agent 告诉我改了哪些文件、采用了什么方案、测试结果如何。我可以很快获得一份完整说明,却没有经历那些失败、试探和修正。知道结果,与掌握系统之间,仍然隔着很长一段距离。

这种认知缺口在日常迭代中不容易暴露。Agent 还能继续修改,功能也能继续上线。等到线上故障、复杂重构或性能退化时,团队需要在压力下定位根因,欠下的理解成本才会集中出现。

每个人都参与过系统开发,问到关键链路却只能讲出局部。继续追问异常如何传播、数据如何恢复、容量边界在哪里,回答逐渐变成「让 Agent 分析一下」。

工具还在,工作可以继续。工程师对系统的控制感却在下降。

调度上瘾

多 Agent 会带来很强的生产感。

屏幕上同时跑着几个任务,状态不断变化,代码持续生成。即使我没有处理最困难的问题,也会觉得今天推进了很多工作。

这种感觉很容易上瘾。

我开始热衷于拆任务、写提示词、查看进度、追加要求。一天都在操作,一天都没有停下来。到了晚上,任务列表关闭了不少,却很难指出自己完成了哪段连续思考。

技术管理者更容易陷进去。我们的时间本来就被会议、消息和协作切碎,Agent 又提供了一种产出感很强的碎片化工作。它比回复消息更像研发,比真正做架构设计轻松,还能持续制造「事情正在推进」的反馈。

久而久之,启动任务替代了处理问题,完成数量替代了工程质量。

代码还在,人却远了

Vibe Coding 让我写得更快,也让我离代码更远。

这种距离很难通过提交数量看出来。功能持续上线,测试数量持续增加,仓库每天都很活跃。只有在关掉 Agent、独自面对系统时,才能感受到变化。

我还能不能连续读一小时代码?

能不能在没有摘要的情况下说清楚一次变更?

能不能独立判断某个抽象该不该存在?

线上出问题时,我脑子里有没有完整的执行链路?

这些问题比 token 使用量更让我焦虑。

我仍然每天使用 Vibe Coding,也很难再回到完全手写的状态。它确实提高了生产速度,只是这份速度附带了一组后遗症:心流消失、注意力碎片化、token 焦虑、审核疲劳、理解变浅,以及对调度和即时反馈的依赖。

以前写代码会累,累在实现。

现在也累,累在持续接收、持续判断、持续验收。机器一直在输出,我的大脑一直没有真正下班。

以上。