Не каждый endpoint нуждается в LLM

Не каждый endpoint нуждается в LLM

Иногда AI-фича в продукте выглядит как простая задача: взять запрос пользователя, отправить в модель, вернуть ответ.

Но в backend это почти никогда не просто один вызов API.

Как только фича попадает ближе к production, появляются скучные, но важные вопросы:

1. Что делаем, если модель отвечает 8 секунд? 2. Что возвращаем при timeout или деградации провайдера? 3. Как логируем запрос, не протащив лишние персональные данные? 4. Где граница между deterministic logic и вероятностным ответом? 5. Что кешируем, а что нельзя кешировать по смыслу? 6. Как объясняем пользователю, что результат может быть неточным? 7. Как откатить фичу, если модель начала вести себя нестабильно?

Для меня главный принцип простой:

LLM не должен становиться новым слоем бизнес-логики там, где достаточно обычного кода, правил, SQL, очереди или валидации.

Модель хорошо работает как помощник:

  • классифицировать входящий текст;
  • подготовить черновик;
  • подсказать варианты;
  • объяснить данные;
  • ускорить ручной workflow.

Но если от ответа зависит деньги, безопасность, права пользователя или необратимое действие - вокруг модели нужна нормальная backend-архитектура: таймауты, fallback, retries, лимиты, аудит, ручная проверка и понятный rollback.

AI-фича становится production-фичей не тогда, когда модель дала красивый ответ. А когда система умеет безопасно пережить плохой ответ.

Как у вас в командах сейчас решают границу: где LLM уместен, а где лучше оставить обычную deterministic-логику?

#backend #AI #архитектура #dotnet