ИИ как инструмент управления самописным производственным ПО

ИИ как инструмент управления старыми системами: сопровождение сегодня, модернизация завтра

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

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

Пока он на месте, проблема почти незаметна. Когда он уходит, предприятие получает не просто кадровый вопрос, а риск потерять возможность нормально сопровождать часть собственной информационной инфраструктуры. И здесь возникает второй тупик: модернизировать систему тоже нельзя. Потому что прежде чем заменить её, нужно понять, что именно она делает. Какие функции действительно нужны? Какие правила в ней реализованы? Какие данные она хранит? Какие системы от неё зависят? Что можно изменить без последствий, а что нельзя?

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

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

Агент может шаг за шагом связывать эти источники и восстанавливать не только техническое устройство системы, но и заложенные в ней бизнес-правила. Например, в базе есть STATUS = 7, а описания нет. Исследование кода, запросов, отчётов и исторических данных может показать, что это вовсе не просто «седьмой статус», а конкретное состояние: заказ физически завершён, но ещё не прошёл финансовое закрытие. То есть из старой программы извлекается знание о том, как на самом деле работает предприятие.

И вот это, на мой взгляд, главное. Сначала старую систему нужно сделать понятной и управляемой. А уже потом решать, что с ней делать. Одну часть можно оставить. Другую - перестать развивать. Третью - заменить новой программой. Где-то достаточно обеспечить обмен данными с современной системой. И только часть действительно придётся переписывать.

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

Поэтому я бы сегодня ставил вопрос не «как переписать старую систему?», а: Как с помощью ИИ вернуть предприятию знание и контроль над системой, от которой оно зависит?

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