Как агент выбирает инструмент

Сравниваем четыре простых способа выбора на 300 задачах RuDecide. Разбираем пропуски, ошибочные действия и случаи, когда лучше не выбирать инструмент.

Все исследования

Главный результат

На 300 открытых задачах сравнили простые правила и поиск по описаниям инструментов. BM25 с именами и описаниями дал 111 правильных выборов. Но общая точность скрыла ошибки: в 36 из 66 случаев без нужного навыка он всё равно выбрал инструмент.

Термины простыми словами
Навык
описанное в каталоге действие или способ работы, который агент может загрузить.
None
вариант «специальный навык не нужен».
BM25
поиск по словам с учётом их частоты и редкости.
Разведочное сравнение
дополнительная проверка, выбранная после просмотра первичного результата; требует нового подтверждения.

Разбор исследования / 04

Один процент скрывает разные ошибки

Для каждого запроса из 300 задач RuDecide есть каталог вариантов и эталонный выбор. Иногда правильный ответ - не использовать ни один инструмент. Поэтому неверный выбор нужно разделять: пропустить нужное действие, выбрать не тот инструмент или начать действие, когда оно вообще не требуется.

  1. 01 / ЗадачаЗапрос и каталог
    Метод получает формулировку запроса и доступные инструменты конкретного примера.
  2. 02 / ВыборИнструмент или none
    Сравниваются простые правила и поиск BM25 по тексту описаний. Языковая модель не вызывается.
  3. 03 / ЭталонПравильный вариант известен
    Каждое решение сравнивается с ответом из данных. Предсказания сохраняются построчно.
  4. 04 / РазборЧетыре исхода
    Верно, пропущен инструмент, выбран лишний инструмент или выбран другой инструмент.
Рисунок 1. Протокол сравнения выбора на полном поднаборе из 300 строк. Это не измерение исполнения действий агентом.

Новый разбор: где помогло название инструмента

Дополнительно пересчитаны уже опубликованные предсказания двух вариантов BM25: только описание и название вместе с описанием. Это попарный описательный анализ одних и тех же 300 задач, выполненный на CPU под Python 3.14.8. Нового обучения, запуска модели и изменения предсказаний не было.

96Верно у обоих вариантов
15Ошибка исправлена после добавления названия
3Верный выбор стал ошибочным
186Оба варианта ошиблись

Суммарно верных решений стало 111 вместо 99: прирост составляет 12 задач, или 4 процентных пункта. Однако это не 12 исправлений без побочных эффектов. В действительности улучшились 15 случаев и ухудшились 3. Разбор показывает цену изменения, которую не видно в одной разности процентов.

Больше верных ответов не означает меньше лишних действий

В 66 задачах с эталоном none число ненужных выборов выросло с 34 до 36. Одновременно пропуски нужного инструмента сократились с 49 до 46, а выбор другого инструмента - со 118 до 107. Вывод зависит от того, какая ошибка опаснее для конкретного процесса.

Как воспроизвести дополнительный анализ

Скрипт использует только стандартную библиотеку Python, сверяет каждую строку по эталону и считает четыре пары исходов. Опубликованы код анализа, итоговый JSON и исходные предсказания. Контрольная сумма входного файла включена в JSON.

python3 analyze-errors.py ./2026-11-01 error-analysis.json

Изменение «название плюс описание» было добавлено после первых результатов. Поэтому это разведочный анализ фиксированного поднабора, без заявления о статистической значимости или качестве на будущих пользовательских запросах. Сценарии могут быть похожи между собой; 300 строк нельзя автоматически считать 300 независимыми наблюдениями реального рынка.

Как использовать вывод в продукте

Прежде чем выбирать метод, полезно назначить стоимость каждой ошибки. Для предложения справочной статьи лишний вариант может быть допустим. Для инструмента, меняющего данные, тот же лишний выбор может быть неприемлем. Следующая проверка должна сравнивать не только точность, но и частоту отказа, качество выбранных действий и участие человека при неопределённости.

Аннотация

Проведено воспроизводимое сравнение немодельных методов выбора навыка на всех 300 строках skills_unseen_catalogs из RuDecide v0.1, ревизия e311afbf. Прогнозы строятся только по сообщению пользователя и доступным вариантам, без обучения по правильным ответам. Первый вариант дал 26 правильных выборов, постоянный none - 66, BM25 по описаниям - 99. В добавленном после первичного результата разведочном сравнении включение имени навыка повысило число правильных выборов до 111, но увеличило лишний выбор навыка на строках с эталоном none с 34 до 36. Параметры BM25 и правило отказа не подбирались. Это оценка выбора в открытом наборе, а не поведения CapyAgent или качества моделей Кивок и Мигом; инструменты не выполнялись.

