AI辅助开发的总厨模式

7 阅读4分钟

该文提出AI辅助开发的“总厨模式”:开发者如总厨,管理AI副厨编码,自身聚焦设计、架构和验证。这要求新技能,如上下文工程和模块化思维,以实现快速高质量开发。

译自:The head chef model for AI-assisted development

作者:Adi Polak

随着AI编码助手能力增强,开发者与其工具的关系正在超越简单的自动补全。AI不会取代开发者,但我们需要重新思考开发者如何与AI协作,以最大化速度和质量。

一种高效的方法是我所说的“总厨”模式。就像总厨不会切每根蔬菜或搅动每口锅一样,开发者也将不再编写他们自己的大部分代码。相反,他们将管理一支AI“副厨”团队,负责实现,而人类则管理总体设计和质量控制。

从编码员到系统架构师

这种模式改变了开发者所做的工作。开发者不再花费数小时编写代码和调试语法错误,而是将问题分解为清晰的任务,评估架构权衡,并验证AI生成输出是否满足生产需求。开发者是决策者,负责愿景、判断和验证,而AI则是闪电般快速的助手,完成大部分实际编码工作。

这种劳动分工创造了所谓的FAAFO 方法——快速、雄心勃勃、自主、有趣、可选性。它使开发者能够探索多种实现路径,并行原型设计不同解决方案,然后运用他们的判断来验证和合并最有前景的元素。

上下文管理至关重要

要使这种模式奏效,上下文工程发挥着关键作用。AI系统输出的质量与输入质量直接相关。这意味着要学会策划正确的上下文,例如代码片段、文档、错误消息或架构约束,并将这些上下文以可消化的块形式输入AI系统。

如果你得到的结果不准确,通常是因为你提供的上下文太少,导致幻觉或通用建议,或者用无关数据淹没了AI。关键在于模块化思维,将你的代码库和任务分解为清晰、可管理的部分,以便AI处理。

我将其视为一个“剪贴板”问题。你粘贴到AI提示中的任何内容,都决定了输出的质量。最优秀的开发者会本能地知道需要包含哪些上下文以及要省略哪些。

一个真实世界的例子:构建 Kafka 数据管道

对于数据流应用程序,这种模式变得特别强大。想象你正在使用 Apache Kafka 和/或 Apache Flink 构建一个复杂的实时数据管道。AI助手可以生成处理流数据的 Flink 作业,建议最佳吞吐量和延迟配置,为有状态操作符编写全面的单元测试,甚至提出与数据模型变化相匹配的模式更改。

但即使在这里,也需要人类来确保这些AI生成的输出与组织要求(如服务级别协议 (SLA)、合规需求、准确性以及整体系统架构)保持一致。AI可能会生成一个完美有效的 Flink 作业,能高效处理数据,但如果它不能正确处理迟到的事件或违反了你的数据保留策略,那将是失败的根源。

这就是为什么人类验证和确认如此关键。AI可以生成乍一看没问题但实际上不正确的代码。开发者必须保持健康的怀疑态度来根除这些问题。将每个AI生成的输出都视为来自一名初级工程师的作品——可能很有价值,但仍需要仔细审查。

总厨模式中的关键技能

除了上下文工程,这种模式的成功还需要培养传统编程之外的新技能,包括:

  • 反馈循环工程: 收紧提示、输出和验证之间的循环。你迭代得越快,与AI协作的效率就越高。
  • 委托心态: 了解哪些任务可以可靠地交给AI,哪些需要人类判断。并非所有事情都应该自动化。
  • 模块化设计思维: AI最适合高度模块化的代码。构建可以轻松分解为清晰、可测试单元的系统变得比以往任何时候都更加重要。思考系统设计模式。
  • 解决问题的方法: 在一头扎进解决方案之前,寻求问题的真相和第一性原理。

总厨模式并不会减少工作量,但它允许你更快地行动,同时不牺牲可靠性或性能。你作为开发者的角色从实现转变为编排,从编程转变为验证和整合AI生成的代码。

AI和编码助手的快速发展意味着我们工作的“厨房”已经改变。要在这个环境中做得好,你需要掌握总厨的角色。