区块链 区块链技术 比特币公众号手机端

吴恩达AI工程技能图谱:构建与部署AI应用的六大核心能力

liumuhui 3小时前 阅读数 1 #区块链

图像

我之前写过关于我们的 AI Engineering Skills Map,其中最高层级的技能是:(i) 构建和部署 AI 应用,(ii) 软件工程基础,(iii) 使用 coding agents,以及 (iv) 塑造构建过程。在本文中,我将详细展开其中的第一项。

熟练地构建和部署 AI 应用意味着了解:

  • LLM 基础
  • 用数据为模型提供依据
  • 构建 Agentic 系统
  • 评估驱动开发
  • 生产环境运营
  • 机器学习基础

这张技能图谱是通过分析大量职位招聘信息、结构化专家访谈和问卷调查结果形成的。

AI 应用与非 AI 软件的关键区别在于,前者的输出更不可预测。你无法提前知道一个 LLM 会输出什么,或者一个监督学习算法会做出什么样的预测。由于这种不确定性,构建 AI 系统比构建传统软件是一个更加迭代的过程——提前规划流程变得更加困难。熟练的 AI 工程师会反复构建一段软件、检查它、并决定接下来尝试什么,采取一系列深受中间结果影响的步骤。能够熟练地决定下一步做什么,让你可以基于不可靠的 AI 组件创建可靠的软件系统。这需要了解:

LLM 基础

理解大型语言模型如何将输入 token 化并生成输出,能让你明白什么时候可以依赖它们,什么时候它们可能会失败。这也让你理解何时使用多模态模型、如何在 context window 的内容取舍上做出权衡,以及对缓存命中、知识截止时间、推理强度等级、采样参数等进行考量,并知道何时使用诸如工具调用之类的特殊功能。理解这些基础有助于你选择合适的模型或模型组合,并在需要时应用专门技术,例如微调或自托管模型。

用数据为模型提供依据

LLM 需要良好的输入上下文才能产生有用的输出。使用向量搜索的 RAG 是为 LLM 提供相关上下文的早期尝试,但用于 grounding 模型的技术集合已经显著增长。例如,你必须决定哪些内容放入 prompt,哪些内容让 LLM 通过工具按需检索,以及哪种表示形式适合你的数据和搜索查询:向量索引、知识图谱,还是结构化数据(例如客户记录)之上的语义层。你还需要将文档(文本、PDF、HTML、图像)转换为 LLM 可直接使用的输入,并搭建 pipeline 以保持数据干净且新鲜。当你了解了可用于获取数据的各种技术之后,你就能更好地为你的 LLM 提供相关上下文。

构建 Agentic 系统

Agentic 系统的范围很广:从执行预定义 LLM 调用序列的 workflow,到基于 agent harness、让 LLM 反复自行决定下一步的系统。你必须选择架构——串联哪些步骤、并行化哪些步骤、何时使用代码、何时使用 LLM——并设计带有 fallback 的 workflow 或 harness。在设计 agent loop 时,你还要决定模型可以调用哪些工具(包括 MCP、CLI 和沙箱执行环境)、采用什么样的 memory 架构、如何在长会话中管理 context,以及任务何时需要多 agent 编排而不是单 agent 架构。你还会希望把有前景的原型变成可靠、安全的生产级 agent;这需要理解 guardrails、对抗性输入,识别并规避关键风险(例如数据外泄),以及治理。

Agentic workflow 正在快速演进,了解与你应用领域相关的任何前沿技术也会让你受益,例如 voice agents、computer-use agents 或 generative UI。

评估驱动开发

根据我的经验,区分一个人是否擅长构建 AI 系统的最重要特质,是能否驱动一个有纪律的 evals/error analysis 循环来推动开发。这让你能够不断把精力集中在更有可能取得成果的方向上。我发现这是一项很难掌握的技能,因为正确的方法因项目而异,甚至随项目所处的阶段而变化。

构建好的 evals 是一项很有深度的技术技能。你可能需要查看系统的 traces 和输出,开展探索性数据分析,并将其与产品和业务洞察相结合,以决定要衡量什么。你还应该了解 evals 的各种可选方案,例如何时使用确定性(基于代码的)评估、何时使用 LLM-as-a-judge、何时引入 human in the loop,以及如何评估你的 evals 从而持续改进它们。这些评估随后会输入到一个推动进一步开发的迭代过程中,使进展变得系统化而非随机。

生产环境运营

运营 AI 软件与传统软件不同,原因在于它的不可预测性、成本和延迟。首先,你应该知道如何构建 observability 机制,以了解系统在真实使用中的表现。你需要跟踪性能、检测 drift,并快速响应模型故障和安全事件,例如对抗性 prompt injection。建立回归测试和 CI/CD 需要比传统软件更多的统计评估,而且测试投入应相对于出错风险进行校准。此外,重要的是要知道如何选择合适的技术组合——例如模型选择优化、蒸馏和微调,以及 agentic workflow 简化——来针对成本和延迟进行优化,尤其是当你的应用面向大量用户时。

机器学习基础

现代 LLM 是使用机器学习技术构建的,其中包括监督学习和强化学习。我认识的每一位擅长用 LLM 进行构建的工程师,都对机器学习和深度学习有相当程度的理解。此外,许多应用仍然需要懂得如何使用机器学习——无论是别人训练好的模型,还是你自己训练的模型。这需要了解流行的机器学习和深度学习模型,以及在准确率、训练速度、推理速度等方面的权衡,并理解如何工程化地准备训练和评估这些模型所需的数据。机器学习中的 bias/variance、error analysis 以及数据工程等概念——它们都是在输出不确定的系统上开展工作所需的核心思维框架——也仍然是 AI 系统开发中做出各种决策的关键。

要做到擅长构建和部署 AI 系统,有许多东西需要学习。这是一个具有很高技术深度的领域。但你学到的每一点都会帮助你更好地从事 AI Engineering,并构建出更令人兴奋的应用。与这些技能形成有力互补的是软件工程。我将在以后的文章中谈到这一点。

  • 原文链接: x.com/AndrewYNg/status/2...
  • 鸿途知科网 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
版权声明

本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门