乐于分享
好东西不私藏

【AI Harness工程运行时底层架构】1. 基础模型软件代理的能力差距之谜

【AI Harness工程运行时底层架构】1. 基础模型软件代理的能力差距之谜

过去几年,我们见证了GPT、Claude等大模型在编程领域的惊人表现。它们能写函数、改代码、写测试,甚至能调用各种工具和操作代码仓库。这让人不禁畅想:是不是很快就能实现完全自动化的软件开发?让AI自己完成从需求分析到代码实现、测试验证的全流程?

理想与现实的落差

但实际情况却让人大跌眼镜。这些模型在写单个函数或修复简单bug时表现很好,一旦要它们完成完整的开发任务,就各种翻车。比如:

  • 让它修复一个bug,它改对了代码,但改错了文件
  • 让它实现一个功能,它写了代码,但没考虑边界情况
  • 让它跑测试,它执行了命令,但完全误解了输出结果
  • 最离谱的是,有时候代码明明还有问题,它却自信满满地说”完成了”

这不是偶然现象。SWE-bench、AgentBench这些专门测试AI编程能力的基准测试都证实了这一点。模型在简单任务上得分很高,复杂任务上却频频失败。

为什么会这样?

主流观点认为:模型还不够强。编码能力、推理能力、规划能力都还差那么一点。所以解决方案就是训练更强的模型,或者把多个模型组合起来用。

但这个解释忽略了一个关键问题:软件开发不是写代码这么简单

想想我们人类程序员是怎么工作的:

  1. 先要理解需求,搞清楚要做什么
  2. 然后要在代码库里找到相关文件,理解现有代码
  3. 接着要选择合适的工具和框架
  4. 写代码时要考虑架构、性能、可维护性
  5. 写完要测试,发现问题要调试
  6. 最后还要确保不破坏现有功能

每一步都需要大量的上下文信息、项目知识、工具支持、反馈验证。这些对人类程序员来说是习以为常的,但对AI来说却很难获取。

真正的问题在哪里?

当我们在为人类设计的开发环境中使用AI时,很多支持对AI来说是隐式的、不可见的、不稳定的

  • 人类知道去哪找相关文件,AI不知道
  • 人类知道项目用什么框架,AI要猜
  • 人类能看懂测试输出,AI经常误解
  • 人类知道什么时候算完成,AI没有明确标准

所以人类程序员还是得参与,不是因为他们要写代码,而是因为他们要提供这些缺失的支持:告诉AI看哪个文件,解释测试结果,检查是否真的完成了。

换个角度看问题

这就引出了这篇论文的核心观点:AI编程能力的差距,本质上是运行时支持系统的差距

与其问”模型够不够强”,不如问”我们给模型提供了什么支持”。就像一个优秀的运动员,没有好的训练环境和教练团队,也发挥不出潜力。同样,一个强大的模型,没有好的运行时支持,也做不好软件工程。

论文提出的新问题是:如何构建一个运行时底层架构,把模型的潜在编码能力转化为可靠的软件工程行为?

这就是AI Harness Engineering要解决的问题。接下来,我们一步步看看这个底层架构是什么样的。

来源:论文《AI Harness Engineering:A Runtime Substrate for Foundation-Model Software Agents》