为什么 API 优先在人工智能驱动的世界中很重要

2024-11-17 15:08:12 英文原文

作者:Frank Kilcommins

API 长期以来一直是现代软件系统、架构和业务的支柱。他们现在主导着网络,占占所有互联网流量的 71%。生成式人工智能正在加速这一趋势,特别是当我们将与常见的基于网络的功能(如“搜索”)的交互转向人工智能丰富的变体时。更多的人工智能会带来更多的 API,这样,API 是移动数据的重要机制进出 AI 应用程序、AI 代理和大型语言模型 (LLM)。

也许最有趣的是,人工智能本身将成为最大的 API 消费者,因为代理工作流程代表我们执行自动化的 API 密集型交互。我们是否有能力满足自助服务机器消费者的需求?当我们奔向人工智能增强解决方案的新曙光时,过去十年所面临的挑战(有些仍有待解决)蔓延的支持 API 的数字解决方案变得难以承受,从而对质量产生不利影响,并最终影响我们的成功?

在过去十年左右的时间里,一种用于改进 API 交付整体方法的方法已经出现API优先。这种简单的方法首先侧重于查看和处理作为 API(或 API 集)提供的功能。然后,这些 API 构成了价值生成的构建块。

该方法鼓励将 API 视为以数字形式交付的基本元素,并最终将该接口与要解决的问题空间一起考虑。考虑接口契约的目的是促进更好的互操作性、一致性和重用性,而不受当前技术环境的约束。

API优先原则

要更深入地了解,请考虑 API 优先的一些原则。

  • API 是突出的可交付成果:先关注API接口,再关注UI或通道。虽然它们可能相关,但请将 API 视为第一个 UI,并从一开始就假设具有互操作性,而不是处理一个整合后结果。像每个软件一样进行规划我们构建的产品在其生命周期的某个时刻需要连接。
  • 前期设计:预先讨论、调整和定位 API 需求,以便在急于实现之前进行深思熟虑的 API 设计。
  • 优先考虑消费者需求:关注消费者视角,避免成为受害者提供者综合症让内部领域知识或当前状态系统欺骗我们生成易于交付而不是易于使用的 API。生成易于理解和使用的 API 的重要性被低估了。同样,内部系统、数据结构、文档、暴露机制的质量及其以消费者为中心解决问题的能力也被高估了。在初始交付时跳过这一原则所获得的短期收益将在不可避免的较长生产生命周期阶段对团队产生令人窒息的影响。
  • 迎合开发者体验 (DX):了解好 DX 与坏 DX 的重要性以及对平均集成时间的影响。构建特定于用例的数据结构,使消费者工作能够完成。

API 优先的驱动因素或指标

随着公司走向数字化转型,公认的业务、组织和技术驱动因素表明,采用 API 优先方法有可能获得切实的投资回报。随着公司努力取得进展并参与人工智能驱动的市场,许多驱动因素重新出现。

组织驱动因素

  • 接触新客户/市场(例如嵌入式金融或新的人工智能市场)
  • 提高客户满意度(或净推荐值)
  • 渴望成为全渠道(跨网络、移动甚至 B2B 生态系统的可重用功能)
  • 适应不断变化的市场条件(例如,我们准备好人工智能了吗?)
  • 确定的直接收入机会
  • 提高产品粘性(我们可以将我们的产品嵌入到多个客户工作流程中吗?)
  • 满足法定监管要求(例如开放银行法规)
  • 提高内部效率(更清晰的业务领域、更易于理解的能力以及跨业务线或地域的交互流程)

组织和技术驱动因素

  • 架构向可组合性的转变和/或组织向以价值为导向的团队的转变
  • 从单体系统转向微服务
  • 消除消费者领域的复杂性
  • 通过加强治理或标准化来提高 API 质量和非功能性需求 (NFR)
  • 提高集成项目的成功率(许多企业共同的最薄弱环节)
  • 改善团队沟通、协作和团队依赖性洞察力
  • 减少孤立的不一致和开发人员的入职时间
  • 意识到 API 消费者经常跨越组织或域边界
  • 希望有一个受控机制来解决技术债务

当然,并非所有驱动因素都适用于每个组织,但在战略实施时了解要寻找的内容可能是一个有用的参考点。

建立指标和衡量预期结果与对采用 API 优先方法进行投资同样重要。

