人工智能编程真是一场噩梦。我是唯一有这种体验的人吗?
以下是我目前对AI编码助手最大的抱怨:
1. **沉迷于重复造轮子**。你常常会发现它在一个文件中为同一个功能写出三个重复的函数。为什么?因为它害怕超出上下文窗口的限制,所以只读取大型文件的一小部分,完全忽视了已有的功能。
2. **文件为什么会如此臃肿?**因为AI更倾向于添加新代码而不是修改现有代码,而且它很少删除任何东西。经过几次迭代后,你的代码库就变成了一座死代码的山。
3. **缺乏整体意识**。它过于专注于当前任务,完全不在乎它的更改是否会破坏系统的其他部分。如果你指出原有逻辑现在已经破坏了,它会把这视为一个全新的任务。它会修复那个特定的bug,但它新写的代码在修复后是否仍然有效?“这不是我的问题。”
4. **上下文窗口痛苦地短**。如果你试图通过将所有必要的上下文信息放入提示中来解决上述问题,你很快就会达到20万标记的限制。再过两个回合,它就会触发自动压缩,突然间又变得无能。
5. **长上下文=瞬间脑损伤**。当你费尽心思将完美的上下文量塞入窗口时,模型会完全失去理智。上下文越长,它的回应就越不连贯。
6. **逻辑推理几乎不存在**。一个简单的功能,人工开发者只需3-5行代码就能在现有函数中进行调整?AI却坚持要为此设计一个全新的系统架构。
7. **越调试越傻**。你耗费了数百万个标记,每次它回复“我明白了!”或“我完全掌握了!”时,它输出的代码仍然无法运行。
查看原文
Here are my biggest gripes with AI coding assistants right now:
Obsessed with reinventing the wheel. You'll often find it writing three duplicate functions for the exact same feature in a single file. Why? Because it's terrified of blowing up the context window, so it only reads a fraction of a large file and completely misses the existing functionality.
Why are files so bloated in the first place? Because AI prefers adding new code over modifying existing code, and it rarely deletes anything. After a few iterations, your codebase becomes a mountain of dead code.
Zero holistic awareness. It hyper-focuses on the current task and couldn't care less if its changes break other parts of the system. If you point out that the original logic is now broken, it treats it as a brand-new task. It’ll fix that specific bug, but whether its newly written code still works after the fix? "Not my problem."
The context window is painfully short. If you try to solve the issues above by dumping all the necessary context into the prompt, you'll hit the 200k token limit in no time. After just two more turns, it triggers auto-compacting, and suddenly it turns back into an idiot.
Long context = instant brain damage. Just when you've painstakingly stuffed the perfect amount of context into the window, the model completely loses its mind. The longer the context, the more incoherent its responses become.
Logical reasoning is practically non-existent. A simple feature that would take a human dev 3-5 lines of code to tweak in an existing function? The AI will insist on designing an entirely new system architecture for it.
The more you tune it, the dumber it gets. You burn through millions of tokens, and every time it replies with "I understand!" or "I've got it completely!", the code it spits out still refuses to run.