Советы

Генеративные ИИ: как ускорить разработку с помощью Github Copilot и Databricks и стать AI-инженером

Генеративные ИИ: как ускорить разработку с помощью Github Copilot и Databricks и стать AI-инженером

В быстро меняющемся мире разработки программного обеспечения одна инновация действительно меняет правила игры: искусственный интеллект (ИИ). Благодаря своим замечательным возможностям искусственный интеллект произвел революцию в том, как разработчики взаимодействуют с кодом, изменив ландшафт современного программирования.

В Visual Studio Code Marketplace уже доступно более 400 дополнений с искусственным интеллектом благодаря появлению новых технологий генеративного искусственного интеллекта в индустрии разработки программного обеспечения. Эти расширения на основе ИИ подняли производительность разработчиков до беспрецедентных высот — от предоставления интеллектуальных предложений по коду до оптимизации повторяющихся задач.

Вот список из 5 лучших расширений AI для VSCode, которые вы должны использовать, чтобы улучшить свой опыт разработчика, производительность и эффективность рабочего процесса.

1. Второй пилот на Гитхабе

Генеративные ИИ: как ускорить разработку с помощью Github Copilot и Databricks и стать AI-инженером

GitHub разработал Copilot в сотрудничестве с OpenAI, предоставляя предложения в стиле автозаполнения по мере написания кода.

Как это работает?

Copilot трансформирует процесс разработки, прогнозируя код на основе комментариев и заявленных имен функций, используя пул знаний из репозиториев с открытым исходным кодом по всему миру.

GitHub Copilot, который называют «вашим программистом пары ИИ», — это больше, чем просто инструмент автозаполнения; его использование похоже на работу с высококвалифицированным инженером-программистом в вашей нише. Написание кода становится беспроблемным процессом, когда в вашем распоряжении есть GitHub Copilot.

  • GitHub Copilot предлагает рекомендации для широкого спектра языков и фреймворков, но исключительно хорошо работает с Python, JavaScript, TypeScript, Ruby, Go, C# и C++.
  • Copilot также расширяет свои возможности для запросов к базе данных, обеспечивая неоценимую поддержку в различных аспектах разработки программного обеспечения.
  • Автоматизируя повторяющиеся задачи и предоставляя интеллектуальное руководство, Copilot помогает вам сосредоточиться на более сложных и инновационных задачах, повышая общий уровень опыта разработчика.

GitHub Copilot может прогнозировать код по м и объявленным именам функций. Вы также можете вручную настроить предложенный код и просмотреть альтернативные предложения.

Насколько хорош Github Copilot?

Согласно Github Research Survey, разработчики сообщили, что они быстрее выполняют задачи, особенно повторяющиеся, и могут сосредоточиться на более приятной работе при использовании GitHub Copilot.

С более чем 7,5 миллионами установок он получил 4-звездочный рейтинг от 906 разработчиков, которые его рассмотрели.

2. Плавать

Согласно исследованию Standish Group, плохо документированный код может увеличить стоимость разработки программного обеспечения до 100%. Это связано с тем, что для понимания и поддержки плохо документированного кода требуется больше времени и усилий.

Документация служит основой каждого успешного программного проекта, позволяя разработчикам эффективно ориентироваться в сложностях своей кодовой базы и способствовать беспрепятственному сотрудничеству в команде. Когда все в команде понимают, как работает код, они могут работать более эффективно и результативно. Это может привести к сокращению циклов разработки и повышению качества программного обеспечения.

Расширение Swimm — это мощный инструмент для документирования, который помогает вам работать с документацией непосредственно из VS Code. Вместо того, чтобы вручную обновлять рефакторинговый код, Swimm поддерживает актуальность вашей документации в соответствии с вашим кодом, синхронизируя документацию с последними обновлениями кода. Эта методология известна как непрерывная документация.

Генеративные ИИ: как ускорить разработку с помощью Github Copilot и Databricks и стать AI-инженером

  1. Swimm отличался от других расширений ИИ на рынке четырьмя новыми функциями ИИ, направленными на ускорение процесса документирования кода, позволяя ИИ выполнять тяжелую работу.
  2. › Начните работу с Swimm сейчас
  3. Давайте углубимся в эти функции.

Создать структуру документации

  • Одной из самых сложных вещей, с которыми сталкиваются разработчики при написании документации, является структура.
  • Начинают возникать такие вопросы, как «что мне объяснить в первую очередь» или «как я могу изложить главное».
  • С Swimm AI вы можете создавать и предлагать структуру документации на основе контекста вашего кода.
  • Чтобы сгенерировать документацию по коду из вашего редактора, обязательно установите Расширение Swimm из магазина расширений VS Code и выберите значок Swimm на боковой панели.
  • Войдите или зарегистрируйтесь и подключитесь к репозиторию GitHub.
  • После входа в систему нажмите кнопку «Создать» на панели Swimm.

Генеративные ИИ: как ускорить разработку с помощью Github Copilot и Databricks и стать AI-инженером

Боковая панель будет открыта справа, указывая на новую документацию.

Введите название документации и нажмите клавишу ввода или кнопку «Сохранить», чтобы сохранить документацию.

