AI 奥德赛,第四部分:令人惊叹的编码代理An AI Odyssey, Part 4: Astounding Coding Agents
去年夏天和去年十二月至一月期间,AI 编码代理的能力显著提升。作者主观感觉这些模型变得更聪明,能完成更广泛的任务,并对代码库有更全面深入的理解。这表明 AI 编程助手正在向更智能、更自主的方向发展。
Wayne Joubert
AI 编程代理在去年的夏天取得了巨大进步,又在去年12月至今年1月再次提升。以下是我自上次发文以来使用它们的经验总结。
这些模型主观上感觉聪明了很多。它们能完成更广泛的任务。似乎对代码库和你的目标有更全面、更深入的理解。能在代码中晦涩的部分找到与当前任务相关的更多细节。粗略估计,我认为它们在去年8月帮我节省了约20%的编码工作量,而现在大约是60%。这两个数字可能都低于实际潜力,我或许还没有充分发挥它们的能力。
尽管如此,它们并非万能药。有时需要你指引方向才能找到问题所在。有时它们会陷入细节(只见树木不见森林),无法从整体角度审视问题,导致高估某些错误。它们还可能过度优化测试用例,或生成与现有代码在概念上不一致的代码。
它们还能生成远超必要量的代码。有人警告这会导致代码债务激增。另一方面,你也可以引导编程代理重构并改进自己的代码——而且速度很快。我曾让它将某段代码的大小缩减至原来的一半以下,而行为保持不变。
我使用的是 OpenAI Codex 而非 Claude Code。很高兴听到一些技术可信的人认为这是个不错的选择。不过也许我应该两种都试试。
我的工作是研究项目,代码本身就是研究成果,因此我无法提前规定所有细节;编写代码本身就是一个探索过程。此外,我希望代码库保持人类可读性。所以我深度参与与编程代理的对话,它有时会离开去执行某个任务一段时间。我不希望把它当作某些人所谓的“暗软件工厂”。
有人说担心使用编程代理后会忘记如何不用它来写代码。我确实有过这种感觉,但由于长期锻炼这项技能,我不认为会轻易遗忘。反过来说,通过观察代理生成的代码,你甚至可能学到新的编程惯用法,这也是一件好事。
有人说他们几周没写过一行代码,因为代理替他们写了。我不认为自己会停止亲自写代码,就像我不会停止在信封背面涂鸦随机想法,或在输入过程中实时敲出若干行代码来发现新思路一样。学习是多感官的。
向那些能同时运行多个代理的开发者致敬。我个人难以承受同时思考多个代理并进行频繁上下文切换的认知负担。不过我正在尝试运行不止一个代理,这样当一个代理工作时,我可以处理其他事情。
我仍对某些情况下的生产力提升感到震惊。最近我添加了一项新功能,按以往经验,通常需要两个月时间来学习一种全新的算法方法和库。但借助编程代理,我只用了四天就完成了,生产力提升了大约10倍。当然,并非所有情况都如此顺利。
简而言之,这些工具正变得越来越好。我期待几个月或一年后它们会变成什么样。
需要完整排版与评论请前往来源站点阅读。