Маршрутизатор Cisco 881
Маршрутизатор Cisco 881

Весь мир с упорством достойным лучшего применения пытается использовать большие языковые модели, они же искусственный интеллект, в разных сферах деятельности человека. Не везде получается хорошо, но где-то отлично - например генерация кода на различных языках программирования. Злые люди поговаривают что ИИ скоро заменит программистов, но мы то тут на Хабре знаем правду.

Преамбула

У меня есть друг который работает сетевым администратором. Когда заходит разговор о том что ИИ заменит всех айтишников, он улыбается и говорит что это не про его профессию. Он говорит что ИИ плохо выполняет задачи с которыми он работает - многое надо делать руками в прямом смысле слова. У меня появилась идея проверить универсального ИИ агента - сможет ли он справиться с типовыми задачами сетевого администратора. Генерировать конфиги сетевого оборудования по промту или диагностировать проблему по логам эти задачи не выглядят как вызов для ИИ. Я выбрал задачу которая на мой взгляд более сложная - сбросить пароль на маршрутизаторе. Тут и подключение по COM-порту, работа с ROMMON и специфические тайминги. Да и ранее я не встречал решений которые автоматизируют этот процесс. 

В эксперименте я использую агента Hermes и модель DeepSeekV4 Pro. Ничего более я не добавляю, тестирую в лоб без всяких специальных skills и mcp. Тем интереснее как «незамутненное сознание» агента справится с задачей.

У меня роутер Cisco 881 и переходник с usb на com-порт + цисковский консольный шнурок. Все подключено к ноутбуку на Windows на котором установлен Hermes Desktop. Задача агенту поставлена лаконично:

К порту COM4 подключен роутер Cisco 881. Необходимо сбросить пароль на устройстве. Устройство только что включено и загружается.

Агент достаточно быстро сориентировался и приступил к работе над задачей и написал что будет делать:

Роутер уже загружен и отвечает. Я вижу системные сообщения загрузки. Чтобы выполнить сброс пароля, нужна процедура password recovery с входом в ROMMON. Для этого требуется физически перезагрузить роутер и послать Break-сигнал во время загрузки.

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

Сначала прочитаем, что еще есть в выводе:

Роутер запрашивает Username: — сессия активна. Теперь для password recovery нужна физическая перезагрузка роутера с перехватом загрузки через Break-сигнал.

Я напишу скрипт автоматизации. Как только вы передёрнете питание роутера, скрипт перехватит загрузку и выполнит всё автоматически.

Скрипт запущен и ждёт перезагрузки.

⚡ Сейчас: передёрните питание роутера Cisco 881 (выкл → 3 сек → вкл).

Скрипт определит начало загрузки и автоматически выполнит всю процедуру — вам больше ничего делать не нужно. Я получу уведомление, когда скрипт завершится, и покажу результат.

И я уже было подумал что задача решена и надо придумать сценарий посложнее. Но не тут то было. Агент не смог ни с первого ни со второго раза выполнить свой сценарий. Он постоянно дорабатывал скрипт ссылаясь на то что он чего-то не учел в предыдущих версиях скрипта и неправильные тайминги. Все растянулось на час  и каждый раз агент просил меня перезагружать роутер по питанию - оно и понятно, такие железки как Cisco нельзя перезагрузить не зная правильный логин и пароль.

Роутер снова в обычном режиме. Проблема в склеивании команд в ROMMON. Попробую принципиально другой подход — после BREAK сразу слать confreg 0x2142, не нажимая Enter для получения промпта:

⚡ Передёрните питание!

Подобные сообщения сыпали в окно чата работы с агентом постоянно. Я по прежнему перезагружал роутер по просьбе агента каждые 5-10 минут. Забегая вперед скажу, что в итоге я перезагрузил роутер 17 раз. Силы небесные!

