代理式编码与 AI 辅助软件开发的演进

代理式编码与 AI 辅助软件开发的演进

向代理式编码循环的转变

代理式编码指的是使用 AI 代理在循环中工作——迭代地编写、执行和纠正代码——而不是提供单一的静态响应。这种方法旨在超越简单的自动补全,实现自主的问题解决,尽管它也带来了可靠性以及大型语言模型(LLM)产生错误结果的倾向等重大挑战。

大规模上下文窗口的影响

大上下文窗口正在从根本上改变 AI 与业务逻辑和代码库的交互方式。能够将约一兆字节的 UTF-8 文本(相当于多部小说)输入系统提示,使 AI 能够维护业务或项目的详细“世界模型”,而无需为每个细节都使用复杂的外部检索系统。

正如社区讨论中所指出的,这种巨大的上下文带来了:

  • 降低对复杂 RAG(检索增强生成)的依赖,用于一般业务叙述。
  • 仅在数据超出上下文窗口容量时,才与专用工具(例如 SQL 查询工具、grep 或 API 查询)集成。
  • 自我检测更新机会,因为更多约束显式出现在提示中,AI 更容易发现约束违规。

AI 生成代码的替代测试范式

传统的单元测试可能不足以应对 AI 生成代码的规模和不可预测性。人们对“非正统”的硬件灵感测试方法日益感兴趣,以确保在代理式环境中的软件稳定性。

在诸如 Centaur 等公司的实践中,采用了以下方法:

  • 优先使用基于属性的测试和模糊测试:摆脱手写单元测试,转向随机测试和模糊测试,以发现人类(或 LLM)可能忽略的边缘情况。
  • 专职 QA 职业路径:将测试视为一等工程学科,而不是开发者的次要任务。
  • 大规模回归套件:在计算农场上长时间运行庞大的测试套件(例如数月的实际时间),以确保长期稳定性。

人机协作的动态

虽然 AI 的生产力在提升,但人类角色的性质正从“编写者”转向“审阅者”和“看护者”。

审阅者心态

一些开发者发现,当 LLM 用于审阅代码而非编写代码时效果最佳。这种转变常由“怒点”效应驱动——LLM 的错误输出促使人类开发者深入学习相关主题以纠正 AI,最终使人类成为更有能力的审阅者。

经济冲击

高薪人类开发者的成本与 AI 订阅的低成本之间存在持续的张力。尽管当前仍存在可靠性问题,经济压力正推动行业向一种模型转变:AI 负责大部分初始实现,但必须配备严格的验证层。

“看护”挑战

对于高成本或仅限 API 的模型(如 Fable),"代理循环"在经济上不可行。在这些情况下,每一次调用都必须是有意的,且上下文需精心管理,导致一种“看护” AI 而非让其自主运行的感觉。

Sources