3,583 papers
arXiv:2510.20036 68 22 окт. 2025 г. FREE

ToolScope – как «уборка» в списке инструментов устраняет путаницу LLM

КЛЮЧЕВАЯ СУТЬ
LLM теряет точность выбора на 30-40%, когда в списке инструментов (API) много семантически похожих вариантов — модель буквально «теряется» в дубликатах. Метод ToolScope позволяет агентам выбирать правильный инструмент в 38% случаев чаще за счёт предварительной очистки набора от избыточности. Система автоматически находит дубликаты инструментов и сливает их в один, а затем для каждого запроса подаёт модели только 2-3 релевантных варианта вместо сотни — сокращая контекст на 98% и повышая точность на 38%.
Адаптировать под запрос
📌

Ключевые аспекты исследования:

Исследование решает проблему, когда LLM-агенты плохо выбирают нужный инструмент (API) из большого списка, особенно если многие инструменты похожи по описанию. Авторы предлагают двухэтапный подход ToolScope: сначала система автоматически находит и "сливает" дублирующиеся инструменты в один (Merger), а затем для каждого конкретного запроса пользователя отбирает только самые релевантные инструменты из очищенного списка и передает их LLM (Retriever).

Ключевой результат: Предварительная очистка и фильтрация набора инструментов значительно (до 38%) повышает точность LLM при выборе правильного API для решения задачи и сокращает объем передаваемого в модель контекста на 98-99%.


🔬

Объяснение всей сути метода:

Представьте, что LLM — это повар-стажер, а инструменты (API) — это ножи на кухне. В реальной жизни на кухне часто бывает беспорядок: лежит пять почти одинаковых ножей для хлеба с разными названиями, десяток ножей для овощей и т.д. Когда вы просите стажера "нарезать помидор", он теряется в этом многообразии и может схватить не тот нож.

ToolScope — это опытный шеф-повар, который наводит порядок на кухне ПЕРЕД тем, как подпустить стажера.

  1. Этап 1: ToolScope-Merger (Наведение порядка). Шеф-повар проходит по всем ножам. Он видит пять ножей для хлеба, понимает, что они делают одно и то же, убирает четыре лишних и на единственный оставшийся вешает четкую табличку: "Нож для хлеба". Он проделывает это со всеми похожими инструментами, сокращая их количество и устраняя путаницу. Этот процесс автоматизирован с помощью LLM, которая сама определяет, какие инструменты можно "слить".

  2. Этап 2: ToolScope-Retriever (Выдача нужного инструмента). Теперь, когда вы просите "нарезать помидор", шеф-повар не показывает стажеру всю стену с ножами. Он смотрит на вашу просьбу, понимает, что нужен нож для овощей, берет именно его (и, может, еще один маленький для мелких деталей) и протягивает стажеру со словами: "Выбери из этих двух". Стажеру гораздо проще сделать правильный выбор из двух релевантных вариантов, чем из сотни.

Методика для пользователя: Главный вывод — "гигиена контекста". Качество работы LLM напрямую зависит от того, насколько чистый, релевантный и непротиворечивый контекст вы ей предоставляете. Перегрузка модели избыточной, похожей или нерелевантной информацией — верный путь к ошибкам и "галлюцинациям".


📌

Анализ практической применимости:

  • Прямая применимость: Нулевая для обычного пользователя в стандартном чате. Это системный подход, требующий программирования. Однако для продвинутого пользователя, который настраивает кастомного GPT-агента с "Actions" (API), применимость высокая: он может вручную проанализировать свои "Actions", объединить семантически близкие и дать им максимально четкие и уникальные описания.

  • Концептуальная ценность: Огромная. Исследование наглядно доказывает:

    • LLM чувствительны к семантической избыточности. Не давайте модели пять вариантов, которые означают одно и то же. Это сбивает ее с толку.
    • Принцип "меньше, но лучше" работает для контекста. Вместо того чтобы загружать в модель весь документ на 100 страниц, лучше потратить усилия на извлечение и подачу 2-3 самых релевантных абзацев. Это аналог ToolScope-Retriever.
    • LLM — не человек. Человек легко отфильтрует дубликаты, а для LLM это сложная задача, требующая явных инструкций или предварительной обработки данных.
  • Потенциал для адаптации: Пользователь может выступать в роли "ручного ToolScope". Перед тем как задать сложный вопрос, требующий много фоновой информации, следует:

    1. Выполнить "слияние" (Merge): Собрать все свои заметки/факты по теме, найти повторяющиеся или очень близкие по смыслу идеи и объединить их в один четкий тезис.
    2. Выполнить "извлечение" (Retrieve): Из всего объема информации выбрать только те фрагменты, которые непосредственно относятся к задаваемому вопросу, и поместить их в промпт.

