当程序员们遇到 bug 时,Stack Overflow 曾经是他们寻求答案的首选之地。然而,随着大模型(LLM)和 AI 编码工具的崛起,Stack Overflow 正逐渐走向衰落。在新的框架和 bug 不断涌现的时代,AI 编码工具如何应对未知的领域,成为 LLM 提供商面临的全新挑战。本文将深入探讨这一挑战,并提出三种可能的解决方案,帮助 AI 编码工具在 Stack Overflow 式微的时代,更好地服务于开发者。
Stack Overflow 的黄金时代及其衰落
在 2010 年代开始编程的人来说,Stack Overflow 无疑是最好的伙伴。正如文章作者所说,在她的早期数据科学家职业生涯中,50% 的编码技能来自实际工作,30% 来自 Stack Overflow,而只有 20% 来自大学或结构化课程。无数次,她深陷 Stack Overflow 的“兔子洞”,只为了解决一个配置问题。
在过去的 10 到 15 年里,Stack Overflow 一直是编码人员和有志于编码的人员必不可少的网站。然而,现在 Stack Overflow 几乎已经衰落,这主要归因于以下几个关键原因:
- 大模型 的出现:如今,程序员可以轻松地使用 ChatGPT 或 Gemini 等 大模型 来调试大多数问题。在 ChatGPT 于 2022 年底推出后,Stack Overflow 上提出的问题数量急剧下降,这证明了 AI 编码工具 正在逐渐取代 Stack Overflow 的地位。
- 严格的审核机制:Stack Overflow 拥有极其严格的审核机制,导致用户体验不佳。许多用户抱怨难以更新自己的答案或在 Stack Overflow 上提出类似的问题。
- 过时的答案:由于严格的审核机制,大量已解决的问题都超过了 5 年的历史。然而,技术包和框架在不断更新,5 年在现代技术领域已经是很长的时间。过时的答案对于解决最新的问题已经不再具有参考价值。
- 不友好的社区氛围:Stack Overflow 对用户(尤其是新用户)一直不太友好。尽管各个子社区的氛围各不相同,但评论区可能会充满敌意和轻蔑。
大模型与 AI 编码工具的优势与局限
大模型 之所以在编码方面表现出色,原因在于:
- 近乎无限的记忆力:大模型 在大量的在线内容(包括 Stack Overflow、Reddit 和各种编码论坛)上进行训练。训练过程使 大模型 能够“记住”这些内容,这对于人脑来说几乎是无限的。
- 模式识别能力:大多数编码问题/bug 都已经在网上出现并由开发人员解决。大模型 可以轻松地利用其无限的记忆力来提出过去由其他人创建的解决方案。
然而,新的代码和 bug 每天都在发布,LLM 提供商 的训练计划无法跟上互联网集体编码的速度。在 大模型 的最新更新之后发布的新版本和 bug 是未知的领域,并且我们尚不清楚 大模型 是否可以解决未知领域中的问题,因为它们没有经过新代码的训练。
作者在使用 Cursor 设置自定义 MCP(一种用于与 AI 模型 共享用户上下文以提高个性化和连续性的标准)时,就遇到了这样的问题。一方面,Cursor 是一款快速发展的 AI 编码 IDE,并且几乎每个月都有重大版本发布。另一方面,MCP 是 GenAI 生态系统中一个新的且快速发展的部分。Cursor 聊天无法为作者提供设置自定义 MCP 的正确说明,最终,作者不得不求助于 Google、Reddit 和 Cursor 的最新文档。
如果其他论坛(如 Hugging Face 和 Reddit)上的编码问题和答案的数量也遵循 Stack Overflow 的趋势并下降 95%,LLM 提供商 是否有足够的新数据来更新其 大模型,以解决未来看不见的编码问题?这无疑是 AI 编码工具 未来发展面临的重大挑战。
如何应对 AI 时代的新编码挑战?
尽管 大模型 在过去三年中一直是整个科技行业的掌上明珠,但 OpenAI、Google、Meta 和 Microsoft 等 LLM 提供商 仍在努力寻找将其魔力货币化的方法。AI 编码工具 是迄今为止 大模型 最成功的用例,许多科技公司和开发人员本身都在拥抱这些工具。
作为一名开发人员,作者也认为 AI 编码工具 对这个职业来说是革命性的;可以专注于高优先级的架构设计,并将一些繁琐的打字工作交给 AI。然而,作者认为 AI 编码工具 尚未成熟,开发人员社区仍在探索新的编码方式并采用该技术。
尽管现有的 AI 编码工具 存在不足之处,但开发人员仍然是这场 AI 浪潮最早和最真诚的采用者。因此,市场肯定会优先考虑开发人员的需求并赶上未知的领域。以下是作者提出的几种可能的解决方案:
- 频繁的模型更新
对于专门从事编码的 大模型,其提供商需要严格收集主要语言和框架的技术文档和源代码,并经常更新其 大模型。通过这样做,编码 大模型 或基于 大模型 构建的 AI 工具 可以通过利用最新的文档和源代码来帮助开发人员。希望编码 大模型 可以识别最新的信息和过去的 bug 模式,以推断出新 bug 的解决方案。尽管作者的愿望仍然需要经验实验的支持。
这种方法类似于解决 ML 模型开发和 MLOps 中的数据漂移(输入数据随时间变化的分布)和模型陈旧(当模型过时时)。但是,训练和服务 大模型 是机器学习的一个专门子集,需要不同的工作流程、管道和基础设施。这现在通常被称为 AIOps。
- 替代数据源
开发人员仍然会提出问题,只是可能不再在 Stack Overflow 上提问。在作者的个人经验中,她更多地依赖于 Reddit、Github、Hugging Face 论坛和 Discord 群组等在线平台以及 AI 编码工具。有关新版本或新 bug 的问题可以在这些空间中找到。
与收集文档和源代码类似,LLM 提供商 需要从不同的技术社区和论坛中获取和清理内容,以获得更好的模型性能。这听起来很乏味,但据作者所知,数据采购是 LLM 提供商 工作的重要组成部分。否则,Meta 最近几周就不会为 Scale AI 支付近 150 亿美元。
- 用户数据
目前,许多付费 AI 编码工具(如 Cursor)允许其用户打开隐私模式,从而实现 LLM 训练的零数据保留。但是,正如作者在之前的文章中提到的,像 Trae.ai 这样的编辑器可能会使用用户的代码进行 LLM 训练。这并不是互联网上的新闻;当用户没有为产品付费时,他们就是产品。
因此,在条款允许的情况下,作者认为 LLM 提供商 将从 IDE 或 Slack 或 Github 收集用户交互数据,以训练其编码 大模型。
Stack Overflow 2.0:AI 时代的新产品?
在开发人员开始使用 大模型 和 AI 编码工具 之前,Stack Overflow 已经因为自身的管理问题而走下坡路。现在,随着无休止的 AI 编码工具 的出现,开发人员正在自愿或非自愿地学习新的编码方式。作者认为,在不久的将来,开发人员将会出现一种新的范例;或者应该说,最佳编码实践总是在不断发展,但 大模型 带来的变化更快、更具戏剧性。
一种类似于 Stack Overflow 但专为 AI 时代量身定制且具有更好用户体验的新产品可能会出现,以弥合这些差距。开发人员可以在一个集中的地方提出问题,而 LLM 提供商 可以访问那些困难的编码问题。
作者期待着看到这样的产品 जल्द ही出现。如果还没有,也许她应该自己构建一个。
总结
高质量的数据是 大模型 的基础,它们与 Transformer 等创新模型架构和 Nvidia 芯片等计算资源一样重要。随着 Stack Overflow 等传统问答论坛的消亡以及开发人员改变其工作流程,LLM 提供商 需要继续发明新方法来解决编程中的新问题。本文讨论了几种方法,作者相信还会有更多方法出现。
总而言之,大模型 和 AI 编码工具 正在改变开发者的工作方式。为了在 Stack Overflow 式微的时代继续提供高质量的服务,LLM 提供商 需要不断创新,积极收集数据,并与开发者社区保持紧密的联系。只有这样,才能真正发挥 AI 编码工具 的潜力,帮助开发者解决新的编码难题。