Qwen Code Еженедельник: /goal автономное кодирование, Auto Approval без подтверждения, изоляция Worktree
Чёткий сигнал из мира кодирующих агентов на этой неделе: все хотят, чтобы агент завершал работу самостоятельно, без присмотра. Claude Code выпустил /goal , Codex последовал , а OpenAI опубликовал оркестрацию Symphony для работы агентов в фоновом режиме. «Задать цель → отпустить → проверить результат» становится новым доминирующим паттерном взаимодействия.
Qwen Code выпускает v0.16.0 на этой неделе, делая три шага в том же направлении:
- Автономная работа — /goal + независимая модель-судья для определения завершения, с автоматическим отказом при обнаружении невозможных целей;
- Меньше прерываний — Auto Approval использует LLM-классификатор для оценки риска операций; операции с низким риском выполняются без подтверждения;
- Безопасная работа — Изоляция Worktree достигает фазы C с сохранением сессий + три режима восстановления.
✨ Новые возможности
/goal: Задайте цель, Agent работает до завершения
Claude Code только что выпустил /goal, и Qwen Code следует — но с дополнительным уровнем: независимая модель-судья оценивает «достигнута ли цель?» после каждого цикла операций, вместо того чтобы позволять модели исполнения судить себя.
Введите /goal "мигрировать все тесты с Jest на Vitest", и агент начинает кодировать автономно. После каждого цикла операций модель-судья проверяет статус цели. При выполнении условий завершения останавливается автоматически; если нет — продолжает следующий цикл. Если судья определяет, что цель невозможна в текущем контексте (например, отсутствующие зависимости, недостаточные права), он проактивно отказывается и объясняет причину — никаких бесконечных циклов, сжигающих токены.
Что вы можете с этим делать:
- Масштабные миграции, рефакторинг и другие многошаговые задачи — задайте цель и пусть агент работает без ручного подтверждения каждого цикла
- Судья независим от модели исполнения, избегая предвзятости «объявить себя завершённым»
- Невозможные цели автоматически отклоняются, нет расхода токенов на холостую работу
- Поддержка неинтерактивного режима и потоковых событий для интеграции с CI/CD
Auto Approval: LLM-классификатор автоматически одобряет операции с низким риском
Самое раздражающее при использовании агента: каждая запись файла, каждая shell-команда требует нажатия Y для подтверждения. Безопасно, но трение от прерываний интенсивное — особенно когда агент автономно выполняет /goal, а вас нет за столом.
Режим Auto Approval использует LLM-классификатор для оценки уровня риска каждой операции. Операции с низким риском (чтение файлов, запуск тестов, небольшие правки существующих файлов) автоматически одобряются; операции с высоким риском (удаление файлов, выполнение неизвестных скриптов, изменение конфигурации) по-прежнему запрашивают подтверждение. Настройте политику, и агент не будет заблокирован во время автономной работы.
Что вы можете с этим делать:
- После включения операции с низким риском проходят автоматически — больше не нужно нажимать Y по одной
- В сочетании с
/goal— агент не застревает в ожидании подтверждения при длительных автономных задачах - Классификация рисков настраивается; корпоративные сценарии могут ужесточить политику
См. PR #4151

Изоляция Worktree: Agent работает в независимом рабочем дереве
На прошлой неделе мы выпустили /branch — изоляцию на уровне разговора, позволяющую разветвлять несколько путей исследования в одной сессии. На этой неделе идём на уровень глубже: изоляция на уровне файлов.
Чего вы больше всего боитесь, когда агент изменяет код? Сломать основную ветку. Особенно при сложном рефакторинге — агент делает кучу изменений, а вы понимаете, что направление неверное, и приходится откатывать файл за файлом. /branch решает «как изолировать контекст разговора»; Worktree решает «как изолировать изменения кода».
Поддержка Worktree позволяет агенту работать в изолированном Git worktree. Внутри worktree все изменения файлов и выполнение команд ограничены этим независимым рабочим деревом — основная ветка не затрагивается. Довольны? Сливайте. Не довольны? Выбрасывайте.
На этой неделе переход сразу к фазе C: сохранение сессий worktree, автоматическая настройка hooksPath, нижняя панель статуса показывает текущую информацию о worktree, диалог подтверждения при выходе. /resume предлагает три режима восстановления — восстановить разговор + код, только разговор, или только код.
Что вы можете с этим делать:
- Агент делает экспериментальные изменения, не загрязняя основную ветку
- В сочетании с
/goal+ Auto Approval — пусть агент полностью автономно завершит крупную задачу в изолированной среде - Сессии worktree сохраняются;
/resumeдля восстановления и продолжения после выхода - Нижняя панель всегда показывает, в каком worktree вы находитесь — без путаницы
/rewind Восстановление файлов
/rewind уже умел перематывать разговоры; теперь может также восстанавливать файлы. При перемотке к определённой точке операции содержимое файлов восстанавливается до состояния на тот момент. Три варианта при перемотке: «восстановить код и разговор», «только разговор» или «только код», со статистикой изменений +N -N in M files для принятия решения.
Что вы можете с этим делать:
- Агент изменил 5 файлов и вы понимаете, что шаг 3 пошёл не туда —
/rewindвозвращает к моменту до шага 3, файлы тоже восстанавливаются - Не нужно вручную
git checkoutфайл за файлом — одна команда решает всё - Точнее, чем
git stash— восстановление до точного состояния конкретного хода разговора - В режиме IDE
/rewindясно объясняет, почему отключён, вместо молчаливого сбоя

Расширение VSCode: Редактирование отправленных сообщений
Отправили вопрос с неточным описанием? Не нужно /rewind + перепечатывать. Просто отредактируйте отправленное сообщение, и агент перезапустится с нового промпта. Нет ошибок при потере локальных снэпшотов — автоматический fallback на серверное восстановление.
Что вы можете с этим делать:
- Поняли, что промпт недостаточно точный — отредактируйте сообщение напрямую, агент перегенерирует из нового промпта
- Одно действие для «редактировать вопрос → перегенерировать» — без ручного
/rewind - Потеря локальных снэпшотов не вызывает ошибок — автоматический fallback на восстановление с сервера
См. PR #4147
Улучшение Hooks: Жизненный цикл Todo + Prompt Hook
Система hooks добавляет два новых типа событий на этой неделе:
TodoCreated / TodoCompleted: Срабатывают, когда агент создаёт или завершает элемент todo. Можно автоматически уведомлять, писать логи или запускать CI при завершении todo.
Prompt Hook: Новый тип hook type: "prompt", использующий LLM для оценки входных данных hook и возврата решения. Поддерживает плейсхолдер $ARGUMENTS для инъекции контекста, применим к любому событию hook.
Что вы можете с этим делать:
- Автоматическое уведомление Slack / DingTalk при завершении todo
- Принудительное повторное подтверждение перед удалением файла, логирование кто выполнил операцию
- Prompt Hook обеспечивает аудит ввода корпоративного уровня — несоответствующие инструкции блокируются до достижения модели
Встроенная интеграция ModelScope
Китайские разработчики получают ещё один источник моделей в один клик. ModelScope теперь встроенный сторонний API-провайдер — выберите и настройте прямо в /auth.
Что вы можете с этим делать:
- Без ручной настройки endpoint — выберите ModelScope прямо в меню
/auth - Прямое подключение внутри Китая, более низкая задержка
- Все совместимые модели на платформе ModelScope доступны
См. PR #4150

Предустановленные темы строки состояния: Украшение терминала в один клик
Терминальные инструменты не обязаны быть чёрно-белыми. Qwen Code включает несколько предустановленных стилей строки состояния, переключаемых через интерактивный диалог — с разной плотностью информации, цветовыми схемами и отображаемым содержимым.
Что вы можете с этим делать:
- Интерактивный диалог для предпросмотра и переключения между темами строки состояния
- Настраиваемая плотность информации: минимальный режим показывает только имя модели, детальный — с подсчётом токенов и временем
- Выбор сохраняется в конфигурации — не нужно перенастраивать каждый раз
См. PR #4120

/stuck + /doctor: Встроенный набор диагностических инструментов
Агент перестал отвечать — ограничение скорости? MCP упал? Переполнение контекста? Используете память давно и не уверены, что хранится? Раньше можно было только гадать. Теперь две встроенные диагностические команды покрывают разные уровни:
/stuck — диагностика на уровне сессии. При отсутствии ответа автоматически обнаруживает ограничение скорости, подключение MCP, давление памяти и предлагает исправления.
/doctor — диагностика на уровне памяти. Показывает количество файлов памяти, размер, состояние здоровья; находит аномально большие файлы памяти для очистки; диагностирует неточности памяти агента.
Что вы можете с этим делать:
/stuck: Диагностика одной командой при зависании сессии — без копания в логах/doctor: Периодические проверки здоровья памяти для предотвращения влияния раздувания на качество ответов- Вместе —
/stuckдля проблем реального времени,/doctorдля хронических проблем

Другие новые возможности
| Возможность | PR | Влияние |
|---|---|---|
| Инструмент NotebookEdit: Нативная поддержка редактирования Jupyter notebook | #3900 | Агент может напрямую редактировать файлы .ipynb — бесшовный рабочий процесс data science |
| per-turn /diff: Интерактивный diff по ходам | #4277 | Просмотр изменений после каждой операции, точно по ходам |
| Git status внедрён в system prompt | #4110 | Агент автоматически определяет текущую ветку и незафиксированные изменения |
| Навигация по истории Ctrl+P/N: Горячие клавиши в стиле readline | #4082 | Привычки Emacs/zsh переносятся бесшовно |
| Пакетное удаление /delete: Выбор нескольких сессий | #3733 | Больше не нужно удалять по одной |
| Пользовательский каталог вывода /export | #4193 | Файлы экспорта куда угодно |
| Поддержка изображений/видео Qwen3.6-35B-A3B | #4106 | Локальные квантизованные модели обрабатывают мультимодальный ввод |
| Улучшения режима Daemon: Маршрутизация прав, heartbeat, аутентификация клиента, страница отладки | #4232 , #4235 , #4132 | HTTP daemon движется к production-ready; Web UI / IM bot могут безопасно подключаться |
| Ctrl+X учитывает настройку /editor | #4310 | Внешний редактор открывается с вашей настройкой /editor |
| Сортировка по приоритету Skill | #4155 | Поле priority в SKILL.md управляет порядком отображения |
| Автономная установка | #3828 | Без необходимости окружения Node.js — установка в один клик |
| atomicWriteFile: Атомарные записи для Write/Edit | #4096 | Прерванные записи не создают наполовину записанных файлов |
| /auth унифицированный рефакторинг: Поток Connect a Provider | #4287 | Более понятная настройка auth — все провайдеры в одном месте |
📊 Улучшения производительности
| PR | Улучшение | Влияние |
|---|---|---|
| #4070 | Code-split lowlight, снижение накладных расходов парсинга V8 при запуске | Более быстрый запуск |
| #4101 | Удаление инлайн-медиа перед сводкой сжатия | Более высокое качество сжатия — токены не тратятся на base64 изображений |
| #4086 | Суб-агент Explore использует fastModel | Исследовательские подзадачи на малой модели — экономия без потери качества |
| #4186 | Страховочная сеть автосжатия при давлении кучи | Экстремально длинные разговоры больше не крашатся с OOM |
| #4172 | Auto-memory recall отвязан от основного пути запроса | Вызов памяти больше не замедляет первый ответ |
| #4125 | Результаты фоновых задач усечены + новейшие первыми | Панель фоновых задач чище |
| #4153 | Cross-auth fast models расширены на суб-агенты | Суб-агенты тоже могут использовать fastModel для экономии |
🔧 Важные исправления
| PR | Исправление | Влияние |
|---|---|---|
| #4143 | /language срабатывает мгновенно без перезапуска | Смена языка без перезапуска сессии |
| #4147 | Сохранение состояния мышления VSCode + восстановление снэпшота редактирования | Процесс мышления агента больше не теряется в VSCode |
| #4059 | MinTTY Ctrl+Backspace корректно обрабатывается как удаление предыдущего слова | Горячие клавиши Windows MinTTY работают |
| #4130 | VSCode diff переиспользует существующую группу редакторов | Открытие diff больше не принуждает к новой колонке |
| #4166 | Progressive MCP инструменты обновлены в systemInstruction модели | MCP инструменты, обнаруженные в фоне, корректно вызываются моделью |
| #3980 | Контекст IDE корректно объединяется с промптом пользователя | Агент видит ваши открытые файлы в режиме IDE |
| #4023 | Авто-восстановление промпта + сохранение очереди после отмены | Ctrl+C больше не теряет уже набранное |
| #4121 | Блоки Anthropic tool_result допускают cache_control | Кэш промптов Claude более стабилен |
| #4157 | Расширение распознавания провайдера DashScope с дополнительными правилами hostname | Самостоятельно размещённые шлюзы DashScope корректно определяются |
| #4129 | Исправления перевода на традиционный китайский | Интерфейс zh-TW более естественный |
| #3896 | Кумулятивная нормализация stream deltas OpenAI | Более стабильный потоковый вывод с моделями OpenAI |
| #4286 | structuredClone заменён неглубоким копированием для предотвращения OOM длинных сессий | Длинные разговоры больше не OOM из-за глубокого копирования |
| #4294 | Рассуждения Qwen3 корректно отражаются в исходящей истории | Полная цепочка рассуждений сохраняется с моделями Qwen3 |
| #4243 | Idle microcompaction сохраняет состояние read-before-write | Сжатие в простое больше не ломает проверки редактирования файлов |
| #4213 | Миграции имён инструментов применяются при dispatch | Устаревшие имена инструментов автоматически сопоставляются с новыми без ошибок |
👋 Приветствуем новых участников
- @ZevGit — Улучшение обработки ошибок fetch options в runtime (#3997 )
- @Col0ring — Встроенный сторонний API-провайдер ModelScope (#4150 )
- @Dinsmoor — Поддержка изображений/видео квантизованного варианта Qwen3.6-35B-A3B (#4106 )
- @xmillogx-cmd — Лимиты кэша при сборке/тестировании для предотвращения OOM (#4188 )
- @shenyankm — Настраиваемый каталог вывода Plan Mode (#4062 )
- @jifeng — Страница отладки Daemon /demo (#4132 )
- @Alexxigang — Исправление зеркалирования рассуждений Qwen3 в исходящей истории (#4294 )
- @ideal — Исправление совместимости pin fetch to bundled undici (#4238 )
Как обновить: Выполните npm i @qwen-code/qwen-code@latest -g для обновления до последней версии.
По вопросам и предложениям, пожалуйста, оставляйте отзывы в GitHub Issues ! ENDOFFILE; __aone_exit=__aone_exit