Генеративные ИИ: как ускорить разработку с помощью Github Copilot и Databricks и стать AI-инженером

  1. В описании документации щелкните значок волшебного пера, чтобы сгенерировать предложения ИИ.
  2. Вам будет предоставлено три предложения по структуре; щелкните заголовок предложения, чтобы просмотреть его.
  3. Нажмите кнопку Добавить в документ, чтобы добавить предлагаемую рецензию в документацию.
  4. Хотите, чтобы ваша документация была лаконичной?
  5. Расширение Swimm предоставляет функцию искусственного интеллекта Сделать лучше для улучшения качества документации.
  6. Просто выделите текст, который хотите улучшить, выберите значок волшебного пера во всплывающей подсказке над текстом и выберите параметр.

Генеративные ИИ: как ускорить разработку с помощью Github Copilot и Databricks и стать AI-инженером

Создание пояснений к коду документации

С Swimm AI вам не нужно сильно потеть, думая о написании пояснений кода в документации.

Вы можете использовать следующие шаги для создания объяснения кода с Swimm AI:

  1. Создайте документ для плавания.
  2. Используйте /фрагмент кода, чтобы вставить код.
  3. Выделите код, чтобы вставить его в документацию.
  4. В текстовом поле описания щелкните значок волшебного пера или используйте команду /ai, чтобы активировать Swimm AI.

Это создаст описание на основе выделенной вами функции.

Ниже приведена простая демонстрация

Генеративные ИИ: как ускорить разработку с помощью Github Copilot и Databricks и стать AI-инженером

Запрос на включение в документацию

Функция Pull Request (PR) для документации поразила меня, когда я впервые столкнулся с ней. Благодаря этой функции документирование кода становится единым процессом в рабочем процессе вашей команды. Возможность написания документации на ходу.

  • Чтобы преобразовать свой PR в документацию, перейдите в Swimm Dashboard и подключите свой репозиторий Github.
  • Нажмите кнопку « и выберите вариант «Документ от PR».
  • Появится модальное окно со всеми объединенными PR с возможностью выбрать один, или вы можете ввести номер PR непосредственно в текстовое поле под параметрами.
  • Выбрав нужный PR, нажмите кнопку «Создать с помощью ИИ».

Генеративные ИИ: как ускорить разработку с помощью Github Copilot и Databricks и стать AI-инженером

Поздравляем! Ваш процесс преобразования PR будет завершен в короткие сроки.

Ниже приведена демонстрация этого процесса.

Генеративные ИИ: как ускорить разработку с помощью Github Copilot и Databricks и стать AI-инженером

Swimm также отслеживает изменения кода. В ситуации, когда фрагмент кода, указанный в документах, изменяется в кодовой базе, Swimm подсказывает вам об изменении, и одним нажатием кнопки все изменения будут реализованы и в документах.

Повышение прозрачности документации

С расширением Swimm VS Code вы можете настроить правила видимости документа, чтобы выделить ключевое слово, чтобы при наведении курсора на ключевое слово отображалась всплывающая подсказка, показывающая документацию, связанную с ключевым словом, вместе с выдержкой. Эта функция помогает убедиться, что соответствующие знания кода появляются до того, как будут совершены ошибки.

Генеративные ИИ: как ускорить разработку с помощью Github Copilot и Databricks и стать AI-инженером

С помощью Swimm AI создание правил отображения документов можно выполнить одним нажатием кнопки. Swimm использует ИИ для создания вариантов использования для вашей документации, чтобы разработчики могли легко найти документацию по переменным, функциям, классам и любому коду, представленному в сценарии использования.

Вспомните, когда вы были новичком в своем любимом фреймворке. Как было бы, если бы вы нашли документацию по всем функциям и классам, связанным с фреймворком, прямо на VSCode?

Удивительно, не так ли?

Если вы разработчик, который ищет способ улучшить документацию по коду, я рекомендую вам ознакомиться с Swimm AI. Это мощный инструмент, который может помочь вам сэкономить время и улучшить качество вашего кода.

3. Табнин

Tabnine — еще одно расширение, выходящее за рамки традиционного автодополнения кода. Это расширение, основанное на искусственном интеллекте, предлагает интеллектуальные предложения, которые адаптируются к контексту вашего кода.

  1. Как и Github Copilot, во время написания кода Tabnine предсказывает ваши следующие шаги, предлагая очень релевантные варианты завершения кода и избавляя от необходимости утомительного поиска правильного синтаксиса или функции.
  2. Эта интеллектуальная помощь упрощает процесс написания кода, позволяя разработчикам сосредоточиться на решении проблем и создании инновационных решений, а не разбираться с деталями синтаксиса.

Tabnine AI со временем учится на ваших привычках и шаблонах кодирования, адаптируя свои предложения к вашему уникальному стилю. Эта возможность адаптивного обучения гарантирует, что расширение станет продолжением вас самих, предлагая более точные и контекстуально релевантные рекомендации.

По мере того как вы кодируете, Tabnine уточняет ваши намерения, ускоряя рабочий процесс и способствуя персонализированному процессу кодирования.

Расширения на основе ИИ часто вызывают опасения по поводу производительности, но Tabnine AI в этой области преуспевает.

