Применение ChatGPT в разработке и прикладных задачах

Применение ChatGPT в разработке и прикладных задачах

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

Вся вводная часть в предыдущей статье, не буду повторяться здесь. Замечу лишь, что в рамках данной статьи мы рассматриваем работу с ChatGPT исключительно в режиме обычного Веб-чата, никакой автоматизации, никаких агентских обвязок вроде Codex/Claude Code и тд.

Итак, приступим.

Программирование и разработка с ChatGPT

Довольно очевидный пункт, перечислим некоторые вещи.

Написание кода

Через Веб-интерфейсы основных ИИ-чатов довольно удобно писать отдельные функции, но не очень удобно целые программы. Для разработки больших систем и их отладки лучше использовать агентные системы вроде Claude Code/Codex/etc.

Еще я заметил такую штуку, что все основные проприетарные чат-боты довольно хорошо знают Python, но, например, относительно плохо знают Java/Kotlin. Вероятно с другими языками программирования картина примерно такая же (грубое предположение). Это можно объяснить тем, что Python-кода в обучающей выборке обычно всегда больше.

Во многих ML-статьях приводятся распределения датасетов на которых обучаются LLM. Из моих наблюдений, доля Python-кода обычно значительно больше остальных языков программирования.

Примеры запросов:

"Напиши функцию Python, для загрузки данных из БД 'my_data.sql' на postgreSQL, где есть таблицы N и колонки N".

"Сверстай сайт-визитку, где верхнее меню с пунктами: "новости", "услуги", "о нас", слева основное информационное окно шириной 70% экрана, справа служебное окно шириной 30% экрана, где будут контакты и график работы".

"Создай службу для запуска скрипта 'my_script' каждое утро в 6:00".

Отладка кода

Поиск потенциальных ошибок и оптимизация кода.

Примеры запросов:

"Проверь код на наличие явных и потенциальных ошибок, предложи варианты исправления".

"Добавь в нужные места конструкции try/except, чтобы функция не посыпалась при некорректном вводе данных, или предложи лучшее решение".

"Перечисли слабые места этого кода и используемых библиотек, как их исправить и чем заменить?".

Юнит-тесты

В продолжении к написанию и отладке кода. LLM прекрасно справляется с написанием юнит-тестов. Причем тестов можно нагенерировать бесконечное множество.

Как это работает? Скармливаем LLM функцию, просим написать тесты по определенным условиям.

Примеры запросов:

"Напиши юнит-тесты на pytest для этой функции. Затронь обычные случаи, граничные значения и возможные ошибки. <Код функции>".

"Напиши тесты для этого класса на JUnit 5. Каждый публичный метод надо протестировать отдельно. <Код>".

"Придумай тесты для приложенной функции валидации email. Включи как валидные, так и невалидные примеры, минимум 5 невалидных адресов, разные типы ошибок. <Код функции>".

"Напиши тест для приложенной функции. Она делает HTTP-запрос через requests, ожидает ответ. Замокай сетевой вызов, чтобы ничего никуда не отправлялось, не делай реальных запросов. <Код функции>".

"Составь список, какие тест-кейсы нужно проверить для этой функции. <Код функции>"

"В приложенных функция и тесты к ней. Посмотри внимательно, какие случаи не покрыты? Допиши недостающие тесты, не переписывай существующие. <Код функции> + <Тесты>".

Написание скриптов

Практически все LLM, включая небольшие локальные модели, прекрасно справляются с написанием коротких вспомогательных скриптов, таких как:

  • Регулярные выражения
  • Shell-комманды
  • Bash/PowerShell-скрипты
  • SQL-запросы
  • Формулы Excell
  • и т.д.

Примеры запросов:

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

"Напиши SQL-запрос: по таблице "orders" подсчитать сумму всех заказов (колонка "count") за апрель 2026 года (колонка "date") для пользователя "Андрей Вавилов" (колонка "user").

"Напиши PowerShell-скрипт: скопировать из папки "folder1" в папку "folder2" все файлы с расширением "jpg" и размером больше 2mb".

Поиск вариантов решения

Часто лучше не просить LLM сразу написать код для чего-то, а спросить какие варианты решения есть, какие есть готовые библиотеки и тп.

Примеры запросов:

"Нужно отсортировать в Python список с <такими-то данными>. Какие алгоритмы сортировки есть для этой задачи? Какие плюсы и минусы каждого?".

"Какие библиотеки на Python есть для обработки изображений? Нужно изменить цветовой диапазон исходного PNG и сохранить его в JPG".

"Какие свободные библиотеки есть на GitHub, для обработки звука? Задача: в реальном времени принимать на вход звук, очищать его от шума, выводить на интерфейс 'audio3'".

Анализ логов/debugging

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