业务和技术成果

随着 API 优先实践的投入实施,一些触觉区域可以衡量前后图片。

商业效益

  • 提高了 API 的可发现性,从而实现更好的跨团队协作并增加功能重用。
  • 提高跨领域的能力可见性和可观察性价值交换
  • 提高 API 的一致性和描述性,从而减少支持开销,并最终加快创新和功能的上市速度
  • 改善客户体验

组织和技术优势

  • 改进开发者经验对于 API 使用者和提供者团队
  • 透明的治理和标准管理作为团队的推动者
  • 提高 API 质量
  • 改良传统最薄弱的环节 —系统集成交接
  • API 合同与实施分离,允许更积极的技术债务补救
  • 更灵活(或可塑)的团队结构

API 优先的替代观点或阻力

大规模实施 API 优先方法并非易事。其根本原因是 API 优先涉及“人”。 API 被视为社会技术资产,这一方法论的核心是,因此,它需要改变“人”的方式,– 技术和非技术、工作和协作。

考虑到许多人渴望参与人工智能炒作的领域,组织内部对采用 API 优先存在一些普遍的反对意见,同时也出现了一些新的框架。以下是一个非详尽的列表:

API 优先不就是大型预先设计 (BDUF) 吗?一个 

简单的答案是不是!与任何形式的敏捷软件交付一样,我们应该努力了解我们可以交付的最小可行产品,这对其消费者来说很有价值。对于 API 来说,这没有什么不同。不要尝试为所有可能发生的情况进行设计。相反,应遵循良好的可扩展性模式,以实现未来的演进并根据当前需求设计“恰到好处”的 API。有额外的好处当你将此策略与 API 规范结合起来时(例如开放API,异步API, 或者阿拉佐),因为在编写代码或创建测试套件进行任何投资之前,您可以获得该设计的快速反馈循环。

我们的团队配备了足够的人员和能力来编写和发布代码——现在我们迫使他们处理 YAML、JSON、OpenAPI 等其他格式。这难道不是让我们放慢速度吗? 

API-First 提倡我们真正从消费者的角度考虑 API 的形态。快速开发像 OpenAPI 描述这样的工件,可以让您从消费者的角度预先验证许多问题。

有一个完整的工具生态系统,与各种 API 风格的大量规范兼容。互操作性意味着团队无需过度关注处理其他格式的额外认知负担。如果您喜欢使用 YAML,那么有一个适合您的工具,同样,如果您更喜欢使用低代码可视化编辑器甚至更自然的面向语言的方法进行操作,也有适合您的工具。

围绕 API 规范的生态系统的丰富性在多个层面上都很重要。首先,它确保了架构的弹性,因为组织不会被单一工具或供应商所束缚。其次,体验的多样性极大地降低了不同利益相关者群体的参与门槛,进一步强化了这些 API 是社会技术资产的论点。第三,(可以说是最重要的)这些格式是我们向消费者(人类和机器)展示 API 的方式。因此,更应该关注它们的品质属性!

我们的 UI 就是我们的产品,特定的 AI 模型可以直接使用 UI,那么我们为什么要转移焦点呢? 

当然,用户界面是必不可少的,而且对于许多公司来说,入口点甚至可以根据价值进行差异化。想想全球所有 UI 发挥重要作用的 SaaS 公司。然而,UI 本质上是瞬态的。它们随着趋势和人类体验期望而发展。UI 是否仅指 Web 或面向浏览器的界面?或者它还包括本机移动应用程序用户界面吗?即使在 SaaS 领域,消费者也可以通过许多其他渠道与产品上的功能进行交互,例如命令行界面 (CLI)、持续集成管道或直接通过 API 进行系统集成,这意味着 UI 只是其中之一。任何消费者都可能与 SaaS 提供商有多个接触点。我们是否全面考虑总体客户体验 (CX)?

在许多其他行业,专有用户界面的使用正在下降。相反,公司希望通过直接融入更大的 B2B 或 B2C 生态系统来参与此类生态系统。嵌入式金融就是一个例子,其中到 2030 年,市场预计将增长至 7.2 万亿美元以上。最近的

克劳德宣布使用人工智能计算机这是一个伟大的创新示例,说明我们如何利用对用户界面的投资,让人工智能增强我们的人类工作流程,使人类能够将更多的灰质投入到更高价值的活动上。这里有一个案例,特别是在遗留接口中,可以发现短期价值,而不是花费精力来创建漂亮的新 API。

