Qwen Code Еженедельник: Панель Параллельных Агентов, Auto-Memory По Умолчанию, Worktree Фаза D
Пространство coding agents разогрелось ещё на градус на этой неделе. Cognition объявил о привлечении более 26 млрд, а Simon Willison заявил что Anthropic и OpenAI нашли PMF через coding agents —ценой значительного роста корпоративных расходов. Тем временем NVIDIA открыла исходный код Polar — фреймворка reinforcement learning , используя Qwen Code как объект тестирования—поднимая показатели SWE-Bench с 3,8% до 26,4% на базе Qwen3.5-4B.
Qwen Code выпустил v0.16.2 на этой неделе с 30+ смёрженными PR, покрывающими три направления, которые пользователи ощущают наиболее непосредственно:
Параллельные агенты наконец видимы. Раньше когда несколько агентов работали одновременно, вы могли только наблюдать за прокруткой логов. Теперь есть компактная панель — одна строка на под-агента, клавиатурная навигация, прогресс в реальном времени. Это первый действительно пригодный интерфейс взаимодействия для «агентов, эволюционирующих из однопоточных помощников в многопоточные команды.»
Память не требует настройки. auto-dream и auto-skill теперь включены по умолчанию. Агент учится вашим предпочтениям и соглашениям проекта по мере использования, сохраняя между сессиями. Новая команда /memory для просмотра и переключения в любой момент. По сравнению с Claude Code, который всё ещё требует ручного ведения CLAUDE.md — это значительный разрыв в UX.
Изолированная среда одним параметром. Worktree продвинулся с Фазы C прошлой недели (сохранение сессии) до Фазы D — qwen-code --worktree запускает непосредственно в независимом рабочем дереве, --worktree=#<N> получает код удалённого PR. Опциональная конфигурация worktree.symlinkDirectories создаёт символические ссылки тяжёлых директорий вроде node_modules на основной репозиторий, избегая избыточных установок. В сочетании с /goal + Auto Approval агент выполняет полную задачу автономно в изоляции, при этом основная ветка остаётся чистой.
Кроме того, проблема переполнения длинных разговоров получила реальный прогресс на этой неделе: автосжатие было перепроектировано с одного порога на трёхуровневую лестницу warn / auto / hard, сокращая впустую потраченное пространство для моделей с большим окном с 30% до фиксированных 33K. Headless-режим получил --max-wall-time и --max-tool-calls как бюджеты выполнения — наконец жёсткий лимит для агентов в CI.
✨ Новые Функции
Панель Параллельных Агентов: Все Агенты Видны Одним Взглядом
Если вы следите за трендами coding agents, «параллельный» — самое упоминаемое ключевое слово. Оценка Cognition в $26 млрд продаёт историю нескольких агентов, работающих одновременно. Но когда несколько агентов запущены, как узнать кто что делает и где находится?
Подход Qwen Code: когда 2 или более агентов выполняются параллельно, автоматически рендерится компактная inline-панель (InlineParallelAgentsDisplay). Каждый под-агент получает одну строку с отображением статуса, имени, текущей операции, прошедшего времени и потребления токенов. Клавиатура ↑↓ переключает фокус, Enter раскрывает детали для полного вывода, Esc возвращает к полю ввода, а набор текста автоматически снимает фокус — полностью без мыши.
Что вы можете с этим делать:
- Когда
/reviewи подобные команды запускают несколько под-агентов, видите весь прогресс одним взглядом (статус/имя/операция/время/токены) - Клавиатурная навигация: ↑↓ для выбора, Enter для раскрытия деталей, Esc для возврата к вводу — набор автоматически снимает фокус
- Панель обновляется в реальном времени во время активной фазы, затем фиксируется как прокручиваемая история
См. PR #4477

Auto-Memory Включена По Умолчанию + Переключатель /memory
Claude Code активно продвигает авто-память — пользователям нужно вручную создавать CLAUDE.md и писать правила для запоминания агентом. Проблема: многие даже не знают о существовании этого файла, не говоря о его поддержке.
Qwen Code на этой неделе включил auto-dream и auto-skill по умолчанию. Это значит: что агент узнаёт в разговоре (ваши предпочтения, соглашения проекта, частые паттерны) автоматически записывается в память и загружается в следующей сессии. Без настройки, без создания файлов, работает сразу из коробки.
Если вы хотите ручное управление, диалог /memory теперь включает строку переключателя Auto-skill рядом с существующими Auto-memory и Auto-dream — три переключателя навигируются стрелками, переключаются Enter, настройки сохраняются в .qwen/settings.json рабочей области.
Что вы можете с этим делать:
- Нулевая настройка — все три подсистемы управляемой памяти (итоговая память, поэтапная консолидация, извлечение навыков) включены по умолчанию
- Предпочтения и соглашения проекта сохраняются между сессиями без повторения
- Диалог
/memoryпредоставляет три строки переключателей для включения/отключения любой подсистемы в любое время - Существующие явные настройки не затронуты — новые значения по умолчанию не перезаписывают ваши предыдущие выборы
См. PR #4547

Worktree Фаза D: Запуск Непосредственно в Изоляции
На прошлой неделе Worktree достиг Фазы C — сохранение сессии + отображение в строке статуса. На этой неделе прыжок сразу до Фазы D: добавьте --worktree при запуске и Qwen Code автоматически создаёт и входит в независимое рабочее дерево. С PR refs вы можете подтянуть код любого PR в изолированную среду для ревью или продолжения разработки, не затрагивая основную ветку.
Ещё одна практичная конфигурация: настройки worktree.symlinkDirectories поддерживают создание символических ссылок тяжёлых директорий вроде node_modules и .venv в worktree обратно на основной репозиторий. Это opt-in — настройте список путей в .qwen/settings.json, и все последующие worktree (--worktree, инструмент enter_worktree, Agent isolation) применяют автоматически. Обход путей, абсолютные пути, директории .git и .qwen безопасно отклоняются.
Что вы можете с этим делать:
qwen --worktreeвходит в изоляцию одним параметром — без ручногоgit worktree add--worktree=#<N>или URL PR GitHub: получает удалённый PR черезgit fetch origin pull/<N>/headв worktree- Настройте
worktree.symlinkDirectoriesдля совместного использования больших директорий через symlink без переустановки - Формирует полный цикл с сохранением сессии +
/resumeпрошлой недели
См. PR #4381

Защита Headless: Бюджеты Выполнения для Неинтерактивного Режима
Anthropic на этой неделе опубликовал Фреймворк Безопасности Zero Trust для AI Agent , отметив что главный риск автономных агентов — «выйти из-под контроля без возможности остановки.» Baoyu (@dotey ) говорит то же самое: ключ к хорошему использованию coding agents на обоих концах — планирование в начале и ревью в конце.
Qwen Code добавил два параметра бюджета выполнения: --max-wall-time (максимальное время выполнения, поддерживает форматы 90, 30s, 5m, 1h) и --max-tool-calls (максимальное количество вызовов инструментов). При исчерпании бюджета завершается с exit code 55, отличным от отмены пользователем (130) и лимитов ходов (53) — CI-скрипты могут точно определить причину завершения.
Кроме того, при использовании --yolo (полное авто-одобрение) без sandbox в headless-режиме при запуске выводится предупреждение безопасности в stderr, подавляемое через QWEN_CODE_SUPPRESS_YOLO_WARNING=1.
Что вы можете с этим делать:
qwen -p "рефакторинг модуля" --max-wall-time 5m --max-tool-calls 50— жёсткие лимиты для агентов в CI- Автоостановка при исчерпании бюджета, exit code 55, CI-скрипты различают «бюджет исчерпан» и «завершено нормально»
- Все бюджеты по умолчанию
-1(без ограничений), существующее использование не затронуто - Предупреждение при запуске
--yoloбез sandbox помогает обнаружить небезопасные конфигурации
См. PR #4502

Трёхуровневое Автосжатие: Больше Никаких Переполнений Длинных Разговоров
Simon Willison говорит что coding agents значительно повышают корпоративные расходы. Основная причина: контекст длинных разговоров растёт непрерывно, и при приближении к окну контекста модели либо крашится, либо теряет критическую информацию.
Qwen Code перепроектировал автосжатие с единого порога (срабатывание при 70% окна) на трёхуровневую лестницу, с двойной проверкой доли занятости и абсолютного количества байт:
- Уровень warn (≈60% окна или 20K до уровня auto): предупреждает пользователя что контекст приближается к пределам — раннее предупреждение UX
- Уровень auto (≈70% окна или 13K до края окна): проактивно запускает сжатие, низкая стоимость, почти без потерь качества разговора
- Уровень hard (3K до края окна): принудительное сжатие — последняя страховочная сеть перед отклонением API слишком большого prompt
Модели с маленьким окном (32K/64K) используют ветку процентов, модели с большим окном — ветку абсолютных байт — впустую потраченное пространство сокращается с 30% окна до примерно 33K фиксированных накладных расходов.
Что вы можете с этим делать:
- Длинные разговоры больше не крашатся из-за переполнения контекста — уровень hard принудительно сжимает до отклонения API
- Никакой ручной настройки, система автоматически рассчитывает трёхуровневые пороги на основе размера окна модели
- Старая конфигурация
chatCompression.contextPercentageThresholdустарела, выводит предупреждение deprecation при запуске
См. PR #4345

Подстановка Команд Больше Не Отклоняется: Подтверждение + ⚠️ Предупреждение
Фреймворк Безопасности Zero Trust Anthropic отмечает что границы безопасности агентов должны балансировать между «удобством» и «безопасностью.» Qwen Code ранее был чрезмерно строг: если команды shell, сгенерированные агентом, содержали $(), обратные кавычки, <() или другой синтаксис подстановки команд, выполнение категорически отклонялось — даже YOLO-режим не мог обойти.
Теперь показывается диалог подтверждения с предупреждением ⚠️ «Contains command substitution». Вы видите предупреждение и выбираете разрешить или отклонить — решение за вами, никаких огульных отказов. YOLO-режим выполняет нормально с записью аудита в логах DEBUG для последующей проверки.
Что вы можете с этим делать:
- Легитимные сценарии вроде
$(git rev-parse HEAD)для получения хеша коммита больше не блокируются - Диалог подтверждения показывает ⚠️ для немедленного распознавания синтаксиса подстановки
- YOLO-режим выполняет нормально, логи DEBUG сохраняют записи аудита
- Инструмент Monitor исправляет ту же проблему чрезмерно строгого отклонения
См. PR #4386

Больше Новых Функций
| Функция | PR | Влияние |
|---|---|---|
| Token Plan Cache Control: кэш prompt экономит повторную оплату | #4495 | Пользователи Token Plan получают авто-кэширование system prompt в последовательных разговорах |
| Навык memory-leak-debug: встроенная диагностика утечек памяти | #4468 | Агент имеет системный workflow анализа heap snapshot для утечек памяти |
| Автодополнение директорий без пробела | #4288 | Tab-дополнение директорий позволяет продолжать ввод подпутей |
| Удаления MCP серверов сохраняются | #4535 | Удалённые MCP серверы остаются удалёнными после перезапуска |
| Триггер @ требует предшествующий пробел | #4487 | Email-адреса и другой текст с @ больше не вызывают ложное автодополнение файлов |
| Вставка нескольких путей файлов авто-добавляет @ | #4544 | Вставка нескольких путей из терминала автоматически конвертирует в @-ссылки |
| Локальный контекст проекта .qwen/QWEN.local.md | #4394 | Создайте .qwen/QWEN.local.md в корне проекта для личных локальных правил |
| Prompt new app перенесён в skills | #4567 | Направляющие промпты нового приложения более гибкие и настраиваемые |
| ACP Streamable HTTP transport | #4472 | Daemon добавляет стандартную конечную точку протокола ACP для интеграции сторонних UI |
| Daemon push followup_suggestion | #4507 | Web UI автоматически предлагает следующие шаги после завершения сессии |
| Лимит параллелизма фоновых агентов | #4324 | Фоновые агенты не исчерпывают ресурсы запуском слишком многих одновременно |
| Распространение W3C traceparent | #4390 | Предприятия могут отслеживать полные цепочки вызовов для запросов агента |
| Daemon CORS allowlist | #4527 | --allow-origin точно контролирует какие фронтенды могут обращаться к Daemon |
| Переключение модели в сессии Daemon | #4546 | Смена моделей посреди разговора без выхода |
| Файловое логирование Daemon | #4559 | Логи выполнения Daemon записываются в файл для удобной отладки |
| Serve prompt deadline + SSE idle timeout | #4530 | Долго не отвечающие запросы автоматически таймаутятся |
| Serve POST /session/:id/recap | #4504 | Получение резюме сессий для обзоров истории разговоров в Web UI |
🔧 Важные Исправления
| PR | Исправление | Влияние |
|---|---|---|
| #4366 | Исправление утечки слушателей AbortSignal в длинной сессии (MaxListenersExceededWarning) | Длинные разговоры больше не выдают предупреждения о переполнении слушателей |
| #4489 | auto-skill больше не перезаписывает существующие файлы навыков | Вручную написанные навыки не перезаписываются авто-созданными |
| #4407 | safeJsonStringify сохраняет повторные ссылки на объекты | Сложные структуры данных больше не теряют информацию при сериализации |
| #4426 | Маскировка учётных данных в диагностической информации | Сообщения об ошибках больше не утекают ключи/токены |
| #4371 | Удалены дополнительные опасные правила интерпретатора | Границы разрешений агента строже |
| #4478 | Значения по умолчанию моделей Token Plan выровнены с ModelStudio | Пользователи Token Plan видят списки моделей, согласованные с платформой |
| #4512 | Статистика токенов /context выровнена с реальными API-запросами | /context наконец показывает точные подсчёты токенов |
| #4465 | Интеграция WeChat разрешает пути изображений Windows workspace | Пользователи Windows больше не получают ошибки путей при отправке изображений через WeChat |
| #4464 | Интеграция WeChat отправляет расшифровываемые payload изображений | Изображения отправленные через интеграцию WeChat теперь видны получателям |
| #4517 | Обновление производных значений по умолчанию исходной модели | Конфигурации параметров корректно обновляются после смены модели |
| #4461 | Показ предупреждений при запуске в stderr перед рендером TUI | Проблемы при запуске больше не поглощаются интерфейсом TUI |
| #4470 | Исправление гонки устаревшего замыкания в обработчике коммита текстового буфера | Быстрый ввод больше не теряет содержимое изредка |
| #4510 | Дополнительные исправления кросс-клиентской синхронизации Daemon (epoch-reset, сериализация approval-mode) | Множественные подключения клиентов к одному Daemon имеют более стабильную синхронизацию состояния |
| #4497 | Claude marketplace корректно заполняет ресурсы при указании на папку | Загрузка ресурсов больше не пуста при использовании плагинов Claude marketplace |
| #4491 | Timeout canUseTool SDK соблюдается в запросах управления CLI | Таймауты вызовов инструментов больше не игнорируются в интеграциях SDK |
| #4453 | Очистка устаревших выходных данных перед сборкой предотвращает TS5055 | Разработчики, собирающие из исходников, больше не получают ошибки инкрементальной сборки TypeScript |
🙏 Участники
Спасибо всем участникам этой недели:
| Участник | Основные Вклады |
|---|---|
| @LaZzyMan | Worktree Фаза D, трёхуровневое автосжатие, auto-memory по умолчанию, исправление перезаписи auto-skill, исправление разрешений подстановки команд |
| @wenshao | Панель параллельных агентов, исправление триггера @ |
| @DragonnZhang | Token Plan cache control, исправление SDK, документация monitor |
| @doudouOUC | Распространение W3C traceparent, Serve deadline/recap, исправление утечки AbortSignal, телеметрия |
| @chiga0 | Переключение модели в сессии Daemon, исправление кросс-клиентской синхронизации |
| @huww98 | Навык memory-leak-debug, исправление устаревшего замыкания |
| @yiliang114 | Исправления интеграции WeChat, OSS sync CI |
| @BZ-D | Защита headless |
| @dykebo | Оптимизация автодополнения директорий |
| @kkhomej33-netizen | Лимит параллелизма фоновых агентов |
| @pomelo-nwu | Исправление выравнивания /context, рефакторинг шаблона PR |
| @qqqys | Маскировка учётных данных, усиление безопасности правил интерпретатора |
| @Jerry2003826 | Сохранение удалений MCP, исправление значений по умолчанию модели |
| @MikeWang0316tw | Вставка нескольких файлов авто-добавляет @ |
| @DennisYu07 | Миграция prompt new app |
| @YingchaoX | Выравнивание значений по умолчанию Token Plan |
| @ihubanov | Исправление safeJsonStringify |
| @kagura-agent | Отображение предупреждения при запуске (первый вклад 🎉) |
Как обновить: Выполните npm i @qwen-code/qwen-code@latest -g для получения последней версии.
По вопросам или предложениям создавайте issue на GitHub Issues !