Расширение предназначено для оперативного реагирования и предложений кода в режиме реального времени, гарантируя, что разработчики будут испытывать минимальную задержку во время сеансов кодирования.

Используя мощь облачных моделей искусственного интеллекта, Tabnine обеспечивает беспрепятственный пользовательский интерфейс, сочетая интеллект и скорость для повышения эффективности кодирования.

На момент написания этой статьи Tabnine также недавно запустила бета-версию Tabnine Chat, интерфейса чата на основе искусственного интеллекта прямо в вашем редакторе кода.

Говорят, что Tabnine Chat изучает всю кодовую базу вашего проекта, другое программное обеспечение с открытым исходным кодом, а также каждый вопрос и ответ Stack Overflow. Он всегда под рукой, прямо внутри Visual Studio Code, чтобы ответить на любые ваши вопросы.

4. Черный ящик

Blackbox предлагает интерфейс чата под названием «Code Chat», который напрямую интегрируется в ваш VS Code.

Через этот интерфейс вы можете задавать вопросы и искать код, по сути, предоставляя вам доступ к функциям, подобным chatGPT, в вашем редакторе.

Как человек, который часто использует chatGPT, я обнаружил, что Blackbox невероятно полезен. Эта функция не только позволяет эффективно отлаживать код, но и экономит время, поскольку вам больше не нужно тратить значительные усилия на обдумывание логики кода. Просто задайте свои вопросы, и вы получите ответы в кратчайшие сроки.

Читайте также:  Резюме программиста: примеры, шаблоны и образцы

Поиск кода Blackbox по комментарию

Эта функция была создана для генерации кода с помощью комментариев. Написав комментарий и закончив его знаком «?» вопросительный знак, Blackbox активирует функцию кодового чата и даст вам результат.

Генеративные ИИ: как ускорить разработку с помощью Github Copilot и Databricks и стать AI-инженером : Backend Developer

Давайте разберемся, что же могут помощники и SDK, а чего от них ожидать еще рано. Рассмотрим наиболее популярные решения от Github и Databricks: варианты использования и их ограничения. Также поговорим о перспективах профессии AI-инженера.

Статья читателя «Библиотеки программиста»

Развитие генеративного ИИ открыло перед инженерами множество возможностей. За последний год количество областей, где могла бы пригодиться его помощь, растет как на дрожжах.

Это привело к значительному увеличению спроса среди разработчиков: новый уровень абстракции и изменение подхода к разработке. То, что когда-то называлось разработкой СППР, превратилось в отдельную специализированную профессию AI-инженера.

Это полноценная инженерная позиция, на которую начали активно нанимать. Почему?

Проблематика

Проблема скорости в разработке программного обеспечения остро стоит перед любой компанией: она не только должна зарабатывать, но и продолжать инвестировать в технологии, поддерживающие ее развитие.

Очевидно, что стейкхолдеры ожидают определенной скорости разработки, а клиенты — наличия конкретной функциональности, которую они хотят видеть в ваших продуктах. В идеальном мире разработчики, конечно, могли бы свободно кодить, тестировать, рефакторить и деплоить код в своем темпе.

Однако реальность такова, что бизнесу требуется быстрый релиз необходимой функциональности.

Важно понимать, что AI, как и реальные инженеры, будет совершать ошибки. Например, при использовании SDK постоянно генерировался код с ошибкой, однако, стоило мне чуть изменить свой запрос — генерация прошла успешно, и я смог запустить рабочий код.

Зная об ограничениях таких инструментов и обладая достаточным опытом программирования, вполне реально обходить эти проблемные места в коде или исправлять их с учетом контекста задачи. Все зависит от сложности постановки задачи по вашей функциональности.

1. Github Copilot

Основан на Open AI Codex — модели машинного обучения, которая может преобразовывать естественный язык в код. Анализируя комментарии и существующий код, Codex предлагает предложения для отдельных строк кода, а также целых функций, по ходу кодинга. По сути, это специализированная версия GPT-3, которая настроена для задач программирования, СППР.

Copilot повышает эффективность разработчиков, сводя к минимуму время, которое они тратят на поиск документации, написание повторяющегося кода и автодополнения наиболее часто используемых паттернов.

Используя Copilot, проще фокусироваться на программировании — говорит вам реклама, но не все так просто.

Важно быть опытным разработчиком, который уже разбирается в текущей кодовой базе, чтобы заюзать помощника в своих целях, а не подчиняться, порой, странным блокам кода, которые, конечно, сработают, но будут далеки от эффективности и элегантности.

Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека data scientist’а» Интересно, перейти к каналу

Варианты использования

Навигация по новому коду

Часто при входе в новый проект приходится разбираться с большими блоками кода, которые отвечают за ту или иную функциональность.

Такая ситуация возникает, когда мы сталкиваемся с унаследованным кодом без четкого понимания бизнес-контекста или когда работаем с новыми либами без хорошей документации.

Copilot Labs помогает разработчикам переводить код с одного языка программирования на другой и предоставляет пошаговое объяснение фрагментов кода. Особенно важно, когда нужна комплексная оценка кодовой базы с целью ее рефакторинга или отказа от нее.

