你的软件工厂:梦想工厂还是跑步机?
Your Software Factory: Dream Factory or Treadmill?
软件工厂的智能体每周交付更多代码,但团队仍在重复回答同样的问题、迁移始终无法收尾。文章区分三种循环:跑步机式循环只推进当下工作,学习式循环把一次调查沉淀为下一次可用的知识,梦想式循环则腾出空间尝试长期搁置的改造。
你的智能体每周交付的代码越来越多。然而,同样的问题仍在 Slack 里反复出现,迁移始终没能真正完成,每一位新工程师都会在安装指南里发现同样的缺口。工厂很忙。你仍在疲于追赶。
大多数关于软件工厂的讨论都沿着从意图到代码、评审和发布的路径展开。这条路径上有很多可以改进的地方。但对工程负责人来说,另一个问题值得关注:每绕一圈循环,会留下什么?有些循环让工作继续推进。有些让下一轮更轻松。还有些让你终于能着手那些一直搁置的事。
跑步机循环:让今天的工作继续推进
某个依赖发生变化,于是你更新集成。某个版本发布,于是你刷新文档和用来解释它的幻灯片。有人问某个服务如何运作,于是你去把答案找出来。这些都是有用的活动。跑步机循环解决了眼前的需求,却让下一个人仍要做大致相同的调查。
AI 可以让这些循环更快。Glean 的 Huntress 案例研究描述了分别用于制作幻灯片和为其他团队总结已交付工程工作的独立智能体。这些收益很容易理解:花在整理更新上的时间更少,使用它们的时间更多。但仅凭这些,并不能证明现有幻灯片保持准确,也不能证明人们理解了某项变更如何影响他们的工作。Huntress 案例研究
让所有人保持同步也属于这一类。一项变更需要传达到那些计划依赖它的人;他们的问题可能揭示出一个被遗漏的依赖,并让计划退回修订。有用的结果是协同一致的工作。如果工厂只是产出更多更新供人解读,它可能让跑步机转得更快,却无助于任何人跟上。
学习循环:让下一轮更轻松
一位工程师回答了一个棘手的安装问题。学习循环会记录下缺失的内容,更新安装指南,并检查下一个人能否在没有同样干预的情况下顺利完成。Intercom 在支持场景中展示了一种相关机制:它将失败的 AI 回复与成功的人工回复进行比较,并建议对共享知识进行补充或修正。应用到工程领域,其价值在于一个人的调查成果能对下一个人有用。Intercom 的知识建议
一次大规模重构提供了另一个例子。第一个服务揭示出一条未记录的约定;第二个服务暴露出一个例外。在开始下一批之前,把这些发现补充进迁移说明。Augment 通过迁移手册描述了这一方法,这些手册融入了来自后续各批次的反馈。真正重要的上下文是具体的:改了什么、早先的尝试为何失败,以及例外适用于哪里。Augment 的迁移方法
同样的原则也适用于智能体。Tessl 的智能体复盘流程利用先前的对话记录和评审反馈,为未来的尝试提出改进建议。但更长的指令文件在建议对另一项任务有所帮助之前,只是一份记录。学习循环的检验体现在后续工作中:更少的重复调查、更少的可避免的死胡同,或者一批从上一批中受益的迁移。
梦想循环:为你一直搁置的工作腾出空间
每个团队都有一份想尝试的事项清单。我们能不能简化这个服务?替换掉那个别扭的库?给开发者一个几分钟就能搭好的环境?通常情况是:有一个看似可行的想法,却没有足够的时间去认真研究它。梦想循环会从这些可能性中挑一个,先做一个小版本,检查结果,再用学到的东西来决定下一次尝试。
设想一个大家都想简化的服务。把当前设计、它的约束条件、过去决策的理由,以及已经被否决的方案都交给一个智能体。它可以帮助构建一个受限的替代方案,并与当前实现进行对比。这个实验可能会发现更好的方法,也可能解释清楚为什么现有的复杂性仍然必要。DeepMind 的 AlphaEvolve 展示了针对可自动评估算法的迭代探索:候选程序及其结果会为后续候选提供依据。把这一思路应用到服务重新设计上需要更广泛的工程判断,但其雄心并不陌生:不要只研究第一个可行的选项,而要研究更多。 AlphaEvolve
学习循环改善的是你追求目标的方式。梦想循环扩展的是你实际能够尝试的范围。对大多数团队来说,这未必意味着发明一个新产品。它可能意味着终于去测试一种替代架构,或者在历经六个规划周期仍被搁置的重构上取得进展。生成建议是容易的部分。循环需要一个实验,而实验的结果会改变你接下来尝试什么,包括决定停止。
为什么这些循环难以持续
在 AI 出现之前,我们就能做所有这些事。优秀的团队会记录答案、改进迁移手册,并构建探索性原型。反复出现的成本在于重建情境:阅读旧讨论、找到相关代码、理解例外情况,并决定该跟进哪条线索。脚本能很好地处理可预测的步骤。而这些步骤之间的调查,往往需要一个了解系统、又有时间深挖的人。
只要有有用的上下文和验证结论的工具,AI 就能帮助处理这类可变的工作。一个旧的设计决策可以解释为什么一个显而易见的简化方案失败了。一次成功的支持对话可以补全指南中缺失的细节。上一次尝试的结果可以改变下一次实验。这正是上下文体现价值的地方。如果同事必须重复整个调查才能信任结果,那么这种收益就消失了。 Building effective agents
选择下一轮能带来什么可能
这是使用工厂的三种方式,而团队三者都需要。让文档保持最新。让重复出现的问题改进文档。然后利用你积累的理解,尝试让环境本身变得更简单。工作从跟上进度,到变得更好,再到尝试那些以前一直留在愿望清单上的事。
当你增加另一个循环时,问问它运行之后会有什么不同。今天的工作会完成吗?明天的工作会更容易吗?你一直推迟的想法最终会得到公平的试验机会吗?
构建一个工厂,让你需要重复的事情更少,值得尝试的事情更多。

来源:Tessl Blog · tessl.io