ChatGPT 进行 Advent of Code 2023

Advent of Code 2023 被用作一个非正式基准,用来衡量像 ChatGPT 这样的语言模型在解决新颖编程谜题时的表现;许多人注意到,这些题目让当前模型卡住的程度明显高于往年。评论者争论这究竟是否反映了刻意的“对 LLM 不友好”题目设计(作者明确否认这一点)、当前架构的固有限制,还是仅仅因为这些独特任务缺少训练数据。讨论进一步扩展到:LLM 到底能在多大程度上帮助程序员——尤其是在调试和推理方面——扩展还能走多远,以及它们是否真的会改变日常开发流程,而不是取代人类的问题解决能力。

AoC 2023 是否被有意设计成对 LLM 具有抗性?

  • 几位评论者最初认为,这些谜题是为了迷惑 LLM 而刻意设计的(额外条件、刁钻措辞、需要检查输入等)。
  • 也有人指出,题目作者明确否认受到了 LLM 的影响,并称其创作流程与往年相同。
  • 还有人试图调和这两种看法:作者可能无意中偏好那些对 LLM 更难的风格,或者说“对 AI 不友好”也可以仅仅意味着“训练集中没有的真正新问题”。

题目特征与输入的特殊性

  • 许多人注意到,比往年更多的题目受益于研究特定的输入结构或特殊情况。
  • 例如,有些电路式任务在拆成更容易的子图后会变简单,或者在发现输入中的特殊之处后,问题会比一般情况容易得多。
  • 也有人表示,这类依赖输入的技巧在更早的年份里也一直存在。

LLM 在 AoC 与编程中的表现

  • 有人报告称,GPT-4 甚至在 2023 年前几天的题目上,如果没有大量引导也会失败,尤其是在细致的解析上。
  • 也有人展示了:当给它一个解释器和清晰指导时,GPT-4 可以添加调试日志、解释输出,并反复修正自己的代码。
  • 关于调试能力,意见分歧很大:有人说它的调试技能“几乎不存在”,也有人说如果让它给出 diff、诊断或聚焦的帮助,而不是直接重写,效果其实很强。
  • AoC 被视为衡量通用推理能力的强基准,但未必能代表日常业务编程。

生产力与基准测试之争

  • 很多人用 LLM 来加速样板代码、正则、题面澄清和粗略脚手架。
  • 有人提出一个更真实的测试:一个普通程序员配合 GPT-4,是否会比同等水平但不用它的程序员表现更好,以及优势有多大。
  • 讨论中还拿其他生产力因素作比较(语言选择、IDE、语法高亮等)。

扩展、数据与“AI 峰值”担忧

  • 有人预测,随着更多算力、数据和技术(MoE、合成数据)的加入,未来会有显著提升。
  • 也有人认为我们正在接近数据上限,而 LLM 本质上只是模式模仿器,并不是通往“真正智能”或有感知能力的道路。
  • 还有人担心过拟合,以及模型只是复述已有的 AoC 和教程代码,而不是从第一性原理进行推理。

调试与教育

  • 还有一条分支讨论批评计算机科学教育过分强调完美代码,却没有充分教授调试。
  • AoC(以及 LLM 的使用)揭示了调试和对有缺陷代码进行推理到底有多关键。