ADR-005: Абстракция через Реестры (Everything is a Registry)
Контекст
Фреймворк должен быть расширяемым. Пользователи должны иметь возможность добавлять свои модели, метрики и типы задач без изменения ядра системы.
Решение
Использовать паттерн Registry для всех сущностей:
ModelRegistry: Конфигурации моделей.TaskRegistry: Определения задач (формат данных, промпты).MetricRegistry: Реализации метрик.- Реализации оформляются как отдельные Python-пакеты (плагины).
Последствия
- Плюсы: Высокая модульность и расширяемость. Четкое разделение ответственности.
- Минусы: Повышение порога входа для разработчиков новых плагинов (нужно соблюдать интерфейсы).