Как стать автором
Обновить

Нейросети для программистов: уже что-то умеют или еще пока совсем джуны?

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров12K
Всего голосов 9: ↑8 и ↓1+7
Комментарии11

Комментарии 11

Когда вышел ChatGPT, я с ним поигрался, но потом забросил на долгое время. И лишь осенью прошлого года, я снова решился использовать его, чтобы составить регулярное выражение и он мне отлично помог. После этого я впечатлился и начал уже достаточно регулярно использовать как ChatGPT, так и Github Copilot.

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

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

а мне помогает общаться с передастами/hr и прочим планктоном, который не читает написанного, а переспрашивает

промт простой

имеется следующее ... :

...

используя имеющееся ... ответь на вопросы:

  1. ...

  2. .....

  3. ....

Сгенерируй JSON файла со списком стран ...

Стандарты ISO/Российские классификаторы? Не ... не слыхали

Пошлете заявку поставщику, а он вам посылку на северный полюс отправлять будет?

ИИ например участвует в CI/CD несколькими способами:

Автоматизированное тестирование: Инструменты тестирования на базе ИИ могут автоматически генерировать тестовые случаи и выполнять тестирование, сокращая время и усилия, необходимые для ручного тестирования.

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

Оптимизация сборки: ИИ может оптимизировать процессы сборки, выявляя и устраняя узкие места, сокращая время сборки и повышая эффективность.

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

Непрерывный мониторинг: ИИ может непрерывно контролировать конвейеры CI/CD и производственные среды, чтобы заблаговременно обнаруживать и устранять проблемы, обеспечивая стабильность и надежность.

Вот несколько конкретных примеров инструментов на базе ИИ, которые используются в CI/CD:

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

Test.ai: Инструмент автоматизации тестирования, использующий ИИ для создания тестовых случаев и проведения тестирования.

Jenkins X: CI/CD-платформа, использующая ИИ для автоматизации и оптимизации процесса CI/CD.

CloudBees CodeShip: CI/CD-платформа, использующая ИИ для ускорения процессов сборки и развертывания.

CircleCI: CI/CD-платформа, использующая ИИ для мониторинга и анализа CI/CD-конвейеров.

Используя ИИ, можно повысить эффективность, надежность и качество процессов CI/CD.

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

ИИ играет все более важную роль в CI/CD, помогая организациям быстрее, качественнее и с меньшими усилиями создавать программное обеспечение.

Программисты могут внедрить практику непрерывной интеграции и непрерывного развертывания (CI/CD), выполнив следующие шаги:

1. Выберите инструмент CI/CD: Существует множество инструментов CI/CD, как с открытым исходным кодом, так и коммерческих. Среди популярных вариантов - Jenkins, Travis CI, CircleCI и Azure DevOps. Выберите инструмент, который соответствует потребностям и бюджету вашей команды.

2. Настройте конвейер CI/CD: Конвейер CI/CD определяет автоматизированные шаги, которые будут выполняться при внесении изменений в код. Обычно это включает в себя сборку кода, запуск тестов и развертывание кода в среде постановки или производства.

3. Интеграция с репозиторием исходного кода: Подключите инструмент CI/CD к репозиторию исходного кода (например, GitHub, GitLab). Это позволит инструменту автоматически запускать конвейер CI/CD, когда в репозиторий попадают изменения кода.

4. Настройте шаги сборки и тестирования: Определите шаги, которые будут выполняться на этапах сборки и тестирования конвейера. Сюда могут входить такие задачи, как компиляция кода, запуск модульных тестов и выполнение проверок качества кода.

5. Настройте шаги развертывания: Определите шаги, которые будут выполняться на этапе развертывания конвейера. Сюда могут входить такие задачи, как развертывание кода в среде staging или production, запуск приемочных тестов и отправка уведомлений заинтересованным сторонам.

6. Мониторинг CI/CD-конвейера: После того как CI/CD-конвейер настроен, важно отслеживать его прогресс и вносить коррективы по мере необходимости. Для этого можно настроить оповещения о неудачных сборках или развертываниях, а также отслеживать такие показатели, как время сборки и покрытие тестами.

Вот несколько дополнительных советов для программистов, которые только начинают работать с CI/CD:

* Начните с малого: Не пытайтесь сразу внедрить сложный CI/CD-конвейер. Начните с простого конвейера, который автоматизирует несколько ключевых задач, а затем постепенно добавляйте больше шагов, по мере того как вы будете чувствовать себя более комфортно.

* Обращайтесь за помощью к своей команде: Если вы работаете в команде, сотрудничайте с коллегами для внедрения CI/CD. Это поможет вам разделить нагрузку и перенять опыт друг друга.

* Используйте ресурсы: Существует множество ресурсов, которые помогут вам узнать о CI/CD, включая документацию, учебные пособия и онлайн-курсы. Воспользуйтесь этими ресурсами, чтобы улучшить свои знания и навыки.

вот и комментарии от ChatGPT завезли )

Не пользуюсь ChatGPT. Пользуюсь 30 разными ИИ, которых Агентом сам и являюсь. ИИ сами не пишут комментариев. Без моих пропт, вы бы однако не увидели этот ценный текст.

У кого-то проблемы с написанием кода? По-моему писать промпты сложнее.

После нескольких экспериментов с ИИ - забил на них благополучно. Даже sql запрос не может нормально написать. Пока 2 часа указывал на ошибки и т.д. мог бы сам за несколько минут справиться. Какой Джун?))

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

Основная цель и для создания кода - выполнение рутины. Как, например, создание асэмблера как абстракция машинного кода. А потом создание языков высокого уровня, как абстракция асэмблера.

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

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации