8.0
热点
AI SCORE
技术实践2025-10-09 12:33
LLM 编码 Agent 的两大硬伤
Hacker News · kix.dev#AI编程#Agent#工具评测
Editor brief · 编辑速览
深度剖析当前 LLM 驱动编码 Agent 的主要局限,370+ 条讨论反映社区广泛关注。帮助程序员准确评估 AI 编码工具的实际能力边界。
最近我一直在尝试慢慢重新使用 LLM 来帮助编码(在之前彻底放弃后),但总感觉有点不对——就像我们没有完全同频。你可以叫它"感觉编码"或"感觉工程",但我终于找到了两个根本原因,解释为什么它们对代码的处理方式这么别扭。
LLM 不会复制粘贴(或剪切粘贴)代码。比如,当你让它们将一个大文件重构为多个小文件时,它们会"记住"一个代码块或代码片段,对原文件使用删除工具,然后用写入工具从内存中输出提取出来的代码。没有真正的剪切或粘贴工具。每一次调整就是它们从内存中生成写入命令。这感觉很奇怪,因为作为人类,我们一直依赖复制粘贴。这是我们保证移动的代码与复制来源完全一致的方式。我只看过 Codex 在这里逆势而行,有时我会看到它使用 sed 和 awk 来尝试复制那种复制粘贴的交互,但并不总是有效。
而且问题不仅在于代码移动的处理方式——它们整个解决问题的方式也很陌生。LLM 在提问方面表现很差。它们只是做出大量假设,然后基于这些猜测蛮力推进。优秀的人类开发者在做出重大改动或不确定时,总是会先提问(因此有"没有坏问题"的说法)。但 LLM 呢?它们一直尝试让代码工作,直到撞墙——然后就一直撞墙。当然,你可以过度设计你的 prompt 来尝试让它们提出更多问题(比如 Roo 在这方面做得相当不错)——但它们很可能仍然不会。也许构建这些 LLM 的公司是基于让编码"更快"来进行强化学习的。
正因为这些怪癖,我反驳 LLM 正在替代人类开发者的说法——它们仍然更像奇怪、过度自信的实习生。我还不能完全与它们同频共振。