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


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


Существовавшие веб-ресурсы не закрывали все потребности аналитики, поэтому было принято решение написать собственное приложение. Первая версия программы позволяла выстраивать картинки с линией разделения и лупой, однако дальнейшее развитие проекта потребовало глубокого погружения в работу с современными моделями вроде Gemini и Claude.


Эпоха копипасты и работа с лимитами
На раннем этапе развития проекта разработчик столкнулся со специфическими ограничениями чат-интерфейсов. Нейросети того периода с трудом справлялись со сложными логическими задачами вроде заморозки положения увеличительных луп. Из-за небольших окон контекста приходилось использовать специальные скрипты, объединяющие файлы исходного кода в единый массив данных для передачи в веб-интерфейс Google AI Studio.





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



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





Тем не менее, усложнение архитектуры привело к появлению «гонки состояний» при сохранении параметров окна, что потребовало полной переработки логики на паттерн MVP. Попытки внедрить запись видео в высоком разрешении и сложные функции анализа потребовали внедрения паттерна Redux для создания воспроизводимых списков команд.
Борьба с багами и инцидент с потерей данных
Масштабные обновления неизбежно влекли за собой технические трудности, включая проблемы с производительностью отрисовки и ограничения видеокарт по максимальному разрешению текстур. Для обхода этих лимитов была внедрена система уровней детализации (LOD), при которой крупные изображения нарезаются на сетку фрагментов.
Наиболее серьезным испытанием стал инцидент, когда экспериментальный агент DeepSeek случайно удалил рабочие папки проекта. Тем не менее, с помощью анализа сохраненных логов и сессий ИИ смог сгенерировать скрипты, восстановившие более 97% внесенных изменений. После этого инцидента особое внимание было уделено внедрению надежных систем резервного копирования.
Переход на оркестраторы и ребрендинг
На финальном этапе проект перешел на концепцию многоагентных оркестров, когда один главный ИИ управляет задачами других автономных модулей. Это позволило провести масштабный редизайн интерфейса, уменьшить занимаемую служебными элементами площадь экрана и внедрить автоматический анализ групп изображений.
Поскольку функционал давно вышел за рамки простого сопоставления кадров, оригинальное наименование Improve-ImgSLI было официально изменено на BlinkTable. За несколько лет экспериментов проект вырос в многофункциональный медиакомбайн с собственной архитектурой, библиотекой интерфейса и обширным набором инструментов для работы с графикой.
