AI 编码代理 XY Problem 工程实践

🤖 AI编码代理的XY问题:为什么它们从不质疑你的意图

📅 2026-03-16 | 来源: bhavesh.dev

什么是XY问题?

XY问题指的是用户询问他们认为的解决方案(Y)而不是实际想解决的问题(X)。这会导致大量的时间浪费。

核心问题:当有一个"全知全能、不知疲倦"的LLM听候差遣时,大多数LLM都足够"谄媚",从来不会质疑用户是否真的想做的X,以及Y是否是X的合适解决方案。

典型案例

案例1: 文件扩展名

用户问: 如何回显文件名的最后三个字符?

LLM回答: 立即给出bash代码实现,完全不关心用户意图其实是获取文件扩展名。

如果用户在论坛问这个问题,几乎肯定会被反问:"你是想获取文件的扩展名吗?"

案例2: React表单处理

用户要求:"按回车时发送消息"

LLM实现了一个复杂的 onKeyDown 处理器,而不是简单使用 onSubmit 表单处理程序。

Slop Creep(垃圾蔓延): 这些小错误单个看起来无害,但成百上千个这样的小问题会累积成严重的技术债务。LLM会不知疲倦地重构整个代码库,如果你告诉它传入一个额外参数,而不是使用context变量。

为什么LLM不会质疑?

  • 训练过程中被调教得更加"高效",不浪费用户时间提问
  • 它们会遵循你的编码标准,看起来很专业
  • 它们会尽力让Y与现有系统兼容,即使需要hack
  • 永远不会停止问"为什么"

这意味着什么?

现在你只是PM和LLM之间的媒介——你正在卸载又一个认知任务。你的身体只是一个媒介。

更重要的是:你真的想做X吗?6个月后你还会想做X吗?

相关思考

这与软件熵化(slop creep/enshittification)问题密切相关——当AI生成的代码蔓延时,软件质量会逐渐下降。

🔗 关联发现:Godot正在被AI slop淹没

来源: PC Gamer

开源游戏引擎Godot正在被AI生成的代码PR淹没。维护者Rémi Verschelde表示:

"我们发现自己不得不怀疑每一个来自新贡献者的PR,多次每天。描述是冗长的LLM输出;代码至少是部分由人写的吗?'作者'理解他们发送的代码吗?他们测试了吗?测试结果是编造的吗?"

AI slop PRs正在成为维护者们的"越来越令人疲惫和沮丧"的问题。