Просто отдаем модели весь лог в виде скопированного текста или файла (главное чтобы он вместился в окно контекста, иначе придется разбить) и задаем вопросы.

Примеры запросов:

"Что за ошибка здесь? Как исправить?".

"Когда был авторизован пользователь 'user123'?".

"Найди строки, когда и почему отвалился сервис 'my_service'".

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

Вопросы и поиск по справкам cli-утилит

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

Например, по утилите yt-dlp. Сохраняем вывод справки в файл:

"yt-dlp --help > ytdlp_help.txt".

Затем прикрепляем этот файл к запросу и задаем вопросы.

Примеры вопросов:

"Исходя из справки, напиши, как в этой утилите сохранить метаданные видео в json?".

"Какой командой отобразить все доступные форматы аудио?".

"Напиши все команды данной утилиты связанные с субтитрами".

Все современные LLM довольно хорошо знают основные команды популярных утилит. Можно для сравнения дать задачу обычным запросом (без прикрепленной справки) и отдельно добавив к запросу свежую справку от нужной cli-утилиты. Вероятно результаты будут различаться.

Генерация синтетических данных (например для задач ML)

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

Примеры запросов:

"Напиши 10 коротких и уникальных диалогов между клиентами и службой поддержки. Всегда указывай, кто в данный момент говорит, добавляй ярлыки: <customer> или <support> соответственно" [при необходимости можно попросить еще 10, еще 20 и тд].

"Напиши 20 токсичных сообщений от пользователя в службу поддержки" [для задач ML].

"Напиши 20 положительных отзывов про кофеварку N" [для задач ML].

С разработкой пока достаточно, идем дальше.

ИИ-помощник
ИИ-помощник

Чтение/анализ лицензионных соглашений, договоров и т.п.

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

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

Важно: не стоит доверять чтение важных документов исключительно LLM, например договоры купли-продажи недвижимости. Такого рода документы желательно внимательно читать самому. Но допустимо дать LLM прочитать документ или некоторые его пункты для дополнительной сверки, чтобы ИИ поискал спорные моменты, написал предупреждения и дал свои рекомендации. Предварительно желательно удалить из документа все персональные данные.

Примеры запросов:

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

"Прочитай условия договора, какие риски могут быть? Заберет ли компания мою почку, если я просрочу выплату кредита?".

"Выпиши главную суть договора: какие процентные ставки, какой период действия акции. Подумай, какие подводные камни могут быть?".

Перевод текстов

LLM прекрасно справляются с переводами текстов. Сама архитектура трансформеров изначально разрабатывалась для перевода текстов, статья Attention Is All You Need писалась в контексте новой системы перевода с одного языка на другой. Просто удивительно, какие большие и приятные последствия произошли от решения проблемы качественного перевода. Сейчас практически все системы перевода работают на базе LLM, включая перевод в любом современном браузере.

Суммаризация текстов

Другая задача, с которой LLM прекрасно справляются - суммаризация текстов. Причем, промптом можно задать различные условия суммаризации.

Примеры запросов:

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

"Сделай короткую выжимку текста чтобы она уместилась в 2 абзаца".

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

Суммаризация видео/аудио

ChatGPT сделает суммаризацию любого видео/аудио.

Можно дать на вход ссылку на видео с YouTube или отправить аудио-запись встречи Zoom, ChatGPT сделает выжимку по заданным критериям.

Примеры запросов:

"Сделай суммаризацию данного видео <ссылка>. О чем оно? Напиши краткий пересказ и самые важные моменты".

"Сделай структурированную выжимку приложенной аудио-записи. О чем было обсуждение? Какие озвучивались возражения? Какое итоговое решение? <приложенный аудио-файл>".

"Проанализируй аудио-запись семинара. Затрагивались ли там вопросы: <список вопросов>. К какому решению пришли участники? <приложенный аудио-файл>".

Корректировка текстов с помощью LLM

Один этот пункт можно разбить на десятки подпунктов.

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

Исправление ошибок

Поиск и исправление опечаток, орфографических/семантических/стилистических ошибок и тд.

Примеры запросов:

"Исправь возможные ошибки в тексте, расставь корректно знаки препинания".

"Прочитай текст, есть ли в нем стилистические ошибки?".

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

Переписать текст другими словами

Обычная задача рерайтинга текстов.

Примеры запросов:

"Перепиши текст другими словами с сохранением всех деталей и общей структуры".

"Перепиши текст, сохрани основную суть и все важные детали, но чтобы полученный текст не был похож на исходный текст".

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

Сделать текст длиннее или наоборот короче

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

Примеры запросов:

"Расширь текст до 300 слов, допиши его в том же стиле, но не придумывай новых деталей".

"Сделай текст короче на 30-50%, с полным сохранением сути повествования".

