Работа с Claude Code над Ryab.io показало две противоположные вещи - с одной стороны, я очень быстро поднял большой проект с крутым функционалом, сделано было более 2 000 коммитов за 2-3 месяца, но с другой, качество кода и что там внутри - с таким темпом у меня вообще не было времени смотреть и анализировать код полностью. Где, как и что работает, на сколько все хорошо читается и выполняется. Да, приходилось анализировать производительность и указывать на места, где она сильно страдает. Также, решил обновить архитектуру приложения, чтобы легче было разделять зоны ответственности между пакетами, функциями.
Но, это не сильно помогает мне как человеку, влезть полноценно в продукт и самому где-то что-то подкручивать или улучшать, так как потребуется огромное количество ресурсов, времени и я уверен, что все равно там не все пойму до конца, а переделывать если что целые блоки - это отдельная головная боль. Поэтому, на мой взгляд, надо балансировать и контролировать на каждом этапе работу ИИ агентов. Полностью писать код конечно сейчас не нужно, но как инженеру, важно указать на паттерны проектирования, структуру кода и файлов, и чтобы ИИ отталкивался от этого для последующих задач.
Недостатки, которые я вижу еще в текущей версии Ryab.io, в том, что проект не до конца отражает мое видение продукта, как мне хотелось бы. Да, очень много можно уже публиковать, но в нем нет ни полноценной динамики данных, ни парсинга событий на атрибуты, с которыми можно работать как с данными, чтобы правильно применить. Поэтому я хочу выдергивать из первой версии кусочки, которые уже классно себя показывают и внедрять в новую версию, попутно делясь ошибками и болями, с которыми я столкнулся и еще столкнусь в процессе.
Но, это не сильно помогает мне как человеку, влезть полноценно в продукт и самому где-то что-то подкручивать или улучшать, так как потребуется огромное количество ресурсов, времени и я уверен, что все равно там не все пойму до конца, а переделывать если что целые блоки - это отдельная головная боль. Поэтому, на мой взгляд, надо балансировать и контролировать на каждом этапе работу ИИ агентов. Полностью писать код конечно сейчас не нужно, но как инженеру, важно указать на паттерны проектирования, структуру кода и файлов, и чтобы ИИ отталкивался от этого для последующих задач.
Недостатки, которые я вижу еще в текущей версии Ryab.io, в том, что проект не до конца отражает мое видение продукта, как мне хотелось бы. Да, очень много можно уже публиковать, но в нем нет ни полноценной динамики данных, ни парсинга событий на атрибуты, с которыми можно работать как с данными, чтобы правильно применить. Поэтому я хочу выдергивать из первой версии кусочки, которые уже классно себя показывают и внедрять в новую версию, попутно делясь ошибками и болями, с которыми я столкнулся и еще столкнусь в процессе.
From Code To Product pinned «Работа с Claude Code над Ryab.io показало две противоположные вещи - с одной стороны, я очень быстро поднял большой проект с крутым функционалом, сделано было более 2 000 коммитов за 2-3 месяца, но с другой, качество кода и что там внутри - с таким темпом…»
Проектирование и прототипирование с ИИ
Любой проект начинается с желания исправить или сделать что-то лучше. Ты замечаешь недостатки, отсутствие каких-то вещей или неудобство в использовании. Для меня это информационный голод на локальные события, когда тебе приходиться искать по множеству каналов и сайтов информацию о предстоящем событии или о происшествии, которое взбудоражило район или целый город.
Мне нравится, что ИИ может выступать таким вторым собеседником, который помогает как-то структурировать свои представления, идеи и планы. Если что-то забыл учесть, он помогает заполнить этот пробел. Ему можно поручить быстрое исследование ниши: кто уже есть, как они работают, что у них работает хорошо, а чем твой проект отличается в лучшую сторону.
Конечно, не во всем я бываю с ним согласен: в части реализации проекта, в части шагов, которые стоит предпринять в начале, его излишком тревожная часть в плане законов или безопасности (нет, конечно я не собираюсь нарушать законы, но некоторые моменты излишни бывают). Мне кажется, в такие моменты ИИ не хватает более подробного контекста, и важно его поправлять и уточнять детали, так как он не способен охватить всю область в целом (скорее всего на данный момент только).
Обсуждение может затягиваться, и важно не потерять контекст всей беседы. Если видно, что мы приближаемся к порогу, необходимо уже создать первый документ по проекту
Если общее представление устраивает, тут дальше можно перейти к прототипам. К примеру, я сделал с помощью ИИ лабораторию, которая показывает путь прохождения сигнала от источника до его выхода. На выходе уже клиент (а это может быть как приложение мобильное, так и ТГ канал какой-нибудь) берет эти данные и применяет с правильным отображением, при необходимости дозапрашивает их.
Так как я визуал, мне иногда проще проверить гипотезу или поток данных в виде схем, визуальных компонентов, плюс помогает спроектировать схему данных между разными частями системы.
UI в эпоху ИИ претерпевает смещение в сторону динамично изменяющегося интерфейса. Я начал прототипировать базовый экран проекта с этой идеей. Поначалу получилась либо карта обычная, либо стандартная лента новостей и событий. Отклонив оба варианта, я пришел пока к гибридной версии - где сразу на карте видно что происходит рядом, плюс отдельно поднимается лента в панели снизу для событий и новостей, которые пока сложно поместить на карту. Добавил еще поисковую строку, что позволяет спросить городской ИИ о выбранном городе - что происходит, куда сходить, где покушать, интересное по пути.
От идеи до прототипа у меня ушло порядка 4-5 часов. Да, я конечно опирался на предыдущую версию Ryab в плане визуала, но все-таки, здесь добавлены новые концепции, которых не хватало. ИИ - это инструмент, он не заменяет человека, но в грамотных руках делает из него супергероя.
Любой проект начинается с желания исправить или сделать что-то лучше. Ты замечаешь недостатки, отсутствие каких-то вещей или неудобство в использовании. Для меня это информационный голод на локальные события, когда тебе приходиться искать по множеству каналов и сайтов информацию о предстоящем событии или о происшествии, которое взбудоражило район или целый город.
Мне нравится, что ИИ может выступать таким вторым собеседником, который помогает как-то структурировать свои представления, идеи и планы. Если что-то забыл учесть, он помогает заполнить этот пробел. Ему можно поручить быстрое исследование ниши: кто уже есть, как они работают, что у них работает хорошо, а чем твой проект отличается в лучшую сторону.
Конечно, не во всем я бываю с ним согласен: в части реализации проекта, в части шагов, которые стоит предпринять в начале, его излишком тревожная часть в плане законов или безопасности (нет, конечно я не собираюсь нарушать законы, но некоторые моменты излишни бывают). Мне кажется, в такие моменты ИИ не хватает более подробного контекста, и важно его поправлять и уточнять детали, так как он не способен охватить всю область в целом (скорее всего на данный момент только).
Обсуждение может затягиваться, и важно не потерять контекст всей беседы. Если видно, что мы приближаемся к порогу, необходимо уже создать первый документ по проекту
CONCEPT.md - в который положить замысел, так и принципы работы и видения. Это помогает структурировать данные и дальше сбросить или сжать контекст чата.Если общее представление устраивает, тут дальше можно перейти к прототипам. К примеру, я сделал с помощью ИИ лабораторию, которая показывает путь прохождения сигнала от источника до его выхода. На выходе уже клиент (а это может быть как приложение мобильное, так и ТГ канал какой-нибудь) берет эти данные и применяет с правильным отображением, при необходимости дозапрашивает их.
Так как я визуал, мне иногда проще проверить гипотезу или поток данных в виде схем, визуальных компонентов, плюс помогает спроектировать схему данных между разными частями системы.
UI в эпоху ИИ претерпевает смещение в сторону динамично изменяющегося интерфейса. Я начал прототипировать базовый экран проекта с этой идеей. Поначалу получилась либо карта обычная, либо стандартная лента новостей и событий. Отклонив оба варианта, я пришел пока к гибридной версии - где сразу на карте видно что происходит рядом, плюс отдельно поднимается лента в панели снизу для событий и новостей, которые пока сложно поместить на карту. Добавил еще поисковую строку, что позволяет спросить городской ИИ о выбранном городе - что происходит, куда сходить, где покушать, интересное по пути.
От идеи до прототипа у меня ушло порядка 4-5 часов. Да, я конечно опирался на предыдущую версию Ryab в плане визуала, но все-таки, здесь добавлены новые концепции, которых не хватало. ИИ - это инструмент, он не заменяет человека, но в грамотных руках делает из него супергероя.