1. Выбрать инструмент или не вызывать ничего

Пользователь может упомянуть доставку, не прося рассчитать маршрут. Может спросить о документе, не поручая его отправлять. Поэтому агенту недостаточно находить похожее название инструмента: иногда правильное решение - не загружать специальный навык.

В RuDecide есть открытая задача такого выбора: сообщение пользователя, описания доступных навыков и вариант none, означающий, что специальный навык не нужен [1]. Мы задаём два вопроса. Какой результат дают простые способы выбора без языковой модели? Не скрывает ли общая доля верных ответов слишком частый выбор ненужного инструмента или пропуск нужного?

Сходство с RAG состоит в отборе описания, которое агент может затем использовать. Но правильное описание и успешное выполнение задачи - разные результаты. В этой работе ни один выбранный инструмент не запускается.

3. Данные и условия использования

Использован полный раздел track_b_applied / skills_unseen_catalogs: 300 строк из закреплённой версии e311afbf6bda74c57bb6a77ffc33b19c946ca76a. Данные не фильтровались по исходу метода. Правильные ответы читаются только после формирования прогнозов для подсчёта метрик.

Набор содержит синтетические запросы и каталоги. В описаниях вариантов встречаются русский и английский языки; число вариантов меняется. Такие особенности могут влиять на лексический поиск. Они не являются ошибками сами по себе, но не позволяют считать выборку случайным срезом обращений клиентов.

Публичная карточка относит синтетические данные B к CC BY 4.0. У RuDecide в целом смешанные условия, включая MIT, Apache 2.0 и CC BY-SA 4.0 у отдельных источников. Поэтому права на этот раздел нельзя автоматически переносить на весь набор. Мы сохраняем ссылку на исходную карточку и публикуем прогнозы с идентификаторами, не копируя все тексты корпуса.

4. Методы, контроль и разведочное сравнение

Первый контроль всегда выбирает первый предложенный вариант. Второй всегда возвращает none. Эти правила не читают правильный ответ и показывают, почему результат нужно сравнивать с явной исходной стратегией.

Основной поисковый метод считает BM25 отдельно внутри каждого каталога: запросом служит сообщение пользователя, документами - описания вариантов. Используются k1=1.2, b=0.75, Unicode-слова в нижнем регистре, без перевода, стемминга и стоп-слов. Выбирается вариант с наибольшей положительной оценкой; при равенстве - первый в исходном порядке. Если все оценки нулевые, возвращается none. Правило и параметры не подбирались по точности.

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

Ни один метод не использует веса Кивка или Мигома, не переводит текст и не запрашивает модель. Реальный способ выбора инструмента в CapyAgent этой программой не заменяется и не измеряется.

5. Какие ошибки считаем

Основная метрика - число точных совпадений с эталоном из 300. Дополнительно каждая ошибка относится к одному из трёх классов: выбран навык, когда эталон none; возвращён none, когда нужен конкретный навык; выбран другой навык вместо нужного. Вместе с правильными ответами эти классы исчерпывают все строки.

В наборе 66 строк с правильным none и 234 строки с нужным навыком. Поэтому «никогда не выбирать инструмент» даёт 22% точности, но пропускает все 234 нужных выбора. Система с большей точностью также может чаще выбирать лишний инструмент. Это важно при проектировании доступа и согласования человеком.

Мы считаем только выбор. Он не измеряет корректность аргументов, допустимость действия, экономию времени, качество диалога или внешний эффект. Нельзя называть ошибочную классификацию реальным инцидентом: инструмент в опыте не выполнялся.

6. Новые измеренные результаты

Таблица 1. Полная выборка из 300 строк; три класса ошибки
МетодВерноТочностьЛишний выбор на noneПропущен нужный навыкВыбран другой навык
Первый вариант268,7%5928187
Всегда «навык не нужен»6622,0%02340
BM25: только описание9933,0%3449118
BM25: имя и описание11137,0%3646107

Поиск по описаниям дал 99 правильных решений из 300. Добавление имени навыка увеличило счёт до 111: разница 12 строк, или четыре процентных пункта на этой же выборке. Однако среди 66 случаев без нужного навыка число лишних выборов увеличилось с 34 до 36. Значит, сводный прирост точности не равен улучшению всех свойств метода.

Даже вариант с именем и описанием вернул none для 46 из 234 запросов, где эталон требовал навык, и выбрал другой навык в 107 таких запросах. Эти ошибки показывают ограничения выбранного лексического правила. Различия нельзя объявлять универсальным эффектом имён инструментов: сравнение разведочное, каталоги и запросы связаны, переноса на другой набор не проверено.

