← 最新论文
💻 computer science

Engineering Pitfalls in AI Coding Tools: An Empirical Study of Bugs in Claude Code, Codex, and Gemini CLI

本文通过对 GitHub 上 Claude Code、Codex 和 Gemini CLI 三款 AI 编程工具超过 3800 个公开报告的缺陷进行系统性实证分析,揭示了功能类问题占比超 67%、API 与集成配置错误是主要根源等关键工程陷阱,为构建下一代可靠 AI 编程助手提供了重要路线图。

原作者: Ruixin Zhang, Wuyang Dai, Hung Viet Pham, Gias Uddin, Jinqiu Yang, Song Wang

发布于 2026-03-24
📖 1 分钟阅读☕ 轻松阅读

原作者: Ruixin Zhang, Wuyang Dai, Hung Viet Pham, Gias Uddin, Jinqiu Yang, Song Wang

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文就像是一份**"AI 编程助手体检报告”**。

想象一下,现在的 AI 编程工具(比如 Claude Code、Codex、Gemini CLI)就像是一群超级聪明的“数字实习生”。它们能听懂人话,能帮你写代码、修 Bug、甚至自动运行命令。大家本来以为它们能像魔法一样解决所有问题,但这篇论文通过“解剖”了 3800 多个真实发生的故障(Bug),发现这些“实习生”虽然脑子好使,但手脚经常不听使唤,或者跟周围的“环境”合不来

作者们把这些故障分成了四个维度来“看病”,我们可以用生活中的例子来理解:

1. 它们主要犯什么错?(Bug 类型)

比喻:实习生是“干活”的,但经常干砸了。

  • 功能故障(67%): 这是大头。就像你让实习生“把文件 A 复制到文件夹 B",结果它要么没动,要么复制错了地方。大部分问题不是因为它“想”不出来,而是它根本没法执行你给的核心任务。
  • 难用/界面问题(18%): 就像实习生的办公桌乱成一团,或者它说话含糊不清,让你找不到按钮,或者屏幕乱闪。
  • 兼容性问题(8%): 就像你让一个习惯用 Windows 的实习生去 Linux 系统上干活,它直接“水土不服”罢工了。
  • 安全漏洞(很少但很可怕): 就像实习生不小心把公司机密文件发到了公共邮箱。

2. 为什么会出错?(根本原因)

比喻:不是“脑子”笨,是“手脚”和“环境”没配合好。
很多人以为 AI 出错是因为大模型(LLM)不够聪明,但这篇论文发现,真正的问题出在“工程搭建”上

  • 接口与集成错误(21%): 就像实习生要去调用公司的打印机,结果打印机驱动没装好,或者网线没插紧。AI 工具需要连接很多外部 API,一旦连接处出了问题,整个系统就崩了。
  • 配置与设置错误(16%): 就像你给实习生布置任务时,忘了告诉它“今天要用哪个版本的软件”,或者环境变量没设对,导致它一头雾水。
  • 环境不匹配(10%): 不同的电脑系统、终端软件,就像不同的“办公场地”,实习生换个场地就不知道该怎么干活了。
  • AI 本身的逻辑错误(10%): 只有约 10% 的问题是因为 AI 真的“想错了”(比如幻觉,瞎编代码)。这说明:AI 工具的不靠谱,更多是因为“系统没搭好”,而不是“大脑没转对”。

3. 用户看到了什么?(故障表现)

比喻:用户看到的通常是“报错弹窗”或“卡死”。
当这些工具出问题时,用户最常遇到的情况是:

  • API 报错(18%): 就像打电话过去,对方直接挂断或说“线路忙”。
  • 终端/命令行乱码或卡住(14%): 就像你在黑底白字的命令行窗口里,字都打不出来,或者屏幕花屏了。
  • 命令执行失败(13%): 你让它运行一个命令,它直接报错退出,或者卡在那里不动了。
  • 结论: 用户最头疼的往往不是 AI 写的代码逻辑不对,而是工具本身连“跑起来”都费劲

4. 问题出在哪个环节?(架构位置)

比喻:问题集中在“传话”和“执行”的中间环节。
如果把 AI 工具比作一个工厂:

  • 最脆弱的环节(37%): 工具编排层。这是 AI 决定“我要调用哪个工具”的地方。就像工厂的调度员,如果调度员搞错了要叫哪台机器,整个流水线就停了。
  • 第二脆弱(25%): 命令执行层。这是 AI 真正去“干活”的地方。就像机器手,如果机械臂没校准好,抓东西就会掉。
  • 相对稳定的: 反而是 AI 的“大脑”(推理层)和“记忆”(状态管理)层,虽然也有问题,但不是重灾区。

这篇论文给了什么建议?(给开发者的“药方”)

  1. 别光盯着 AI 的大脑,要修好它的“手脚”: 现在的 AI 模型已经很聪明了,但把它们变成好用的工具,需要极强的系统工程能力。要像对待传统软件一样,严谨地处理接口、配置和环境。
  2. 把“对话”和“执行”的边界划清楚: 必须明确告诉 AI 什么时候该调用工具,什么时候该停止。如果环境变了(比如网络断了),工具要能明确告诉 AI:“嘿,现在没法调用 API,别硬试了”,而不是让 AI 瞎猜。
  3. 反馈要透明: 当 AI 执行命令失败时,不要只给一个冷冰冰的"Error",要像人一样说清楚:“是因为权限不够,还是因为文件找不到?”这样用户(甚至 AI 自己)才能知道怎么修。

总结

这就好比我们造了一辆自动驾驶汽车
以前大家担心的是“车里的 AI 司机”会不会看错路(模型推理问题)。
但这篇论文告诉我们,现在的车经常抛锚,不是因为司机不会开,而是因为刹车系统没装好(API 集成)、油箱盖没拧紧(配置错误)、或者在雪地上轮胎打滑(环境兼容)。

要想让 AI 编程工具真正好用,工程师们需要把重点从“训练更聪明的模型”转移到“把模型和现实世界连接得更稳固”上来。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →