AI工程技术栈分三层:应用开发、模型开发和基础设施。AI工程侧重模型适配和评估,而非传统ML工程的模型开发。应用开发关注评估、提示工程和AI接口。ML知识非必需,但有助问题排查。推理优化至关重要,需高效利用GPU和大型集群。
作者:Gergely Orosz; Chip Huyen
AI 技术栈的三个层级,AI 工程与 ML 工程和全栈工程的区别等等。摘自 Chip Huyen 的《AI 工程》一书
在我们开始之前:在 6 月 16 日星期一,我将在 伦敦 的 LDX3 会议上直播 Pragmatic Engineer 播客的一集,特别嘉宾是 Shopify 工程主管 Farhan Thawar。这是当天会议的闭幕环节,如果您届时在场,非常欢迎您的加入。在直播播客录制期间,Farhan 和我将讨论:
- Shopify 的 “Reflexive AI usage” 方法如何改变其工程团队的工作方式
- Shopify 如何以全远程公司的方式快速迭代
- 一种非常规的工程职业发展方法:精通和技艺
- ……以及更多关于这家最非常规的科技公司如何运营和完成工作的信息
如果可以,为什么不 在 LDX3 现场加入我们。我也会在会议上发表主题演讲,您还可以见到 The Pragmatic Engineer 团队,包括我自己、Elin 和 Dominic。如果您不能到场,录音将在活动结束后作为 The Pragmatic Engineer Podcast 的一集发布。
接下来,让我们进入 AI 工程技术栈。
“AI 工程” 是一个两年前甚至不存在的术语,但今天,AI 工程师的需求量很大。像 Meta、Google 和 Amazon 这样的公司为这些职位提供的基本工资高于 “普通” 软件工程师,而 AI 创业公司和规模化公司正在争先恐后地招聘他们。
然而,仔细观察发现,AI 工程师通常是掌握了大型语言模型 (LLM) 基础知识的普通软件工程师,例如使用它们和集成它们。
到目前为止,我发现关于这个热门话题的最好的书是 Chip Huyen 的 AI 工程,由 O’Reilly 于 1 月份出版。Chip 曾在 Netflix 担任研究员,是 NVIDIA 的核心开发人员(构建 NVIDIA 的 GenAI 框架 NeMo),并且是 Claypot AI 的联合创始人。她还在斯坦福大学教授机器学习 (ML)。
2 月份,我们发布了 一集播客,与 Chip 讨论了什么是 AI 工程,它与 ML 工程有何不同,以及 AI 工程师应该熟悉的技术。
对于这篇文章,我问 Chip 是否愿意分享她书中的一个摘录,她慷慨地同意了。这涵盖了 AI 工程技术栈的样子:我们软件工程师必须成为专家才能成为 AI 工程师的技术栈。
我的 AI Engineering 书籍,作者是 Chip Huyen
在今天的文章中,我们将深入探讨:
- AI 技术栈的三个层级。 应用程序开发、模型开发、基础设施。
- AI 工程与 ML 工程。 相似之处和不同之处,包括推理优化评估在 AI 工程中更为重要,而 ML 知识更多的是锦上添花,而不是必备。
- AI 工程中的应用程序开发。 三个主要关注领域:评估、提示工程和 AI 接口。
- AI 工程与全栈工程。 “AI 工程只是在技术栈中加入了 AI 模型的软件工程。”
如果您觉得这个摘录有用,您可能会从本书的其余部分获得价值,该书可以购买 电子书或实体书。本新闻通讯还发布了一些深入探讨的文章,您可能会发现这些文章对于进入 AI 工程领域很有用:
- 现实世界中的AI工程 – 来自7位软件工程师转型的AI工程师的故事
- 构建、启动和扩展ChatGPT图像 – 来自OpenAI工程团队的见解
- 构建Windsurf - 及其背后的工程挑战
与本新闻通讯中的所有建议一样,我没有因为提及这本书而获得报酬,并且本文中的任何链接都不是联盟链接。有关更多详细信息,请参阅我的道德声明。
接下来,让我们开始吧:
此摘录来自Chip Huyen的《AI工程》第1章。版权所有©2025 Chip Huyen。由O'Reilly Media, Inc.出版。经许可使用。
AI工程的快速发展引发了大量的炒作和FOMO(害怕错过)。每天涌现的新工具、技术、模型和应用的数量可能会让人应接不暇。与其试图跟上这些不断变化的潮流,不如让我们来审视一下AI工程的基本构建块。
要理解AI工程,重要的是要认识到AI工程是从ML工程演变而来的。当一家公司开始试验基础模型时,很自然地,其现有的ML团队应该领导这项工作。一些公司将AI工程与ML工程视为相同,如图1-12所示。
图1-12。许多公司将AI工程和ML工程放在同一个保护伞下,如2023年12月17日LinkedIn上的职位标题所示。
一些公司对AI工程有单独的职位描述,如图1-13所示。
无论组织如何定位AI工程师和ML工程师,他们的角色都有很大的重叠。现有的ML工程师可以将AI工程添加到他们的技能列表中,以提高他们的就业前景,并且也有没有ML经验的AI工程师。
为了更好地理解AI工程以及它与传统ML工程的不同之处,以下部分将分解AI应用程序构建过程的不同层,并考察每一层在AI和ML工程中所扮演的角色。
图1-13。一些公司对AI工程有单独的职位描述,如2023年12月17日LinkedIn上的职位标题所示。
任何AI应用程序技术栈都有三个层:应用程序开发、模型开发和基础设施。在开发AI应用程序时,您可能会从顶层开始,并根据需要向下移动:
由于模型非常容易获得,任何人都可以使用它们来开发应用程序。这是过去两年中行动最多的层,并且仍在快速发展。应用程序开发涉及为模型提供良好的提示和必要的上下文。这一层需要严格的评估,好的应用程序需要好的界面。
此层提供用于开发模型的工具,包括用于建模、训练、微调和推理优化的框架。由于数据是模型开发的核心,因此该层还包含数据集工程。模型开发也需要严格的评估。
技术栈的底部是基础设施,其中包括用于模型服务、管理数据和计算以及监控的工具。
这三个层以及每个层的职责示例如下所示:
图 1-14。AI 工程堆栈的三个层
为了了解该领域如何随着基础模型的发展而演变;在2024年3月,我在GitHub上搜索了所有至少有500个星的AI相关存储库。鉴于GitHub的普及,我相信这些数据是理解生态系统的一个很好的代表。在我的分析中,我还包括了应用程序和模型的存储库,它们分别是应用程序开发和模型开发层的产物。我总共找到了920个存储库。图1-15显示了每个类别中存储库的每月累计数量。
图 1-15.随时间推移按类别划分的存储库的累积计数
数据显示,在 Stable Diffusion 和 ChatGPT 推出后,2023 年人工智能工具的数量出现了大幅增长。那一年,增长幅度最大的类别是应用程序和应用程序开发。基础设施层也有所增长,但远低于其他层。这是预料之中的:即使模型和应用程序发生了变化,资源管理、服务、监控等核心基础设施需求仍然相同。
这就引出了下一个问题。虽然围绕基础模型的热情和创造力是前所未有的,但构建人工智能应用程序的许多原则并没有改变。对于企业用例,人工智能应用程序仍然需要解决业务问题,因此,仍然必须将业务指标映射到 ML 指标,反之亦然,并且仍然需要进行系统的实验。使用经典的 ML 工程,您可以尝试不同的超参数。使用基础模型,您可以尝试不同的模型、提示、检索算法、采样变量等等。我们仍然希望模型运行得更快、更便宜。建立一个反馈循环仍然很重要,这样我们就可以使用生产数据迭代地改进我们的应用程序。
这意味着 ML 工程师在过去十年中学到和分享的大部分知识仍然适用。这种集体经验使每个人都可以更轻松地开始构建人工智能应用程序。然而,在这些持久的原则之上,还有许多人工智能工程独有的创新。
虽然部署人工智能应用程序的不变原则令人放心,但了解事物是如何变化的也很重要。这对于希望调整其现有平台以适应新的人工智能用例的团队,以及对于有兴趣学习哪些技能以便在新市场中保持竞争力的开发人员来说,都很有帮助。
从宏观层面来看,今天使用基础模型构建应用程序与传统的 ML 工程在三个主要方面有所不同:
- 如果没有基础模型,您必须为应用程序训练自己的模型。使用人工智能工程,您可以使用其他人训练的模型。这意味着人工智能工程更侧重于模型适配,而不是建模和训练。
- 人工智能工程使用的模型更大,消耗更多的计算资源,并且比传统的 ML 工程产生更高的延迟。这意味着对高效训练和推理优化的压力更大。计算密集型模型的一个必然结果是,许多公司现在需要比以前更多的 GPU,并且需要使用更大的计算集群,这意味着更需要知道如何使用 GPU 和大型集群的工程师。[一位财富 500 强公司的人工智能主管告诉我,他的团队知道如何使用 10 个 GPU,但不知道如何使用 1,000 个 GPU。]
- 人工智能工程使用的模型可以产生开放式的输出,这为模型提供了更大的任务灵活性,但也更难评估。这使得评估成为人工智能工程中一个更大的问题。
简而言之,人工智能工程与 ML 工程的不同之处在于,它更多的是关于适配和评估模型,而不是模型开发。我已经多次提到模型适配,因此在我们继续之前,我想确保我们对“模型适配”的含义达成共识。一般来说,模型适配技术可以分为两类,具体取决于它们是否需要更新模型权重:
基于提示的技术,包括提示工程,可以在不更新模型权重的情况下适配模型。 您可以通过向模型提供指令和上下文来适配模型,而不是更改模型本身。提示工程更容易上手,并且需要更少的数据。许多成功的应用程序都是仅通过提示工程构建的。它的易用性使您可以尝试更多模型,从而增加了找到对应用程序出奇的好模型的机会。但是,提示工程可能不足以完成复杂的任务或具有严格性能要求的应用程序。
另一方面,微调需要更新模型权重。 您可以通过更改模型本身来适配模型。一般来说,微调技术更复杂,需要更多的数据,但它们可以显着提高模型的质量、延迟和成本。如果没有更改模型权重,许多事情是不可能实现的,例如将模型适配到它在训练期间未接触过的新任务。
现在,让我们放大到应用程序开发和模型开发层,看看每一层在人工智能工程中发生了哪些变化,首先从 ML 工程师更熟悉的内容开始。本节概述了开发人工智能应用程序所涉及的不同过程。
模型开发 是与传统 ML 工程联系最紧密的一层。它有三个主要职责:建模和训练、数据集工程以及推理优化。评估也是必需的,因为大多数人首先在应用程序开发层遇到它。
建模和训练 是指提出模型架构、训练和微调模型的过程。此类别中的工具示例包括 Google 的 TensorFlow、Hugging Face 的 Transformers 和 Meta 的 PyTorch。
开发 ML 模型需要专业的 ML 知识。它需要了解不同类型的 ML 算法,例如聚类、逻辑回归、决策树和协同过滤,以及神经网络架构,例如前馈、循环、卷积和 Transformer。它还需要了解模型如何学习,包括梯度下降、损失函数、正则化等概念。
随着基础模型的可用性,ML 知识不再是构建 AI 应用程序的必备条件。我遇到了许多很棒且成功的 AI 应用程序构建者,他们根本不热衷于学习梯度下降。但是,ML 知识仍然非常有价值,因为它扩展了您可以使用的工具集,并有助于在模型无法按预期工作时进行故障排除。
训练始终涉及更改模型权重,但并非所有模型权重的更改都构成训练。例如,量化(降低模型权重精度的过程)在技术上会更改模型的权重值,但不被视为训练。
术语“训练”通常可以代替预训练、微调和后训练使用,它们指的是不同的阶段:
预训练 是指从头开始训练模型;模型权重是随机初始化的。对于 LLM,预训练通常涉及训练模型以进行文本补全。在所有训练步骤中,预训练通常是资源最密集的。对于 InstructGPT 模型,预训练占总计算和数据资源的 98%。预训练也需要很长时间。预训练期间的一个小错误可能会导致巨大的经济损失并严重阻碍项目进展。由于预训练的资源密集型特性,它已成为一种只有少数人实践的艺术。然而,那些在预训练大型模型方面具有专业知识的人备受追捧 [并吸引了令人难以置信的薪酬待遇]。
微调 是指继续训练先前训练过的模型;模型权重是从之前的训练过程中获得的。由于模型已经从预训练中获得了一定的知识,因此微调通常比预训练需要更少的资源,例如数据和计算。
后训练。 许多人使用后训练来指代在预训练阶段之后训练模型的过程。从概念上讲,后训练和微调是相同的,可以互换使用。但是,有时人们会以不同的方式使用它们来表示不同的目标。模型开发者通常会进行后训练。例如,OpenAI 可能会对模型进行后训练,使其在发布前更好地遵循指令。
应用程序开发者通常会进行微调。例如,您可能会微调一个已经过后训练的 OpenAI 模型,以便使其适应您的需求。
预训练和后训练构成一个范围,它们的过程和工具非常相似。
[脚注:如果您认为术语“预训练”和“后训练”缺乏想象力,那么您并不孤单。人工智能研究社区在很多方面都很出色,但命名并不是其中之一。我们已经讨论过“大型语言模型”如何很难成为一个科学术语,因为“大型”这个词的歧义。我真的希望人们停止发表标题为“X 就是你所需要的一切”的论文。]
有些人使用“训练”来指代提示工程,这是不正确的。我读了一篇 Business Insider 文章,其中作者说她训练 ChatGPT 模仿她年轻时的自己。她通过将她童年时期的日记条目输入 ChatGPT 来做到这一点。通俗地说,作者对“训练”的使用是正确的,因为她正在教模型做某事。但从技术上讲,如果您通过输入到模型中的上下文来教模型做什么,那么这就是提示工程。同样,我见过人们使用“微调”来描述提示工程。
数据集工程是指策划、生成和注释训练和调整 AI 模型所需的数据。 在传统的机器学习工程中,大多数用例都是封闭式的:模型的输出只能是预定义的值。例如,垃圾邮件分类只有“垃圾邮件”和“非垃圾邮件”两种可能的输出,这就是封闭式的。然而,基础模型是开放式的。标注开放式查询比标注封闭式查询要困难得多;确定一封电子邮件是否是垃圾邮件比写一篇文章要容易。因此,数据标注对人工智能工程来说是一个更大的挑战。
另一个区别是,传统的机器学习工程更多地处理表格数据,而基础模型则处理非结构化数据。在人工智能工程中,数据处理更多的是关于去重、分词、上下文检索和质量控制,包括删除敏感信息和有害数据。
许多人认为,由于模型现在是商品,数据是主要的差异化因素,这使得数据集工程比以往任何时候都更加重要。你需要多少数据取决于你使用的适配器技术。从头开始训练一个模型通常比微调需要更多的数据,而微调又比提示工程需要更多的数据。
无论你需要多少数据,在检查模型时,数据方面的专业知识都很有用,因为它的训练数据提供了关于其优势和劣势的重要线索。
推理优化意味着使模型更快、更便宜。推理优化一直对机器学习工程很重要。用户永远不会拒绝更快的模型,公司总是可以从更便宜的推理中获益。然而,随着基础模型规模的扩大,导致更高的推理成本和延迟,推理优化变得更加重要。
基础模型的一个挑战是它们通常是自回归的:token是按顺序生成的。如果一个模型生成一个token需要10毫秒,那么生成100个token的输出就需要一秒钟,而更长的输出则需要更长的时间。由于用户出了名的没有耐心,将人工智能应用程序的延迟降低到典型互联网应用程序所期望的100毫秒延迟是一个巨大的挑战。推理优化已经成为工业界和学术界的一个活跃的子领域。
以下是模型开发类别的重要性如何随着人工智能工程的变化而变化的总结:
表 1-4.基础模型如何改变模型开发的不同职责
在传统的机器学习工程中,团队使用其专有模型构建应用程序,模型质量是一种差异化。对于基础模型,许多团队使用相同的模型,必须通过应用程序开发过程获得差异化。
应用程序开发层包括以下职责:评估、提示工程和人工智能界面。
评估是关于降低风险和发现机会,并且在整个模型适配过程中都是必要的。需要评估来选择模型、衡量进展、确定应用程序是否已准备好部署,以及检测生产中的问题和改进机会。
虽然评估在机器学习工程中一直很重要,但对于基础模型来说,它甚至更重要,原因有很多。总而言之,这些挑战主要来自基础模型的开放式特性和扩展的功能。例如,在像欺诈检测这样的封闭式机器学习任务中,通常会有预期的真实值,你可以将模型的输出与之进行比较。如果输出与预期输出不同,你就知道模型是错误的。对于像聊天机器人这样的任务,每个提示都有很多可能的响应,因此不可能整理出一个详尽的真实值列表来与模型的响应进行比较。
如此多的适配技术的存在也使得评估更加困难。在一个技术上表现不佳的系统可能在另一个技术上表现得更好。当谷歌在2023年12月推出Gemini时,他们声称Gemini在MMLU基准测试中比ChatGPT更好 (Hendrycks et al., 2020)。谷歌使用了一种名为CoT@32的提示工程技术评估了Gemini。在这种技术中,Gemini展示了32个例子,而ChatGPT只展示了5个例子。当两者都展示五个例子时,ChatGPT表现更好,如下所示:
表 1-5.不同的提示可能会导致模型的性能大不相同,如 Gemini 的技术报告(2023 年 12 月)所示
Prompt engineering(提示工程) 是指仅通过输入来让 AI 模型表达出期望的行为,而无需更改模型权重。Gemini 的评估故事突出了提示工程对模型性能的影响。通过使用不同的提示工程技术,Gemini Ultra 在 MMLU 上的性能从 83.7% 提高到 90.04%。
仅使用提示就有可能让模型完成令人惊叹的事情。正确的指令可以让模型以您选择的格式执行您想要的任务。提示工程不仅仅是告诉模型做什么,还在于为模型提供给定任务所需的上下文和工具。对于具有长上下文的复杂任务,您可能还需要为模型提供内存管理系统,以便模型可以跟踪其历史记录。
AI 界面 是指为最终用户创建与 AI 应用程序交互的界面。在基础模型出现之前,只有拥有足够资源来开发 AI 模型的组织才能开发 AI 应用程序。这些应用程序通常嵌入到组织现有的产品中。例如,欺诈检测嵌入到 Stripe、Venmo 和 PayPal 中。推荐系统是社交网络和媒体应用程序(如 Netflix、TikTok 和 Spotify)的一部分。
有了基础模型,任何人都可以构建 AI 应用程序。您可以将您的 AI 应用程序作为独立产品提供,或者将它们嵌入到其他产品中,包括其他人开发的产品。例如,ChatGPT 和 Perplexity 是独立产品,而 GitHub 的 Copilot 通常用作 VSCode 中的插件,而 Grammarly 通常用作 Google Docs 的浏览器扩展。Midjourney 可以通过其独立的 Web 应用程序或其在 Discord 中的集成来使用。
需要有工具为独立的 AI 应用程序提供界面,或者使将 AI 集成到现有产品中变得容易。以下是一些越来越流行的 AI 应用程序界面:
-
独立的 Web、桌面和移动应用程序。
Streamlit, Gradio, and Plotly Dash are common tools for building AI web apps.(Streamlit、Gradio 和 Plotly Dash 是构建 AI Web 应用程序的常用工具。)]
-
允许用户在浏览时快速查询 AI 模型的浏览器扩展。
-
集成到 Slack、Discord、WeChat 和 WhatsApp 等聊天应用程序中的聊天机器人。
-
许多产品,包括 VSCode、Shopify 和 Microsoft 365,都提供 API,允许开发人员将 AI 作为插件和附加组件集成到他们的产品中。AI 代理也可以使用这些 API 与世界互动。
虽然聊天界面是最常用的,但 AI 界面也可以是基于语音的,例如语音助手,或者它们可以像增强现实和虚拟现实一样被具体化。
这些新的 AI 界面也意味着收集和提取用户反馈的新方式。对话界面使用户可以更轻松地以自然语言提供反馈,但这种反馈更难提取。
以下是随着 AI 工程的发展,不同类别的应用程序开发的重要性如何变化的总结:
表 1-6.不同类别在 AI 工程和 ML 工程的应用程序开发中的重要性
对应用程序开发(尤其是在界面上)的日益重视使 AI 工程更接近全栈开发。* [脚注:7 Anton Bacaj 告诉我:“AI 工程只是在技术栈中加入了 AI 模型的软件工程。”]*
界面日益重要导致 AI 工具的设计发生转变,以吸引更多的前端工程师。传统上,ML 工程以 Python 为中心。在基础模型出现之前,最流行的 ML 框架主要支持 Python API。如今,Python 仍然很流行,但对 JavaScript API 的支持也在增加,例如 LangChain.js, Transformers.js, OpenAI’s Node library, 和 Vercel’s AI SDK.
虽然许多 AI 工程师来自传统的 ML 背景,但越来越多的人来自 Web 开发或全栈背景。全栈工程师相对于传统 ML 工程师的优势在于他们能够快速将想法转化为演示,获得反馈并进行迭代。
使用传统的 ML 工程,您通常从收集数据和训练模型开始。构建产品是最后一步。但是,由于如今 AI 模型已经唾手可得,因此可以首先构建产品,并且只有在产品显示出前景时才投资于数据和模型,如图 1-16 所示。
图 1-16. 新的人工智能工程工作流程奖励那些能够快速迭代的人。图片改编自“人工智能工程师的崛起”(Shawn Wang, 2023)。
在传统的机器学习工程中,模型开发和产品开发通常是不相关的过程,在许多组织中,机器学习工程师很少参与产品决策。然而,有了基础模型,人工智能工程师往往更多地参与到产品的构建中。
我希望本章能达到两个目的。一是解释人工智能工程作为一门学科的出现,这要归功于基础模型的可用性。二是概述在这些模型之上构建应用程序的过程。我希望本章能够实现这一点。作为概述,它只是简单地触及了许多概念,这些概念将在本书中进一步探讨。
人工智能工程的快速发展是由于基础模型新兴能力所支持的许多应用所推动的。我们已经介绍了一些最成功的应用模式,包括面向消费者和企业的应用。尽管已经有数量惊人的人工智能应用程序投入生产,但我们仍处于人工智能工程的早期阶段,还有无数的创新有待构建。
虽然人工智能工程是一个新术语,但它是从机器学习工程演变而来的,机器学习工程是使用所有机器学习模型构建应用程序的总体学科。机器学习工程的许多原则适用于人工智能工程。然而,人工智能工程也带来了新的挑战和解决方案。
人工智能工程中一个难以用语言捕捉的方面是社区令人难以置信的集体能量、创造力和工程才能。这种热情常常让人感到不知所措,因为人们不可能及时了解不断涌现的新技术、新发现和工程壮举。
一个安慰是,由于人工智能擅长信息聚合,它可以帮助我们聚合和总结所有这些新更新!但工具只能在一定程度上提供帮助;一个领域越让人感到不知所措,就越需要一个框架来帮助我们驾驭它。本书旨在提供这样一个框架。
本书的其余部分将逐步探讨这个框架,从人工智能工程的基本构建块开始:使如此多令人惊叹的应用程序成为可能的基础模型。
Gergely,再说一遍。 感谢Chip分享这段摘录。要更深入地了解这个主题,请考虑购买她的书**《人工智能工程》**,其中更深入地介绍了本文中提到的许多主题,包括:
- 第 2 章讨论了抽样变量
- 第 2 章和第 7 章进一步探讨了预训练和后训练的差异
- 第 3 章讨论了评估基础模型的挑战
- 第 5 章讨论了提示工程,第 6 章讨论了上下文构建
- 第 7 章到第 9 章讨论了推理优化技术,包括量化、蒸馏和平行化
- 第 8 章的重点是数据集工程
- 第 10 章讨论了用户反馈设计
对于软件工程师来说,“AI 工程”上手出奇地容易。当 LLM 在 2022 年底成为主流时,我曾一度认为,要在 AI 领域工作,必须成为一名 ML 研究员。如果你想在基础模型研究等领域工作,这仍然是正确的。然而,初创公司、规模化公司和大型科技公司的大多数 AI 工程职位都是在 AI API 或自托管 LLM 之上构建 AI 应用程序。
大部分复杂性在于应用程序的构建,而不是 LLM 模型部分。这并不是说为了成为一名出色的 AI 工程师,不需要学习很多新东西,但这仍然是非常可行的,而且许多工程师正在进行这种转变。
希望你喜欢这份 AI 工程技术栈的总结。要了解更多关于 AI 工程的深入探讨,请查看:
- 来自七家公司从软件工程师转型为“AI 工程师”的实践案例和经验教训:现实世界中的 AI 工程
- ChatGPT Images 一夜之间成为世界上最大的 AI 工程项目之一。但它是如何构建的?与 OpenAI 工程团队的深入探讨:构建、发布和扩展 ChatGPT Images
- 构建每天服务数千亿 tokens 的 AI 产品所面临的工程挑战:构建 Windsurf
- 什么是 AI 工程,以及如何开始使用它?与 Chip 的播客:与 Chip Huyen 探讨 AI 工程