Прогнозы по каждой строке и сводка опубликованы [4]. Числа можно проверить без запуска CapyAgent и без доступа к его закрытому коду.

7. Что из этого следует для Кивка, Мигома и CapyAgent

Кивок и Мигом - опубликованные модели выбора из вариантов. Их карточки приводят авторские оценки на RuDecide [5], [6]. Здесь они не запускались. Общую точность по всему треку B нельзя прямо сопоставить с нашим результатом на одной задаче из 300 строк: различаются знаменатели и состав примеров.

Карточка RuDecide сообщает, что источники дообучения моделей пересекаются с источниками части прикладного трека. Поэтому высокий авторский результат не является независимым доказательством работы на всех новых инструментах. Статический аудит прежней версии статьи также остаётся доступен: 2 235 строк в A, 1 543 в B и один точный повтор вопроса в B по объявленному определению [7].

В CapyAgent выбор должен быть связан с разрешением и последующей проверкой эффекта. Ошибка выбора не должна автоматически предоставлять доступ ко всем системам. Даже верный выбор навыка может закончиться неверными аргументами или отказом внешней программы. Для оценки всей цепочки нужен отдельный сценарий выполнения.

8. Повторение и ограничения

Использованы Python 3.14.8 и стандартная библиотека на KotikTurbo, без модельных API. Код baselines.py формирует исходные прогнозы, analyze_public.py считает разложение ошибок, routing_ablation.py добавляет вариант с именами. Команды, контрольные суммы и код подготовки публичных данных собраны в приложении [8]. Для повторения этой статьи закрытый код CapyAgent не требуется.

Метки не использовались для прогнозов, но после просмотра результата было решено сравнить ещё одно представление каталога. Это ограничивает подтверждающий смысл дополнительного опыта. Не проводились настройка порогов на отдельной обучающей части, кластерные интервалы по каталогам или проверка статистической значимости. Проценты - точное описание выбранных 300 строк, а не оценка генеральной совокупности.

Инференс Кивка, Мигома, многоязычных эмбеддингов и сквозного агента не выполнялся. В этой серии не было принятого локального модельного окружения; расходы на платный API не разрешены, тихий профиль и GPU ноутбука не менялись. Эти сравнения остаются необходимыми отдельными экспериментами, а не завершёнными результатами.

9. Вывод для следующей проверки

Простой поиск является полезным контролем, но на данных этой задачи ошибается и в выборе нужного навыка, и в отказе от лишнего. Добавление доступного имени изменило общий результат, одновременно ухудшив один вид ошибки. Поэтому для агента нужно заранее определить цену каждого класса ошибки и сохранять их отдельно от общей точности.

Следующий опыт должен использовать новые каталоги, фиксировать правила выбора до просмотра меток и сравнивать модели с теми же немодельными контролями. Затем нужно проверить разрешения, аргументы и конечное состояние задачи. Оценка вероятностей и их калибровка - ещё один самостоятельный вопрос [9]; вероятность модели сама по себе не даёт разрешение на действие.

Новые проверки от 1 ноября 2026 · Версия 2.0

Оригинальная статья сайта, редакционная подготовка с применением ИИ. Измеренные результаты отделены от прежних наблюдений и планов. Внешнее научное рецензирование не заявляется. SR-2026-04 - внутренний номер, не DOI.

Первичные источники и материалы проверки

Ссылки и статус материалов проверены 1 ноября 2026 года. Внешние работы используются как источники методов; их показатели не выдаются за результаты CapyAgent.

  1. Smolnikov / CapyAgent. RuDecide v0.1, ревизия e311afbf. Источник данных и авторские ограничения, 2026.
  2. Yang G., Zhang W., Shi T., Wang P. SkillSeek: Revisiting Agent Skill Retrieval at Marketplace Scale. 30.09.2026. Препринт.
  3. Thakur N. et al. BEIR: A Heterogenous Benchmark for Zero-shot Evaluation of Information Retrieval Models. 2021.
  4. Новые результаты немодельных методов на всех 300 строках skills_unseen_catalogs; варианты прогнозов и разложение ошибок. 01.11.2026.
  5. Кивок 0.3B v0.2. Публичная карточка и файлы модели. Авторские оценки не воспроизводились в этой серии.
  6. Мигом 4B. Публичная карточка и файлы модели. Авторские оценки не воспроизводились в этой серии.
  7. Статический аудит RuDecide, опубликованный ранее 01.11.2026. Скрипт и определения повторов сохранены.
  8. Материалы для повторения: данные, исходники оценщиков, сырые результаты, контрольные суммы и ограничения воспроизводимости.
  9. Guo C., Pleiss G., Sun Y., Weinberger K. Q. On Calibration of Modern Neural Networks. ICML 2017, PMLR 70:1321-1330.