А агент все улучал и улучшал скрипт. И уже к концу второго часа я почти сдался подумав что агент ушел в бесконечный цикл улучшений который ни к чему не приведет как вдруг появилось это:

Я попробовал зайти с этими учетными данными на роутер и все получилось. Агент справился с задачей. Я его нигде не поправлял и не давал никаких дополнительных данных. Один раз в самом начале я разрешил запускать скрипты на Python, когда он этого попросил. Иногда когда мне казалось что все зависло я спрашивал что происходит. В итоге 3 часа и постоянное наблюдение за ходом процесса что бы вовремя перезагружать роутер. 

А можно сделать лучше?

У ИИ агентов есть интересная особенность, они умеют переиспользовать ранее созданные навыки (skills). Агент Hermes сам, время от времени, сохраняет итоги работы в виде навыков. Это позволяет уже один раз проделанную задачу выполнять быстрее. Навыки можно выгружать и передавать другим агентам что бы они не тратили время на поиск решения задачи. После проделанной работы у моего агента появился навык который он сам назвал cisco-password-recovery. Я сменил пароль на маршрутизаторе и снова попросил агента сбросить пароль. В этот раз агент использовал навык и справился за 10 минут. Попросил меня перезагрузить устройство только 1 раз в самом начале работы навыка.

Я думаю что если задаться целью то данный навык можно сильно ускорить поправив тайминги. Но больше всего хочется избавиться от необходимости перезагружать роутер вручную. И это несложно сделать подключив роутер к управляемому блоку розеток PDU. Далее дать доступ агенту к управлению розетками, что бы он сам мог когда нужно перезагружать устройство по питанию. Более доступный вариант использовать умную WI-FI розетку. Такие розетки часто имеют DIY режим который позволяет ими управлять через обычные API вызовы по сети. 

Выводы

По большей части выводы я предлагаю вам сделать самим и поделится ими в комментариях. Лично для меня стало очевидно, что создавать скрипты автоматизации (которые сетевики и так часто делают) стало проще + появился оркестратор в виде ИИ агента. Что по стоимости - на весь эксперимент я потратил около 3 юаней (~40 рублей) на DeepSeek. Вызов же готового навыка обходится в сущие копейки. 

Готовый навык, который создал агент, можно посмотреть здесь https://gitverse.ru/bravoavo/cisco-password-recovery-ai-skill 

