Ключевые факты
- Веб-приложение было создано специально для устранения путаницы, вызванной недавним сбоем в работе метро в Сан-Франциско.
- Разработка опиралась на метод «vibe coding», при котором ИИ-ассистенты генерируют большую часть исходного кода на основе подсказок разработчика.
- Система обрабатывает реальные изображения схем цепей метро, которые общедоступны через веб-сайт SF Muni Central.
- Значительным техническим препятствием стало ручное включение поддержки GPU в PyTorch после обнаружения, что она была отключена в сгенерированном ИИ скрипте.
- Весь проект под названием munimet.ro был выпущен для публичного доступа по стандартной лицензии MIT с открытым исходным кодом.
- Приложение пытается воспроизвести простую полезность концепции «Нужен ли мне зонтик» для принятия решений о выборе общественного транспорта.
Краткое изложение
Недавний сбой в работе транспортной сети Сан-Франциско послужил толчком к созданию новаторского веб-приложения, предназначенного для ответа на простой вопрос пассажира: стоит ли мне ехать на метро или на автобусе? Вдохновившись полезностью сайта «Нужен ли мне зонтик», этот новый инструмент использует машинное обучение для интерпретации данных о работе метро в реальном времени.
Проект, разработанный независимым программистом, демонстрирует практическое применение ИИ в городской мобильности. Анализируя общедоступные схемы цепей из системы SF Muni Central, приложение стремится предоставить более четкие сведения для ежедневных путешественников, ориентирующихся в сложной инфраструктуре городского транспорта.
Источник вдохновения
Проект зародился в результате конкретного, разочаровавшего опыта: сбоя в работе метро, который оставил пассажиров в растерянности и в поисках ответов. Этот инцидент выявил пробел в доступной, предиктивной информации о транспорте. Разработчик решил создать инструмент, который мог бы оперативно отвечать на критический вопрос: стоит ли полагаться на систему метро в данный момент.
Придерживаясь современной философии разработки, создатель решил «программировать настроением» («vibe code») приложение максимально возможным образом. Этот подход предполагает использование ИИ-ассистентов для кодирования для генерации большей части кодовой базы, позволяя разработчику сосредоточиться на высокоуровневой архитектуре и решении проблем, а не на написании каждой строки кода вручную.
- Спровоцирован реальным сбоем в работе метро
- Смоделировано по простой полезности «Нужен ли мне зонтик»
- Сосредоточено на конкретной дилемме пассажира: метро против автобуса
- Принята методология «vibe coding» для быстрой разработки
«Казалось, это правильный инструмент для работы, но я бы сэкономил время, если бы построил его с нуля сам».
— Разработчик, munimet.ro
Создание с помощью ИИ-ассистента
Процесс разработки начался с Claude Code, ИИ-ассистента для программирования, которому было поручено создать фоновый скрипт. Этот скрипт был разработан для автоматической загрузки изображений реальных схем цепей, доступных через домен sfmunicentral.com, фиксируя текущее состояние сети метро.
После получения данных следующим шагом стало создание инструмента для маркировки этих изображений. ИИ сгенерировал маркировщик изображений с использованием библиотеки tkinter. Однако этот этап оказался сложнее, чем ожидалось, и потребовал значительного ручного вмешательства, прежде чем процесс маркировки мог эффективно начаться.
«Казалось, это правильный инструмент для работы, но я бы сэкономил время, если бы построил его с нуля сам».
Несмотря на первоначальные трудности с инструментом маркировки, проект перешел в свою наиболее технически интересную фазу: преобразование маркированных данных изображений в практические прогнозы с использованием PyTorch. ИИ-ассистент с относительной скоростью написал начальный скрипт для этого компонента машинного обучения, хотя он все равно требовал тщательной ручной настройки.
Технические проблемы и доработки
Когда модель машинного обучения начала обрабатывать данные, разработчик столкнулся с неизбежными нюансами работы с нейронными сетями. Сгенерированный ИИ скрипт пометил определенные изображения как выбросы, что побудило разработчика включить процесс перепроверки и ручного просмотра, чтобы обеспечить точность модели.
В момент осознания, с которым могут столкнуться многие разработчики, значительное узкое место в производительности было обнаружено глубоко в процессе разработки. Исходный скрипт, сгенерированный Claude, не включил поддержку GPU в PyTorch, что означало, что интенсивная обработка изображений выполнялась на процессоре вместо графического ускорителя.
«Признаю, я зашел довольно далеко, прежде чем понял, что Claude не включил поддержку GPU в pytorch; настоящий момент „facepalm“ с моей стороны».
Эта оплошность потребовала ручного исправления для разблокировки полной вычислительной мощности оборудования, что является важным шагом для обеспечения возможности приложения эффективно обрабатывать данные и предоставлять пользователям своевременные прогнозы.
Доступность с открытым исходным кодом
Результатом этого пути разработки стало munimet.ro — веб-приложение, служащее статусной страницой для местной системы метро на основе машинного обучения. Проект служит свидетельством потенциала сочетания инструментов ИИ с человеческим контролем для решения практических, повседневных проблем.
Для тех, кто интересуется технической реализацией или желает внести свой вклад, проект не является закрытой коробкой. Полный исходный код стал общедоступным по лицензии MIT. Этот подход с открытым исходным кодом приглашает к проверке, сотрудничеству и адаптации другими разработчиками в сообществе.
- Название приложения: munimet.ro
- Лицензия: MIT (разрешающая с открытым исходным кодом)
- Репозиторий: Размещен на GitHub
- Основные технологии: Python, PyTorch, Tkinter
Взгляд в будущее
Создание munimet.ro иллюстрирует растущую тенденцию, при которой отдельные разработчики могут быстро создавать прототипы сложных приложений с помощью ИИ-пилотов. Обращаясь к конкретной проблемной точке в городском транспорте, проект выходит за рамки простого упражнения по кодированию, предлагая потенциальную пользу для пассажиров Сан-Франциско.
Хотя приложение в настоящее время является доказательством концепции, оно подчеркивает доступность инструментов машинного обучения для решения узкоспециализированных проблем. Готовность публично поделиться кодовой базой гарантирует, что проект может развиваться, потенциально вдохновляя аналогичные инструменты для других транспортных систем или совершенно иные задачи визуализации данных.
«Признаю, я зашел довольно далеко, прежде чем понял, что Claude не включил поддержку GPU в pytorch; настоящий момент „facepalm“ с моей стороны».
— Разработчик, munimet.ro
Часто задаваемые вопросы
Что такое munimet.ro?
Munimet.ro — это веб-приложение на основе машинного обучения, предназначенное для прогнозирования статуса системы метро Muni в Сан-Франциско. Оно анализирует изображения схем цепей в реальном времени, чтобы помочь пассажирам решить, стоит ли ехать на метро или на автобусе.
Continue scrolling for more










