(2/3) AI-проект выходного дня, Deeper!
1. Пост о проекте
2. Технологии и процесс "разработки" (этот пост)
3. Выводы для программистов, менеджеров, создателей
Собственно идея что-то такое сделать меня давно занимала, но было то лень, то некогда, а тут и тулинг подтянулся в виде IDE с нейронками, и необходимость проверить технические решения для другого проекта, побольше, удачно подвернулась.
Технологии
Язык - тут выбора особо и не было, кроме TypeScript :)
Помимо очевидных плюсов, еще 2 вещи сыграли большую роль:
* на нем много кода в открытом доступе, так что LLMки его неплохо знают;
* язык типизированный, так что ризонинг на нем LLMкам проще дается, соответственно, и качество кода выше.
Фреймворки
Нужны были полноценные фреймворки, и те, которые давно существуют, т.к. у LLM знания на год-два могут отставать.
2 года назад точно можно было на Angular делать любые по сложности клиентские приложения, можно и сейчас.
Ну а чтобы далеко не ходить, для серверной стороны был выбран "серверный Angular", NestJS.
IDE
Cursor + Claude Sonnet 3.5
Процесс
* была описана общая идея приложения несколькими предложениями и обсуждена с ChatGPT 4o;
* результат обсуждения был скормлен ChatGPT o1-preview с просьбой детализировать описание, фичи, UI/UX, и составить план реализации с учетом итеративного подхода;
* план был целиком скинут в Cursor Composer и потом пункт за пунктом был выполнен, от инициализации проектов и установки нужных либ до генерации кода по каждой фиче и запуска первой рабочей версии;
* после того, как поигрался с первой версией, возникло желание много переделать, так что был составлен список уточнений, опять скинут в o1 для планирования и снова был так же поэтапно реализован;
* ну и в процессе возникали постоянно какие-то новые правки или баги, которые почти всегда решались текстовыми запросами и принятием сгенерированного кода;
* как водится, проект был переписан раза полтора в процессе доводки из-за меняющихся на ходу требований :)
Деплой
Собрал всё в Docker-контейнеры (проекты + Redis) и поставил на мелкую VPS'ку за CloudFlare.
Соотношение сгенеренного / ручного:
Планирование: 70 / 30
UI/UX: 70 / 30
TypeScript: 95 / 5
HTML & SCSS: 100 / 0 (даже с оптимизацией под мобилки)
Тексты и локализация: 90 / 10
Промпты к LLM для написания статей: 90 / 10
Devops-код: 50 / 50 (девопсы могут спать спокойнее :))
Общее время:
Пара вечеров на выбор технологий и планирование.
Пара вечеров на реализацию и деплой.
Выводы будут дальше :)
#prototype #ai #technical
1. Пост о проекте
2. Технологии и процесс "разработки" (этот пост)
3. Выводы для программистов, менеджеров, создателей
Собственно идея что-то такое сделать меня давно занимала, но было то лень, то некогда, а тут и тулинг подтянулся в виде IDE с нейронками, и необходимость проверить технические решения для другого проекта, побольше, удачно подвернулась.
Технологии
Язык - тут выбора особо и не было, кроме TypeScript :)
Помимо очевидных плюсов, еще 2 вещи сыграли большую роль:
* на нем много кода в открытом доступе, так что LLMки его неплохо знают;
* язык типизированный, так что ризонинг на нем LLMкам проще дается, соответственно, и качество кода выше.
Фреймворки
Нужны были полноценные фреймворки, и те, которые давно существуют, т.к. у LLM знания на год-два могут отставать.
2 года назад точно можно было на Angular делать любые по сложности клиентские приложения, можно и сейчас.
Ну а чтобы далеко не ходить, для серверной стороны был выбран "серверный Angular", NestJS.
IDE
Cursor + Claude Sonnet 3.5
Процесс
* была описана общая идея приложения несколькими предложениями и обсуждена с ChatGPT 4o;
* результат обсуждения был скормлен ChatGPT o1-preview с просьбой детализировать описание, фичи, UI/UX, и составить план реализации с учетом итеративного подхода;
* план был целиком скинут в Cursor Composer и потом пункт за пунктом был выполнен, от инициализации проектов и установки нужных либ до генерации кода по каждой фиче и запуска первой рабочей версии;
* после того, как поигрался с первой версией, возникло желание много переделать, так что был составлен список уточнений, опять скинут в o1 для планирования и снова был так же поэтапно реализован;
* ну и в процессе возникали постоянно какие-то новые правки или баги, которые почти всегда решались текстовыми запросами и принятием сгенерированного кода;
* как водится, проект был переписан раза полтора в процессе доводки из-за меняющихся на ходу требований :)
Деплой
Собрал всё в Docker-контейнеры (проекты + Redis) и поставил на мелкую VPS'ку за CloudFlare.
Соотношение сгенеренного / ручного:
Планирование: 70 / 30
UI/UX: 70 / 30
TypeScript: 95 / 5
HTML & SCSS: 100 / 0 (даже с оптимизацией под мобилки)
Тексты и локализация: 90 / 10
Промпты к LLM для написания статей: 90 / 10
Devops-код: 50 / 50 (девопсы могут спать спокойнее :))
Общее время:
Пара вечеров на выбор технологий и планирование.
Пара вечеров на реализацию и деплой.
Выводы будут дальше :)
#prototype #ai #technical