Первую задачу для автоматизации выбирают по четырём цифрам: как часто вы её делаете, сколько минут она забирает, насколько одинаковые у неё правила и насколько предсказуемый вход. Если хотя бы одна цифра проваливается, скрипт заберёт больше времени, чем вернёт. Проверить это можно за пятнадцать минут и без единой строки кода.
Новичок застревает не на синтаксисе, а на выборе. Идей много, а какая выдержит вечер работы и второй запуск через неделю, непонятно. В итоге берут самую эффектную: парсер маркетплейса или бота для рабочей почты. Через два вечера сайт меняет вёрстку, почта требует новый токен, мотивация кончается. Дело было не в Python, а в задаче, которая изначально не проходила фильтр.
Здесь мы разбираем именно выбор и проверку задачи. Каталог сценариев для быта лежит отдельно, в статье что можно автоматизировать на Python в обычной жизни: туда идут за списком идей, а сюда возвращаются с конкретной идеей, чтобы прогнать её через фильтр.
Задача повторяется хотя бы раз в неделю, и вы можете назвать даты последних запусков.
Правила не меняются от раза к разу, и вы объясните их другому человеку за минуту.
Вход приходит в стабильном формате: одни и те же колонки, имена файлов, структура папок.
Четыре признака задачи, которую стоит автоматизировать
Частота. Разовое действие автоматизировать бессмысленно, даже если оно занимает час. Ориентир простой: минимум четыре повтора в месяц. Реже, чем раз в неделю, и вы будете вспоминать, как запускать собственный скрипт, дольше, чем делать руками.
Время одного повтора. Считайте по секундомеру, а не по ощущениям. Разбор папки с выгрузками кажется получасовым занятием, а на деле занимает семь минут. И наоборот: «быстрая» сверка двух таблиц легко съедает двадцать. Пока нет замера, любой расчёт экономии выдуман.
Повторяемость правил. Запишите алгоритм словами. Если получается пять строк вида «взять файл, посмотреть дату в имени, положить в папку года», задача годится. Если появляются фразы «ну тут смотря какой отчёт» и «этот случай я обычно решаю на глаз», у вас не алгоритм, а экспертное решение. Такое автоматизируют позже и по частям.
Стабильность входа. Скрипт живёт ровно столько, сколько живёт формат данных. CSV, который вы сами выгружаете из одного места, стабилен. Письмо от коллеги, где колонки каждый месяц переставлены, нестабильно. Страница чужого сайта нестабильна вдвойне: её переделают без предупреждения.
Пятый признак неофициальный: задача должна быть вашей. Первую автоматизацию доводят до конца в основном на раздражении. Если вас лично бесит переименовывать сотню файлов после каждой съёмки, вы допишете скрипт даже в плохой день.
Сколько времени вернёт скрипт: считаем окупаемость
Экономия считается в минутах в месяц. Формула грубая, но рабочая: повторы в месяц умножаем на минуты одного повтора, вычитаем время на проверку результата и сравниваем с честной оценкой разработки. Честная оценка для новичка обычно втрое больше первого предположения.
| Задача | Повторов в месяц | Минут вручную | Сборка скрипта | Окупится через |
|---|---|---|---|---|
| Разложить выгрузки по папкам месяцев | 20 | 4 | 3 часа | 3 недели |
| Переименовать фото после съёмки | 8 | 12 | 4 часа | 3 месяца |
| Свести две таблицы в отчёт | 4 | 25 | 8 часов | 5 месяцев |
| Собрать список ссылок из заметок | 2 | 10 | 3 часа | больше года |
| Годовая сверка документов | 0,08 | 180 | 12 часов | никогда |
Последние две строки показывают главное: длинная задача не значит выгодная. Годовая сверка занимает три часа, но повторится через двенадцать месяцев, когда вы уже забудете, где лежит скрипт и какие у него аргументы. А скучный разбор выгрузок по четыре минуты окупается за три недели просто за счёт частоты.
Вторую часть экономии обычно забывают: внимание. Скрипт не пропускает файл, не путает колонку и не устаёт к двадцатому повтору. Если ручная работа регулярно даёт ошибки, которые потом приходится искать, добавьте это время в расчёт.
Тест на 15 минут: проверяем задачу до кода
Возьмите таймер и пройдите пять шагов подряд. Пятнадцати минут хватает, чтобы отсеять большинство плохих кандидатов.
Первые пять минут: сделайте задачу руками и запишите каждое действие отдельной строкой. Не «навести порядок в папке», а «открыть папку, отсортировать по дате, выделить файлы старше месяца, перенести в архив». Вторые пять: отметьте строки, где вы принимали решение головой. Последние пять: проверьте, повторяется ли формат входа хотя бы на трёх примерах.
Дальше цифры. Соберите даты, когда вы делали задачу за последние две недели, и посчитайте, во что это выливается за месяц. Такой скрипт пишется раньше, чем сама автоматизация, и часто отменяет её.
from collections import Counter
from datetime import date
# Dates when the task was done by hand, written down for two weeks
manual_runs = [
date(2026, 3, 2), date(2026, 3, 3), date(2026, 3, 5),
date(2026, 3, 9), date(2026, 3, 10), date(2026, 3, 12),
date(2026, 3, 16), date(2026, 3, 17),
]
minutes_per_run = 12 # how long one manual run takes
minutes_to_build = 240 # honest estimate for the first version
by_month = Counter((day.year, day.month) for day in manual_runs)
runs_per_month = max(by_month.values())
# The script still needs a look, so we keep only 80 percent of the time
saved_per_month = runs_per_month * minutes_per_run * 0.8
print("Runs per month:", runs_per_month)
print("Saved minutes per month:", round(saved_per_month))
if saved_per_month >= 30:
print("Payback in months:", round(minutes_to_build / saved_per_month, 1))
else:
print("Too rare: keep doing it by hand")
- Runs per month: 8
- Saved minutes per month: 77
- Payback in months: 3.1
Подставьте свои даты и минуты. Если окупаемость выходит больше полугода, задача не первая: отложите её и возьмите ту, что повторяется чаще.
Практика: выберите задачу и опишите её контракт
Задача прошла фильтр, если вы можете описать её как контракт: что на входе, что на выходе, что при ошибке и что при втором запуске. Контракт пишется в блокноте за десять минут и экономит вечер отладки.
- Три кандидата вместо одного. Выпишите три задачи, которые вы делали за последнюю неделю больше одного раза. Рядом с каждой поставьте число повторов в месяц и минуты на повтор. Оставьте ту, у которой произведение больше, а не ту, которая интереснее звучит.
- Алгоритм в пять строк. Опишите победителя по шагам так, чтобы каждый шаг начинался с глагола. Если строк получилось больше восьми или в них есть слово «обычно», разбейте задачу на две части и автоматизируйте только первую.
- Контракт. Запишите четыре пункта: вход (папка test-input с копией данных), выход (файл report.csv), поведение при ошибке (файл остаётся на месте, причина пишется в лог), повторный запуск (дубли не создаются). Это будущее техзадание для вас самих.
- Эталон на трёх примерах. Возьмите три файла и сделайте для них правильный результат руками. С этим эталоном вы сразу увидите, что скрипт сработал верно, а не просто отработал без ошибок.
- Копия и сухой прогон. Скопируйте данные в отдельную папку. Первая версия скрипта пусть только печатает, что собирается сделать, и ничего не меняет. Настоящее переименование включайте после того, как печать три раза подряд покажет ожидаемое.
Дальше пишите код в том же порядке: функция для одного элемента, проверка на эталоне, потом цикл по всей папке. Аргументы командной строки и запуск по расписанию добавляйте в конце.
Три ловушки первой автоматизации
Провалы у новичков однотипные, и все три ловушки видно ещё на этапе выбора.
Чужой сайт, письмо от коллеги, экспорт из сервиса, который меняется. Скрипт работает неделю, потом ломается, и вы чините его дольше, чем делали руками.
«Все файлы по шаблону, кроме этих четырёх» и «тут я смотрю по ситуации». Исключения раздувают код в разы и остаются главным источником ошибок.
Большая и болезненная, но редкая. К следующему разу забудутся и скрипт, и его аргументы, и версия библиотеки, на которой он работал.
Четвёртая ловушка менее очевидная: цена ошибки. Не делайте первой задачей то, что удаляет файлы, отправляет письма или трогает рабочую базу. Начните с режима «только читаю и складываю результат в новую папку», а изменение данных добавьте позже, с копией и подтверждением.
И про масштаб: скрипт, дописанный за вечер, полезнее большого проекта, который остался в черновиках.
Частые вопросы
Как понять, что задачу пора автоматизировать?
Считайте по трём цифрам: повторов в месяц, минут на один повтор и часов на сборку скрипта. Если задача повторяется четыре и больше раз в месяц, правила не меняются и окупаемость выходит меньше полугода, её пора автоматизировать. Если правила каждый раз новые, честнее оставить работу руками.
Сколько раз в месяц должна повторяться задача, чтобы скрипт окупился?
Ориентир для новичка: минимум четыре раза в месяц, то есть примерно раз в неделю. При двадцати повторах по четыре минуты трёхчасовой скрипт окупается за три недели, а при двух повторах в месяц он не окупится и за год. При редких повторах вы к тому же будете каждый раз вспоминать, как его запускать.
Почему нельзя начинать с парсинга сайта?
Вёрстка чужого сайта меняется без предупреждения, и скрипт ломается там, где вы не ожидаете. Для первой задачи нужен стабильный вход, который контролируете вы сами: своя папка, своя выгрузка, свой файл. Парсинг лучше брать вторым или третьим проектом, когда вы уже умеете читать ошибки.
Что делать, если в задаче есть исключения, которые я решаю вручную?
Разделите задачу на две части: автоматизируйте типовые случаи, а исключения отправляйте в отдельный список для ручной проверки. Скрипт, который обрабатывает 90 процентов файлов и честно сообщает про остальные 10, полезнее сложного кода, который пытается угадать всё. Позже часть исключений превратится в понятные правила, и вы их добавите.
Как оценить, сколько времени уйдёт на первый скрипт?
Возьмите своё первое предположение и умножьте на три. Новичок обычно считает только основную логику и забывает про чтение путей, кодировки, проверку данных и отладку. Если после такой поправки скрипт всё равно окупается за разумный срок, задача подходит.
Нужно ли писать контракт до кода и что в него входит?
Контракт занимает десять минут и состоит из четырёх пунктов: что на входе, что на выходе, что происходит при ошибке и что будет при повторном запуске. Он показывает дыры в задаче до того, как вы потратите вечер на отладку. Отдельно проговорите повторный запуск: скрипт не должен создавать дубли.
Можно ли выбрать и проверить задачу с телефона?
Да, первые шаги вообще не требуют компьютера: список кандидатов, замер времени, алгоритм в пять строк и контракт пишутся в заметках. Небольшой скрипт с подсчётом повторов тоже спокойно запускается в мобильном редакторе кода. Полноценную работу с папками удобнее делать на компьютере, но выбор задачи от этого не зависит.
Что делать дальше
Проверьте свою задачу по цифрам и напишите контракт до кода. Если идеи пока нет, загляните в подборку бытовых сценариев на Python и вернитесь сюда с одним кандидатом. Базу для таких скриптов дают на курсе Python-разработчика в приложении Кодик: первый модуль профессии бесплатный, теория идёт вместе с разделом «Практика», где код пишут прямо в приложении. Если учитесь в дороге, посмотрите разбор, как программировать на телефоне. Сомневаетесь в языке, сравните варианты в статье Python или JavaScript, а про сроки обучения есть отдельный расчёт: сколько времени нужно, чтобы стать джуном.
