"Как выбрать между жестким алгоритмом и LLM? Продолжая этот пост про (не)детерминированность я попробовал набросать правила для принятия решения о том, когда юзать конкретный алгоритм, а когда лучше отдать решение LLM - получилось следующее: 1. Для начала надо определиться с тем, что я подразумеваю под каждым понятием: - детерминированные системы - основаны на жетских правилах, производят один и тот же результат для одних и тех же входных данных. Стабильны, но ""жёсткие"". - вероятностые (недетерминированные) системы - учатся на данных, делают статистические ""выводы"", непостоянные в выходных данных при тех же входных. 2. Критерии для выбора: - Степень открытости проблемы - насколько хорошо мы можем описать проблему, треюущую одной из 2х систем для ее решения? Насколько неоднозначна проблема? - Достаточность данных - есть ли достаточно данных (количество и качество) для построения системы, обучающейся на данных? - Толерантность к ошибке - можем ли мы позволить себе неопределенность в результатах? Можем ли мы застраховать эту неопределенность? - Стабильность проблемы или окружения, для которой решается проблема - Нужна ли нам ""обьясняемость"" решения - то есть, чтобы мы могли обьяснить, как именно мы превратили входные данные в выходной результат? - Ограничения по времени и иным ресурсам - обычно детерминированные системы требуют значительном еньше ресурсов - ""Оппортунистическое"" поведение - действует ли против нас адаптивная система, которая постоянно меняет входные данные, чтобы ""сломать"" нас? - Нужно ли для решения проблемы ""общее знание"" (common sense) или решение ограничено малым количеством возможных ответов? Список неполный - буду рад за фидбек как по текущим критериям (важный или неважный, может нужно докрутить), так и по нехватающим. P.S. Об этом, кстати, будем говорить на курсе, стартующем в следующие выходные"