好的 API 比好的 UI 构建起来更便宜,并且有更多的消费者选择,因此,API-First 可以帮助公司为不可避免的情况做好准备转向 API 对 AI 代理来说更加有用比用户界面。

便利技术有反噬的习惯,虽然可以带来短期收益,但也存在高管们将这些收益误解为更便宜、更快、更一致的方式来实现人工智能目标的风险。就像机器人流程自动化 (RPA) 一样,如果不与 API 成熟度的并行架构转变相结合,它可能是一个成本高昂且脆弱的热修复。

它是有价值的数据,而不是传输管道;我们在捕获和管理数据方面投入了大量资金。API-First 对我们来说并不重要,因为我们可以提供对数据的访问。

许多公司在数据仓库、数据湖和工厂方面投入了大量资金。许多人拥有数 TB 甚至 PB 的数据。然而,原始形式的数据,甚至在数据工厂中进行轻微转换的数据,只能对上下文的关键成分有帮助。提供直接访问数据存储库可能看起来很有效率。尽管如此,它常常将解释和整合的负担转移给消费者,导致混乱、误解,并最终导致容易出错的结果。谨防这方面的沉没成本谬误。

API 优先方法之所以强大,正是因为它以面向用例的思维方式开始,思考要解决的问题以及如何最好地呈现与该解决方案一致的数据。通过 API 深思熟虑地公开数据,公司可以封装特定领域的知识、应用业务逻辑,并确保数据得到安全、自助服务并根据业务需求进行定制。这种方法将数据情境化的责任从消费者转移到了领域专家,减少了认知负担并确保数据以更易于使用、更可靠的格式交付。

除了使数据更易于访问和有意义之外,API 还加强了边界、保护敏感信息并防止意外暴露内部分类法或混乱的数据结构。数据成为域边界内的精选产品,支持受管控、一致且可扩展的集成方法。当向法学硕士提供您的数据时,这一点变得更加重要。

在人工智能驱动的世界中,API 优先不仅仅涉及连接数据;还涉及连接数据。它是关于提供安全的、与领域一致的、为服务特定目的而构建的价值和见解,从而提高流程中的生产力和准确性。

人工智能世界中 API 优先的秘诀

尽管人工智能炒作周期可能会波动,但高质量的基础API 保持不变 – 有什么好处人类消费者也将使新一波机器消费者受益。随着人工智能代理和自动化工作流程越来越依赖 API,我们必须确保我们的界面针对人类开发人员和人工智能模型进行优化。

