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

Я уже использую их в работе и пользу ощутил на себе лично.

Copilot? Нет.

Я не доверяю нейросеткам писать за меня весь код, выполнять мою основную работу. Пока что мне достаточно комфортно делать это самостоятельно.

Нейросети нужно объяснить, что именно я хочу сделать, а потом поправлять её, добиваясь качества и соответствия моему стилю разработки. Такой подход вряд ли значительно меня ускорит.

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

Изредка я прибегаю к этому способу. Конечно, проверяя глазами результат.

Что ещё из моей рабочей рутины смогла бы выполнить нейросеть? Пока неясно. Увидим.

Пример 1. Баш-скрипт для деплоя.

Недавно мне понадобилось написать Bash скрипт, который бы избавил меня от рутинных действий по выкатке кода на мой сервер.

Я отлично представлял себе, что хочу получить в итоге, что должен делать скрипт.

  1. Проверить, есть ли незакомиченные изменения, если есть то вывести ошибку и прерваться
  2. Переключиться в ветку, которую я использую для заливки кода на стенд
  3. Залить в неё изменения из той ветки в которой я был до этого
  4. Сделать Push
  5. Переключиться обратно в исходную ветку
  6. Запустить скрипт деплоя на стенде по SSH чтобы вытянуть на стенд новый код

Мог бы я сам его написать? Конечно. Но мне лень, а я знаю что сделать его через нейросетку будет проще и быстрее.

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

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

Впечатлившись разницей в качестве и надёжности, я решил для задач по разработке пересесть на DeepSeek.

Пример 2. Баш-скрипт для сбора статистики репозитория.

График перемещения кода

Моя команда разработки выполняет важную работу: переносит код из старой системы на “чистом PHP” в новую на фреймворке Yii2.

Чтобы оценить темп работы и сколько нам ещё осталось сделать, мне нужна была картина в динамике, как именно код перетекает из одной папки в другую.

Я решил отразить это на графиках по количеству строк кода PHP в папках.

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

Решение: пишем баш-скрипт. В отличие от предыдущего примера, задача сильно сложнее, но я был уверен, что DeepSeek справится. Так и вышло.

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

Часть 1. count_php_lines.sh

Считает количество строк кода PHP в указанной папке. Также скрипт игнорирует папку “vendor”.

Скрипт принимает название папки в репозитории и выводит количество строк в этой папке.

Часть 2. find_commit.sh

Скрипт вычисляет хеш ID коммита, который является первым за указанную дату. Если в эту дату нет коммитов, то последний из коммитов раньше этой даты.

Принимает дату и путь к репозиторию, выводит хеш ID коммита.

Часть 3. stat.sh

Скрипт собирает статистику по количеству строк и выводит её в формате CSV или JSON в зависимости от аргументов команды.

На вход: формат JSON либо CSV, начальная дата (идём по всем датам от начальной до текущей), путь к репозиторию, список обсчитываемых папок.

Скрипт генерирует список дат и для каждой даты:

  1. Ищет коммит на эту дату, используя find_commit.sh
  2. Отматывает репозиторий на этот коммит
  3. Считает строки в папках используя count_php_lines.sh

Далее, собрав в цикле информацию по каждой папке за каждую дату, выводим её в таблицу в CSV либо JSON.

Где-то за полчаса я сделал эти три скрипта через DeepSeek, включая проверку и исправление скриптов.

Выгрузив скриптом статистику из репозитория, я получил CSV, который импортировал в Google Sheets и в пару кликов создал диаграмму с графиками.

Всё получилось. Без нейросети я убил бы на эти скрипты возможно целый день.

Пример 3. Поиск альтернативы для Chart.js

Мне нужен был JS виджет для отрисовки графиков. Популярный Chart.js не подходил, так как несовместим со старой версией Safari.

Обновить Safari не мог, потому что Apple без объяснения причин заблокировал мой аккаунт.

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

Больше всего мне приглянулась библиотека HighCharts.

В качестве приятного бонуса, я попросил нейросетку составить инструкцию по внедрению HighCharts в админку MoonShine (в ней из коробки Chart.js).

Инструкция тоже получилась внятная, со всеми шагами.

Пример 4. Функция Node.js для выполнения команд в системе

В своих утилитах на Node.js я использовал функцию, которая выполняет консольные команды и возвращает вывод из stdout в качестве результата.

Проблемой было то, что моя функция не обновляла вывод в режиме реального времени. Из-за этого утилиты были не так наглядны и удобны. Представьте, что операция длится десяток секунд и на экране всё это время ничего не меняется. Не круто.

Быстрый гуглёж ничем не помог, а шерстить кучу информации очень не хотелось.

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

Всё было исполнено в лучшем виде. Теперь у меня есть нужная функция, и мои консольные утилитки станут удобнее.

Итоги

Нейросети из категории игрушек и баловства наконец-то перешли в категорию полезных рабочих инструментов.

Я этому рад. Предоставив скучную рутину нейросетям, я могу заняться чем-то более интересным.