Шесть советов по улучшению кодирования с помощью ChatGPT
ДомДом > Блог > Шесть советов по улучшению кодирования с помощью ChatGPT

Шесть советов по улучшению кодирования с помощью ChatGPT

Apr 05, 2023

Вы также можете найти этого автора в PubMed Google Scholar.

Иллюстрация The Project Twins

Если вы не жили под камнем, вы знаете о ChatGPT. Чат-бот, управляемый искусственным интеллектом (ИИ) и созданный OpenAI в Сан-Франциско, Калифорния, дает пугающе человеческие ответы на вопросы пользователей (так называемые подсказки) практически по любой теме. ChatGPT обучен на обширном массиве текста, и его способность участвовать в текстовом общении означает, что пользователи могут уточнять свои ответы. Даже если его первоначальные ответы ненадежны, в конечном итоге он часто дает точные результаты, включая программный код.

Исследователи могут использовать ChatGPT для отладки и аннотирования кода, перевода программного обеспечения с одного языка программирования на другой и выполнения рутинных шаблонных операций, таких как построение графиков данных. В мартовском препринте сообщалось, что программа способна решить 76% из 184 задач вводного курса по биоинформатике, таких как работа с электронными таблицами, после одной попытки и 97% — за семь попыток1.

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

Однако, несмотря на всю свою кажущуюся разумность, чат-боты не разумны. Их называют стохастическими попугаями, которые случайным образом повторяют то, что видели раньше. Эми Ко, ученый-компьютерщик из Вашингтонского университета в Сиэтле, ссылается на давнюю американскую викторину, чтобы описать ограничения инструмента, написав на сайте социальной сети Mastodon: «ChatGPT похож на отчаявшегося бывшего участника Jeopardy, который перестал следить за поп-музыкой. культуре в 2021 году, но на самом деле хочет вернуться в игру, а также является роботом без сознания, свободы воли, морали, воплощенного познания или эмоциональной внутренней жизни». (Данные, используемые для обучения ChatGPT, относятся только к 2021 году.)

Короче говоря, ChatGPT и связанные с ним инструменты, основанные на больших языковых моделях (LLM), в том числе Microsoft Bing и GitHub Copilot, являются невероятно мощными средствами программирования, но их следует использовать с осторожностью. Вот шесть способов сделать это.

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

ChatGPT: пять приоритетов исследований

«Разработка программного обеспечения — это гораздо больше, чем просто решение головоломки программирования», — объясняет Эрнст. «Мы думаем о средах тестирования, написании поддерживаемого кода и понимании компромиссов, связанных с созданием системы», например, между скоростью и читабельностью. «Я не думаю, что нынешние инструменты решают какие-либо из этих проблем».

Это оставляет им возможность выполнять множество задач, например запоминание синтаксиса для создания визуализаций с помощью Matplotlib, графической библиотеки для языка программирования Python. В этом смысле чат-боты похожи на диалоговый интерфейс Stack Overflow, онлайн-форума вопросов и ответов для программистов. «Это не то, что кому-то особенно нравится писать, — говорит Эрнст, — и это экономит нам время, чтобы задавать сложные аналитические вопросы, которые могут возникнуть у нас по поводу данных».

Чат-боты также хорошо объясняют, почему код не работает. Эмери Бергер, ученый-компьютерщик из Массачусетского университета в Амхерсте, использовал эти способности для создания нескольких полезных инструментов. Один из них, cwhy, использует ChatGPT для объяснения ошибок компилятора в коде, написанном на языках программирования C, C++ и Rust. Другой, ChatDBG, предоставляет диалоговый интерфейс для отладки, а третий, Scalene, использует ИИ, чтобы предлагать варианты оптимизации кода для повышения производительности.

Чат-боты могут даже переводить код с одного языка программирования на другой. Матье Коппи, биофизик из Института Кюри в Париже, использует ChatGPT, чтобы помочь ему перейти с MATLAB, его любимого языка, на Python. Используя Google и онлайн-форумы, ему обычно требуется несколько дней, чтобы заставить свой код Python работать. «Теперь я могу сделать это примерно за час», — говорит он.

instead of >= in a conditional statement, are easy to fix, but hard to find. "If you don't know enough to tell the difference between something correct and something that's effectively nonsense, then you could get yourself in trouble," she says./p>