Skip to Content
Руководство для пользователейВозможностиКраткие сводки использования инструментов

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

Qwen Code может генерировать короткую метку в стиле темы коммита Git после завершения каждого пакета инструментов, суммируя, что было сделано в этом пакете. Метка отображается inline: для завершённой группы инструментов в главном виде она заменяет стандартный заголовок Tool × N; когда группа принудительно раскрыта (в режиме детального просмотра Ctrl+O или для пакетов с ошибками / запущенных пользователем) она отображается как тусклая строка ● <label> под группой.

Это вспомогательное средство UX для параллельных вызовов инструментов: когда модель разветвляется на несколько вызовов Read + Grep + Bash одновременно, сводка позволяет сразу увидеть намерение, вместо того чтобы просматривать список инструментов.

Эта функция включена по умолчанию и работает незаметно в фоне. Для её работы требуется настроенная быстрая модель.

Что вы видите

Главный вид (завершённая группа)

В основном транскрипте завершённый сворачиваемый пакет сворачивается в одну строку с меткой — сводка заменяет стандартный заголовок Tool × N:

╭──────────────────────────────────────────────╮ │✓ Read 4 text files │ ╰──────────────────────────────────────────────╯

Полный вывод по каждому инструменту доступен по нажатию клавиши: нажмите Ctrl+O для переключения в режим детального просмотра.

Режим детального просмотра (Ctrl+O) и принудительно раскрытые группы

Когда группа принудительно раскрыта — в режиме детального просмотра Ctrl+O или для пакетов с ошибками / запущенных пользователем в главном виде — каждый инструмент отображается отдельно, и сводка появляется как тусклая строка-значок под группой:

╭──────────────────────────────────────────────╮ │ ✓ ReadFile a.txt │ │ ✓ ReadFile b.txt │ │ ✓ ReadFile c.txt │ │ ✓ ReadFile d.txt │ ╰──────────────────────────────────────────────╯ ● Read 4 text files

Как это работает

После завершения пакета инструментов Qwen Code выполняет асинхронный вызов настроенной быстрой модели, передавая:

  • Имена инструментов, сокращённые аргументы и сокращённые результаты (каждое поле ограничено 300 символами).
  • Последний текстовый вывод ассистента (первые 200 символов) в качестве префикса намерения.
  • Системный промпт, который предписывает модели вернуть метку в прошедшем времени, длиной до 30 символов, в стиле темы коммита Git.

Этот вызов выполняется параллельно с потоковой передачей API следующего шага, поэтому его задержка около 1 с скрыта за временем ответа основной модели. Когда метка готова, она добавляется в транскрипт как запись tool_use_summary.

Примеры меток: Searched in auth/, Fixed NPE in UserService, Created signup endpoint, Read config.json, Ran failing tests.

Когда она отображается

Сводка генерируется, когда все следующие условия истинны:

  • experimental.emitToolUseSummaries имеет значение true (по умолчанию).
  • Настроена fastModel (через настройки или /model --fast).
  • Хотя бы один инструмент завершился в пакете.
  • Шаг не был прерван до завершения инструмента.
  • Быстрая модель вернула непустой ответ без ошибок.

Вызовы инструментов субагента не запускают генерацию сводки — только пакеты инструментов основной сессии.

Когда она не отображается

Сводка молча пропускается (без ошибки, без изменений в интерфейсе), когда:

  • Не настроена быстрая модель.
  • Вызов быстрой модели завершается ошибкой, тайм-аутом или возвращает пустой ответ.
  • Модель вернула очевидную строку, похожую на сообщение об ошибке (например, Error: ..., I cannot ...) — клиент фильтрует такие ответы, чтобы в интерфейсе не отображались вводящие в заблуждение метки.
  • Шаг был прерван (Ctrl+C) до завершения модели.

Во всех этих случаях группа инструментов отображается как обычно.

Быстрая модель

Метка генерируется с помощью быстрой модели — той же модели, которую вы настраиваете для подсказок и спекулятивного выполнения. Настройте её:

Через команду

/model --fast qwen3-coder-flash

Через settings.json

{ "fastModel": "qwen3-coder-flash" }

Если быстрая модель не настроена, генерация сводки полностью пропускается — функция не действует, пока вы её не настроите.

Конфигурация

Эти настройки можно задать в settings.json:

НастройкаТипПо умолчаниюОписание
experimental.emitToolUseSummariesbooleantrueГлавный переключатель генерации сводок. Отключите, чтобы запретить дополнительный вызов быстрой модели.
fastModelstring""Быстрая модель, используемая для генерации сводок (общая с подсказками). Обязательна; неактивна, если пусто.

Переопределение через переменную окружения

QWEN_CODE_EMIT_TOOL_USE_SUMMARIES переопределяет настройку experimental.emitToolUseSummaries для текущей сессии:

  • QWEN_CODE_EMIT_TOOL_USE_SUMMARIES=0 или =false — принудительно выключено.
  • QWEN_CODE_EMIT_TOOL_USE_SUMMARIES=1 или =true — принудительно включено.
  • Не задано — используется настройка experimental.emitToolUseSummaries.

Пример

