Программируем на Python с искусственным интеллектом: как ИИ помог создать USB-пусковую установку для футболок

Программируем на Python с искусственным интеллектом: как ИИ помог создать USB-пусковую установку для футболок

Как умножить эффективность разработки в 10 раз с помощью ИИ? Книга «Modern Python Programming using ChatGPT» Шивакумара Гопалакришнана предлагает не просто промпты, а целостную методологию применения искусственного интеллекта на всех этапах жизненного цикла разработки — от сбора требований до мониторинга в Grafana. В основе — сквозной проект: USB T-Shirt Launcher, автоматически наводящийся на лицо и стреляющий футболками.

Почему эта книга важна — особенно для российских разработчиков?

Книга не о ChatGPT. Она о системном подходе к использованию ИИ в разработке. Все описанные методы применимы к любому доступному в России ИИ-ассистенту. Автор, инженер с 25-летним стажем и бывший архитектор в компаниях Fortune 100, демонстрирует, как интегрировать ИИ в реальные процессы — без воды, с фокусом на качество и эффективность.

Вместо типовых примеров вроде создания ботов, читатель проходит полный цикл разработки в симбиозе с ИИ:

  • Сбор требований: формулировка OKR, создание персонажей и карт эмпатии с помощью ИИ.
  • Проектирование: применение принципов SOLID и шаблонов проектирования с поддержкой ИИ.
  • Разработка: генерация, рефакторинг и отладка кода на реальных примерах.
  • Качество кода: написание тестов и соблюдение лучших практик — ИИ учит не просто писать код, а писать хороший код.
  • DevOps: настройка CI/CD, работа с PR, описание коммитов и мониторинг через Grafana Cloud.

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

Как ИИ помог спроектировать «пушку для футболок»

USB T-Shirt Launcher — это реальное устройство на базе Raspberry Pi с камерой, распознающей лица. Цель: автоматически наводить турель и стрелять по человеку. Проект охватывает работу с «железом», компьютерным зрением, реальным временем и ограниченными ресурсами.

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

Этап 1: Сбор требований

Функциональные требования:

  • Интеграция распознавания лиц с движением камеры — система должна удерживать лицо в центре кадра.
  • Реальное время — камера и турель реагируют мгновенно.
  • Наведение пусковой установки — куда смотрит камера, туда и целится пушка.
  • Безопасность — защита от случайных выстрелов.
  • Обработка ошибок — стабильная работа при сбоях.

Нефункциональные требования: код должен работать на слабом процессоре (Raspberry Pi), быть тестируемым и отлаживаемым без физического устройства.

Этап 2: Архитектура с поддержкой ИИ

Автор использует ChatGPT для проектирования архитектуры по принципам SOLID. ИИ предлагает применить фабричный метод, чтобы подменять реальное устройство симулятором во время разработки.

Решение включает:

  • Абстрактный класс Launcher с методом launch_tshirt().
  • Два наследника: USBLauncher (реальное устройство) и SimulatedLauncher (симулятор).
  • Фабрику LauncherFactory, создающую нужный экземпляр в зависимости от режима.
  • Контроллер LauncherController, получающий устройство через внедрение зависимости.

Такой подход обеспечивает гибкость и возможность тестирования без «железа».

Этап 3: Реализация — подводные камни

На практике возникают сложности:

  • Вибрации: шаткое крепление Raspberry Pi вызывает «пляску» координат лица.
  • Неизвестное начальное положение: сервоприводы без энкодеров — при старте турель может быть направлена куда угодно.
  • Ограниченная мощность: Raspberry Pi 3 еле справляется с OpenCV.
  • Движущаяся цель: человек может сместиться до завершения поворота.
  • Механические упоры: моторы нельзя крутить бесконечно.

Этап 4: Алгоритм слежения

Решение — простой, но эффективный алгоритм:

  1. Получить координаты лица через OpenCV.
  2. Вычислить его центр.
  3. Сравнить с центром кадра.
  4. Если смещение превышает порог — подать команду на поворот на фиксированную величину.
  5. Повторять до центрирования.

Это пропорциональный регулятор без обратной связи — он устойчив к вибрациям и работает на слабом железе.

Этап 5: Промпт и код от ChatGPT

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

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

Результат — стабильная работа на Raspberry Pi.

Итоги

За несколько итераций с ChatGPT удалось получить:

  • Чёткую архитектуру, отделяющую логику от «железа».
  • Рабочий прототип слежения, адаптированный под ограничения устройства.
  • Возможность тестирования без физического оборудования.
  • Готовую документацию — диаграммы, промпты, комментарии — всё сгенерировано ИИ.

Финальный код потребовал доработки: добавление обработки нескольких лиц, плавного движения через PID-регулятор и улучшенных механизмов безопасности. Но каркас, созданный ИИ, сэкономил дни, если не недели разработки.

Проект доказывает: ИИ способен не только писать функции, но и предлагать архитектурные решения, учитывающие реальные ограничения. Главное — правильно ставить задачу и критически оценивать результат.

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

Читать оригинал