Используя функцию Explain для понимания кода, можно ускорить понимание сложных блоков кода, а иногда и перефразировать его даже на другом языке. Важно понимать, что качество такого перевода сильно зависит от сложности кода, с которым вы сталкиваетесь.

Код-ревью

Copilot X включает в себя Copilot для запросов PR, который предлагает автоматическое описание, а Gentest еще и предлагает тесты. Получайте подсказки и предложения от помощника при вводе об изменении какого-либо блока кода. Очень специфичный, но вполне реальный кейс. Copilot Labs делает это довольно легко, позволяет провести даже сложный код-ревью на нескольких языках.

Рефакторинг и дебаг

Как правило, в этом случае нужно дописывать код после помощника. Copilot не любит компилируемый код, поэтому мне пришлось самостоятельно подключить библиотеку отдельной инструкцией, чтобы избежать сбоев при рефакторинге.

Также Copilot изначально не мог использовать ORM (поскольку он не видел, что я его применял ранее), поэтому пришлось подсказать ему через комментарий, чтобы намекнуть ему на то, как можно это применить. Отладка работает, очень удобно, когда у вас вдруг код не компилируется: можно его скормить помощнику и попросить проанализировать проблему.

Он подумает и выразит свое мнение. К сожалению, это редко работает на коде, который использует внешние библиотеки, но простую ошибку все же подскажет.

Статья по теме ????????​ Как использовать GitHub Copilot вместе с Python: подробная инструкция

Написание тестов и регулярок

Хотя генерация тестов с помощью Copilot — это тоже генерация кода, просто для тестирования я бы выделил ее в отдельную тему.

Создание модульных тестов часто — нудная и утомительная работа, особенно если вы стремитесь охватить различные сценарии: основные варианты использования, краевые условия, ошибочные ситуации и т. д.

Важно понимать, что только базовые сценарии, лежащие на поверхности, будут покрыты помощником. Конечно, он ничего не знает о ваших требованиях. Возможно, позже ему и получится скормить их, например, от ваших аналитиков.

Гораздо веселее сэкономить на возне с регулярными выражениями.

Как же я этого ждал! Для меня — это боль, составлять такие выражения и валидировать их: иногда тебе кажется, что ты все учел, но находится строка, которую конструкция не покрывает.

Вместо этого вы можете написать простой комментарий с тем, какую конструкцию из текста хотите выделить регуляркой, чтобы сразу же получить предложения Copilot. Неплохо!

Результат использования

Copilot обучен на большом количестве общедоступного кода, что позволяет ему генерировать фрагменты кода, функции и даже целые классы в зависимости от контекста и ваших требований.

Он может помочь с повторяющимися задачами, предложить альтернативные имплементации и помочь запилить нудный код, который часто так не хочется придумывать самому.

Он поддерживает широкий спектр языков программирования и легко интегрируется с популярными редакторами кода, но я бы не рассчитывал на хорошую поддержку для редкого языка — могу быть уверенным только при использовании с Python, Java.

В целом, помощник направлен на повышение производительности разработчиков за счет сокращения времени, затрачиваемого на написание шаблонного кода, и предоставления подсказок по ходу кодинга, что в конечном итоге упрощает и ускоряет процесс кодирования. Но и в качестве компаньона для обучения новому языку или решению вашей проблемы — вполне подходит.

Важно понимать, что у него, как и любой другой технологии существуют ограничения: чем специфичнее кейс, тем слабее помощь. Не стоит ждать чудес при использовании внешних либ или редких языков. Да, и если у вас большой опыт в разработки он, конечно, вряд ли вас удивит, скорее, позабавит.

2. Databricks English SDK

Как заявляет Databricks, они поняли, что за годы существования Spark-комьюнити накопило огромную кодовую базу готовых решений, на которой они смогли обучить свою языковую модель.

Это включает в себя множество открытых проектов, включая либы и готовые решения, вопросы с ответами в виде кода, дополненная документация по API, туториалы и книги. Они интегрировали в Spark эту информацию в виде нового языка.

Рассмотрим, какие функции поддерживает новый SDK на английском, который гораздо проще для аналитика или исследователя данных, чем изучение особенностей DSL на Scala, Python, Java.

Варианты использования

Получение данных в DataFrame

Можно дать команду на поиск в интернете, и Spark, используя LLM для определения наиболее вероятного (и подходящего) результата по вашему запросу, будет интегрировать полученные данные в Spark. Пару предложений — и DataFrame готов.

Операции DataFrame

SDK предлагает все возможные функции для сформированного DataFrame, которые вы обычно подбираете вручную: трансформации, кеширование, построение графиков. Просто введите запрос, например, сформировать выборку с фильтром по дате и стоимости.

Пользовательские функции (UDF)

SDK поддерживает упрощенный процесс создания UDF. С помощью простого декоратора вам нужно только ввести запрос, а SDK обрабатывает завершение кода.

Эта значительно упрощает процесс создания пользовательских функций, позволяя вам сосредоточиться на описании требований к ней. Конечно, UDF должна быть простой, выполнять только одно действие.

Справедливости ради эта рекомендация была и при самостоятельной имплементации.

