Design Patterns for AI-based Systems: A Multivocal Literature Review and Pattern Repository
Systems with artificial intelligence components, so-called AI-based systems, have gained more attention in recent years. 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 slowly 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 for analysis and categorization. The created pattern collection was then integrated into a web-based and extendable 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 research and by practitioners to discover relevant patterns for informing the design of AI-based systems.