Принципы SOLID применительно к AI-системам
S — Single Responsibility. Каждый модуль отвечает за одну задачу. Не делать «супер-агента», который и парсит, и вызывает LLM, и делает аналитику.
O — Open/Closed. Новую модель или провайдера можно добавить без переписывания ядра.
L — Liskov Substitution. Реализации абстракции «Модель» (GPT-4, Claude, Llama 3) взаимозаменяемы через единый интерфейс.
I — Interface Segregation. Много специализированных интерфейсов лучше одного универсального.
D — Dependency Inversion. Код зависит от интерфейса LLMClient, а не от конкретного SDK OpenAI.