Кэширование

SDK включает кэширование для повышения скорости выполнения, получения воспроизводимых результатов и снижения нагрузки на сеть. Тут все как обычно. Вот только включение кеширования не всегда происходит. В этом случае вам придется дописывать код самостоятельно. Изменять существующие предложения SDK не умеет.

Результат использования

SDK упрощает работу с таблицами Spark и DataFrame, покрывая базовые функции получения данных, их трансформации и фильтрации. LLM компилирует эти ваши английские инструкции в код PySpark и SQL.

Вряд ли сейчас это поможет вам, если у вас большой опыт разработки на Spark (хотя пару раз кодогенерация меня приятно удивила).

Однако, если вы только вкатываетесь в это направление, хотите распараллелить генерацию аналитического отчета или подготовку данных для своей модели, не владея DSL, вполне реально сократить время обучения, тем самым начать использовать Spark в своей ежедневной работе.

Читайте также:  Инкапсуляция и наследование в Python на примерах: код и задачи

***

Заключение

Такие инструменты, как Github Copilot и Databricks English SDK for Spark изменяют разработку, понижая входной порог для новичков. Выполняя функции СППР, Copilot помогает писать код более эффективно и с меньшими усилиями, а English SDK — так вообще написать целый пайплайн.

Важно отметить, что этот инструмент опирается на данные, полученные от ваших запросов, и не способен читать мысли, хотя иногда так может показаться.

Предлагая варианты кода, адаптированные к контексту проекта, можно быстрее погрузиться в него, изучить технологии, которые в нем используются, и иногда — повысить продуктивность за счет автоматизации рутины: шаблонного кода, тестов, регулярок и других однотипных задач в разработке.

Если программирование напрямую не связано с вашей ежедневной работой или вы только вкатываетесь в новую технологию, то помощник способен ускорить этот процесс. Это очень полезно для задач на стыке сфер аналитики, исследования и обработки данных, а также если вы хотите быть первопроходцем в новой абстракции над кодингом.

Если вы хотите стать специалистом новой профессии AI-инженера, то вам определенно стоит пройти курс, чтобы понимать возможности и ограничения технологий, основанных на LLM. Важно отметить, что AI-инженеров не следует путать с ML инженерами, которые в основном занимаются созданием моделей с нуля и их внедрением.

Ожидается, что в ближайшие годы спрос на AI-инженеров значительно вырастет, превысив спрос на инженеров ML. Посмотрим, свершится ли это предсказание.

Статья по теме ???? Большие языковые модели: стоит ли бояться больших калькуляторов?

Generative AI. Как программистам держать нос по ветру

Вряд ли найдётся тот, кто ещё не знаком с ChatGPT, Midjourney, StableDiffusion — такая популярность говорит сама за себя. Хайп вокруг генеративного искусственного интеллекта (далее — ИИ) не утихает и уже начинает немного надоедать. Но мы, как разработчики, должны оставаться в курсе событий и принимать реальность такой, какая она есть.

А реальность такова:

  1. Использование Copilot и его аналогов, ChatGPT и других генеративных нейросетей увеличивает вашу продуктивность.

  2. Бизнес активно ищет возможности оптимизировать процессы или внедрить новые фичи на основе генеративного ИИ.

Давайте разберём каждое из этих утверждений.

Использование Copilot и аналогов, ChatGPT и других генеративных ИИ увеличивает вашу продуктивность

По исследованию от GitHub, которое включало в себя не только опрос, но и контролируемый эксперимент, в котором участвовало 95 профессиональных разработчиков, скорость разработки HTTP-сервера на JavaScript была выше на 55% у тех программистов, кто использовал Copilot. Да, на сложных проектах Copilot может иногда и мешать. Но с написанием семантически подходящего boilerplate кода подобные генеративные ИИ справляются на ура.

И совсем не обязательно использовать именно Copilot, тем более, из России это сделать проблематично. Есть много доступных и бесплатных аналогов. Например, Codeium.

С помощью GPT-4 можно написать 300+ строк хороших, качественных юнит-тестов всего за 40 минут, и это реальный кейс в моей работе. 70% кода было написано GPT-4. Мне же оставалось «заревьювить» код, написанный ChatGPT, и дополнить некоторые сценарии тестирования.

С плагинами и возможностью поиска в интернете, а также возможностью анализа pdf-файлов, теперь гораздо проще найти ответ по какому-либо библиотечному API. Или быстро узнать, можно ли использовать библиотеку/модель/фреймворк в коммерческой разработке, скормив GPT-4 текст лицензионного соглашения.

Microsoft уже начала давать доступ на мультимодальный ввод для их бота. Скоро можно будет проверить, сможет ли по картинке макета страницы бот сгенерировать HTML и CSS.

Но стоит отметить, с СhatGPT и Copilot возникает проблема. Туда нельзя сливать чувствительный код, который, например, содержит endpoints вашего RestAPI, адреса серверов и прочее.

В таком случае, Copilot я отключаю, а для ChatGPT меняю названия, связанные с инфраструктурой, на заглушки «postMethod1, serverName1, command1» и так далее.

Проблему приватных данных я затрону более подробно во втором разделе статьи.

