Познакомить пользователей с основами эффективного взаимодействия с LLM-моделями (ChatGPT, DeepSeek и др.), научить формулировать четкие технические задания (ТЗ) вместо абстрактных запросов и показать разницу между плохими и хорошими промтами.
Итог: Вы научитесь получать от ИИ именно то, что нужно, а не случайные варианты
Для начала хотелось развеять слово "промт-инженер"! На самом деле никакого секретного создания промта нету, ведь само составление так называемого «промта» — это грамотно поставленное ТЗ.
Если мы возьмем неизвестного нам специалиста, например, на Kwork, и сотрудника, с которым мы работаем на протяжении нескольких лет, то:
Будет для нас совершенно непонятен в плане понимания его мышления. Как и мы для него в описании наших задач по типу — "хочу эту штуку, чтобы было топ прям". Нам нужно будет описать ему все до деталей, расписывая все по пунктам, делать правки и отвечать на его вопросы для получения нужного нам результата.
Если мы работаем с сотрудником достаточно долго и регулярно, то для понимания контекста работы нам все равно нужно будет созвониться, обсудить задачу, расписать таск и поставить метки (чтобы не забыть при выполнении) для получения нужного результата.
Это говорит о том, что сотрудники в команде не = cделает все сам. Ему так же придется расписывать ТЗ, для получения нужного результата.
И в качестве такого сотрудника нам выступает ChatGPT/DeepSeek!
Но просто делегировать и уйти пить кофе не получится! Кликать мышкой и думать придется!
Нельзя сказать, что LLM модель не может сделать что либо. Скорее это не ее ограниченность, а ограниченность твоего ТЗ. Приведу несколько максимально простых и банальных примеров:
Допустим, тебе нужно придумать название для нового IT-продукта.
❌ Плохой запрос:
"Придумай мне название для приложения."
Что получится? Нечто общее, без учета специфики - "TechApp".
✅ Хороший запрос:
"Мне нужно название для мобильного приложения, которое помогает программистам находить удаленную работу. Оно должно быть коротким, звучным и запоминающимся, в стиле стартапов Кремниевой долины."
Результат: "CodeNomad", "DevLink", "RemoteHunt" – уже звучит куда интереснее!
❌ Плохой запрос:
"Как улучшить мой сайт?"
Ответ:
"Чтобы улучшить ваш сайт, сделайте удобный интерфейс, ускорьте загрузку страниц, добавьте качественный контент, проработайте SEO и убедитесь, что сайт адаптирован под мобильные устройства."
Проблема: Слишком общее, ничего конкретного. Такие советы можно применить к любому сайту.
✅ Хороший запрос:
"У меня интернет-магазин электроники. Основная проблема – низкая конверсия в корзину. Дай рекомендации по улучшению UX и оптимизации карточек товаров, чтобы повысить процент покупок."
Ответ:
"Для повышения конверсии в корзину:
1. Сделайте кнопку "Купить" контрастной и заметной.
2. Добавьте блок "Отзывы покупателей" рядом с ценой – доверие увеличивает вероятность покупки.
3. Уменьшите количество полей при оформлении заказа – длинные формы отпугивают пользователей.
4. Сделайте кнопку "Добавить в корзину" не просто текстовой, а с анимацией или всплывающим уведомлением, чтобы пользователь видел результат своих действий.
5. Покажите срок доставки прямо в карточке товара, это помогает принять решение быстрее."
Разница: Чёткие, применимые рекомендации, описание основной проблемы, а не общие фразы.
❌ Плохой запрос:
"Напиши сценарий рекламы для кофе."
Ответ:
"Кадр 1: Человек пьёт кофе.
Кадр 2: Крупный план чашки.
Кадр 3: Логотип компании.
Голос за кадром: "Лучший кофе – для лучшего утра!""
Проблема:
Банально, без уникальности. Такой сценарий можно использовать для чего угодно.
✅ Хороший запрос:
"Мне нужен сценарий 30-секундного видеоролика для Instagram. Мы продаем премиальный кофе, целевая аудитория – молодые профессионалы 25-35 лет, ценящие вкус и качество. Хочется сделать стильную, динамичную рекламу с акцентом на аромат и утренний ритуал."
Ответ:
Сценарий:
Кадр 1:
Раннее утро, вид на панораму города. Медленный зум на окно квартиры.
Кадр 2:
Мужчина и женщина готовятся к работе, но что-то не так – они выглядят уставшими.
Кадр 3:
Женская рука нажимает на кнопку кофемашины, слышится звук свежемолотых зёрен.
Кадр 4:
Крупный план: ароматный пар поднимается над чашкой.
Кадр 5:
Персонажи делают первый глоток. Камера показывает их расслабленные лица – кайф от настоящего кофе.
Кадр 6:
Логотип и слоган: *"Утро начинается с аромата. Премиальный кофе для лучших дней.""
Разница: Вместо шаблонного текста – живая картинка, которая реально продаёт продукт.
Допустим, ты решил заказать текст для лендинга, который будет продавать твою услугу.
❌ Плохой запрос:
"Напиши текст для сайта, который продаёт маркетинговые услуги."
Ответ:
"Мы предлагаем маркетинговые услуги для вашего бизнеса. Помогаем привлекать клиентов, увеличивать прибыль и продвигать ваш бренд."
Проблема:
Размыто, обобщённо, не учитывает специфику бизнеса. Это можно поставить на любой сайт – и не факт, что это вообще сработает.
✅ Хороший запрос:
"Мне нужен текст для лендинга, который продаёт таргетированную рекламу для интернет-магазинов одежды. Целевая аудитория – владельцы магазинов, которые пробовали рекламу, но не получили результата. В тексте должны быть три ключевые выгоды: 1) Точные настройки под нужную аудиторию; 2) Минимальный бюджет для старта; 3) Прозрачная аналитика. Стиль – живой, без канцеляризмов."
Ответ:
- "Вы уже пробовали запускать рекламу, но она не принесла продаж? Всё потому, что 80% рекламных бюджетов тратятся неэффективно.
Мы настраиваем таргет так, чтобы каждое объявление попадало прямо в вашу аудиторию.
✔ Небольшой бюджет – тестируем и сразу видим, что работает.
✔ Только заинтересованные клиенты – без слива бюджета на случайных людей.
✔ Полная аналитика – вы видите, откуда пришёл каждый клиент.
Запустим тестовую кампанию за 48 часов. Оставьте заявку, и мы бесплатно проанализируем ваш предыдущий опыт в рекламе!"*
Разница: Вместо сухого "мы продаём маркетинговые услуги" – живой текст, который бьёт в боль клиента и сразу предлагает решение.
Допустим, тебе нужно, чтобы ChatGPT написал тебе небольшой скрипт.
❌ Плохой запрос:
"Напиши код для парсинга сайта."
Ответ:
import requests
from bs4 import BeautifulSoup
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
print(soup.title.text)
Проблема:
Скрипт ничего не делает, кроме как берёт заголовок страницы. Но если ты хотел спарсить каталог товаров или собирать цены – ничего не выйдет.
✅ Хороший запрос:
"Мне нужен Python-скрипт, который парсит сайт интернет-магазина. Нужно собрать названия товаров, их цену и ссылку на картинку. Данные сохранить в CSV-файл. Использовать библиотеку BeautifulSoup."
Ответ:
import requests
from bs4 import BeautifulSoup
import csv
url = "https://example.com/catalog"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
products = []
for item in soup.find_all("div", class_="product"):
title = item.find("h2").text
price = item.find("span", class_="price").text
image = item.find("img")["src"]
products.append([title, price, image])
with open("products.csv", "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(["Название", "Цена", "Ссылка на изображение"])
writer.writerows(products)
Разница:
Теперь скрипт реально делает работу, потому что запрос описал что нужно, в каком формате и с каким результатом.
Примеры максимально простые и банальные, но они хорошо показывают отличие от классических пользовательских запросов в понимании “ЭТА КНОПКА ВСЕ СДЕЛАЕТ САМА”, и запроса с вводными данными, которые передают наше понимание того, что мы хотим получить.
Когда ты описываешь свой запрос так, будто объясняешь задачу живому специалисту, ChatGPT начинает работать как твой полноценный ассистент. Чем больше деталей ты добавишь, тем лучше он поймёт контекст, а значит, тем точнее будет результат. Проще говоря – LLM-модель не угадывает, а опирается на твои вводные данные.
Специфика LLM моделей построена так, что она угадывает, а не пытается думать и размышлять логически.
Мы:
На столе лежал банан, а под столом был пролит кофе. Стол был перевернут и вынесен в прихожую. Какие вещи сейчас находятся в прихожей? Ответьте только по списку.
Ответ ChatGPT:
Мы:
А если подумать логически?
Ответ ChatGPT 2:
Если подумать логически:
Если банан упал со стола при переворачивании, а кофе был пролит под столом и не попал на сам стол, то в прихожей может быть только стол.
Таким образом при постановке логических задач, модель будет ошибаться и нам нужно будет ее заставлять думать или указывать на возможные проблемы. А что если у нас не логичная задача, а просто классическое задание для верстальщика?
Просто сказать чату «сделай мне блок с формой заявки в HTML, чтобы она была красивой и удобной» можно! И в целом вы получите нормальный результат для модели, которая пытается угадать. (С формой заявки мы еще ни раз встретимся...)
На примере мы получили блок с полями под (Имя, Email, Телефон, Тип услуги). И в целом исходя из нашего запроса чат достаточно хорошо угадал создав то, что мы и просили. "сделай мне блок с формой заявки в HTML, чтобы она была красивой и удобной" - форма заявки? - Да. HTML? - Да. Красиво? - на вкус и цвет как говорится... Удобно? Вполне!
Но соответствует ли это нашим ожиданиям? А сделал ли чат этот блок оптимизированным под мобильные устройства? А соответствует ли это стилю нашего сайта? А пункты на заполнение данных? Форма и расположение? Сама форма работает вообще? А зачем нам основные теги <html>, <head>, <body> если у нас и так уже страница содержит основные теги и нам нужен тупо один новый блок?
А что если попробовать дать такое же ТЗ вашему сотруднику или фрилансеру на kwork? Ему ведь тоже придется угадывать. (Конечно грамотный сотрудник задаст все нужные вопросы, чтобы не гадать.)
Тоже самое должны и вы составить для себе перед отправкой запроса в chatGPT. И вот вам пример.
Мне нужна форма заявки в html для моего сайта на php с курсом. Форма заявки должна содержать:
1. Имя (Псевдоним).
2. Телефон.
3. Telegram.
4. Whats Up.
5. Email.
6. Способ оплаты (Крипта, Карта).
7. Сообщение.
8. Цвета и дизайн должны быть в мягких темных тонах, но не сильно черных, так, чтобы было удобно смотреть глазу и не резало кислотными оттенками.
9. Расположение горизонтальное.
10. Оптимизировать под мобильные устройства.
11. Все стили сделать inline для удобства редактирования.
12. Сообщение должно отправляться сразу же в ТГ бота, токен тг бота - "TOKEN".
13. Мне нужны только блоки с формой и файлом для отправки без основных тегов html.
Вот пример формы заявки, которая соответствует вашим требованиям. Форма будет отправлять данные в Telegram-бота с использованием AJAX. Все стили сделаны inline для удобства редактирования.
Пояснения:
Как получить chat_id:
Дополнительно:
- Если вы хотите, чтобы форма отправляла данные на сервер PHP, а уже сервер отправлял сообщение в Telegram, вам нужно будет немного изменить скрипт и добавить обработчик на стороне сервера.
Выглядит довольно прилично и близко к тому, что мы хотели исходя из нашего запроса!
И главная особенность в том, что ему не пришлось гадать и добавлять не нужных нам тегов, выдумывать тему обращения, он идет четко по составленным параметрам нашего ТЗ. С этим уже можно работать.
Теперь рассмотрим с вами вариант, где мы в целом не знаем, что хотим получить в финальном результате и имеем в арсенале только классические пользовательские вопросы.
Рассмотрим на примере с формой заявки. Наш первый запрос был "сделай мне блок с формой заявки в HTML, чтобы она была красивой и удобной". Где чат пытается угадать. А во втором варианте нашего запроса для формы мы расписали все по пунктам зная, что нам нужно. Но мы так же можем попробовать попросить чат задать нам вопросы, которые ему нужны для получения качественного результата.
Мне надо сделать форму заявки для моего сайта. Но я пока не знаю, что именно хочу. Задай мне вопросы, которые помогут тебе разобраться в том, чтобы у тебя получился хороший блок с формой.
Конечно! Чтобы создать эффективную и удобную форму заявки, важно понять ваши цели, аудиторию и то, как форма будет интегрирована в ваш сайт. Вот список вопросов, которые помогут нам разобраться:
Таким образом мы убираем вариант с некачественным ответом, убираем вариант с самостоятельным продумыванием того, что нам надо и просто отвечаем на его вопросы в нужном нам формате.
Слишком много вопросов и я не понимаю некоторые пункты. У нас просто сайт и мы занимаемся продажей маркетинговых услуг. Мне просто на сайт нужна форма. Задай мне меньше основных вопросов, чтобы ты понял суть дела.
Понял! Давайте упростим. Вот несколько ключевых вопросов, которые помогут нам быстро разобраться и создать подходящую форму для вашего сайта:
Этих вопросов достаточно, чтобы я понял, какую форму вам нужно сделать. Если что-то непонятно, дайте знать — объясню проще! 😊
И так далее, шаг за шагом мы можем или упрощать вопросы от чата или интересоваться у него непонятными для нас вопросами:
Что такое CAPTCHA?
CAPTCHA — это небольшой тест, который помогает отличить реальных пользователей от роботов (автоматических программ). Это нужно для защиты формы от спама и автоматических заполнений.
Как это выглядит:
Если хотите, я могу предложить, как лучше реализовать CAPTCHA или альтернативные методы защиты. 😊
К чему все эти примеры, возможно кому-то это покажется глупым и странным, но основной наклон идет на то, что мы общаемся с ним как с нашим ассистентом. Любые наши возможные не понимания при составлении ТЗ или каких-то моментов доработок. Мы всегда сможем обратиться к чату напрямую. Это говорит о том, что модель в целом сама знает какие должны и могут присутствовать детали в ответе. Нам остается только спросить, что ему нужно или выдать четкое ТЗ.
В следующем уроке мы рассмотрим более сложные примеры взаимодействия с LLM:
(Не пугайтесь кода и того, что вы не знаете как это работает, все получится!)
У меня есть блок заявки в HTML: "ВСТАВЬТЕ ВЕСЬ КОД СУЩЕСТВУЮЩЕГО БЛОКА"
ВАШЕ ТЗ + Дай мне полностью обновленный код ничего не обрезая и не сокращая
Если все получилось, попробуйте создать новый дополнительный блок после формы, например блок с адресом и контактной информацией.
Напиши HTML-код для простой формы заявки с полями: Имя, Email и кнопкой "Отправить". Дай полный код без сокращений.
Вот простой HTML-код формы:
<form style="max-width: 400px; margin: 0 auto; padding: 20px; border: 1px solid #ddd; border-radius: 5px;"> <div style="margin-bottom: 15px;"> <label for="name" style="display: block; margin-bottom: 5px;">Имя:</label> <input type="text" id="name" style="width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px;"> </div> <div style="margin-bottom: 15px;"> <label for="email" style="display: block; margin-bottom: 5px;">Email:</label> <input type="email" id="email" style="width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px;"> </div> <button type="submit" style="background-color: #4CAF50; color: white; padding: 10px 15px; border: none; border-radius: 4px; cursor: pointer;">Отправить</button> </form>
Помните: если что-то не получается - просто спросите у ChatGPT/DeepSeek!