🚀

Практически пример применения:

Представим, что вы — маркетолог и хотите, чтобы LLM генерировала вам идеи для постов в соцсети, придерживаясь определенных форматов. Вы можете применить принципы ToolScope, чтобы "очистить" и "отфильтровать" инструкции для модели.

Ты — опытный SMM-менеджер для онлайн-школы по программированию. Твоя задача — сгенерировать 5 идей для постов в Telegram на основе предоставленной статьи.

# Контекст:
Статья для анализа: <Вставьте сюда текст статьи о том, почему Python — лучший язык для старта в IT>

# Доступные "Инструменты" (Форматы постов):
Вот четкий и непересекающийся список форматов, которые ты можешь использовать. Выбирай наиболее подходящий для каждой идеи.

1.  **[Формат: "Разрушение мифа"]**
    *   **Описание:** Берем популярное заблуждение (например, "программирование — это только для математиков") и опровергаем его с помощью фактов из статьи.
    *   **Структура:** Заголовок-миф -> 2-3 абзаца с опровержением -> Призыв к действию.

2.  **[Формат: "Пошаговая инструкция"]**
    *   **Описание:** Превращаем часть статьи в простой гайд (например, "3 первых шага в изучении Python").
    *   **Структура:** Заголовок-инструкция -> Нумерованный список шагов -> Заключение.

3.  **[Формат: "Личная история / Кейс"]**
    *   **Описание:** Рассказываем гипотетическую историю успеха от лица студента, который последовал советам из статьи.
    *   **Структура:** Краткое интро -> История "до/после" -> Вывод.

# Задача:
Проанализируй статью и предложи 5 идей для постов. Для каждой идеи:
1.  Укажи, какой **[Формат]** из списка выше ты выбрал.
2.  Напиши цепляющий заголовок.
3.  Кратко (1-2 предложения) опиши суть поста.

**ВАЖНО:** Используй ТОЛЬКО форматы из предоставленного списка "Доступные 'Инструменты'". Не придумывай свои.
🧠

Почему это работает:

Этот промпт — ручная эмуляция ToolScope:

  1. Эмуляция ToolScope-Merger: Вместо того чтобы давать расплывчатые инструкции ("сделай пост-инструкцию, или гайд, или чек-лист"), мы создали три четких, семантически различных "инструмента": "Разрушение мифа", "Пошаговая инструкция", "Личная история". Они не пересекаются по своей сути, что устраняет двусмысленность.

  2. Эмуляция ToolScope-Retriever: Мы явно ограничили LLM, сказав: Используй ТОЛЬКО форматы из предоставленного списка. Это аналог того, как Retriever подает модели только релевантный, отфильтрованный набор инструментов, предотвращая "творчество" там, где нужна точность.

В результате модель не тратит ресурсы на интерпретацию похожих инструкций и не "галлюцинирует" новые форматы, а точно следует заданным правилам, что повышает предсказуемость и качество результата.


📌

Другой пример практического применения

Представим, пользователь планирует отпуск и хочет получить от LLM структурированный план. Обычно запросы выглядят как поток сознания. Применим ToolScope к своим же мыслям.

Ты — эксперт по планированию путешествий по Европе. Моя цель — составить реалистичный план 7-дневной поездки в Италию на двоих в сентябре.

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

*   **Приоритет 1 (Обязательно): Гастрономия.** План должен включать посещение аутентичных ресторанов, дегустацию местных вин и, возможно, кулинарный мастер-класс.
*   **Приоритет 2 (Очень важно): Искусство и история.** Посещение 2-3 ключевых музеев или исторических мест (например, Колизей, галерея Уффици). Без фанатизма, только самое главное.
*   **Приоритет 3 (Желательно): Расслабленный темп.** Избегать ежедневных переездов между городами. План должен предполагать не более 2-х городов для проживания за всю поездку.
*   **Приоритет 4 (Исключить):** Пляжный отдых, шоппинг, ночные клубы. Эти активности включать в план не нужно.

# Доступные "Инструменты" (Ограничения):
Вот правила, которые нужно использовать при планировании.

1.  **[Инструмент: "Бюджет"]:** Общий бюджет на двоих, не считая перелета, — 2000 евро. Распредели его по категориям: жилье, еда, развлечения.
2.  **[Инструмент: "Логистика"]:** Перемещение между городами — только на скоростных поездах.
3.  **[Инструмент: "Жилье"]:** Предпочтительный тип жилья — апартаменты (Airbnb), а не отели.