Также всегда стоит помнить, что любая LLM может галлюцинировать и «выдумывать» ответы на ходу. На 100% доверять языковым моделям нельзя. Злоумышленники уже нашли способ использовать способность ChatGPT 3.5 предлагать в своем коде несуществующие пакеты.

Как они это делают: сначала выявляются несуществующие пакеты, которые часто предлагает GPT 3.5 в своих ответах. А затем, злоумышленник добавляет в NPM этот несуществующий пакет, но уже со своим вредоносным кодом.

Будьте аккуратны и всегда проверяйте, какие библиотеки и пакеты предлагает вам использовать ChatGPT (особенно, версии 3.5).

Вы, конечно, можете решить, что ваших собственных навыков и интеллекта вполне достаточно, и вам не нужны все эти новые технологии. Это вполне уважаемый выбор, и каждый имеет право на своё мнение. Однако, я предпочитаю использовать все доступные инструменты для повышения своей продуктивности.

Бизнес начинает активно искать возможности оптимизировать процессы или внедрить новые фичи на основе генеративного ИИ.

И на этом этапе всё становится ещё интереснее. Если вы, как и я, признаете, что с помощью генеративного ИИ уже сейчас можно делать классные вещи, то можно пойти дальше простого использования ChatGPT и подумать, а как вы можете помочь своей компании внедрить новые технологии в процессы или в новые фичи. Здесь у нас есть два пути.

Первый путь

???? Generative AI: как ускорить разработку с помощью Github Copilot и Databricks English SDK

bootg.com/proglibrary/7807

Create: 2023-08-25 Last Update: 2023-10-13 14:54:11

???? Generative AI: как ускорить разработку с помощью Github Copilot и Databricks English SDKДавайте разберемся, что же могут помощники и SDK, а чего от них ожидать еще рано. Рассмотрим наиболее популярные решения от Github и Databricks: варианты использования и их ограничения. Также поговорим о перспективах профессии AI-инженера.

???? Читать статью

???? Зеркало

BY Библиотека программиста | программирование, кодинг, разработка

Share with your friend now:

bootg.com/proglibrary/7807

View MORE

Open in Telegram

This is a handy feature for users who want to save disk space. To access it, go to the “Settings”, “Data and Storage”, and then tap “Storage Usage”.

You will find four options: keep media on your device for three days, one week, one month, or forever. Your smartphone is the main hub of your private information.

You may be sharing a lot of information with your family friends and anyone other using a messaging app. Telegram Privacy Choices

Premium users get increased limits for almost everything in the app. With Premium, you can follow up to 1000 channels, create up to 20 chat folders with up to 200 chats each, add a fourth account to any Telegram app, pin 10 chats in the main list and save up to 10 favorite stickers.

Telegram Messenger Tricks Here you will get the option to share either your current location or your live location. Select the live location option and then select the time limit for which your location will be shared with the person. Now, all you need to do is hit that share button to share your live location.

The app is really awesome for me rather than using other Messaging apps for my day-to-day works. It has all the things that meet my requirements.

Telegram Live Locations and proximity alters (Express Photo) To enable this go to Settings and choose “Privacy and Security” from the list.

Next, tap on “Passcode Lock” under the Security heading, then set your password lock on! Telegram is a free instant-app service founded by people behind VK, which is Russia’s biggest social networking site, primarily focused on speed and user privacy.

Initially released in August 2013, the app has managed to get over 400 million monthly active users. Enable Auto-Night Mode

Учите английский, а не Python: как ИИ меняет программирование | Rusbase

ChatGPT и прочие языковые модели способны кардинально изменить подход к написанию любого текста — от университетских эссе до юридических аргументов. Однако эта технология уже трансформирует другое направление, а именно программирование.

ИИ все чаще участвует в написании кода — при этом технология работает с запросами, написанными на простом английском языке. Неужели вскоре разработчикам придется сосредоточиться на изучении английского, а не языков программирования? В этом вопросе разобралось издание Vice.

Учите английский, а не Python: как ИИ меняет программирование Дарья Сидорова

Программирование представляет собой процесс общения человека с компьютером. Однако это не всегда означало разработку приложений на таких языках, как Python и Javascript. До того, как была изобретена клавиатура, операторы использовали для программирования панель с переключателями.

Когда появились языки высокого уровня (начиная с C в 1972 году), программирование стало не только эффективнее, но и ближе к естественному человеческому языку. Попутно этот навык стал высоко цениться и оплачиваться, а сами программисты — советовать всем «учиться писать код».

Теперь же из-за развития ChatGPT и прочих языковых моделей в ближайшем будущем, вероятно, каждый сможет писать код, используя естественный язык. На фоне массовых увольнений и урезания бюджетов в крупных ИТ-компаниях технологию уже рассматривают как способ получить большую отдачу от работников.

Программирование эволюционирует очень быстро, и некоторым специалистам из этой сферы, возможно, скоро придется просто «учиться писать».

Читайте также:  ТОП-10 книг по C# в 2023 году: от новичка до профессионала

Что происходит

Популярная ИИ-модель ChatGPT способна не только писать тексты на английском языке, но и переводить естественный язык в код. Помимо этого, она предлагает функции автодополнения и отладки, а также может советовать подходящие фрагменты кода.

