Черновик готов, но без тебя ничего не происходит. Нужно забрать файл, перенести его на проверку, дождаться ответа и отправить дальше. Подготовку текста удалось автоматизировать, а доведение задачи до конца всё ещё держится на тебе. Сам текст больше не пишешь — зато работаешь у него диспетчером.
Мне интереснее оценивать автоматизацию по тому, сколько работы она оставляет человеку. Быстро получить черновик приятно. Но если после этого приходится вручную проводить его через все этапы, в расчёте остаётся большая незаметная часть. Проверить спорный вывод — содержательная работа. Найти уже полученный ответ проверяющего и переслать принятый файл — сопровождение. Оно тоже требует времени, возвращений к задаче и восстановления контекста, даже если каждое отдельное действие кажется мелочью.
Возьмём условную задачу: собрать сводку из нескольких документов, проверить её и передать коллеге. Обычный путь известен заранее. После получения материалов можно готовить текст; готовый черновик поступает на проверку; принятая сводка отправляется адресату. Если связать эти этапы в пайплайн, часть ручных передач можно убрать. Результат одного шага становится входом следующего, а условие перехода уже определено. Человеку не нужно каждый раз вспоминать, куда теперь отнести файл.
Для такой связи мало записать: «сначала подготовь, потом проверь, потом отправь». Нужно устроить саму передачу — определить, куда попадёт черновик и какой ответ запускает отправку. В нашем примере это подтверждение проверяющего. Если отправка начинается просто после появления файла, адресат может получить непроверенный текст. Продолжение зависит от того, что произошло на предыдущем шаге. Когда эти передачи настроены, человеку уже не надо держать условие в голове и каждый раз заново запускать переход.
Вместо привычки открывать задачу после каждого шага нужен мониторинг — возможность видеть, что с ней происходит. Допустим, подготовка сводки закончилась, и сейчас она ждёт чтения специалиста. Это обычное ожидание. Если же обработка остановилась из-за недостающего документа, без решения она дальше не пойдёт. Для человека разница существенна: в первом случае можно продолжать другую работу, во втором — пора вмешаться. По одной надписи «ждёт» этого не понять.
Впрочем, сообщение об ошибке тоже может оставить всю работу по разбору человеку. Приходится выяснять, где остановилась задача, что уже сделано и чего не хватает. Я бы хотел получать вместе с сигналом конкретный вопрос: «Один документ не получен. Ждать его или готовить сводку по имеющимся материалам?» Тогда можно сразу решать, как продолжать. Иначе оповещение лишь напоминает, что где-то есть проблема, которую ещё предстоит найти.
Есть и менее заметная неприятность: задача завершилась, а результат не годится. Файл лежит на месте, но обязательного раздела нет или вывод не следует из источника. Мониторинг покажет, что подготовка закончена. Нужен ещё контроль, который определит, можно ли пользоваться сводкой. Наличие разделов или приложенных материалов можно проверять автоматически; перечисленные признаки сами по себе не подтверждают верность текста. Допустим, два документа дают разные ответы на один вопрос. Аккуратно оформленная сводка может скрыть это расхождение. Чтобы принять результат, нужно увидеть, как получен вывод и на что он опирается.
Человеческая проверка меня здесь не смущает. Оценить сложный вывод может быть именно той работой, ради которой специалист и нужен. Важно, чтобы ему пришёл черновик с понятной задачей проверки, а его ответ позволял продолжить или исправить текст. Если каждый раз ещё нужно искать нужную версию, договариваться, кто её прочитает, и выяснять, что произошло после ответа, автоматическая подготовка файла оставляет слишком много сопровождения вокруг самого чтения.
Отрицательный ответ должен возвращать задачу к конкретному исправлению. Недостающий раздел нужно добавить, неверный вывод — пересмотреть. Дальнейшие шаги, которые используют изменённый результат, тоже требуют проверки. При этом годную часть сделанного нет причины выбрасывать лишь потому, что в другом месте понадобилась правка. Продолжение с подходящего этапа избавляет от повторного выполнения лишних действий; бездумно запустить всё сначала бывает проще технически, но за это придётся заплатить ещё одной обработкой и проверкой.
Граничные случаи начинаются там, где обычный порядок уже не отвечает на вопрос, что делать дальше. В примере со сводкой третий документ так и не пришёл. Можно ждать, а можно по решению человека уменьшить объём задачи. Во втором случае меняются требования к тексту: раздел, для которого нужен этот источник, не должен считаться готовым. То, что написано по полученным документам, можно сохранить, но проверять сводку теперь нужно с учётом нового состава. Одного разрешения «продолжай» недостаточно, если следующие шаги всё ещё руководствуются прежними условиями.
Для известных отклонений можно заранее определить, когда повторить действие, когда остановиться и когда спросить человека. Повтор оправдан, если он способен устранить препятствие. Получить отсутствующий документ новыми попытками удастся не всегда; решение об изменении задачи за человека они не примут. Неизвестные случаи всё равно могут потребовать отдельного разбора. Если один и тот же случай постоянно требует вмешательства, стоит проверить, нельзя ли изменить правило. Возможно, решение уже известно, но ещё не включено в обычный порядок. Пока это не сделано, человек будет снова и снова выполнять одну и ту же работу.
За такую организацию тоже приходится платить трудом. Нужно связать этапы, настроить проверки, а потом поддерживать всё это при изменении материалов и требований. Первоначальная настройка может окупиться на повторяющихся задачах. Регулярный разбор сбоев останется и после запуска. В оценку входят и эти затраты, и человеческая приёмка. Если обслуживание пайплайна съедает весь труд, снятый с обычных задач, число автоматизированных действий само по себе не доказывает экономию. А если качество ухудшилось, придётся учитывать ещё и исправления.
Поэтому я бы смотрел на обычное выполнение задачи после настройки: сколько раз человек должен вернуться, что именно он делает и доходит ли работа до принятого результата. Отдельно — как часто приходится чинить сам процесс. За человеком остаются правила, сложные проверки и решения в необычных случаях. Вместе с обслуживанием всё это входит в цену автоматизации. Я хочу видеть, что оставшейся работы стало меньше при том же качестве результата, прежде чем говорить об экономии времени.