DeepSeek V3 для скриптов автоматизации на bash и python
Скрипт пишется не с первого раза, а итерациями: запустил, упало, вернулся с текстом ошибки, поправил. Поэтому в этой задаче цена одного запроса важнее всего остального — DeepSeek V3 стоит 2 токена, самая дешёвая модель набора. Пятнадцать итераций до рабочего скрипта обойдутся в 30 токенов, четверть процента месячного пакета.
Почему DeepSeek V3 подходит для этой задачи
Цикл «запусти — упало — покажи ошибку» и есть нормальный процесс, а не признак плохой модели. Скрипт всегда встречается с реальностью: пробелы в именах файлов, пустая директория, файл с другой кодировкой, права доступа. При 2 токенах за обращение вы возвращаетесь с трассировкой столько раз, сколько нужно, и не пытаетесь героически чинить чужой код руками из соображений экономии.
Скрипт автоматизации — на редкость проверяемый жанр. Есть вход, есть ожидаемый выход, есть код возврата. Правильность видна за секунды: запустил на копии данных и сравнил результат с ожиданием. Это принципиально отличает задачу от текстов, где качество спорно, и делает дешёвую модель разумным выбором: её ошибки обнаруживаются немедленно и стоят одну итерацию.
Ограничение при этом жёсткое и его надо знать. Модель не видит вашей машины: не знает версии интерпретатора, установленных утилит, реальных путей и прав. Она напишет вариант sed с флагом, который есть в GNU и отсутствует в BSD, и скрипт упадёт на macOS. Она предположит python3 там, где у вас python. Всё это лечится одним: описанием окружения в первом же запросе.
Какие входные данные подготовить
Окружение: операционная система и оболочка (bash, zsh или PowerShell под Windows), версия python, что из утилит точно установлено.
Пример входных данных — две-три реальные строки файла или реальное имя каталога, а не описание словами. Формат почти всегда оказывается не таким, как вы его пересказали.
Точный желаемый выход: имя итогового файла, структура, куда класть результат, что печатать в консоль.
Поведение при ошибке: остановиться на первой, пропустить проблемную запись и продолжить, записать в лог. Умолчание модели тут часто не то, что вам нужно.
Ограничения: можно ли ставить пакеты, допустим ли только стандартный набор библиотек, есть ли доступ в интернет с этой машины.
Пошаговый процесс
Опишите вход и выход примерами
Три строки настоящего CSV и три строки желаемого результата стоят страницы объяснений. По примеру модель видит разделитель, кавычки, кодировку и заголовки, а по описанию словами — только ваше представление о них. Половина неработающих скриптов рождается из расхождения между тем, как вы описали формат, и тем, что лежит в файле.
Требуйте безопасных умолчаний
Просите в явном виде: строгий режим оболочки, проверку существования путей перед работой, режим предварительного прогона без изменений и подтверждение перед удалением. Модель сама этого не добавит — она пишет минимальный работающий вариант. Один абзац требований к безопасности превращает опасный скрипт в пригодный к запуску.
Первый запуск — только на копии
Скопируйте два-три файла в отдельную папку и запустите там. Не потому что модель плохая, а потому что вы могли неточно описать задачу, и скрипт исполнит именно её. Это правило не про доверие к нейросети, а про обычную дисциплину работы с автоматизацией.
Возвращайтесь с полной ошибкой
Вставляйте трассировку целиком, вместе с командой запуска и версиями. «Не работает» и «выдаёт ошибку» вынуждают модель угадывать, и вы платите за три бесполезные итерации вместо одной точной. При 2 токенах за запрос выгоднее написать длинное сообщение с полным выводом, чем короткое.
Зафиксируйте рабочую версию
Как только скрипт заработал, попросите добавить комментарии, вывод справки по ключу помощи и короткое описание в шапке файла: что делает, что требует, как запускать. Через три месяца вы вернётесь к этому файлу и не вспомните ни одного из принятых решений. Это одна дополнительная итерация за 2 токена.
Пример готового промпта
Напиши скрипт на bash. Окружение: Ubuntu 24.04, bash 5.2, GNU-утилиты, права обычного пользователя, доступ в интернет есть, ставить пакеты нельзя. Задача: раз в сутки складывать содержимое каталога ~/work/reports в архив, класть его в ~/backups с именем вида reports-2026-08-06.tar.gz и удалять архивы старше 14 дней. Требования: - строгий режим: set -euo pipefail; - перед работой проверить, что исходный каталог существует и непуст, иначе выйти с ненулевым кодом и внятным сообщением; - ключ --dry-run: печатать, что было бы сделано, ничего не меняя; - удаление старых архивов только внутри ~/backups и только файлов, подходящих под маску reports-*.tar.gz; - корректно работать с именами файлов, содержащими пробелы и кириллицу; - писать в лог ~/backups/backup.log: дата, размер архива, что удалено; - ключ --help с описанием. Пример вывода в консоль при обычном запуске: [2026-08-06 03:00] архив reports-2026-08-06.tar.gz создан, 48 МБ [2026-08-06 03:00] удалён устаревший архив reports-2026-07-22.tar.gz
Строки про строгий режим, dry-run и ограничение удаления маской внутри конкретного каталога — не украшение промпта. Именно они отделяют скрипт, который можно запустить, от скрипта, который однажды удалит не то.
Как проверить результат
Запустите с ключом предварительного прогона на копии данных и прочитайте, что скрипт собирается сделать, прежде чем разрешать ему делать это по-настоящему.
Проверьте граничные случаи: пустой каталог, отсутствующий каталог, имена файлов с пробелами и кириллицей. На них падает большинство сгенерированных скриптов.
Посмотрите код возврата после запуска: скрипт, который при ошибке завершается нулём, сломает любое расписание — планировщик решит, что всё прошло успешно.
Прочитайте глазами каждую строку с удалением, перемещением и перезаписью. Их обычно две-три, и это единственные строки, которые способны навредить.
Типичные ошибки
Запускают сразу на боевых данных
Классические грабли выглядят так: в скрипте есть удаление по пути из переменной, переменная при неудачном стечении обстоятельств оказывается пустой, и удаление применяется к корню вместо целевой папки. Модель такой сценарий не предусмотрит, если её не попросить. Копия данных и предварительный прогон стоят двух минут и спасают вечер.
Не называют операционную систему
Один и тот же запрос без указания окружения даёт GNU-вариант утилит, который не запустится на macOS, и путь со слешами, который не годится под Windows. Модель по умолчанию предполагает популярный Linux. Строчка с версией системы и оболочки в начале промпта убирает целый класс ошибок.
Вставляют «дополненный» скрипт не сверяя
На просьбу добавить одну возможность модель нередко возвращает файл целиком и попутно переписывает то, что вы уже отладили: меняет имена переменных, теряет обработку граничного случая, упрощает проверку. Просите правку в виде отдельного фрагмента с указанием места вставки — или сравнивайте новый файл со старым построчно.
Альтернативные модели для этой задачи
Claude Opus 4.8
65 токенов. Когда скрипт перерос себя и превратился в маленький проект: несколько файлов, состояние между запусками, обработка отказов. Там цена перестаёт быть главным, а связность решения — начинает.
OpenAIGPT-5.4 mini
12 токенов. Разобрать чужой скрипт построчно и объяснить, что он делает, прежде чем запускать. Отдельная и полезная задача, особенно если скрипт достался вам по наследству.
Частые вопросы
Почему 2 токена, а не дороже?
Цена в токенах отражает стоимость запроса у поставщика модели. Для вас это 6000 обращений в месячном пакете — то есть на скриптах бюджет практически не расходуется, и можно спокойно итерировать. Экономить итерации в этой задаче бессмысленно.
Хватит ли этой модели для рабочих скриптов?
Для типовой автоматизации — архивы, переименование, разбор CSV, выгрузки по расписанию, простые запросы к API — да. Признак, что пора брать модель посильнее: скрипт разросся до нескольких файлов и в нём появилось состояние, которое надо хранить между запусками.
Что делать, если скрипт падает с ошибкой?
Вернуться в тот же диалог и вставить трассировку целиком вместе с командой запуска и версией интерпретатора. Не пересказывать ошибку словами. Обычно точное сообщение решает проблему за одну итерацию и 2 токена.
Можно ли доверять скрипту, который удаляет файлы?
Только после предварительного прогона на копии и чтения тех двух-трёх строк, где удаление происходит. Требуйте в промпте ограничения: удалять исключительно внутри указанного каталога и только по явной маске. Это правило дисциплины, а не недоверия к конкретной модели.
Bash или python — что просить?
Bash хорош, пока задача сводится к вызову утилит и работе с файлами. Как только появляется разбор форматов, обращения к API, ветвления по данным или что-то, что придётся поддерживать, — просите python: читать и править его через полгода будет несравнимо легче.
Модель DeepSeek V3 доступна в FatherGPT: без VPN, картой РФ, единый баланс токенов на все нейросети. Переключайтесь между моделями в одном чате — под каждую задачу своя.