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

Предложения по продолжению

Qwen Code предсказывает ваш следующий ввод и отображает его в виде ghost text в поле ввода. Эта функция использует вызов LLM для анализа контекста диалога и генерации естественной рекомендации по следующему шагу.

Функция полностью работает в CLI. В WebUI доступны хук и базовые механизмы интерфейса, но хост-приложения должны самостоятельно инициировать генерацию предложений и настраивать состояние followup для их отображения.

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

После завершения ответа Qwen Code в поле ввода с небольшой задержкой (~300 мс) появляется предложение в виде затемнённого текста. Например, после исправления бага вы можете увидеть:

> run the tests

Предложение генерируется путём отправки истории диалога модели, которая предсказывает, что вы введёте дальше. Если ответ содержит явную подсказку (например, Tip: type post comments to publish findings), предлагаемое действие извлекается автоматически.

Принятие предложений

КлавишаДействие
TabПринять предложение и вставить его в поле ввода
EnterПринять предложение и сразу отправить его
Right ArrowПринять предложение и вставить его в поле ввода
Любой вводОтклонить предложение и продолжить обычный ввод

Когда появляются предложения

Предложения генерируются при соблюдении всех следующих условий:

  • Модель завершила ответ (не во время стриминга)
  • В диалоге произошло не менее 2 ответов модели
  • В последнем ответе отсутствуют ошибки
  • Нет ожидающих подтверждения диалогов (например, подтверждение shell, разрешения)
  • Режим подтверждения не установлен в plan
  • Функция включена в настройках (включена по умолчанию)

Предложения не отображаются в неинтерактивном режиме (например, headless/SDK).

Предложения автоматически отклоняются, когда:

  • Вы начинаете вводить текст
  • Начинается новый ответ модели
  • Предложение принято

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

По умолчанию для предложений используется та же модель, что и для основного диалога. Чтобы предложения генерировались быстрее и дешевле, настройте отдельную быструю модель:

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

/model --fast qwen3-coder-flash

Или используйте /model --fast (без указания имени модели), чтобы открыть диалог выбора.

Через settings.json

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

Быстрая модель используется для генерации предложений и спекулятивного выполнения. Если она не настроена, в качестве fallback используется модель основного диалога.

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

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

Эти параметры можно настроить в settings.json:

ПараметрТипПо умолчаниюОписание
ui.enableFollowupSuggestionsbooleantrueВключить или отключить предложения по продолжению
ui.enableCacheSharingbooleantrueИспользовать forked-запросы с учётом кэша для снижения затрат (экспериментально)
ui.enableSpeculationbooleanfalseСпекулятивно выполнять предложения до отправки (экспериментально)
fastModelstring""Модель для генерации предложений и спекулятивного выполнения

Пример

{ "fastModel": "qwen3-coder-flash", "ui": { "enableFollowupSuggestions": true, "enableCacheSharing": true } }

Мониторинг

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

Быстрая модель также отображается в выводе /about в разделе “Fast Model”.

Качество предложений

Предложения проходят через фильтры качества, чтобы гарантировать их полезность:

  • Должно содержать от 2 до 12 слов (CJK: от 2 до 30 символов), общая длина менее 100 символов
  • Не должно быть оценочным (“looks good”, “thanks”)
  • Не должно использовать стиль ИИ (“Let me…”, “I’ll…”)
  • Не должно состоять из нескольких предложений или содержать форматирование (markdown, переносы строк)
  • Не должно содержать мета-комментарии (“nothing to suggest”, “silence”)
  • Не должно быть сообщениями об ошибках или содержать префиксы (“Suggestion: …”)
  • Предложения из одного слова разрешены только для распространённых команд (yes, commit, push и т.д.)
  • Slash-команды (например, /commit) всегда разрешены в качестве предложений из одного слова
Last updated on