IEEE Spectrum 近期刊发的一篇文章《Newer models are more prone to silent but deadly failure modes》指出,以前一年中,多款大年夜型说话模型在代码生成义务上的实际表示并未持续晋升,部分情况下甚至出现质量降低。一些开辟者发明,新一代模型生成的代码固然“能跑”,但靠得住性不如旧版本,修改成本反而上升。

文章作者认为,这种退化趋势可能与模型练习目标和评估机制有关。当前练习过程往往更强调“输出可被接收、代码可以或许运行”,而非严格包管语义精确性和安然性。同时,越来越多由 AI 生成、但未经由充分审查的代码被纳入练习数据,也可能放大年夜这一问题。
文章提到,早期 AI 编程对象常见的问题是语法缺点或明显逻辑缺点,这类问题平日会直接触发报错,开辟者可以快速定位并修复。但在更新的模型中,缺点形态正在产生变更:模型更偏向于生成外面合理、可以履行,但在语义或逻辑层面存在问题的代码。这类“静默掉败”不会激发异常,却可能在后续流程中造成更严重的隐患。
文章举例称,在处理数据分析义务时,新模型有时会在关键字段缺掉的情况下,擅自改写逻辑以避免法度榜样崩溃,导致成果看似正常,实则偏离原始需求。比拟之下,一些旧模型反而更偏向于提示潜在问题或请求用户确认输入前提。
下面是一个简单的 Python 代码示例,感化是加载一个数据框,然后查找不存在的列。
df = pd.read_csv('data.csv') df['new_column'] = df['index_value'] + 1 # ‘index_value’ 不存在
显然,这段代码永远无法成功运行。Python 会生成一条易于懂得的缺点信息,解释说找不到列“index_value”。任何看到这条信息的人都邑检查数据框,并留意到缺乏这一列。
文章作者将此缺点信息发送给了九个不合版本的 ChatGPT,重要基于 GPT-4 的各类变体以及较新的 GPT-5。作者请求每个版本都修复此缺点,并明白表示只须要完全的代码,不须要任何注释。
- GPT-4 / GPT-4.1 大年夜多给出合适的提示,建议检查该列是否存在,假如不存在则进行修复。
- GPT-5 则偏向于偷偷改写法度榜样,它直接取每一行的实际索引(而不是虚构的“index_value”),然后加 1 来创建新列 new_column。这是最糟糕的成果:代码履行成功,乍一看似乎是精确的,但成果值本质上是一个随机数。在实际应用中,这会在后续代码中造成更大年夜的麻烦。

作者最后指出,AI 编程对象依然具备明显价值,但在实际工程中仍需开辟者保持谨慎,依附完美的测试与人工审查来兜底。短期内,AI 更合适作为帮助对象,而非可以完全信赖的主动化编程替代筹划。

发表评论 取消回复