"Если вдруг вы сейчас строите сложную хрень с LLM, где под сложной я имею в виду кластеризацию на хотя бы 3+ домена – не тратьте время на велосипедостроение роутера тупо на completions api или любой другой модели чисто на промптах и structured outputs. Это __можно__ заставить полу-вменяемо работать, Н-н-но Меня последние три рабочих днях не покидало ощущение что я делаю опасно недерминированную ерунду, которую потом все равно придется менять на какой нибудь классификатор. Вот вам хороший пример игнорирования Дребезга (разбираем в материалах по ШСМ) Вместо того чтобы ""на потом"", надо было хоть немного поискать решение. Вот например – бери и юзай на эмбеддингах: https://github.com/aurelio-labs/semantic-router Вполне себе минималистичный интерфейс. Можно ходить в Cohere или OpenAI api за эмбедингамми и сравнениями, можно прикрутить локальный мистрал, это сами решайте. В этой же либе есть dynamic router, но это обычный function calling, внимания вроде бы вообще не стоит (Юзайте PydanticAI ок?) Вот вам в догонку еще дядьку Фаулера почитать, если изголодались по нормальному инженерному контенту про AI системы. Не одним же Блогом Антропика кормиться :) https://martinfowler.com/articles/gen-ai-patterns/"