{ "fastModel": "qwen3-coder-flash", "experimental": { "emitToolUseSummaries": true } }

Область применения и жизненный цикл

Три пункта, которые часто сбивают с толку при первом знакомстве с этой функцией:

  1. Одна генерация на пакет, общая для обоих режимов отображения. Вызов быстрой модели происходит ровно один раз в handleCompletedTools, когда пакет инструментов завершается. Последующее переключение режима детального просмотра Ctrl+O не вызывает новый вызов — как свёрнутое, так и раскрытое отображение читают одну и ту же запись tool_use_summary, захваченную в первый раз.

  2. Нет дополнения при переключении или возобновлении сессии. Группа инструментов (tool_group), которая завершилась до включения функции (или до того, как вы изменили настройку, или в возобновлённой сессии — ChatRecordingService не сохраняет записи сводок), никогда не получит метку. Нет прохода «добавить метки к существующей истории». Если вы включите эту настройку в середине сессии, метки появятся только у будущих пакетов; старые группы останутся в стандартном отображении без указания на отсутствие метки.

  3. Только пакеты основного агента. Триггер находится в цикле шагов основной сессии (useGeminiStream), поэтому:

    • ✅ Оболочка, MCP, файловые операции и сам вызов инструмента Task / субагента (как он отображается в основном пакете) получают сводки.
    • Внутренние пакеты инструментов субагента (выполняемые через packages/core/src/agents/runtime/) не получают сводок.

    Внешний пакет, содержащий инструмент Task, всё равно получит метку, но быстрая модель увидит только вызов инструмента субагента и его агрегированный вывод, а не отдельные вызовы инструментов внутри субагента. Ожидайте метки вроде Ran research-agent или Delegated file search, а не Searched 14 files. Это сделано намеренно — сводка внутренностей субагента умножила бы затраты на быструю модель и создала бы шум, который никогда не отображается в основном интерфейсе.

Поведение при отображении

Главный вид уже сворачивает завершённый сворачиваемый пакет в одну строку с меткой (✓ Read 4 text files) — сводка выполняет работу старого списка инструментов. Для полного вывода по каждому инструменту нажмите Ctrl+O для переключения в режим детального просмотра, где каждый инструмент отображается отдельно, а сводка идёт как завершающая строка ● <label> под группой.

{ "fastModel": "qwen3-coder-flash", "experimental": { "emitToolUseSummaries": true } }

Для небольших однотипных пакетов (например, Read × 3) раскрытая строка ● <label> может читаться как повторение видимых строк инструментов; если это соответствует вашему обычному рабочему процессу, вы можете полностью отключить сводку через experimental.emitToolUseSummaries: false.

Мониторинг

Использование модели для сводок отображается в выводе /stats в разделе итогов по токенам быстрой модели, с prompt_id tool_use_summary_generation, чтобы его можно было отличить от подсказок и других фоновых задач.

Поток данных и конфиденциальность

Вызов сводки отправляет быстрой модели имя каждого успешного инструмента, сокращённые args и сокращённый результат (каждое поле ограничено 300 символами), а также первые 200 символов последнего текста ассистента в качестве префикса намерения.

Если ваша быстрая модель настроена на того же провайдера/с той же аутентификацией, что и модель основной сессии, данные передаются по тем же границам, которые уже использует основная сессия — доверительная область не меняется. Если вы настроили быструю модель от другого провайдера, входные и выходные данные инструментов (включая, возможно, содержимое файлов, прочитанных read_file, вывод команд из shell-вызовов или значения, полученные через инструменты MCP) будут отправлены этому другому провайдеру в составе промпта сводки. Это строго более широкая область обмена данными, чем в основной сессии.

Если это важно для вашего рабочего процесса, у вас есть два чистых варианта:

  • Настройте fastModel на модель того же провайдера, что и основная сессия, чтобы вызов сводки не пересекал никаких новых границ аутентификации/данных.
  • Полностью отключите функцию через experimental.emitToolUseSummaries: false (или QWEN_CODE_EMIT_TOOL_USE_SUMMARIES=0).

Ограничение в 300 символов на поле снижает утечку, но не устраняет её полностью — секреты, обнаруженные в выводе инструмента в пределах этого окна, всё ещё могут быть отправлены. Относитесь к границе данных быстрой модели так же, как к границе основной модели.

Стоимость

Один вызов быстрой модели на каждый подходящий пакет инструментов. Входные данные — небольшой фиксированный системный промпт плюс сокращённые входы/выходы инструментов (каждое поле ограничено 300 символами). Выходные данные — одна короткая строка (ограничена 100 символами, обычно 20 токенов или меньше). На типичной быстрой модели это примерно $0.001 за пакет.

Если вы не хотите дополнительных затрат, отключите функцию через experimental.emitToolUseSummaries: false или QWEN_CODE_EMIT_TOOL_USE_SUMMARIES=0.

Связанные темы

  • Режим детального просмотра — нажмите Ctrl+O для раскрытия всех выводов инструментов inline; сводка заменяет стандартный заголовок группы инструментов для завершённых групп в главном виде.
  • Последующие подсказки — ещё одно улучшение UX на основе быстрой модели, которое использует ту же настройку fastModel.
Last updated on