来自团体(如开放API计划,包括阿拉佐规格叠加规格,在 API 交互中实现更丰富的语义和确定性,为 API 驱动的工作流程带来上下文深度和适应性。

为了为这一转变做好准备,以下是一些策略,可确保您的 API 足够强大以支持人工智能驱动的应用程序:

  • 强化 API 优先原则:从上面详述的 API 优先心态开始。当消费者是人工智能时,关注前期设计、消费者需求和互操作性将同样有价值,甚至更有价值。
  • 利用 API 规范实现语义丰富:OpenAPI 和 AsyncAPI 等 API 规范提供了 AI 模型实现可靠交互所需的模式驱动结构。规范允许您强制一致性、定义数据结构并提供明确的约束,所有这些都有助于机器消费者自信地与您的 API 进行交互。
  • 超越参考文档:确保您的 API 文档不仅仅是技术参考。包括全面的示例、代码示例和面向用例的工作流程,以指导 AI 模型进行预期的交互。像 Arazzo 这样的规范对于使工作流程更易于访问、直观和可执行至关重要,特别是当我们迎合自主消费者时。
  • 优化人工智能代理和市场的可发现性:AI 模型和代理需要一条清晰的途径来发现 API。像 Arazzo 这样的标准将确定性地呈现可能的情况,并为人工智能代理提供适当的语义指令,这可能会引发新一波以用例为导向的市场。新兴协议,例如统一意图中介者(UIM) 承诺通过启用人工智能驱动的代理可以解释的元数据来促进可发现性,确保您的 API 易于查找并准备好提供服务。
  • 提供可预测的服务水平协议 (SLA):围绕速率限制、配额和可用性的可预测 SLA 允许人工智能驱动的应用程序有效扩展,而不会遇到不可预见的障碍。这SLA项目由塞维利亚大学的研究人员开创的(并且可能属于 OpenAPI Initiative 的保护范围)在这方面提供了潜力,有助于创建机器消费者可以依赖的定义的、可靠的服务水平。

这些策略共同创建了一个有弹性的、人工智能就绪的 API 基础设施。通过牢记这些原则来准备您的 API,您就可以为当今的人类和机器消费者做好准备,并做好准备以适应人工智能增强环境中的未来。


本文是 The New Stack 贡献者网络的一部分。对影响开发人员的最新挑战和创新有见解吗?我们很乐意听取您的意见。成为贡献者并分享您的专业知识填写此表格或发送电子邮件至 Matt Burns:mattburns@thenewstack.io。

团体 用草图创建。

关于《为什么 API 优先在人工智能驱动的世界中很重要》的评论


暂无评论

发表评论

摘要

关于在人工智能驱动的应用程序中采用 API 优先方法的讨论强调了对现代软件开发至关重要的几个关键点:### 核心概念1. **API 与数据仓库**:虽然公司经常投入巨资通过仓库、数据湖和工厂捕获和管理数据,但提供对这些存储库的直接访问可能会导致混乱和误解。API 封装了特定领域的知识和业务逻辑,使它们能够更可靠地交付安全且上下文相关的数据。2. **API 作为社会技术资产**:API 优先方法不仅将 API 视为技术接口,而且将其视为促进不同利益相关者群体之间协作的社会技术资产。这包括通过避免工具或供应商锁定来确保架构弹性,增强各个利益相关者的参与,以及确保数据以可使用的格式进行管理和呈现。3. **人工智能的 API 标准**:Arazzo 规范等新兴标准在 API 交互中实现了更丰富的语义和确定性,这对于人类开发人员和人工智能模型都至关重要。这些标准支持安全、领域一致的 API,可以有效地服务于特定目的。### 过渡到 API 优先方法1. **整体客户体验 (CX)**:将重点从以 UI 为中心的方法转移到 API 优先的策略,可确保更全面的客户体验。虽然 UI 对于直接用户交互很重要,但它们是瞬态的,并且会随着趋势而发展。API 提供多个接触点(例如 CLI 或系统集成),以确保一致且可扩展的集成。2. **嵌入式金融示例**:嵌入式金融的兴起展示了通过 API 驱动的集成而不是专有接口参与更大生态系统的重要性。这可能会导致市场显着增长,预计到 2030 年嵌入式金融解决方案市场将达到 7.2 万亿美元。### 解决问题1. **短期价值**:传统 UI 和命令行界面 (CLI) 可以有效地与 AI 结合使用,以增强人类工作流程,减少重复性任务并腾出时间进行更具战略性的活动。2. **成本和消费者选择**:与同类用户界面解决方案相比,好的 API 通常构建成本更低,并且提供更多消费者选择。这使得 API 优先策略成为一种经济高效且可扩展的解决方案。### 实际步骤1. **关注用例**:从特定用例开始,确保以符合这些特定目标的方式呈现数据。2. **明智地利用现有投资**:确保对现有 UI 框架的投资不会浪费,而是通过利用 API 驱动的策略有效地用于增强人类和人工智能工作流程。3. **采用新兴标准**:采用 Arazzo 规范、AI 模型叠加规范等新兴标准,因为它们能够实现更丰富的语义和确定性交互。4. **丰富的生态系统**:利用丰富的生态系统确保架构弹性并降低利益相关者的参与障碍。5. **关注质量**:确保 API 质量、交互中的确定性以及安全的数据传输。### 结论在人工智能驱动的上下文世界中采用 API 优先的方法不仅可以确保技术接口,还可以确保支持协作和治理的社会技术资产,从而确保丰富的语义和与业务目标保持一致的确定性交互。这将有助于公司为不可避免地转向 API 做好准备,API 扮演着安全可靠地交付价值的重要角色。要进一步贡献您的见解或分享有关此主题的专业知识,您可以填写表格或通过 mattburns@thenewstack.io 联系 Matt Burns,以了解有关提升质量和 API 丰富的生态系统的更多信息。通过采用这些原则和实践,组织可以有效地转向人工智能驱动的应用程序,确保其 API 随着技术的发展而保持价值。