14.07
🧠Месяц с Cursor AI: как я ускорил работу над open source-проектом
Целый месяц я активно пользовался Cursor во время работы над своим open source проектом - Duit. Благодаря ИИ-агентам скорость разработки значительно возросла и теперь я хочу поделиться тем, какие именно задачи и каким образом я делегировал ИИшке.
Тестирование: +650 тестов
Одной из важнейших текущий задач в проекте является обеспечение надежной миграции на новую версию ядра фреймворка - duit_kernel v4. Для этого требовалось написать сотни типовых тестов.
В этом моменте ИИ меня выручил на 100500%. С покрытием тестами критически важной части кодовой базы я справился за 8-10 часов. Сколько бы потребовалось бы времени, сил и терпения для реализации подобного в ручном режиме? История умалчивает...
Быстрый рефакторинг: Cursor Tab
Продвинутый автокомплит, который предоставляет агент в значительной степени помог мне, шаг за шагом, переработать реализации виджетов Duit. Suggest -> прочитал код -> Tab! Suggest -> прочитал код -> отредактировал -> Tab! С таким нехитрым алгоритмом удалось решить задачу глобального рефакторинга виджетов, которая, как и тесты, могла бы сильно затянуть весь процесс миграции. В итоге я переработал все виджеты без потери в качестве и без выгорания.
Документирование
С документированием API публичных методов классов пациент справился, но все-таки важно внимательно вычитывать, что же он там пишет. По структуре замечаний нет, но иногда он ловит свой вайб и притягивает за уши некоторые понятия, которые в контексте стека не актуальны. Например, thread-safe в однопоточном Dart 🙂
Прототипирование
На начальных этапах Cursor помог создать базовый лайаут страницы редактора для Duit Studio, после чего я начал применять его точечно. Например: - проанализировать скриншот из фигмы и создать константы для цветовой палитрый на его основе - написание простых функций по перемещению узлов дерева или смене активной ноды - рефакторинг больших файлов с распределением классов по отдельным файлам
На самом деле этот агент способен выдавать интересные результаты во время создания прототипов, особенно на этапе, когда окружающий контест отсуствует. Главное достаточно точно описать желаемый результат)
Мой личный вайб
Я вывел для себя идеальный флоу работы, который помогает не перегружать мозг чтением портянок отрефакторенного ИИ кода и при этом получать быстрые результаты: 1. Создание контекста (события блока, хендлеры событий в блоке) 2. Описание задачи и прокидывание необходимого контекста (указание целевых файлов, методов и функций, объяснение желаемого поведения) 3. Запуск агента и ревью результата (проверка реализации на соответствие промпту, мелкие правки, проверки corner-case) 4. Тестирование и дебаг (окончательная проверка поведения непосредственно в приложении).
Выводы
1. Я убедился в том, что рутинные задачи вроде тестирования и документирования могут быть легко закрыты ИИ-агентами 2. Задачи, связанные с работой над архитектурой решения, делегировать ИИ не стоит, можно легко потерять время. Основная проблема - ИИ знает о кодовой базе, но не понимает неявные требования, долгосрочное видение, субъективные предпочтения автора кода. Эффект может быть нивелирован добавлением rules с детальным объяснением всех компромиссов/решений и прочей полезной для ИИ информации. 3. Мышление понемного перестраивается. Стало легче объяснять, что я хочу реализовать самому себе. Стало меньше решений, принимаемых "в потоке".
Программист - архитектор и арбитр, ИИ - лишь исполнитель его воли. Не следует этого забывать и решения, продуцируемые ИИ перестунт быть такими непонятными, странными и низкокачественными 😎
еще контент в этом сообществе
еще контент в этом соообществе
14.07
войдите, чтобы увидеть
и подписаться на интересных профи