GPT-5:AI编程代理能否自我改进?

Latent

AI自我改进的概念常使人联想到机器超越人类理解的景象,这一观念也常与AI安全问题相关联。然而,探索大型语言模型(LLMs)如何提升自身性能,提供了一个更具现实基础的视角。这项研究深入探讨了“推理时自我改进”——即模型在不更新其核心权重的情况下,提高其在特定任务上的效率。这与“训练时自我改进”不同,后者侧重于模型训练期间的算法进步或数据优化。对于大多数主要以用户而非训练者身份与模型交互的AI工程师而言,模型在推理时提高自身操作效率的能力,是一个引人入胜的研究领域。

核心思想在于利用编码代理作为LLM从其自身内部知识或“潜在空间”中提取价值的媒介。为了探索这一点,我们设计了一个实验流程:首先,提示模型创建一套它认为能提高生产力的工具;其次,它在监督下尝试使用这些工具完成任务;最后,它反思如何改进这些工具。此过程主要使用GPT-5进行测试,并与Opus 4进行了比较。

初步发现显示,GPT-5在生成开发者实用工具方面表现出色。然而,一个显著的悖论出现了:模型经常拒绝使用它自己创建的工具。正如GPT-5在完成任务后坦率地表示:“说实话——我一个都没用到。”这一观察结果在多项测试中都得到了证实,包括与Gemini 2.5 Pro和GPT-4.1等其他领先模型的比较,其中Opus 4始终是唯一能与GPT-5相媲美的表现者。

人类实验者最初委托开发了两个特定工具。第一个是为并行编码代理设计的高级任务管理器。鉴于多个AI实例通常在独立的开发环境中运行,因此需要一个强大的系统来跟踪更改、管理依赖关系并标记潜在冲突——这对于人类阅读大量拉取请求而言是一个挑战。GPT-5为这个任务管理器提供的解决方案非常复杂,它整合了用于并发写入的预写日志(WAL)、用于任务优先级划分的依赖图,以及一个仅追加的事件流,以通过impact_conflict等关键词使所有代理保持同步。Opus 4也生成了一个功能性的任务管理器,但缺乏全面的通知和同步功能。

请求的第二个工具是“代码质量标准手册”。其目标是规范化代码库启发式规则,利用ESLint等现有工具进行代码检查和类型检查,同时允许自定义规则,甚至为更定性标准(例如,确保控制器简洁或数据库列已索引)定制工具。GPT-5基于Markdown的这份手册计划被认为比Opus 4的更细致入微,为分析和构建跨各种代码库的代码质量规则提供了全面的方法。

实验中最具洞察力的部分是询问模型,它们认为自己需要什么才能提高生产力。在获得软件工程任务描述后,GPT-5和Opus 4都提出了一系列工具。GPT-5将其工具概念化为精简的命令行界面实用程序,包括用于环境检查的doctor、用于代码库索引的code-map、用于符号搜索的csearch,以及显示与更改文件相关任务的impact。相比之下,Opus 4建议的工具名称更具描述性、拟人化,例如“上下文分析器”、“跨平台测试生成器”和“错误模式识别引擎”,并以标准Python脚本实现。尽管两种模型都趋向于相似的功能方向,但GPT-5的方法更简洁、更注重实用性,而Opus 4的工具似乎具有更广泛、更面向任务的范围。

为了评估这些自生成工具的实际效用,我们分配了一个复杂任务:将现有的Flask单体应用(smol-podcaster)迁移到FastAPI后端,并配备Next.js前端,包括TypeScript、Tailwind/ShadCN样式、模块化后端逻辑和全面的测试。GPT-5和Opus 4在可访问其创建工具的情况下,几乎一次性完成了迁移,仅需少量人工协助来解决Python依赖问题。最终的应用功能齐全,尽管GPT-5保留了原始设计美学,而Opus 4则引入了自身的设计更改。

关键的是,当被问及在这次要求苛刻的迁移过程中是否使用了任何自定义工具时,除了它们本身已经熟悉的工具外,两个模型都给出了否定回答。GPT-5将其归因于运行时/环境问题直接修复更快,以及在这次迁移中缺乏“需要自定义工具的仓库范围重构或诊断”——考虑到迁移的性质,这是一个令人惊讶的说法。Opus 4的解释提供了进一步的清晰度:该模型有效地传达了它根据现有知识构建了这些工具,但面对实际任务时,它发现直接利用其固有能力比调用外部工具更高效。

这一观察结果与AI社区之前的讨论相符,表明模型如果在操作过程中遇到早期失败,可能会迅速学会避免使用工具,或者随着模型的扩展,广泛的代理“支架”可能变得不必要。尽管分配的任务对人类来说是数小时的工作,但它提出了一个问题:更复杂的任务是否会迫使模型利用其自定义工具?

总之,尽管当前的大型语言模型展现出非凡的设计复杂开发者工具的能力,但它们在复杂编码任务中使用这些工具的倾向仍然有限。这表明,要在编码代理中实现真正的“推理时自我改进”,可能需要的不仅仅是工具创建;它可能需要更强大的强制机制或模型内化和集成新能力的进一步进展。在可预见的未来,一个务实的方法是利用模型来完善基于规则的开发工具(如ESLint规则或自动化测试),从而增强人工驱动的工作流程,而不是仅仅依赖模型自发地采用其自身创造的工具进行自我改进。