Комментарии (11)


  1. Pingvera
    09.07.2026 11:46

    Очень интересный кейс, спасибо!


  1. MikhailZakharov
    09.07.2026 11:46

    Бывает по разному. Я попросил точно такую же связку агента и LLM перенастроить на mikrotik WiFi для увеличения скорости работы. Цель: установить лучшую комбинацию. Агент кучу конфигураций переделал: менял ширину сигнала, выбирал разные частоты, отключал региональные настройки и размещение. Все из комбинаций приводили к результату not supported channel. Потом было предложено обновиться. После обновления ничего не поменялось. Так что настроенное руками оказалось рабочим вариантом.

    Агент предлагал еще перейти на новый драйвер и обещал, что за два часа работы по полной перенастройке CAPsMAN все точно заработает, но я отказался.

    Но тем не менее я считаю, что для таких операций, особенно с навыками агенты очень хорошо подходят. Есть доступ к консоли, что еще нужно.


    1. HunterXXI Автор
      09.07.2026 11:46

      я так же экспериментировал со сложными настройками конфигурации сетевых устройств типа wi-fi или инкапсулирование протоколов. немного подбешивает поведение агента - он всегда отвечает примерно так -«В прошлый раз не вышло, но вот есть вариант который точно сработает». Естественно этот вариант не срабатывает и агент углубляется в еще большие дебри и обещает что вот теперь точно заработает. Напоминает бородатый анекдот - куры сдохли, а у меня еще столько идей!


  1. KOT2K
    09.07.2026 11:46

    Благодарю за материал!

    Добавил в закладочки, оч. полезно.


  1. Arhammon
    09.07.2026 11:46

    Забегая вперед скажу, что в итоге я перезагрузил роутер 17 раз. Силы небесные!

    Вы просто недостаточно ленивы, надо же было какую-нибудь умную розетку отдать под управление ИИ)


  1. CitizenOfDreams
    09.07.2026 11:46

    Забегая вперед скажу, что в итоге я перезагрузил роутер 17 раз.

    А как решать с помощью ИИ-агентов задачи, на которые у нас нет 17 попыток?


  1. igrblkv
    09.07.2026 11:46

    Судя по гуглению на операцию надо от 3 до 5 минут, а не 17 попыток. Или там есть подводные камни?


    1. HunterXXI Автор
      09.07.2026 11:46

      все так. но llm не всегда дает агенту сразу верный и 100% рабочий путь. по этому он методом проб и ошибок решает задачу так долго. но на выходе мы получаем skill или навык который уже учитывает все pitfalls.

      возможно новые версии llm сразу будут отдавать хорошие ответы агенту по которым он справится за меньшее количество шагов, в моем эксперименте я использовал deepseek который вышел почти год назад. за это время флагманские модели стали умнее и способны быстрее находить правильный путь для решения задач.

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


      1. igrblkv
        09.07.2026 11:46

        а ИИшечке нельзя дать ссылку на статью с правильной инструкцией?


        1. HunterXXI Автор
          09.07.2026 11:46

          можно. но такую статью надо еще поискать. а тут как вы могли заметить агенту сказали только следующее:

          К порту COM4 подключен роутер Cisco 881. Необходимо сбросить пароль на устройстве. Устройство только что включено и загружается.

          дальше он все делает сам. на выходе получаем навык, который и есть актуальная инструкция. ссылка на навык в конце статьи. все основные заметки агент записал в файл skill.md

          обычная инструкция в интернете не описывает всевозможные нюансы - например у меня на роутере настроены параметры централизованной аутентификации AAA. агент это понял и потратил время что бы разобраться как действовать в таком случае. доработал скрипт и записал это дополнительно в skill.md что бы в следующий раз не наткнутся на тот же камень.

          кроме того агенты для автоматизации обычно выбирают язык Python (хотя забавы ради можно ему запретить использовать питон и попросить сделать на bash) . в человеческих инструкциях часто не учитывают нюансы языков программирования и их библиотек.

          для примера вот одна из записей skill.md где агент сохранил информацию как правильно в питоне работать с переходником на com порт

          3. BREAK signal timing — and USB-Serial adapter unreliability

          Send BREAK aggressively (multiple attempts, 0.5–2.0s duration each) during the first 60 seconds of boot. Look for the actual ROMMON prompt (rommon N > or rommon>) — do not confuse with boot messages containing the word "rommon" (see pitfall #4).

          USB-Serial adapters vary in BREAK support. The Prolific PL2303GT does work with ser.send_break(0.5) on Windows — confirmed working on Cisco 881. If one method fails, try alternatives in order:

          1. ser.send_break(0.5) — most straightforward, works on PL2303GT

          2. ser.break_condition = True; time.sleep(2); ser.break_condition = False— manual break condition

          3. PowerShell/.NET SerialPort — $port.BreakState = $true uses Win32 API directly, often more reliable. See references/cisco_break.ps1.

          4. PuTTY → Special Command → Break(Ctrl+Break) — uses OS-level mechanism

          Signs that BREAK is failing: you see "Field Upgradeable ROMMON Integrity test" and "IOS Image Load Test" proceed uninterrupted. The router boots normally to Username: prompt.

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

          выход - переиспользовать навыки уже созданные другими агентами. в интернете уже полно ресурсов где люди делятся готовыми навыками что бы агенты быстрее делали задачи


  1. aLx2024
    09.07.2026 11:46

    ИИ местами сильно помогает, но не заменяет. С ним еще надо уметь работать, а то потратите много времени.