从Copilot到自治代理:编码Agent如何重塑软件开发

AI PM 编辑部 · 2025年02月22日 · 1 阅读 · AI/人工智能

正在加载视频...

视频章节

这场演讲给出了一个非常具体、可落地的判断:软件开发正在从“人+IDE里的AI助手”,走向“人+一群自治运行的编码Agent”。通过真实的单元测试Agent Guru,演讲者展示了Agent如何成为代码库里的“正式贡献者”,以及未来开发者真正该专注的价值所在。

从Copilot到自治代理:编码Agent如何重塑软件开发

这场演讲给出了一个非常具体、可落地的判断:软件开发正在从“人+IDE里的AI助手”,走向“人+一群自治运行的编码Agent”。通过真实的单元测试Agent Guru,演讲者展示了Agent如何成为代码库里的“正式贡献者”,以及未来开发者真正该专注的价值所在。

从写代码到“编排Agent”:软件开发流程正在被重写

为什么今天讨论编码Agent如此重要?因为在演讲者看来,生成式AI并不是简单地“让人写代码更快”,而是在根本上改变软件开发的分工方式。

他首先给出一个非常清晰的判断:大量例行性的软件工程工作——包括入门级编码、调试、测试和运维——都会被AI接管。但这并不意味着工程师会被取代。相反,“产品设计、架构设计和真正困难的问题,仍然需要人类来完成”。未来的核心不是AI单干,而是“human and AI agents collaborate together to solve problems in the same workflow”。

在这种协作中,他区分了两种关键形态。第一种是大家已经非常熟悉的同步型Agent,例如GitHub Copilot和Cursor。这类工具“live inside your IDE”,在你打字的同时实时工作。从2020年出现,2023年开始成熟,2024年快速增长,如今已经被广泛采用。

真正的变化来自第二种:异步型Agent。演讲者强调,“the asynchronous one is pretty new, and it just started in 2024”。它更像是工作流里的机器人,例如GitHub Bot,可以被手动或自动触发,在无需人类关注的情况下完成任务,并在结束后直接提交可交付成果。这是一种“totally different experience”,也是很多工程师尚未真正意识到的转折点。

在他描绘的未来工作流中,代码仓库里会同时存在多个小型Agent:有的写单元测试,有的修Bug,有的写文档,有的做代码评审,甚至负责发布。人类工程师则被解放出来,专注于真正创造性的部分。

为什么单元测试成了Agent落地的第一站?

在所有软件工程任务中,为什么演讲者选择单元测试作为突破口?他的理由非常现实,也非常残酷。

在生成式AI时代,代码生成速度变得“really really fast”。如果你使用Cursor,很熟悉那种“一次Tab补全,多行代码在文件各处同时生成”的体验。问题在于,人类很难在这种速度下检查每一个细节,“you may overlook something”,而Bug正是在这种被忽略的角落里产生。

解决方案并不新:单元测试。但矛盾也同样老生常谈——“people think unit test is important, but developers hate to write unit test”。重要,却没人爱写。这正是Agent最适合介入的地方。

于是他们构建了一个名为Guru的编码Agent,专门负责单元测试的生成和管理。Guru不是IDE里的提示工具,而是一个真正跑在工作流中的异步Agent。当人类提交Pull Request时,Guru会自动检测代码变更,判断是否需要新增或修改单元测试,然后自己完成测试代码编写、运行测试、整理结果,并最终提交一个新的Pull Request。

这个PR里不仅有代码,还有测试摘要和覆盖率提升情况。人类的角色被重新定义:不再是“从零写测试”,而是“review这个测试是否合理,是否值得合并”。这不是效率的小提升,而是责任边界的重新划分。

真实数据:当Agent成为团队第一贡献者

很多AI演示看起来很美,但真正的问题是:在真实生产环境中,它们到底有多大价值?演讲者没有回避这个问题,而是直接给出了数据。

在他们的GitHub仓库中,Guru已经持续运行在生产环境。结果是:由Guru生成的单元测试Pull Request中,超过50%被人类合并接受。他坦率地说,“50% is not a very large figure, and there are a lot of room for improvement”,但紧接着强调,在真实的软件工程场景中,这已经“meaningful in production”。

更重要的是覆盖率。根据Guru自己的报告,它已经处理了团队中大约80%的单元测试工作。也就是说,大多数测试代码已经不再由人类直接编写。

一个极具冲击力的细节是:在GitHub的贡献者统计中,Guru已经成为团队的第一贡献者。演讲者说,“Guru is already the first contributor in our team”,并预测“more and more agents will become contributors in people's repo this year 2025”。

这不是隐喻,而是字面意义上的改变:Agent不再只是工具,而是以“贡献者”的身份,参与到软件开发的社会结构中。工程团队开始需要思考的问题,也从“如何使用工具”,变成了“如何管理和协作这些Agent”。

如何构建一个真正可用的编码Agent?

在演讲的后半部分,演讲者分享了他们构建Guru的关键方法论,这些经验同样适用于其他类型的编码Agent。

第一步,也是最重要的一步,是定义问题。他强调:“unit test is a problem, but software engineering is not a problem。”Agent必须面对的是清晰、具体、可执行的任务,而不是抽象的宏大目标。

第二步是评估体系:构建用于评估的数据集和评估框架。没有评估,就无法知道Agent是否真的在变好。

第三步是模型与上下文。Guru运行在多种前沿大模型之上,包括来自OpenAI、Anthropic和Google的模型。他们会针对不同阶段选择不同模型,“even within the same job Guru may use different LLMs for different stages”。在某些场景中,他们甚至结合两个GPT-4o模型,并引入人工标注的单元测试代码来提升生成质量。

最后是上下文工程和Agent框架。单元测试Agent需要理解语言、框架,还要整合GitHub issues、代码评审、提交记录、Pull Request、README和代码本身。这些信息必须被筛选、压缩并放入有限的上下文窗口。

由于不可能为每种任务从零构建Agent,他们最终抽象出一个“Agent OS”——共享运行时、工具和上下文的通用基础设施,让构建新的Agent变得足够快。这也是他们迈向“Agent时代”的关键一步。

总结

这场演讲真正有价值的地方,不在于宣称“AI会写代码”,而在于清晰展示了下一代软件工程的组织形态:由多个自治Agent承担具体工程任务,人类专注于判断、设计和创造。单元测试Agent Guru用真实数据证明,这不是遥远的未来,而是已经发生的变化。对每一位开发者来说,问题不再是“要不要用AI”,而是“如何在一个Agent密集的工作流中,重新定义自己的不可替代价值”。


关键词: AI Agent, 编码Agent, 单元测试, 生成式AI, 软件开发流程

事实核查备注: 视频作者:Hailong Zhang;频道:AI Engineer;发布时间:2025-02-22。同步Agent示例:GitHub Copilot、Cursor。异步Agent示例:GitHub Bot。单元测试Agent名称:Guru。生产数据:50%以上PR被合并,约80%单元测试由Guru处理。模型与公司:GPT-4o(OpenAI)、Anthropic、Google。Agent OS为演讲者提出的框架概念。