Последний год я активно пользуюсь ChatGPT, и хочу поделиться кейсами, как он помогает мне в работе.
Во-первых, SQL. Каждый раз, когда мне нужно написать запрос, будь то запрос на создание таблицы, запрос на select/insert/update, или мне нужно создать индекс - я копирую запрос, копирую структуру таблиц и кидаю в ChatGPT с вопросом "what can be improved in this query". Например, недавно я закинул запрос на создание таблицы в PostgreSQL, где была стандартная история с расширением для UUID:
create extension if not exists "uuid-ossp";
create table if not exists table (
id uuid primary key default uuid_generate_v4(),
...
И помимо всего прочего, ChatGPT посоветовал использовать не uuid-ossp, а pgcrypto, ссылаясь на документацию. Погуглив, я и правда нашел такой совет от разработчиков - https://www.postgresql.org/docs/10/uuid-ossp.html#idm46428633607040. И как правило, таких примеров - очень много. Помимо типов, GPT подсказывает, какие лучше использовать индексы, как лучше назвать поля и как переписать запрос, чтобы он быстрее работал.
Второй кейс - нейминг. Конечно, переменная, модуль или даже проект будут работать, как ты их не назови, но не зря про то, как лучше называть переменные написано много книг. Просто попробуй закинуть в GPT немного контекста и свое название, и 99%, что он подберет название лучше.
Третий кейс - прочитать условие. Что я понимаю под прочтением условий: берем любую строчку, которая из-за множества отрицаний или плохого нейминга никак не хочет интерпретироваться в голове (пример синтетический, но отлично показывает, как оно работает):
if !(!(price <= discount) && !((!(!(quantity >= maxLimit)) || !!(minOrderValue > 100)) && !(price*quantity-discount <= 200))) {
...
}
Кидаем ее в ChatGPT и просим кратко описать, что тут происходит. Даже в случае общения на русском, ответ получился таким:
Таким образом, условие !(!(price <= discount) && !((!(!(quantity >= maxLimit)) || !!(minOrderValue > 100)) && !(price*quantity-discount <= 200))) можно переформулировать так:
Условие выполнено, если цена товара больше скидки, и либо количество товара меньше максимального лимита, либо минимальная стоимость заказа больше 100, и при этом общая стоимость товара (цена умноженная на количество) минус скидка больше 200.
Все еще неприятно, но уже сильно-сильно проще.
Четвертый кейс - переформулировать или сформулировать. На текущей работе мне приходится много писать на английском, а английский у меня далеко не advanced. Как GPT с этим помогает:
* Сначала я прошу его исправить ошибки и опечатки - тут GPT заменяет Grammarly и любые его аналоги.
* Затем копирую что получилось, прошу упростить и перефразировать (более официально, менее официально, опционально можно накинуть любого контекста).
* Уже на этом этапе скорее всего получится сильно лучше, чем было.
* Если результат не устраивает - повторяем алгоритм.
Помимо английского, четвертая версия хорошо научилась работать и с русским: часто, когда нужно что-то сформулировать по обрывкам контекста, а слова в предложения не выстраиваются, GPT с этим отлично помогает. Скорее всего, потом придется попросить его упростить результат или как-то подправить, но основную мысль получится собрать в текст сильно быстрее.
Есть еще множество примеров, с которыми GPT отлично справляется, например, составление регулярок, написание тестов или в целом помощь с тем, чтобы найти ошибку, которую ты найти не можешь. Единственный минус - вызывает привыкание, так что тут нужно не разучиться думать самому
🙂