两年前,如果你告诉大多数工程负责人,AI 将能编写生产环境的函数、重构遗留模块,并在人工查看之前就发现缺陷,他们会称之为一场正在酝酿的生产力奇迹。从狭义上讲,确实如此。AI 编程助手在快速敲出代码方面的确非常出色。
那么,有一个值得认真思考的问题:如果构建软件中最慢的环节已经大幅提速,为什么团队的交付速度并没有翻倍的感觉?
因为编写代码从来不是瓶颈,真正的瓶颈是协调代码周围的一切。
无人实现自动化的部分
想一想,从“我们有个想法”到“已在生产环境上线”之间究竟发生了什么。有人界定工作范围,开发者编写代码,代码在评审队列中等待,又在另一个 QA 队列中等待。有人得编写文档,通常是事后补写,而且通常很仓促。有人配置部署流水线,有人盯着发布过程。每一步都涉及交接,而每次交接都意味着上下文丢失、优先级被重新协商:一个实际只需四小时编码的工单,会在人与人之间白白等上四天。
AI 编程助手让这条流水线上最快的工位变得更快,却让其他所有工位(以及连接它们的队列)依然像以前一样缓慢且依赖手工。这就是为什么“我们的开发者现在写代码更快了”往往没有转化为“我们现在发布更快了”。在一连串交接中加速其中一步,只会让工作在下一步等待得更久。
重新思考“用于软件开发的 AI”应当意味着什么
这正是我们打造 AITM 所要解决的问题,也是我们没有再做一个自动补全工具的原因。
AITM 是一个 AI 软件工程平台,管理完整的软件开发生命周期:规划、全栈编码、自动化代码评审、端到端测试、文档、CI/CD 以及云部署,全部通过一次请求完成。这个理念说起来简单,做起来确实很难:只需提交一次 Task,AITM 就会设计、编码、测试、编写文档,并交付可用于生产环境的软件,无需人工在六个独立的工具和四个独立的团队之间手动推进。
这是一种不同于“帮我更快写出这个函数”的自动化。它自动化的是交接本身,也就是生命周期中工程效率工具大多忽视的部分,因为它比自动补全更难自动化,演示起来也不那么炫目。
当整条流水线而非单个步骤被统一掌管时会发生什么
当代码评审、测试、文档和部署不再是各自独立的手工队列,而是同一个持续受管流程的一部分时,一些变化便水到渠成。代码送达时已经过测试并附有文档,而不是作为一份原始 diff,然后等着有人有空去处理其余工作。架构决策从一开始就兼顾安全性和可扩展性,而不是在扩容事故之后才亡羊补牢。发布周期也随之缩短,并不是因为有人打字更快,而是因为软件排队等待的时间大大减少了。
对工程师而言,这种转变的意义比乍看之下更大。这意味着,在让变更通过评审、越过 QA、写入文档并最终发布的协调开销上花费的时间更少,而把更多时间用在真正需要人类判断的工作上:构建什么、如何设计架构、对这款产品和这些用户而言哪些取舍至关重要。AI 不应试图取代这种判断,而应清除一切妨碍运用判断的障碍。
真正的竞争问题
多年来,软件行业一直以单个工程师编写一行代码的速度来衡量生产力。当编写代码是成本高昂的部分时,这是一个合理的替代指标,但如今已不再如此。今后脱颖而出的团队,不会是工程师打字最快的团队,而是那些缩短了“我们有个想法”与“已上线、已测试、已写好文档并在生产环境安全运行”之间距离的团队。
这就是 AITM 背后的赌注,也是我们认为未来几年软件开发中的 AI 真正会围绕的转变:不是更聪明的自动补全,而是在整个生命周期内端到端对结果负责的 AI。
如果你的团队也正面临这个问题,我们很乐意听听你的想法。