优化软件工作流:探索技术带来的根本性影响

宾果软件 . 发布于 2026-10-29 09:30:33 . 阅读 2

软件只有在发布后才有价值;因此,加快发布节奏至关重要。在 Craft Conference 大会上,Titus Winters 发表了题为“软件工作流优化”的演讲。他指出,开发、部署和运维需要不同的思维方式、考核指标和投入。他提到了影响技术领域的四个方面:产品成功、计算能力、工程能力以及战略创新。他认为,最大的成本在于人力,而非计算资源,而人力成本往往未被充分衡量。他强调,人工智能促使工程师更深入地理解问题,而不是减少工程师的数量。


Winters 表示,无论是否使用人工智能开发软件,都必须仔细推敲软件工作流中每个阶段的目标、输入和输出。他提到了与 Leah Rivers 以及 Salim Virji 合著的论文“开发、部署、运维——理解软件开发成本与价值的整体模型”。该论文为推断软件流程的影响和效率提供了指导,无论该流程是否采用了人工智能。


Winters 认为,只有将软件交付给客户,它才有价值。他补充道,当生产环境中出现故障时,企业将面临实际的利润损失风险。能够通过快速、可靠地发布经过充分测试的更新来解决问题,本身就有价值。更快的发布节奏几乎总是更好,而且其好处可能比管理层所认为的还要大。


Winters 认为,开发是一个创造性的过程;这正是希望人类投入时间去做的事情。部署是一个工厂化流程,而运维则是一个自动化流程:


这三个流程不仅仅是不同的活动,它们需要不同的思维方式、不同的指标以及不同的投入。


Winters 提到了技术领域的四个根本性影响:



  • 产品成功:收入、采用率、客户满意度、净推荐值(NPS)等


  • 计算能力:云成本、存储、网络等


  • 工程能力:生产力,即人力效率


  • 战略创新:让新兴的好事物变得廉价/可行,让现有的坏事物变得罕见/不可行



Winters 提到,必须综合考虑这四个方面,并平衡它们的影响:


减少测试次数或许能节省计算成本,但由此引发的质量问题可能会导致实际的利润损失,或者在努力使产品达到稳定状态时造成工程师倦怠。


Winters 表示,最大的开销很少是计算成本,而是人力成本。无法直接衡量这些人员产出的成果,也无法准确地计算其产出的实际成本。他补充道,一直在衡量除最大开支项目以外的一切,这似乎并不严谨。


软件工程不仅仅是编写代码;它还涉及人和时间,而“人”这一部分是无法量化的。Winters 提到,随着编写代码的任务向人工智能转移,或许能够在设计实验时利用人工智能作为开发过程中“人”这一部分的替代方案。


Winters 认为,希望工程师主要专注于解决问题。借助人工智能,开发人员仍然将参与其中,但不再处于完全不受约束的状态。他们将在一个已经将专家知识和组织策略代码化的系统中工作,不再需要将所有细节都铭记于心,而是可以专注于眼前的独特问题。他总结道,所期待的转变并非减少工程师的数量,而是将关注点从单纯的软件专业技能转向对实际待解决问题更深入的理解。


InfoQ 在演讲结束后对 Titus Winters 进行了专访。


InfoQ:管理工程产能面临哪些挑战?我们该如何应对这些挑战?


Titus Winters:与追踪 token 成本或云服务支出相比,追踪工程师的时间都花在了哪里要困难得多。即使对于那些确实做了追踪的公司来说,也需要对工程流程有足够的了解,才能判断某项任务是否属于浪费,而这需要一定的敏锐度。


原本在阐明“开发者体验”与“生产力”是两个重要且相互关联的议题方面取得了良好进展,但人工智能似乎让这一讨论失去了活力。这并非因为必要的投入发生了变化,而是因为相关讨论变得过于混乱。在进入 AI 时代之后,这些经验教训依然成立,只是进程被加速了:需要清晰的流程、干净的代码、优质的工具、快速的反馈信号、完善的测试等等。


InfoQ:如何利用人工智能来设计实验,评估开发过程中的人为因素?


Winters:如果认可“token 消耗”可以作为软件任务中人力投入的可接受替代指标,那么就可以着手设计实验,为软件的各个方面赋予定量的成本或收益。


需要一套针对软件智能体的稳健的评估方案:涵盖多种软件任务(新功能开发、Bug 修复、重构),涉及关注的各类平台(前端、后端、移动端等),支持关注的多种编程语言,并包含不同难度的任务。该评估套件中的每项软件任务都需要一套功能和质量验收标准,而且这些标准需对人工智能不可见。此外,还需要能够测量每次运行评估的 token 成本。


在这样的设置下,现在可以进行实证测试了。想验证良好的单元测试覆盖率是否真的有益吗?准备两个智能体:一个被提示要遵循所有的单元测试实践,另一个则主动不编写单元测试。运行评估套件,可能需要反复执行。测量 token 消耗量。重要的实践应该能全面地降低 token 成本;而专门化的实践可能仅在评估空间的某些区域里适用。


同样的原理也适用于工具。语义索引能否帮助人类浏览大型代码库?更具体地说,能带来多大帮助?让实验智能体使用一个优质的索引器,而控制组智能体则保留其标准的开箱即用方法。虽然需要多消耗一些 token 来解释如何使用这些工具,但如果该工具在净 token 成本上能带来回报,就应该投资于那些工具。