# Задача:
На основе моих приоритетов и ограничений, предложи пошаговый план поездки на 7 дней. План должен включать:
- Выбор 1-2 городов для базирования.
- Расписание по дням (утро, день, вечер) с конкретными предложениями по активностям.
- Примерный расчет бюджета.
🧠

Объяснение механизма почему этот пример работает.

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

  1. Эмуляция ToolScope-Merger: Пользователь сам выполнил "слияние" своих мыслей. Вместо "хочу вкусно поесть, и в музеи, но чтобы не устать, и не очень дорого" он создал секцию "Мои 'слитые' и ранжированные приоритеты". Это устраняет противоречия (например, "расслабленный темп" против "посмотреть все") и дает LLM четкую иерархию целей. Пункт "Исключить" работает как фильтр негативных примеров.

  2. Эмуляция ToolScope-Retriever: Секция "Доступные 'Инструменты' (Ограничения)" работает как отфильтрованный набор API. Вместо того чтобы позволить LLM фантазировать на тему логистики или бюджета, мы даем ей конкретные, неизменяемые правила ("Бюджет": 2000 евро, "Логистика": поезда).

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

📌

Оценка полезности: 68

📌

Основные критерии оценки

  • A. Релевантность техникам промтинга: Низкая. Исследование не предлагает новых формулировок для промптов конечного пользователя. Оно описывает системную архитектуру для работы с API (инструментами), которая скрыта от пользователя.
  • B. Улучшение качества диалоговых ответов: Косвенное. Улучшает точность выбора правильного инструмента, что ведет к более корректному результату, но не влияет на стиль или полноту самого текстового ответа.
  • C. Прямая практическая применимость: Очень низкая. Пользователь не может реализовать эту систему в обычном чате. Это решение для разработчиков LLM-агентов и платформ (например, для создателей кастомных GPT).
  • D. Концептуальная ценность: Очень высокая. Исследование блестяще иллюстрирует две фундаментальные проблемы LLM: 1) Модели путаются, когда им предлагают много семантически похожих, избыточных вариантов (например, несколько API для одной и той же задачи). 2) Производительность падает при увеличении контекста ("затеряться в середине"). Понимание этих ограничений критически важно для написания эффективных промптов.
  • E. Новая полезная практика (кластеры): Работа попадает в кластеры #2 (Поведенческие закономерности LLM), #6 (Контекст и память) и #7 (Надежность и стабильность). Она раскрывает, как семантическая избыточность и большой контекст снижают надежность модели, и предлагает RAG-подобную стратегию для решения этой проблемы.
  • Чек-лист практичности (+15 баллов): Да, исследование раскрывает неочевидные особенности поведения LLM (путаница в похожих инструментах) и предлагает способы улучшить точность ответов (через фильтрацию и слияние инструментов). Эти концептуальные знания можно адаптировать для написания промптов.
📌

Цифровая оценка полезности

Аргументы за оценку 68: Оценка находится в категории "Интересно, попробую адаптировать". Прямой пользы для написания промпта в ChatGPT здесь нет — пользователь не может "включить" ToolScope. Однако концептуальная ценность огромна. Исследование дает продвинутому пользователю (например, тому, кто создает кастомные GPT с "Actions" или пишет сложные системные промпты) мощную ментальную модель: "LLM работает лучше, когда у нее меньше неоднозначных и нерелевантных вариантов". Пользователь может вручную "эмулировать" ToolScope, тщательно отбирая и описывая инструменты (действия) для своего агента или предоставляя в контексте только самую релевантную информацию, предварительно "слив" похожие факты.

Контраргументы: * Почему оценка могла быть выше (75+)? Потому что для аудитории разработчиков LLM-агентов или "power users", создающих сложные системы на базе GPT, это исследование — чистое золото. Оно дает готовую архитектуру для повышения надежности агентов. Понимание принципа "гигиены контекста" (устранение избыточности) — это навык, который сразу улучшает качество взаимодействия с LLM в сложных задачах. * Почему оценка могла быть ниже (40-50)? Для абсолютного новичка, который использует LLM как простой чат-бот для общих вопросов, это исследование почти бесполезно. Он не работает с API, не управляет набором инструментов и не может применить эти выводы напрямую. Для него это чисто академическая работа, описывающая внутреннюю кухню, на которую он не может повлиять.


Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с