В августе 2021 года OpenAI представила инструмент Codex, который создает код при помощи команд на естественном языке. Codex работает на базе GPT-3 и частично обучается на тех же данных.

Релиз Codex «знаменует начало перемен в том, как пишутся компьютерные программы», говорится в статье на TechCrunch под заголовком No-code is code, которая написана Грегом Брокманом (основатель и CTO OpenAI) и Хади Партови (CEO Code.org). Эта статья привлекла внимание к no-code — инструментам, позволяющим разрабатывать ПО без специального образования и знания языков программирования. 

Читайте по теме:

No-code, low-code и стандартное программирование: чем отличаются эти подходы и какой выбрать

Амджад Масад, CEO интегрированной онлайн-среды разработки Replit, утверждает, что ИИ лишь начинает раскрывать свои возможности в программировании, а ChatGPT выводит это на новый уровень. «Сейчас мы находимся на пороге очередного скачка в производительности разработчиков. Думаю, она вырастет примерно в 10-100 раз», — говорит он.

Тем не менее Масад считает, что умение писать код по-прежнему будет полезным навыком, поскольку ИИ поможет лишь ускорить разработку и сделает ее более доступной для людей. 

Как это отражается на программистах

Развитие ИИ-инструментов для программирования несет за собой и негативные последствия.

  • Это направление уже сталкивается с теми же этическими проблемами, что и генеративные модели, обученные на изображениях, созданных людьми, без их разрешения.
  • Практика показывает: как только в компании появляются технологии, повышающие производительность труда, число сотрудников сокращается.

В июле 2021 года GitHub представила CoPilot — собственного ИИ-помощника в написании кода, который работает на базе Codex. За этим последовал коллективный иск от программистов, утверждающих, что ИИ без надлежащих лицензий был обучен на их коде, выложенном на GitHub.

Читайте по теме:

Коллега или конкурент? Что разработчики думают об ИИ-помощнике Copilot от GitHub

Как использовать GitHub Copilot вместе с Python

GitHub — это самый популярный инструмент для совместной работы над кодом. Некоторое время назад компания выпустила специальный инструмент — GitHub Copilot. Он помогает разработчикам писать код быстрее и эффективнее, предлагая подсказки и целые блоки кода на основе комментариев от разработчика, названиях переменных, функций и т.п. 

GitHub Copilot позволяет сэкономить время на написании типовых конструкций и алгоритмов. В этой статье мы расскажем, как использовать GitHub Copilot при разработке на Python, и как он может помочь разработчикам улучшить свою работу и ускорить процесс разработки.

Что такое GitHub Copilot

GitHub Copilot — это инструмент от компании GitHub, который в реальном времени предоставляет разработчикам подсказки по написанию кода и функции автодополнения кода. Этот инструмент будет полезен как новичкам, которые только погружаются в язык или библиотеку, так и опытным разработчикам, которые могут не тратить время на создания стандартных функций и конструкций. 

GitHub Copilot может быть интегрирован в различные среды разработки, а именно:

  • Visual Studio;
  • Neovim;
  • VS Code;
  • среды разработки от JetBrains.

И в этих средах разработки GitHub Copilot работает с большим количеством языков программирования:

  • Python;
  • JavaScript;
  • Go;
  • Java;
  • C#;
  • TypeScript;
  • C++;
  • Ruby;
  • Rust;
  • Shell script;
  • Kotlin;
  • Swift.

В дополнение к этим языкам GitHub Copilot умеет работать с популярными фреймворками и библиотеками: React, AngularJS, VueJS, Spring, Django, Ruby on Rails и т. д.

GitHub Copilot предлагает перечень функций, которые могут помочь разработчикам в написании кода:

  • Автодополнение: Copilot предлагает разработчикам автоматические подсказки и дополнения для кода в реальном времени.
  • Предсказание кода: Copilot может предсказывать следующий шаг в коде и предлагать варианты для завершения текущей конструкции.
  • Поиск кода: Copilot найдет для разработчика нужный код в проекте, используя ключевые слова или фрагменты кода.
  • Рефакторинг кода: Copilot может помочь разработчикам оптимизировать и изменять существующий код, используя функции рефакторинга.

Сейчас GitHub Copilot распространяется как сервис-подписка со стоимостью 10$ в месяц.

Как работает GitHub Copilot

GitHub Copilot предлагает подсказки и автодополнения на основе комментариев пользователя на естественном языке и на основе уже написанного кода.

Для этого разработчики из GitHub обучили Copilot на основе общедоступных репозиториев, размещенных на их ресурсах. Поэтому чем больше общедоступных репозиториев на том или ином языке, тем лучше работает Copilot.

На менее популярных языках программирования он работает хуже. Выражается это в менее надежных подсказках и в их меньшем количестве.

Интеграция GitHub Copilot в PyCharm

