Systems with artificial intelligence components, so-called AI-based systems, have gained considerable attention recently. However, many organizations have issues with achieving production readiness with such systems. As a means to improve certain software quality attributes and to address frequently occurring problems, design patterns represent proven solution blueprints. While new patterns for AI-based systems are emerging, existing patterns have also been adapted to this new context. The goal of this study is to provide an overview of design patterns for AI-based systems, both new and adapted ones. We want to collect and categorize patterns, and make them accessible for researchers and practitioners. To this end, we first performed a multivocal literature review (MLR) to collect design patterns used with AI-based systems. We then integrated the created pattern collection into a web-based pattern repository to make the patterns browsable and easy to find. As a result, we selected 51 resources (35 white and 16 gray ones), from which we extracted 70 unique patterns used for AI-based systems. Among these are 34 new patterns and 36 traditional ones that have been adapted to this context. Popular pattern categories include "architecture" (25 patterns), "deployment" (16), "implementation" (9), or "security & safety" (9). While some patterns with four or more mentions already seem established, the majority of patterns have only been mentioned once or twice (51 patterns). Our results in this emerging field can be used by researchers as a foundation for follow-up studies and by practitioners to discover relevant patterns for informing the design of AI-based systems.
翻译:具有人工智能组件的系统(即基于人工智能的系统)近期受到了广泛关注。然而,许多组织在使此类系统达到生产就绪状态方面面临挑战。作为改善特定软件质量属性并解决常见问题的手段,设计模式代表了经过验证的解决方案蓝图。随着针对人工智能系统的新模式不断涌现,现有模式也已被调整至这一新情境。本研究的目标是概述基于人工智能系统的设计模式(包括新模式与适配模式)。我们旨在收集、分类这些模式,并使其便于研究人员与从业者查阅。为此,我们首先通过多声部文献综述(MLR)收集了基于人工智能系统的设计模式,随后将生成的模式集合集成至一个基于Web的模式库中,以使模式可浏览且易于查找。最终,我们从51篇文献中筛选出70种独特模式(含35篇白文献与16篇灰文献),其中包括34种新模式及36种经适配的传统模式。主流模式类别包括“架构”(25种模式)、“部署”(16种)、“实现”(9种)以及“安全与保障”(9种)。尽管部分被提及四次及以上的模式已趋于成熟,但多数模式(51种)仅被提及一至两次。本研究在这一新兴领域的成果可为后续研究提供基础,并帮助从业者发现相关模式以指导基于人工智能系统的设计。