"Should I Give Up Now?" Investigating LLM Pitfalls in Software Engineering

该研究通过分析 26 名参与者在复杂 Web 开发任务中的数据,揭示了大语言模型(LLM)在软件工程中的九类常见失败模式,并发现尽管用户尝试通过提示工程缓解问题,但持续的不准确回复仍导致 17 人最终放弃使用,且无帮助回复使放弃概率增加了 11 倍。

Jiessie Tie, Bingsheng Yao, Tianshi Li, Hongbo Fang, Syed Ishtiaque Ahmed, Dakuo Wang, Shurui Zhou

发布于 Wed, 11 Ma
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文就像是在记录一群“程序员”和一位“超级天才但有点不靠谱的助手”(ChatGPT)一起盖房子的故事。

想象一下,你雇了一位超级聪明的建筑助手。他读过世界上所有的建筑图纸,语速极快,能瞬间给你画出各种精美的设计图。但是,这位助手有个怪毛病:他经常“想当然”,记性不好,而且有时候会一本正经地胡说八道

这篇论文就是研究者观察了 26 位不同水平的“建筑师”(从学生到资深工程师)在使用这位助手盖房子(写网页)时,到底发生了什么,以及为什么最后有 17 个人不得不把助手赶走,自己埋头苦干。

以下是这篇论文的“大白话”解读:

1. 核心冲突:为什么大家想“放弃”?

研究者发现,虽然助手能帮你省力气,但用着用着,大家的心态会从“真香”变成“真烦”,最后变成“算了,我自己来”。

助手的三大“坏毛病”(失败类型):

  • 答非所问或漏掉关键步骤(Incomplete/Incorrect):
    • 比喻: 你让他“把墙砌好”,他砌了一半说“好了”,其实窗户还没留。或者他给你一张图纸,但忘了告诉你需要买水泥。
    • 后果: 你得自己回头去补漏,反而更累。
  • 信息过载(Cognitive Overload):
    • 比喻: 你只是问“怎么换个灯泡”,他直接给你发了一本《家庭电路维修全书》,还附带了 50 页的废话。你看得头晕眼花,根本找不到重点。
    • 后果: 你的大脑 CPU 烧了,只想关掉对话框。
  • 失忆症(Context Loss):
    • 比喻: 你刚跟他说了“墙要刷成蓝色”,聊了两句别的,再问他“那墙呢?”,他忘了刚才的事,又给你推荐了红色。
    • 后果: 你得反复解释,像教一个失忆的孩子,耐心被磨光了。

2. 大家的“自救”招数(Mitigation Strategies)

当助手掉链子时,大家也不是坐以待毙,他们尝试了很多方法来“调教”助手:

  • 把大任务拆小(Scaffolding): 既然他记不住大工程,那就让他一次只干一个小活(比如先砌墙,再刷漆)。
  • 换个说法(Prompt Clarification): 既然他听不懂人话,那就换个更详细的说法,甚至把代码直接贴给他看。
  • 自己当质检员(Debugging): 助手给的代码,大家不敢全信,必须自己先跑一遍,发现错了再让他改。
  • 终极绝招:换人(Consult External Sources): 当助手实在不靠谱时,大家会去 Google 搜、看 StackOverflow 论坛,或者直接自己写。

3. 谁更容易放弃?(关键发现)

研究者做了一个数学分析,发现了一些有趣的规律:

  • 助手越不靠谱,你越容易放弃: 如果助手给的回答完全没用(Unhelpful),你放弃他的概率会增加 11 倍!这就像你叫外卖,送来的全是生肉和没熟的菜,你肯定不想再点了。
  • 越问越有戏: 有趣的是,多问几次(多几个 Prompt)反而不容易放弃。这说明只要大家愿意多花点心思去“调教”,往往能解决问题。
  • 老手 vs. 新手:
    • 资深工程师(SDEs): 他们更有经验,能更快识别助手在胡说八道,所以一旦助手表现不好,他们放弃得更快,直接自己上手。
    • 学生/新手: 他们更容易陷入“死胡同”,觉得是自己没问对,拼命追问,反而花更多时间。

4. 即使助手升级了(GPT-5.1),问题还在吗?

研究者用更新的、更聪明的助手(GPT-5.1)又试了一次。

  • 结果: 助手确实变聪明了,第一次回答的质量高了,但是,那些“老毛病”依然存在!
  • 比喻: 就像给一个失忆且爱吹牛的助手换了一副更高级的墨镜,他看起来更酷了,但如果你让他盖复杂的房子,他还是会漏掉窗户,还是会记不住你刚才说的话。
  • 结论: 仅仅让助手“更聪明”是不够的,关键在于它能不能记住上下文理解你的真实意图,以及在长对话中保持逻辑连贯

5. 给未来的建议

这篇论文给 AI 设计师和开发者提了几个醒:

  • 别只追求“快”和“全”: 助手不应该只是丢给你一堆代码,而应该像结对编程的伙伴一样,知道什么时候该停下来确认,什么时候该提醒用户“这里有个坑”。
  • 适应你的水平: 助手应该能看出你是新手还是老手。对新手要解释得详细点,对老手要简洁点,别给老手看“如何安装螺丝”这种废话。
  • 承认错误并引导: 当助手发现自己可能错了,或者用户陷入死循环时,它应该主动说:“嘿,这样好像行不通,我们要不要换个思路?”而不是继续一本正经地胡说八道。

总结

这就好比你和一个天才但有点“脑回路清奇”的实习生一起工作
刚开始你觉得他无所不能,效率超高。但做着做着,你发现他经常漏掉细节、记不住之前的约定,甚至给你错误的建议。
最后你发现,与其花大量时间去纠正他的错误,不如自己亲手做来得快且稳。

这篇论文告诉我们:AI 助手现在还不是完美的“全自动保姆”,它更像是一个需要精心管理和监督的“初级实习生”。 要想真正用好它,我们需要学会如何与它沟通,而开发者也需要改进它,让它变得更“懂”人类,而不仅仅是更“聪明”。