TGViewer
Антон Непша.js Антон Непша.js @nepshajs · 2.92K subscribers
Post #185 3.4K
Маршрутизация LLM через промпт или через tools

Я никакой не Data Scientist, я просто фронтендер.
Но даже фронтендеру иногда бывает интересно, что лучше отработает — обычный промпт типа такого:
Верни слово "auto", если пользователь говорит про автомобили. Верни слово "movie", если пользователь говорит о фильмах…

или передача в LLM функций (или тулов) с описанием каждой из категорий, между которыми LLM нужно сделать выбор.

И да, эту задачу можно было бы решить и с помощью векторов, но мне захотелось сравнить именно эти два подхода.

Первый способ может показаться ненадёжным и контринтуитивным — мы ведь не используем structured_output, поэтому ответ модели здесь не так строго типизирован, как во втором случае. Но так ли всё просто?

Как я сравнивал промпт и тулы
— Написал первый промпт. Он будет проверять, насколько хорошо LLM маршрутизирует, используя обычное текстовое описание:
Твоя основная задача — правильно определить категорию вопроса пользователя.
Если вопрос касается автомобилей, ответь "auto".
Если вопрос касается кораблей, ответь "ship".
Если вопрос касается фильмов, ответь "movie".
Если вопрос касается мотоциклов, ответь "moto".
Если вопрос не относится ни к чему из вышеперечисленного, ответь "incorrect".
Если из фразы клиента не удалось понять, к какой категории относится вопрос, задай клиенту уточняющий вопрос.


— Второй промпт выглядел так же, как и предыдущий, но без описания категорий — их я вынес отдельно в функции. Этим промптом я буду проверять качество маршрутизации с помощью тулов. Получилось в итоге следующее:
Твоя основная задача - правильно определить категорию вопроса пользователя.
Если из фразы клиента не удалось понять, к какой категории относится вопрос, задай клиенту уточняющий вопрос.


— Описал 25 тестовых фраз и их ожидаемый результат по каждой из них.

— Запустил все 25 тестов с первым промптом, затем 25 этих же тестов со вторым промптом и тулами.

— Повторил проверки на шести разных моделях GigaChat и на DeepSeek.

Результаты
Что касается DeepSeek, то почему-то даже на один мой запрос их API отвечал целых 5 секунд, поэтому он выбыл из гонки, так особо в ней и не поучаствовав.

А вот GigaChat показал интересную статистику:

Во-первых, промпт с тулами отрабатывал в среднем в 2-3 раза медленнее обычного текстового промпта — 25 вызовов GigaChat с текстовым промптом отрабатывали за 6-8 секунд, в зависимости от модели. А 25 запросов с тулами занимали в сумме от 18 до 23 секунд.

Во-вторых, промпт с тулами расходовал в 2-3 раза больше токенов — от 800 до 2300 за обычный текстовый промпт, и от 2400 до 4600 токенов за промпт со structured_output.

В-третьих, structured output не всегда давал 100% точность. Было интересно увидеть, как GigaChat-Max и GigaChat-2-Max с обычными текстовыми промптами показали максимальную точность (25 из 25) среди всех моделей.

Что ещё более странно — наименьшую точность среди всех моделей показали эти же GigaChat-Max и GigaChat-2-Max со structured_output (21 из 25).

Я понимаю, что объём тестовых данных у меня совсем небольшой.
Уверен, что если бы тестов у меня было не 25, а 25000, то результаты, скорее всего, были бы совсем иными.

Но в любом случае результаты меня очень удивили. Проверяйте свои инструменты внимательно под каждую задачу))
  • 🔥 18
  • ❤‍🔥 3
  • 🤣 2
  • ❤ 1
  • 💘 1
More from @nepshajs
  1. Jul 30, 2026Моё хобби — менять названия полей в тулах и смотреть, как это влияет на качество заполнени…
  2. Jul 20, 2026Расширил свой недавний доклад про работу с GigaChat API и расскажу его 25 июля на Технохаб…
  3. Jul 17, 2026Никогда ещё не уходил с митапа под таким сильным впечатлением, как вчера после JS x AI con…
  4. Jul 15, 2026Агентские фреймворки больше не нужны Мне стали часто попадаться видео автора Jake Van Clie…
  5. Jul 10, 2026JS x AI митап в Сбер.Среде Я тут недавно осознал, что я уже два с половиной года работаю с…
  6. Jul 10, 2026Тра-та-та, а вот и я)))
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →