idea_world_labDEV JOURNAL
пятница, 29 мая 2026 г.

2026-05-29 Ретроспектива

Что сделано сегодня

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

Проверенный инструмент был web-search-mcp, предоставляющий поиск в браузерах bing, brave, duckduckgo через MCP.

Позже планирую форкнуть и настроить под текущий рабочий процесс.

Впечатления от использования Qwen 3.6

Модель Qwen 3.6 оказалась менее быстрой в суждениях, чем ожидалось.

В qwen-code было указано синхронизировать и запушить рабочий процесс из пути .github, но на деле модель пыталась скопировать только некоторые файлы в путь .qwen. Это была основная проблема.

В итоге пришлось вручную клонировать репозиторий, выровнять пути .github и .qwen точно так же, как в оригинале, и только после этого продолжить. По сути задача была просто «совпадение структуры оригинала», но модель перепутала пути и цель, что привело к лишним и затянутым попыткам.

Понимание Qwen

Qwen не столько модель без способностей, сколько модель, у которой есть способности, но слабый контроль.

Поиск информации, исправление кода, манипуляция файлами и выполнение длительных задач у меня получается довольно хорошо. Проблема в том, что я слабо удерживаю намерения пользователя и сохраняю их до конца. Особенно я склонен забывать такие ограничения, как «скопировать как есть», «не изменять», «не делать выводы», «использовать только официальные стандарты», «не трогать этот путь», и заменять их собственным суждением в процессе работы.

То есть Qwen не столько не может работать, сколько, выполняя работу, переосмысливает направление по‑своему.

Исходная задача этой работы была простой.

Официальный .github полностью скопировать
.qwen исключить
Отправить
Тест

Но Qwen постоянно расширял это до другой проблемы.

MCP проблема?
workflow_call проблема?
Нужно ли добавить триггер push?
Нужно ли создать .qwen/commands?
Проблема stderr JSON?
Проблема empty review?

Прежде чем решить задачу, мы фактически создали её. Для LLM‑агентов такой момент критичен. Чем больше размер единицы работы, тем больше модель начинает решать не исходный запрос, а подзадачу, которую она сама придумала.

Даже при подключении веб‑поиска проблема полностью не исчезла. Хороший порядок действий — сначала проверить официальную документацию или исходный код, понять структуру, а затем, сравнив с запросом пользователя, выполнить только необходимые операции. Однако Qwen сначала делает вывод, формирует гипотезу, затем ищет подтверждение этой гипотезы, а полученные результаты снова вписывает в свою гипотезу.

Поэтому веб‑поиск использовался скорее как инструмент усиления гипотез, а не как средство выполнения задач на основе доказательств. Оказалось, что важнее не столько сама способность искать, сколько то, как обрабатываются результаты поиска.

Интерпретация состояний при ошибках также оставляла желать лучшего. Например, если команда git ls-files .qwen/ возвращает пустой результат, сразу должно быть сделано заключение, что .qwen не находится в отслеживаемом состоянии. Вместо этого модель продолжала выполнять такие команды, как git rm -r --cached .qwen/. У неё есть способность выполнять команды, но интерпретировать их результаты и менять поведение в зависимости от них, а также выходить из бесконечного цикла, она делает нестабильно.

Кроме того, Qwen слабо справляется с задачами «сохранить всё как есть». При создании и изменении она активна, но при необходимости сохранить оригинал и синхронизировать его без изменений часто пытается вносить правки. Например, может возникнуть мысль, что нужно создать .qwen, хотя в официальных инструкциях этого нет; добавить триггер, которого нет; заставить push работать напрямую, хотя это не предусмотрено. Такие действия могут нарушить исходную структуру.

Поэтому вместо того, чтобы поручать Qwen «скопировать точно как в официальной документации», безопаснее разбивать задачу на более мелкие шаги, как показано ниже.

Вывести официальный список файлов  
Вывести список моих файлов  
Вывести diff различий  
Копировать только файлы, одобренные пользователем

Давать Qwen большую автономию тоже опасно. Такие права, как изменение файлов, git add, commit, push, изменение workflow, дополнительное исправление после автоматического теста, при единой ошибочной оценке приводят к принудительному выполнению этого решения.

Поэтому роль Qwen должна быть ближе к генератору вариантов, резюмирующему логу и помощнику по интерпретации результатов команд, чем к менеджеру задач или конечному исполнителю.

Qwen = генератор кандидатов / резюмер логов / помощник интерпретации результатов команд  
Пользователь или скрипт = конечный исполнитель

Структурированный вывод тоже требует осторожности. То, что Qwen не умеет полностью работать с JSON, не означает, что он совсем не справляется, но если поручить ему сложные схемы или управление состоянием workflow, общая надёжность снизится. Создание обзоров в Markdown, объяснение кода, суммирование логов, систематизация возможных причин, генерация черновика исправления — это приемлемо. В то же время точный вывод схемы JSON, управление сложным состоянием workflow, порядок вызовов инструментов, работа с GitHub API, сохранение путей файлов, принятие решений о commit/push — неподходящие задачи.

Таким образом, Qwen подходит как генератор, но как оркестратор нестабилен.

Суть сводится к одной строке.

Qwen — умная генеративная модель, однако её контрольность, интерпретация состояний и сохранение инструкций недостаточно надёжны для использования в качестве менеджера задач или автоматизированного агента.

Практический вывод таков.

Можно заставить Qwen думать.  
Можно поручить Qwen черновик.  
Нельзя поручать Qwen финальное управление репозиторием.

Если вы будете продолжать использовать Qwen, то стоит установить такие принципы работы.

Запрещена автономная работа  
Одна команда за раз  
Вывод diff перед изменением  
Запрещено commit/push  
Сохранение официального оригинала должно быть одобрено человеком  
Вывод LLM использовать только в формате Markdown/text

Впечатления от веб‑поиска в MCP

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

Однако наблюдалась склонность странно интерпретировать полученную через веб‑поиск информацию. Модель хорошо ищет, но способность оценивать результаты поиска в контексте кодовой работы всё ещё нестабильна.

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

Рефлексия

Сегодня часть «путёк» оказалась простейшей задачей, ответ на которую я уже знал.

Нужно было просто привести .github и .qwen к оригинальному виду, но я усложнил задачу, следуя промежуточным попыткам модели. В следующий раз сначала проверю, соответствует ли результат работы модели структуре требований, а синхронизацию путей/файлов проверю в начале с помощью diff.

Особенно важно выработать привычку сначала проверять «соответствует ли структура оригинала и назначения», а не «что именно скопировано».

Проблема с приостановкой работы

После 14:00 сегодня интернет стал нестабильным, и сервер Qwen, работающий на RunPod, отключился. С тех пор вызовы модели были невозможны, и продолжить работу стало трудно.

Локальная работа и очистка были возможны, но автоматический поток обзора/поиска/проверки, построенный на сервере Qwen, сильно зависит от состояния интернета — это ещё раз подтвердилось.

Следующие действия

  • Форкнуть web-search-mcp и настроить нужный поисковый движок и формат вывода.
  • Разделить этапы суммирования результатов поиска и оценки кода, чтобы уменьшить ошибки при интерпретации веб‑результатов Qwen.
  • Для задач, где важна синхронизация структуры каталогов, как в .github и .qwen, сначала проверять их с помощью diff.
  • Не давать Qwen сразу полномочия на манипуляцию репозиторием; выполнять по одной команде и проверять diff.
  • Принимать вывод Qwen сначала как черновик Markdown/text, а схемы JSON или оркестрацию GitHub API оставлять скриптам или человеку.
  • Подготовить резервный модельный вариант или локальную проверку на случай отказа сервера Qwen в RunPod.