传统误区: AI
负责写代码(苦力),人类保留品味(灵魂/判断力)。
作者观点:
品味恰恰是最应该被自动化、被编码进系统的东西。
AI 在执行“一致性的品味”上远胜人类。
作者认为品味的原则是众所周知的,可以被形式化为规则:
我们不再是砌砖的建筑工,而是工厂的维护者。
我们不直接写代码,而是治理“元层”(Meta
Layer):定义目标、编写 Linters、设定 AI
的工作流、锐化系统的“品味”。
系统不擅长从 0 到 1
的战略决策或市场定位(没有信号时)。
系统极擅长长尾的改进、修复和已知市场的迭代(基于既定信号)。
“停止把品味当作人类最后的技能来保护。
我们要从搬砖升级了。我们现在可以建造大教堂了。”
现在有一种流行的说法:当 AI 接管了所有的编码工作后,“品味”(Taste)将是人类剩下的东西。品味被视为人类最后的技能,是不可简化的核心。我认为这完全搞反了。品味正是你应该编码进系统里的东西。
事实上,AI 最擅长运用的,或许恰恰就是“品味”。
今天的软件是由人类一点点改进出来的“工件”。人类负责规划、排优先级、执行。目前的 AI Agent(智能体)并没有改变这个模式,它们只是让执行变快了。你依然是在把任务从一个人交接给另一个人,或者交给一个“像人一样”的 Agent。一个由人类管理的强大编程 Agent,本质上就像一套外骨骼。
即使编排多个 Agent 也没有改变这种范式,它只是一条更快的流水线。现在的瓶颈显然不在执行速度上。在 Factory(作者的公司),几个月来,每位工程师每天都能提交数千行自洽的代码修改。但拥有这种能力并不意味着这就是正确的发布方式。现在的研发效能(Velocity)取决于准确地挑选“接下来该构建什么”、什么才是重要的、什么样的质量才足够发布。人们把这种能力称为“品味”。而目前,品味存在于人的脑子里,被不连贯地应用,并被这个人的日程表所瓶颈。意见领袖们会告诉你,只有极少数人能拥有这种品味。
现代产品开发是高度被动(Reactionary)的。新模型每周发布,竞争对手一夜之间上线新功能,客户需求随技术能力而变。如果“品味”是一个人,那么反应速度就受限于他的带宽。他重新进行分流(Triage)的速度是有限的,太快了质量就会下降。一个植入了优先级逻辑的系统,可以在环境信号改变的瞬间重新分流任务。人类瓶颈下的品味,恰恰会在环境最混乱的时候崩溃,而这正是最需要良好判断力的时候。
品味的原则其实众所周知:做人们需要的东西;修复用户的问题;做客户要求的功能;删掉没人用的功能;设计直观的交互;从第一性原理思考;质疑假设;理解你的用户。这些原则人类很难持续地坚持。但你的 AI 系统可以被教导去严格执行它们。
所以你必须自动化品味。你写下优先级规则;你定义审查标准中“好”的样子;把你关心的事情形式化;建立机器+AI
的质量控制和验证。系统会比你更一致地运用你的品味。不是因为 AI
在某一时刻的判断力比你强,而是因为它:
——周五下午不会累。
——没有“近因偏差”(Recency bias)。
——不会忘记你上个季度说过的重点。
人类的品味是爆发式的。而 AI 可以被设计成拥有“还不错的品味”,并且持续不断,哪怕是周日凌晨 3 点。对比的维度不是“一个人”是否更一致,而是“三十个人”同时运用判断力。当每个小组、每个冲刺(Sprint)、每个构建者都基于隐性且分歧的标准工作时,质量是随机的。编码后的品味意味着整个组织在同一时间执行同一套标准。在规模化运作下,一致性胜出。
一个自主的产品工程系统可能看起来像这样:
举个具体的例子:在一个开源仓库中,来自遥测、GitHub Issues 和用户反馈的信号被收集在仓库自身定义的轻量级基础设施中。一个“分流 Agent”根据编码好的优先级框架处理这些信息,并在项目管理工具中管理工作项。“编码 Agent”领取高优先级任务,生成实现代码,并圈入人类进行查看。AI 代码审查、安全扫描和 QA 验证自动运行。合并和发布也是自动化调度的。
每一个 Agent 的运行都会被追踪。当 Agent 失败或被门禁拒绝时,轨迹会被记录,模式随之浮现:哪些任务很难?哪些指令模棱两可?这些模式会反馈回信号层:文档和审查标准因此得到完善。Agent 的有效性和就绪度变成了代码库本身可测量、可改进的属性。
维护者很少直接碰代码。他们治理的是一个元层(Meta layer):定义目标和优先级的文档、代码检查工具(Linters)、类型检查器、强制执行质量标准的 AI 工作流。他们查看 Agent 的执行轨迹并追问:系统在哪里失败了?是什么阻碍了它变得更自主?他们负责让系统的“品味”变得更敏锐。
我们变成了牧羊人,而不是建筑工。
这套系统不适用于所有事情。从 0 到 1 的产品决策、战略转型等——那些还没有信号(Data/Signal)的时候——依然需要一个有信念的人来做决定。系统不擅长回答“我们是否应该存在于这个市场”,但非常擅长回答“既然我们在这个市场了,接下来该建什么”。离既定信号越远,就越需要人。但绝大多数软件工作不是从 0 到 1,而是长尾的改进、修复和功能迭代,这些只需要有纪律地应用已知原则。这就是该系统擅长的地方。
每个人脑海中关于现代软件交付的画面,应该从“一排人互相传递东西”,变成“自动化工厂”。人类维护工厂,工厂制造软件。而工厂的“品味”——关于造什么和什么是好的编码化判断——是需要人类投入最多精力的地方。
这就是人类保持参与的方式。当你停止把时间花在执行上,开始构建治理执行的系统时,你可以瞄准以前不可能的目标。全球金融系统、谷歌、微软、亚马逊、所有现代操作系统、互联网本身:这些都是人类工程的壮举,是在没有这项新技术之前建立的。以前的天花板是你能协调多少人以及他们能动多快。现在,这个天花板即将消失。
别再把“品味”当成人类最后的技能死守不放了。我们要从“搬砖”这个职业升级了。我们现在可以建造大教堂了。
Eno Reyes 这篇文章之所以引起广泛讨论,是因为他试图通过“去魅(Disenchantment)”来重新定义软件工程中神圣不可侵犯的“品味”。以下是对其定义的描述与批判:
在传统软件工程中,“品味”通常指代 Linus Torvalds 或 Steve Jobs
那种难以言说的直觉——对代码优雅性、架构简洁性或产品交互的敏锐感知。
但作者将“品味”定义为:“在高频决策中保持一致性的能力”。他将玄学的“审美”拆解为可执行的布尔逻辑(Boolean
Logic):
尽管作者的观点对提升研发效能(Engineering Productivity)极具价值,但在概念上存在偷换:
作者列举的原则(如“修复错误”、“移除无用功能”)更多属于工程卫生或最佳实践。这就像说“每天刷牙”是一种“时尚品味”一样。真正的品味往往涉及权衡(Trade-off)——例如,为了极致的性能牺牲可读性,或者为了用户体验打破常规设计模式。AI 擅长守规矩(卫生),却很难理解何时该优雅地打破规矩(品味)。
作者描述的系统高度依赖“信号”(遥测、Issues)。这种基于数据反馈的闭环系统非常擅长局部优化(Hill Climbing),即把现有的东西修得更好。但真正的顶级品味往往是前瞻性的,甚至是在没有数据信号时对他人的否定(如苹果取消耳机孔)。完全自动化的品味可能会导致软件变得平庸地正确,而缺乏灵魂。
作者认为 AI 拥有更好的记忆(不会忘记上季度的决定)。然而,软件工程的语境不仅在于文档,还在于组织架构、市场情绪和人际关系(康威定律)。一个功能是否该做,有时取决于“团队现在的士气能否支撑这个重构”,这种微妙的“品味”目前很难编码进 yaml 文件里。
尽管有上述批评,作者的观点在规模化软件生产(SaaS、企业软件维护)中是极具前瞻性的。如果不把大部分决策自动化,人类就没有带宽去处理真正的“从 0 到 1”。
他实际上是在说:让 AI 负责这 90% 的平庸且繁琐的“正确判断”,好让人类腾出手来,去通过那 10% 的“任性判断”创造奇迹。
评论区
这是大多数人还没准备好面对的部分。如果你不能清晰地定义什么是“好”,什么是“卓越”,那无论多少 AI 工具都救不了你。
如果知识被外化了,数据通过流水线自动迭代,那么剩下的差异化因素就是直觉。
直觉是在数据不足的情况下仍能做出正确判断的能力。它很难被外化,因此很难与他人分享。
在我看来,好品味的真正标志是知道在获得新信息时,何时该更新你的优先级,以及何时该坚持己见。
但我不觉得你想表达的是“品味”。
(显示更多)
注:这是一个双关语/冷笑话,Decapod 指十足目动物(如螃蟹),对应博主的螃蟹表情符号。