我半年没写代码,全靠 AI Agent

Six Months of Writing Code Exclusively with Agents

我半年没写代码,全靠 AI Agent

今年二月,我给自己定下规矩:不再亲手写代码。这半年里,我完全依赖 AI Agent 完成开发任务。起初,我用多个 Agent 并行工作,却陷入资源冲突和等待的泥潭。后来,我借助 exe.dev 的虚拟机将 Agent 迁移到云端,并开发了 botd 工具统一管理。尽管 Agent 能自动运行测试、生成截图,甚至互相审查代码,但我发现工具无法判断功能是否真正值得添加。最终我意识到,虽然 AI 能高效产出代码,但决定“是否应该做”的责任,依然在我手中。

工具能告诉我这个改动是否可行,却无法告诉我它是否值得加入系统。
  1. greenowl

    我有一段时间完全信奉全 Agent 化路线。绝不手写代码!

    撇开工具的“能力”不谈,搞了几个月后我就知道这方向错了。我特别记得在一次大型功能实现中,我的 5 小时窗口(或者不管叫什么)的 token 用光了,结果我自己根本没法继续。这主要是因为我懒(心想反正明天限额重置了再弄!),但同时也让我第一次真切地感觉到技能正在退化/萎缩,这让我很不舒服。

    我不认为这种全 Agent 化的路线长期来看能行得通。这简直是终极依赖啊!!不管出于什么原因——服务中断、成本上涨,还是 Agent 的迭代速度最终达到了复杂度的临界点,导致你彻底失去对系统的掌控和理解,以至于 Agent 反而把情况搞得更糟——你真的指望能倒转时钟,重新介入并写出和你当年真正……手写代码时一样高效、一样高质量的代码吗?

  2. lostnfound8778

    > 更大的成本其实是打字。每次我想构建点什么,我脑子里都能看见代码。我只是打字速度跟不上。

    事实如此。对我来说,脑子里的构想和手指实际能敲出来的速度之间的差距越大,我感到的压力就越大。有些马拉松式的编码 session 最后以我背部肌肉严重拉伤告终,纯粹是因为太紧张了。

  3. thisisauserid

    而在大语言模型出现之前,他本来会在午休时随手拼凑一个二十行的 bash 脚本加一个 cron 任务,然后花六个月去干别的事情。

  4. redlewel

    大家是怎么读这种带着浓重 AI 腔调的帖子的?我连两句都读不下去。

  5. mrothroc

    这里的几条评论都触及了核心问题:Agent 生成的代码量超过了我们审查的能力。资深工程师以前就时间不够用,而编码 Agent 的高产输出让情况更糟了。而且,这些代码几乎总是写得不错。所以,你面对的是海啸般“还不错”的代码,这会导致审查疲劳,整个过程最终变成一场过场戏。

    对我来说,这意味着审查不能只是“我看过一眼”。在我看到代码之前,必须发生两件事:首先,正如其他人提到的,让来自不同模型家族的另一个模型根据明确的标准进行审查。同家族模型会有共享的偏见,所以必须换一家。其次,必须运行一组核心确定性检查(比如 lint,还有单元测试)。无论哪种情况,一旦失败就退回给编码 Agent。

    只有做完这些,我才会去管。但我真的不会通读所有内容。如果是那种标准的 CRUD 操作,Agent 做得相当不错,尤其是当它们使用成熟库的时候。我主要关注关键部分,比如权限是如何强制执行的。

    这套方法对我很有效,但它留下了一个主要问题未解决:这东西到底值不值得做。Agent 往往有点过于急切,所以我必须在前端花大量功夫,确保产出的东西能带来价值。那些检查门控只能验证产物,无法验证我的意图。

  6. iamflimflam1

    用大语言模型写代码需要自律,而且很难。你得学会怎么做,以及如何从中获得最佳效果。

    软件工程已死,软件工程万岁!

  7. rich_sasha

    我对所有这些叙述感到一种非常奇怪的违和感。我在工作中可以通过 Cursor 访问顶级模型。每当我想到“这是个繁琐但定义明确的任务,有清晰的验收标准,只要坚持不懈地迭代就能搞定很多”,我就会想:交给 Claude 吧。

    首先,我要花很长时间才能把任务描述清楚。所有这些清晰的验收标准,结果不是让我从脑子里的清晰规格直接写代码,而是让我写大量的散文,试图让它毫无歧义。我简直是在用 English++ 编程。

    然后,五次里有一次,它能产出个大概能用的东西。也许不完美,但勉强够用。五次里有两次,它看起来还行,但实际上忽略了 80% 的规格,或者只在注释里敷衍了事。

    有时候,可能比 2/5 还少一点,它直接彻底跑偏,产出完全垃圾的东西。开始写一些毫无理由的脚本,加载主脚本的 ast 并 pickle 它,然后序列化成 base64。把一些东西编码成字符串,然后反复检查 ord(string[i]) 来做字符串比较。最终耗尽上下文窗口,发展出大语言模型版的严重痴呆症。

    我真的无法把我的经历和那些声称“嘿,电脑,把这个写出来”然后觉得这很值得花时间的人调和起来。

  8. phildenhoff

    很遗憾看到一篇本来不错的文章被 AI 腔调(比如:“但这里有个转折:我之前描述的那个搜索从未发送给 botd。所有历史都在 SQLite 里,所以我让另一个 Agent 去处理,照样拿到了分析结果。工具挂了,数据没丢。”等等例子)给注水了。

    Maisem Ali 写道,尽管把代码生产交给了 AI,但他们并没有停止工程实践。我觉得这个观点很有意思,有几个原因,但最重要的是,我不太认同。

    首先,我们看到了一个典型的反面教材,说明那样做会如何爆雷。

同日更多故事

2026-08-27