用 Agent 写代码,我陷入了一种拉扯感

我想说一个最近用 Agent 的真实感受:一种拉扯感。它让我很难进入那种舒服的、满足的心流状态。

没有 Agent 的时候,我反而很踏实

在古法编程、还没有 Agent 的时候,由于自己能力有限,我做的事情其实就很小一块。我不会给自己定一个非常复杂、非常宏大的目标,往往是一个比较小巧、比较简单的目标。

这样的好处是:这个任务底下对应的细节,是在我能力处理范围之内的。我能 handle 住,有精力也有能力去想清楚——我要实现的某个功能,底下某段具体代码应该怎么写,每个模块应该怎么设计,整个流程应该怎么设计。

当然做的过程中我依然有很多东西不会写,我会去问 AI,但那时候 AI 只是帮我写一些小片段。我做的时候经常出很多 bug,程序跑起来要调试很长时间,甚至上了生产环境还有很多 bug,得经过我一次一次修复才最终能稳定运行下去。但整个过程始终是在我的处理范围之内的。

有了 Agent,我变得更 ambitious,细节却失控了

现在有了 Agent,我变得更加 ambitious,目标更加宏大。我不再拘泥于提一个小目标,而是去跟它描绘一个更宏大的场景、更复杂的任务。而且我似乎已经习惯了这么做,可能已经忘了自己曾经不敢一步迈这么大,但感觉回不去了。

问题是:目标宏大了,细节也随之变得非常非常多。受到各种限制和实际情况,我们又不可能完全不关注细节。于是细节的数量远远超出了我能处理的范围。

有人会说,那你把一个大任务切分成很多小目标,每个小目标下面的细节不就又可控了吗?但如果我又要把每个细节都过一遍,那我为什么还要做 vibe coding 呢?这又跟 Agent 的工作方式背道而驰了——Agent 的本意,就是希望我们不再在繁琐的细节上浪费时间。

理想的模式:只关注上一层

本质上,一个理想的工作模式应该是:你只用关注部分的细节。或者说,最底层的细节应该有一个上层的抽象,你只关注上一层的东西。你把上一层那个更抽象的框架过一遍之后,底下的细节就不用再操心了。

但现在的麻烦是,你很难知道自己到底要关注到什么程度。一方面目标比较大,另一方面细节又非常多,你需要不断地在宏大的目标和最底层的细节之间来回拉扯。

更糟的是,现在代码都是 Agent 写的,它的风格、习惯、思维方式本身就跟你自己做很不一样。所以你即使真正去看那些细节,可能比你完全自己写还要费劲——看代码有时候并不比写代码容易。

真正缺的,是一个可靠的抽象层

叙述着叙述着,我好像摸到了问题的根子:我们缺一套通用的方法,让我们真正可以不去操心底层细节,而只关注稍微上层一点的东西。一旦上层固定好,底下的细节就真正无关紧要了。

现在的矛盾在于:很多时候上层的东西你即使确定了,底下实现方式的一些不同,还是会对结果造成很大影响,甚至可能是巨大的错误。

所以关键是——怎么做出中间这样一个抽象层,让人只用关注这一层,同时还能确保:只要这一层没问题,那么底下无论怎么实现都不会有大问题。

如果能有这样一套东西,我觉得可以很大程度上解决我目前的这个痛点。但现在,我还不知道怎么解决。