"Сделай из исходной статьи пост для Телеграм длинной в 1 экран мобильного телефона".

Смена тональности

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

Примеры запросов:

"Перепиши письмо более нейтрально, убери излишнюю эмоциональность и резкость".

"Сделай текст более деловым, убери всю эмоциональную составляющую, оставь только сухие детали вопроса".

"Я перенервничал, исправь письмо, чтобы оно было без агрессии, но с сохранением сути претензии".

Сделать текст проще

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

Достаточно сфотографировать нужные страницы и попросить ChatGPT "переписать инструкцию, чтобы было понятно ребенку".

Примеры запросов:

"Перепиши текст простыми словами, чтобы его смог прочитать и понять маленький ребенок".

"Прочитай инструкцию, выдели все важные пункты, составь новую инструкцию с простым объяснением всех пунктов, которую сможет понять ребенок 7-8 лет".

"Упрости эту научную статью, чтобы её смог прочитать и понять ученик 5-го класса".

Сделать текст серьезнее

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

Примеры запросов:

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

"Перепиши письмо так, как-будто его писал взрослый человек".

"Перепиши мои сообщения в серьезном деловом стиле".

Изменить стиль текста/сообщения

Очень удобно, если вы работаете с определеной аудиторией.

Примеры запросов:

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

"Перепиши текст промо-акции так, чтобы оно вызвало интерес следующей аудитории: <детальное описание аудитории>".

"Перепиши текст статьи в классическом английском стиле, как-будто его писал Шекспир или его современник".

Пункт с корректировкой текстов можно продолжать до бесконечности, идем дальше.

Применение LLM для обработки данных
Применение LLM для обработки данных

Структурирование неразмеченных данных

Например, можно наговорить в диктофон свои мысли, затем попросить LLM обработать их: перевести в текст, расставить знаки препинания, убрать артефакты речи и тд. Если надо, можно сделать суммаризацию и структурированную выжимку, выделить темы/подтемы, ключевые идеи и тд.

Или другой пример (взято с Reddit). Человек в течении дня делает рабочие заметки (неструктурированный поток сознания). Вечером он просит ChatGPT сделать по ним структурированную выжимку.

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

Примеры запросов:

"Сделай из этой записи короткое резюме: выпиши главные идеи, важные моменты, составь структурированный отчет".

"Переведи эту аудио-запись в текст, расставь где нужно знаки препинания. Важно сохранить все слова и фразы, игнорируя только слова паразиты, повторы и другие артефакты речи".

"Выдели ключевые идеи повествования, выпиши их в виде структурированного отчета в Markdown-разметке".

"Обработай сырой текст: исправь ошибки, расставь где нужно знаки препинания. Игнорируй лишние слова и повторы речи, допиши незавершенные фразы".

Использование LLM для задач NLP/NER

LLM хорошо справляются с задачами анализа текстов (NLP), определения именованных сущностей (NER) и тому подобных задач.

Примеры запросов:

"Определи тональность текста, к какой категории его можно отнести? Доступные категории: нейтральный, положительный, восторженный, негативный".

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

"Какие города и страны упоминаются в этой статье? <ссылка на статью>".

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

"Какие наименования товаров упоминаются в этом каталоге <ссылка>? Выпиши все позиции которые есть в наличии".

"В приложенных XLS-документ. Найди все товарные позиции категории "Смартфоны", сделай JSON-файл со всеми товарами этой категории, добавь поле с их наличием (в исходном файле это колонка "Наличие", значения: "Есть в наличии/Нет в наличии/Доступно под заказ"".

"Сделай кластеризацию товаров из приложенного XLS-файла. Доступные категории: Продукты питания, Товары для дома, Спортивные товары, Техника, Досуг и отдых. Все что не подходит ни к одной категории маркируй как "Другое". Создай новый XLS-файл, добавь колонку "Категория" с присвоенными значениями".

Составление и корректировка рекламных объявлений

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

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

Можно попросить раскритиковать объявления и предложить варианты сделать их лучше, чтобы они точнее соответствовали определенной аудитории и тд.

Примеры:

"Мы продаем строительную технику в городе N. Наши клиенты - малые компании и предприниматели. Составь несколько вариантов объявлений под РСЯ".

"Мы продаем экологически-чистые чипсы по всей стране. Наша аудитория - молодые люди. Составь несколько вариантов объявлений для Тик-ток на современном молодежном языке".

"Дано несколько примеров рекламных объявлений. Составь еще 10 объявлений в подобном стиле для товаров: <Список товаров>. Вот примеры: <Примеры объявлений>".

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

Ссылки:

Первая часть. Вводная и базовые способы применения LLM.

Мой Тг для связи. Там будут анонсы новых статей.

Спасибо за внимание.