Привет, это снова oldzoomer, и сейчас я расскажу, как ИИ помогает мне освободить себя от рутинных задач, и заниматься исключительно любимым делом.
Насчёт вайбкодинга
Да, в каком-то смысле я являюсь вайбкодером. В частности, все самые неприятные моменты, связанные с рефакторингом кода, миграцией с одной либы на другую, и так далее, делаю при помощи ИИ.
Однако не надо забывать, что у меня в принципе имеются кое-какие знания в стеке Java-разработки, и поэтому я также способен самостоятельно исправлять те ошибки, которые были образованы при генерации кода.
Поэтому я не являюсь вайбкодером в классическом понимании. Для меня ИИ — это, по большей части, «второй пилот», который способен мне помочь в решении рутинных задач. Ибо, к сожалению, ИИ далеко не идеальны, и могут генерировать код с большим количеством ошибок.
Continue: подбор идеальной модели, LM Studio, Ryzen 3 4300U
Насчёт Continue, скажу ровно одно — надо подбирать идеальную модель.
И тут возникает куча вопросов — «какие модели идеальны для кода», «стоит ли юзать локальные LLM», и тому подобное.
Давайте разберемся с этим поподробнее.
Какую модель выбрать?
В случае с локальными моделями, Continue рекомендует использовать Ollama/LM Studio с 3 основными моделями:
-
Llama 3.1 8B — чат (chat), «применение» кода (apply)
-
Qwen 2.5 Coder 1.5B — автокомплит (autocomplete), редактирование кода (edit)
-
nomic-embed-text-v1.5 — эмбедер (embed), который позволяет обеспечивать индексацию кода и документации.
Если же вы хотите использовать «облачные» ИИ, то разработчики из Continue рекомендуют использовать модели от компании Anthropic.
И да — эти модели лучшие на рынке в настоящий момент, но они жутко дорогие, плюс они очень строго относятся к использованию «трёх букв», и других средств по «виртуальному переезду» в другие страны.
Поэтому лучший вариант — это смешивать локальные модели с удалёнными. Например, локально держать эмбедер и code-specific модели, а удалённо — большие «чатовые» модели, где часто ожидается гораздо лучшее качество модели, нежели даже 8B (8B — 8 миллиардов параметров).
Идеально всего локально держать как минимум эмбедер — оно есть далеко не везде, но если у вас VS Code, то там по умолчанию используется встроенный эмбедер, что часто его хватает за глаза. В случае с JetBrains, необходимо использовать Ollama/LM Studio, плюс ту самую модель от nomic, которая была выше.
Почему Local LLM лучше облачных?
Главные плюсы — доступность (не требуется плата за доступ к API ИИ-провайдера), полный контроль над данными, поступающие в ИИ, оффлайновость (прям как Фидонет :D), и многое другое.
Но есть и жирнючий минус — и это железо, на котором запускаю модельки. А именно — интегрированные GPU от AMD.
Но как-то ты пускаешь модели. Как?
Тут всё просто. Есть Vulkan, и этого вполне себе достаточно. Но есть у него особенность — работает в данном режиме только LM Studio. Ollama не имеет данную поддержку (по крайней мере, в официальных билдах оного). Зато это сильно увеличивает скорость работы модели на ноутбуках, даже бюджетном, как у меня (у меня Ryzen 3 4300U, 16 гигов ОЗУ (апгрейд с дефолтных 8), NVMe на 256 гигов).
Как всё-таки ИИ помогает мне в разработке?
В настоящий момент большинство кода моего гитхаба (ссылка в профиле) подвергся рефакторингу со стороны ИИ, а новый функционал и вовсе делаются силами ИИ, по большей части.
И тут для этого я использую ещё один сервис — bolt.new. Вообще, этот сервис создавался под JS-разработчиков (как я понял), но джаву он тоже знает хорошо (ибо базируется оно на Claude 3.7 и 4.0), имеет огромный контекст, что сильно спасает при больших объемах изменений в свои проекты.
Единственный минус — рабочий код ты никак не загрузишь. Да и в принципе, этого как раз не надо, ибо рабочий код не должен:
-
Подвергаться слишком большим изменениям сразу, а должно пройти всё это гладко.
-
Код не должен быть слит в общий доступ, и передаваться любым сторонним лицам.
Как по мне, такие сервисы, как Bolt, годятся именно как инструменты для мелких пет-проектов, и не годится для более крупных коммерческих проектов. Это, в первую очередь, инструмент для создания MVP и небольших проектов, не более.
Итоги
Как по мне, ИИ сильно выручает, но нужно учитывать огромное количество ограничений, которые не даст написать полностью весь проект, или ещё что-то в этом роде. Это, по большей части, инструмент для точечного применения, либо для небольших проектов, которые умещается в контекстное окно какого-нибудь Claude 3.7/4.0.
В крупных проектах ИИ — это всё-таки исключительно «второй пилот», не более, и это стоит учитывать.
ссылка на оригинал статьи https://habr.com/ru/articles/925284/
Добавить комментарий