从零开始构建 LLM(第32部分):干预措施总结An AI Odyssey, Part 4: Astounding Coding Agents
作者完成了《从零构建大型语言模型》一书的后续目标之一——自主训练完整的 GPT-2 基础模型。经过44小时在自己的机器上训练,所获得的模型性能几乎达到 GPT-2 small 的水平。该项目展示了从头实现 LLM 训练流程的可行性,包括数据预处理、模型架构搭建和优化策略。尽管未完全复现 OpenAI 的训练规模,但结果验证了开源路径的有效性。这一实践为理解大模型训练提供了宝贵的工程洞察。
Wayne Joubert
AI 编程代理在上个夏天和去年十二月至一月期间都有了显著提升。以下是我自上次发文以来的相关体验。
这些模型在主观上感觉聪明了很多。它们能够完成更广泛的任务。它们似乎对代码库有更全面、更深入的理解,也更清楚你试图实现的目标。它们能在代码中晦涩难懂的细节部分,找到与当前任务相关的更多信息。粗略估计,我认为它们在八月份帮助我完成了约20%的编码工作,而现在这一比例已升至60%左右。不过这两个数字可能都低于实际潜力,或许我尚未充分发挥它们的能力。
尽管如此,它们并非万能良药。有时需要人为引导其查找问题的方向。它们有时会陷入局部细节(只见树木不见森林),无法从整体视角审视问题,从而忽略高层逻辑上的错误。此外,它们还可能过度优化测试用例,或生成与现有代码在概念上不协调的新代码。
它们甚至可能生成远超必要量的代码。有人警告说,这会导致代码债务激增。但另一方面,你也可以引导编程代理对自身代码进行重构和改进——而且速度极快。我曾让一个代理将某段代码的大小缩减至原来的一半以下,且功能完全不变。
我使用的是 OpenAI Codex 而非 Claude Code。很高兴听到一些技术可信人士认为这是一个不错的选择。不过也许我应该两个都试试。
我的工作是研究项目,代码本身就是研究成果,因此我无法提前规定所有细节;编写代码本身就是一个探索过程。同时,我希望保持代码的人类可读性。所以我深度参与与编程代理的对话,它有时会离开去执行某个任务一段时间。我不希望把它当作某些人所谓的“暗软件工厂”。
有人说他们担心使用编程代理后会忘记如何不用代理写代码。我确实有过这种感觉,但由于长期锻炼这项能力,我认为自己不太可能轻易遗忘。反过来说,通过观察代理所写的代码,你甚至可能学到新的编程惯用法,这也是一件好事。
还有人说他们已经好几周没写过一行代码了,因为代理替他们写了。但我永远不会停止亲自写代码,就像我不会停止在信封背面涂鸦随机想法,也不会停止实时敲出若干行代码来发现新思路一样。学习是多感官的过程。
我要向那些能同时运行多个代理的开发者致敬。就我个人而言,很难承受同时处理多个代理的认知负荷,尤其是要在不同代理之间频繁切换思维上下文。不过我正在尝试运行多个代理,这样当一个代理工作时,我可以做点别的事。
我仍然对某些情况下的生产力提升感到震惊。最近我添加了一项新功能,按以往经验,通常需要花两个月时间去掌握一种全新的算法方法和库才能实现。而借助编程代理,我只用了四天就完成了,生产率提升了约十倍。当然,现实并不总是如此理想。
简而言之,这些工具正变得越来越好。我期待几个月或一年后它们会是什么样子。
需要完整排版与评论请前往来源站点阅读。