PyCharm — это среда разработки от JetBrains, в которой доступен GitHub Copilot. Для того чтобы интегрировать его в проект, необходимо совершить следующие шаги:

  1. Перейти на сайт github.com/features/copilot и нажать «Start my free trial».
  2. Залогиниться в сервисе GitHub или зарегистрироваться.
  3. После того, как вы зашли на GitHub, вам предложат оформить тестовый период на 60 дней. Для этого вам понадобится зарубежная карта или действующий аккаунт PayPal. Для студентов с подтвержденным статусом инструмент предоставляется бесплатно.

По завершению оформления подписки вы можете установить плагин GitHub Copilot в PyCharm. Для этого:

  1. Откройте среду разработки.
  2. Откройте меню «File» и перейдите в раздел «Settings».
  3. Перейдите в раздел «Plugins» и введите в поиске «GitHub Copilot».
  4. Установите плагин.
  5. После установки откройте меню «Tools», найдите в списке «GitHub Copilot» и нажмите «Login to GitHub». 
  6. В открывшемся окне будет указана ссылка для авторизации и специальный код. Перейдите по ссылке и введите код, после чего авторизуйте плагин.
  7. После этого GitHub Copilot будет интегрирован в ваш проект.

Как работать с GitHub Copilot

Чтобы проверить успешность установки плагина попробуем написать простой код. Начнем писать функцию с очевидным наименованием. Например, функцию сложения двух чисел add(a,b). Когда вы начнете её писать, Copilot предложит вам её завершение. Выглядит это следующий образом:

Код, который предлагает GitHub Copilot, имеет серый цвет и курсивный шрифт. Чтобы принять подсказку плагина нужно нажать Tab. Чтобы её отклонить — Esc. Вот ещё несколько полезных комбинаций клавиш при работе с GitHub Copilot:

  • активация встроенных подсказок: Alt+ для Windows и options+ для Mac;
  • просмотр следующей подсказки: Alt+] для Windows и options+] для Mac;
  • просмотр предыдущей подсказки: Alt+[ для Windows и options+[ для Mac;
  • принятие подсказки: Tab для Windows и Mac;
  • отклонение подсказки: Esc для Windows и Mac;
  • просмотр всех подсказок в новом окне: Ctrl+Enter для Windows и Mac;

Как упоминалось ранее, Copilot предлагает автодополнения не только на основе названий функций, но и на х. Например, попробуем создать функцию перемножения матриц:

def multiply_matrices(A, B):# Multiply matrix A and B and return the result

GitHub Copilot может предложить такой вариант:

def multiply_matrices(A, B):# Multiply matrix A and B and return the result   rows1 = len(A)   cols1 = len(A[0])   rows2 = len(B)   cols2 = len(B[0])   if cols1 != rows2:       raise ValueError(«The number of columns in the first matrix must be equal to the number of rows in the second matrix»)   result = [[0 for j in range(cols2)] for i in range(rows1)]   for i in range(rows1):       for j in range(cols2):           for k in range(cols1):               result[i][j] += A[i][k] * B[k][j]

   return result

Проверим работоспособность этой функции. Для проверки результатов воспользуемся библиотекой NumPy:

import numpy as npmatrix1 = [[15,24],[12,44]]matrix2 = [[112, 22],[55,90]]m1 = np.array([[15,24],[12,44]])m2 = np.array([[112, 22],[55,90]])print(multiply_matrices(matrix1, matrix2),'
')

print(np.dot(m1, m2))

Результаты:

[[3000, 2490], [3764, 4224]] [[3000 2490]

 [3764 4224]]

Как видим, функция от Copilot правильно выполняет умножение матриц.

Минусы GitHub Copilot

GitHub Copilot — это относительно молодой инструмент и имеет некоторые недостатки.

Copilot не тестирует свой код

Код, который предлагает Copilot, может содержать ошибки. Самостоятельно он их не находит, а код, который предлагает пользователю, необходимо тестировать. Также стоит понимать, что в целом он не пишет идеальный код — не только с точки зрения ошибок, но и с точки зрения оптимизации. Резюмируя, можно сказать, что любой код, который пишет Copilot, необходимо проверять.

Конфликты с IDE

Современные среды разработки предоставляют не просто рабочее пространство для написания и отладки кода, но также предлагают собственные подсказки. Например, при использовании встроенной функции PyCharm сообщает пользователю об атрибутах этой функции. Параллельно с этим Copilot тоже будет что-то предлагать пользователю, и это может его запутать.

Вероятность нарушения авторских прав

Это довольно дискуссионный аспект применения Copilot в коммерческой разработке. Поскольку Copilot обучался на общедоступных репозиториях, он, в теории, может предлагать лицензированный код. 

Негативно влияет на квалификацию разработчика

Copilot не учит писать код — он пишет его за пользователя. Для младших специалистов может быть важным «набить руку» на типичных функциях и алгоритмах.

Заключение

Github Copilot — это полезный инструмент для разработчика для выполнения рутинных обязанностей.

По исследованиям самого Github этот инструмент положительно влияет на своих пользователей: 74% сфокусировались на более приятных аспектах работы, 88% разработчиков стали продуктивнее, а 96% стали быстрее справляться с повторяющимися задачи.

GitHub Copilot стоит воспринимать именно как помощника: того, кому можно что-то делегировать, при этом занимаясь более важными и сложными делами. Но за тем, что создает этот помощник, нужно внимательно следить. 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *