将 AI 变得实用取决于将这种变革性技术集成、自动化和协调到现有系统和流程中。
译自 Yes, Orchestration Is for AI, Too,作者 Michael Bachman。
AI 正在软件开发领域掀起一场革命。然而,随着 AI 彻底改变我们的方法,基本的软件开发原则比以往任何时候都更加重要。开发人员的角色正在发生转变,这是由市场需求、高管指令以及业务运营商将 AI 纳入软件系统的要求驱动的。
在我们可以探索的 AI 和软件开发生命周期 (SDLC) 的众多方面中——例如安全、AI 辅助编程(copilot)、AIOps 和模型指令调整——还有一个关键因素需要考虑:管道编排。为了有效、高效和实际地利用 大型语言模型 (LLM),我们必须全面了解数据管理、流程和提示技术。
虽然本文并非详尽无遗,但它旨在为 开发实用的 AI 融合应用程序 提供坚实的基础,适用于前台和后台用例。
在深入探讨之前,让我们定义一些基本术语:
- LLM(大型语言模型):在海量文本数据上训练的先进 AI 模型,能够理解和生成类似人类的文本。
- RAG(检索增强生成) :将信息检索与文本生成相结合以生成更准确且与上下文相关的响应的技术。
- 幻觉:AI 模型生成虚假或无意义信息的情况。
- 代理:根据目标完成任务的自主程序,通常利用 LLM 进行自然语言理解和生成。
- 事件驱动架构:一种软件设计模式,其中程序的流程由事件决定,例如用户操作、传感器输出或来自其他程序的消息。
- 治理:管理、保护和控制对数据和 AI 系统访问的框架。
- 语义检索:根据含义和上下文而不是精确的关键字匹配查找信息的流程。
- 句法检索:基于数据的结构和格式而不是其含义的信息检索。
数据是任何实用 AI 实施的核心。能够集成、管理和利用各种类型的数据至关重要。这包括结构化数据(关系数据库)、半结构化数据(文档数据库、键值存储)和非结构化数据(文件、图像、视频和音频)。
将 AI 与现有的记录系统集成对于企业至关重要。这涉及在不同的存储系统中创建、读取和持久化数据。通过前端应用程序或服务使用数据、连接到后端数据存储以及创建将数据通过管道转换、过滤、丰富和移动以实现预期结果的流程,公开和访问 API 也至关重要。
向量数据库在为 LLM 存储和检索数据方面发挥着至关重要的作用,特别是对于语义搜索和检索。此外,公开来自数据湖、仓库和集市的庞大数据端点对于 AI 系统有效地访问和利用企业数据至关重要。
随着 AI 的普及,API 端点之间通信的规模正在以惊人的速度增长。与我们在 AI 融合的未来中可以预期的相比,当前的 API 经济只是冰山一角。
AI 代理的出现:自主的、通常是短暂的程序,根据目标完成任务,而无需明确说明如何计划、推理或创建规则。这些由语言模型驱动的代理将无处不在,将数据放到位,编写代码,扫描,过滤并执行各种操作。随着代理的激增,它们将需要大规模可扩展的通信网络。
这就是事件驱动架构 (EDA) 发挥作用的地方。现代 EDA 从发布-订阅 (pub/sub) 模式演变而来,提供了强大的功能来处理大规模,保证消息传递,对消息进行重复数据删除以及连接到各种端点。一些 EDA 实现甚至可以跟踪数据血缘,扩展到许多嵌套主题并提供灵活的数据持久性选项。
EDA 提供了物联网 (IoT) 设备使用的通信网络类型,AI 代理以类似的方式进行通信。随着代理的出现和消失,它们将需要一个强大的数据网络进行通信,这使得 EDA 成为理想的解决方案。
随着代理从各种来源获取数据,API 管理变得至关重要。网关必须控制对应用程序或端点数据的访问,不仅管理谁或什么有权访问,还管理访问量和访问频率。这对盈利机会和防御未经授权的数据访问至关重要。
LLM 以幻觉而闻名,会产生虚假或无意义的信息。对于大多数没有开发自己的基础模型的组织来说,控制 LLM 对提示的响应可能具有挑战性。但是,您可以控制提供给 LLM 的数据和提示,以及如何处理模型的输出并将其呈现给最终用户。
在 检索增强生成 (RAG) 过程中验证数据允许在将数据呈现给 LLM 之前对您的企业数据进行协调、规范化和向量嵌入。这种方法有助于确保在将您的专有数据与 LLM 的知识相结合时,您仍然可以控制输入。
在 LLM 响应后评估数据也是可能的,并且通常建议这样做。排名代理可以在信息呈现给消费者之前观察给出的答案,从而增加一层质量控制。
人在 AI 生态系统中仍然至关重要。聊天机器人或前端应用程序等界面允许用户与围绕 LLM 的协调系统进行交互。通过在流程中创建端点,使人们能够验证答案,您可以帮助协调系统从外部的人机交互中学习和改进。
所有这些元素——数据管理、流程控制、事件驱动通信、治理、验证和人机交互——都需要 编排。LLM 本身没有基础;它需要一个精心编排的生态系统才能在现实世界的应用程序中有效且可靠地运行。
编排包括:
- 集成:连接不同的应用程序,创建抽象并公开 API 以供数据使用。
- 自动化:简化流程并减少数据和 AI 工作流程中的手动干预。
- 协调:确保 AI 系统的不同组件无缝协同工作。
- 监控和优化:持续评估系统性能并进行必要的调整。
通过专注于编排,组织可以创建不仅强大而且实用、可靠且符合业务目标的 AI 系统。
当我们在软件开发中探索 AI 的激动人心的前沿时,很明显,编排原则比以往任何时候都更加重要。有效地集成、自动化和协调 AI 系统的各个组件的能力将区分成功的实施和那些失败的实施。
对于开发人员来说,了解和掌握编排是充分利用 AI 潜力的关键。通过将我们的方法建立在可靠的编排实践基础上,我们可以创建不仅具有创新性,而且实用且对各行各业的企业都有价值的 AI 注入应用程序。
在您开始 AI 之旅时,请记住,这些技术的真正力量不在于模型本身,而在于我们如何在现有系统和流程中对其进行编排。通过认真关注数据管理、通信架构、治理和人机交互,我们可以构建 AI 系统,这些系统将改变我们的工作方式并创造价值。