Engineering Principles ====================== | The purpose of SHARPIE is to be a solution serving a wide variety of research questions across different interaction paradigms and learning modalities. | We therefore aim to follow the following principles in the design and implementation of SHARPIE +++++++ Modular +++++++ | Human-AI interaction research is rapidly evolving, requiring a framework that can adapt without needing a complete overhaul. | SHARPIE aims for a strict separation of concerns by decoupling the core RL environments, the web server logic, the participant-facing web interface, and backend logging utilities. | It thereby allows researchers to swap out algorithm libraries, modify user interfaces, or plug in new interaction paradigms independently, ensuring the codebase remains clean and maintainable. +++++++++++++++++++++++++++ Customizable & Configurable +++++++++++++++++++++++++++ | Every researcher, and indeed, every individual study has slightly different requirements on the interaction paradigm, the logging, and the deployment of their software. | However, there are still many across different researchers looking into the interaction of humans with (adaptive) sequential decision-making agents. | We therefore aim to build SHARPIE in a flexible way, with hooks for extending and customizing SHARPIE. New functionalities can be adopted by SHARPIE once a reasonable mass of support for that functionality is attained. To request/suggest a new feature, please open an issue in the issue tracker to motivate the feature, where we will follow an (informal) approval process. ++++++++++++++++++++++++ Multi-agent, Multi-human ++++++++++++++++++++++++ | Real-world human-AI interaction is rarely limited to a single agent and a single human user. | SHARPIE is built from the ground up to support multi-agent multi-human experiments, including multi-agent systems, multi-user studies, and collaborative human-AI teams composed of multiple and heterogenous agents. | The underlying communication protocols and state representations are inherently designed to scale across multiple participants and autonomous entities simultaneously. +++++++++++++++++ Easily deployable +++++++++++++++++ | Transitioning an experiment from a local development environment to a live participant study should be seamless. | We prioritize out-of-the-box compatibility with popular cloud providers and participant recruitment platforms. ++++++++++++++++ Production ready ++++++++++++++++ | We want the excitement to come from your experimental result, not from whether your experiment runs. | Human-subject experimentation requires software that is stable, reliable, and tested. | SHARPIE relies on established frameworks and implements industry-level quality control and testing. +++++++++++++++++++ Simple over complex +++++++++++++++++++ | Given the interdisciplinary nature of human-AI research, SHARPIE must remain accessible to researchers from diverse technical backgrounds. | We favor explicit code, straightforward architectures, and minimal abstraction layers over clever or overly intricate engineering designs. | We aim to choose the path that yields the most legible code and the lowest cognitive load for the community in usage, maintenance and development.