Compound AI Systems
了解复合 AI 系统如何结合模型、工具、数据和规则。探索可靠 AI 工作流的架构、应用、权衡和最佳实践。
复合 AI 系统是由多个相互交互的组件构成的 AI 应用,而不是单一的模型。系统可以将模型、检索服务、数据库、确定性规则、外部工具和人工审核组合到一个协调的工作流中。例如,在计算机视觉中,一个模型可以检测对象,而跟踪软件负责维护身份,业务规则用于解释事件,监控服务则观察生产性能。其核心特征在于组合:系统级行为源于各部分如何交换信息并做出决策。
复合 AI 系统的工作原理#
复合系统将更大的任务划分为专业的阶段。典型组件包括数据预处理、一个或多个 AI 模型、存储、验证逻辑、应用程序编程接口以及编排层。诸如 OpenAPI Specification 中所述的明确契约,定义了每个服务接受和返回的数据。
控制可以是确定性的,通过常规代码以固定顺序调用组件;也可以是动态的,通过 AI agent orchestration 层在运行时选择工具和路由。AI orchestration 协调整个应用中的依赖项、重试、资源和数据流。
常见模式包括 retrieval-augmented generation(检索为语言模型提供上下文)以及结合摄像头、雷达或其他输入的传感器融合管道。Berkeley AI Research overview of compound AI systems 描述了从孤立模型向集成系统的更广泛转变。(bair.berkeley.edu)
为什么复合系统很重要#
组合使开发者能够在不重新训练庞大模型的情况下改进应用。可以替换、扩展或优化某个专业组件,而工作流的其他部分保持稳定。规则和验证阶段也可以提供比完全依赖概率模型输出更多的控制。
这些优势带来了系统级的权衡:
- **故障传播:**错误的检测、失败的检索或不可用的 API 可能会影响每个下游决策。
- **延迟和成本:**每次模型调用、网络请求和验证阶段都会消耗总响应预算的一部分。
- **接口漂移:**更新一个服务可能会改变其输出格式或假设,并悄悄破坏另一个组件。
- **评估困难:**强大的组件并不能保证强大的端到端结果。
因此,machine learning operations 必须覆盖整个工作流。OpenTelemetry observability guidance 解释了追踪、指标和日志如何揭示分布式服务中发生的情况,而 MLflow experiment tracking 可以记录模型配置和评估结果。(opentelemetry.io)
相关概念与关键区别#
复合 AI 系统不仅仅是复杂模型的另一个名称。
model ensemble 结合了来自多个模型的预测,通常通过投票、平均或堆叠来实现。集成可以是复合系统内部的一个组件,但它通常缺少数据库、工具、工作流逻辑和运维服务。
智能体工作流允许模型自主选择操作或工具。复合系统更为广泛:许多系统使用固定管道、事件驱动服务或人工审批,而无需自主智能体。
同样,RAG 是一种涉及检索和生成的特定复合模式。复合 AI 也可以协调计算机视觉、预测、优化、机器人技术和常规软件,而无需使用语言模型。
实际应用#
-
**Manufacturing visual inspection:**摄像头捕获产品,Ultralytics YOLO26 model 检测缺陷,基于规则的逻辑检查严重性和位置,生产系统拒绝或批准每个项目。不确定的情况可能会路由到人工检查员,而存储的图像则支持稍后的重新训练。
-
**Traffic and parking analytics:**检测识别车辆,multi-object tracking 在帧之间维护身份,几何逻辑确定车道或停车区域占用情况,仪表板汇总计数和警报。错误可能导致重复计数、漏掉拥堵事件或不正确的可用性估计,因此每个阶段必须一起测试。
以下简化示例展示了感知输入到确定性决策逻辑:
from ultralytics import YOLO
# Perception component
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Policy component
person_class = next(i for i, name in result.names.items() if name == "person")
person_count = int((result.boxes.cls == person_class).sum())
decision = "review" if person_count >= 4 else "continue"
print({"people_detected": person_count, "next_step": decision})
result.save(filename="compound_system_input.jpg")在这里,YOLO 生成结构化观测结果,而独立的策略逻辑决定下一个操作。生产系统可以添加存储、通知、访问控制或人工审核。
实用设计指南#
从可衡量的端到端目标开始,然后为每个组件分配一个明确的职责。在每个边界定义架构和超时,独立测试组件,并评估实际的工作流,而不仅仅是模型准确性。
使用追踪来跟踪单个请求,设置延迟和成本预算,并为不可用的服务提供重试或安全的后备方案。Kubernetes health probes 说明了已部署的服务如何公开就绪和存活信号。
风险控制应涵盖整个系统,包括数据访问、外部工具、人工覆盖和下游后果。NIST AI Risk Management Framework 为管理、衡量和管控这些风险提供了面向生命周期的指导。团队可以使用 Ultralytics Platform 在更广泛的复合应用中连接视觉组件的数据集标注、训练、部署和生产监控。(nist.gov)






