Wink Pings

这个新职位叫软件工厂工程师,但可能只是你的工作换了个名字

Itamar Friedman 给 AI 时代的工程师造了个新头衔。有人说是未来,有人说是新瓶旧酒。核心问题:当工厂本身成为生产系统,你还能分清自己在造什么吗?

Itamar Friedman,Qodo AI 的 CEO,最近发了一篇文章,给软件工程师造了个新头衔:软件工厂工程师。不是玩笑,他写了完整的职位描述,从工厂架构、上下文工程、独立验证,一路写到自主边界和工厂经济学。

背景是:软件开发正从 AI 辅助编程走向 L4 自主软件工厂。L4 的意思是,系统能独立执行、验证和交付定义好的软件变更,遇到高风险或超出授权的事再升级给人类。这个角色要设计、构建、运营并持续改进那个“生产软件的系统”。注意,不是写代码,是造生产代码的机器。

文章里有一个说法很直接:你的主要工程产物就是工厂本身。它需要被设计、测试、观察、维护和持续改进,就像任何生产系统一样。

回复里有人把这一点往前推了一步。有网友说,工厂需要自己的失败日志,比如记录“agent 标记完成但人类后来重新打开”的变更。这个重新打开率,按变更类别统计,能告诉你哪些工作真的适合 L4。Itamar 回应说对,要把每个 agent 或 agent 群当作微服务,有的爆炸半径小,有的很大。

上下文工程是另一个重头。工厂需要组织知识,但不只是索引代码。架构、跨仓库依赖、所有权、业务需求、历史决策、生产行为、变更背后的原始意图,都得能拿到。难点在于区分验证过的知识和假设、过时文档、未经验证的 agent 结论。要建机制发现知识缺口,找权威来源,让负责人验证,再把知识变成可复用的工程基础设施:版本化的知识记录、可执行规则、调查技能、架构约束、测试用例和评估。领域专家保留对业务定义和操作约束的权威,工厂工程师负责让这些验证过的知识在影响软件生产的地方可用、可执行。

验证部分,文章有一句关键的话:作者不能自我批准。验证系统要能挑战假设,使用权威上下文和可观察行为。作者 agent 不能重新定义自己输出被接受的标准。验证不止看代码差异,还要重建变更意图,评估潜在爆炸半径,确定受影响系统的业务关键性,识别未经验证的假设,收集支持发布决策的证据。爆炸半径、关键性和变更风险是相关但不同的概念。验证必须产生可检查的证据,不能只是 agent 声称自信。

人类决策权不是默认异常处理。不是所有变更都要同样监督。文档更新、孤立 bug 修复、数据库迁移、认证变更,后果不同。工厂要能判断何时有足够证据和权限继续,何时需要额外验证,何时升级给人类。也要知道何时安全停止。人类不该成为每个 agent 工作流的默认异常处理器。但增加自主性不能牺牲问责,也不能把业务权威转给 agent。工程领导、安全负责人、领域专家、服务所有者保留各自的决策权。软件工厂工程师负责把这些权利翻译成工厂行为。

生产反馈方面,工厂的责任不该在代码合并时结束。要观察部署结果,检测回归,调查事故,理解失败,决定何时回滚、修复或升级。当工厂反复犯同样的错误,不是简单修复最新输出,而是理解为什么生产系统继续产生那类错误。是缺少上下文?需求模糊?agent 依赖过时指导?验证系统不足?编排过程允许无效转换?问题超出批准自主域?不同失败需要不同改进。要建立反馈循环,连接观察到的失败和工厂组件的改变,然后评估这些改变是否真的改善未来结果。

工厂性能和经济性也有自己的指标。传统工程指标不够。要测量每次接受变更的成本、从意图到验证生产结果的时间、逃逸缺陷、验证质量、人工干预、恢复时间、在批准边界内自主完成的工作。还要测量人类验证努力和认知负担,不只是干预频率:更少的干预可能隐藏更长、更难的调查。增加代码输出或 agent 活动不一定是进步。一个更快的工厂如果产生更多事故、消耗更多人类注意力、或产生理解不足的软件,可能比它替代的系统更没生产力。反过来,一个高度治理的工厂如果每个有后果的决定都需要人工干预,可能合规很好但没实现经济效益。

评论区有不同声音。有网友说这不是新角色,就是现在的工程工作,你不再构建产品,你构建 agent 构建产品的环境。Itamar 回应:同意工厂一直存在,但更大一部分时间现在转向构建工厂本身,所以角色演变了。

有网友讽刺:软件工厂工程师就是整天审查 AI 代码,换了个头衔没加薪。Itamar 说:不不不,请读文章。

有网友说,这个角色的核心技能是写规格和评估,工厂可以对照检查。代码审查从行转向结果。

还有网友补充:要写下工厂绝不能违反的规则,并在每次变更时检查。Agent 写代码很快,但不擅长发现两个变更冲突。Itamar 认同,说这是在整理规则、技能、策略。

image

也有人强调,不能买一个通用的工厂盒子,它需要和你的系统配合,否则你花更多时间对抗康威定律。

这个角色的有趣之处在于它承认了一件事:当 AI 能写代码,工程师的工作不再是写代码,而是设计让代码可靠产生的系统。但系统越复杂,人类需要理解的东西越多。Itamar 在回复里说,人类判断变得更关键,更多工程时间会花在关键业务和工程决策上。

有网友说这是给代码审查员换个头衔。两种说法都对,取决于你站在哪一层看。如果你在写提示词、协调 agent、维护文档、管理工程流程,那这个职位不是给你的。如果你在造机器、知识基础设施和控制系统,让软件生产可靠,那你可能已经在做这个工作了,只是还没给自己起个名字。

发布时间: 2026-11-06 16:37