Урок 8 из 11•12 мин

Генерация развёрнутого контента

Цели урока

После прохождения этого урока вы сможете:

  • 1Научиться генерировать развёрнутый контент из кратких вводных
  • 2Освоить технику персонализации
  • 3Понять параметр температуры и его влияние на результат

Expanding: из точки в развёрнутый текст

Expanding — это генерация развёрнутого контента из краткой информации. Ответы на email, статьи из тезисов, документация из спецификаций. Это противоположность суммированию.

Автоматические ответы на email

Классический кейс из оригинального курса — генерация персонализированных ответов на отзывы клиентов.

python
review = """
Очень разочарован покупкой. Заказал кофемашину за 45000 рублей,
а она перестала работать через неделю. Техподдержка не отвечает уже 3 дня.
Если не решите проблему, буду требовать возврат через банк.
"""

# Извлекаем sentiment (из предыдущего урока)
sentiment = "негативный"

prompt = f"""
Ты — менеджер службы поддержки премиального бренда бытовой техники.
Напиши ответ на отзыв клиента.

КОНТЕКСТ:
- Тональность отзыва: {sentiment}
- Клиент ждёт ответа 3 дня (это критично!)
- Товар на гарантии

ПРАВИЛА ОТВЕТА:
1. Начни с извинения и эмпатии
2. Признай проблему конкретно (не общими словами)
3. Предложи решение с чётким дедлайном
4. Дай прямой контакт для связи
5. Заверши позитивно

СТИЛЬ:
- Профессиональный, но человечный
- Без шаблонных фраз типа "Ваше мнение важно для нас"
- Конкретика вместо обещаний

ОТЗЫВ: """{review}"""
"""

Температура: контроль креативности

Температура (temperature) — ключевой параметр, влияющий на "креативность" модели. Это важнейший инсайт из оригинального курса.

ТемператураПоведениеКогда использовать
0Детерминированный, предсказуемыйАнализ, извлечение данных, код
0.3-0.5Немного вариативностиДеловые письма, документация
0.7-0.9Креативный, разнообразныйМаркетинговые тексты, идеи
1.0+Очень креативный, рискованныйБрейншторм, художественные тексты
python
# API вызов с температурой (пример для OpenAI)
from openai import OpenAI
client = OpenAI()

# Для аналитического ответа — низкая температура
response_analytical = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": prompt}],
    temperature=0  # Максимально предсказуемый
)

# Для креативного контента — высокая температура
response_creative = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": prompt}],
    temperature=0.9  # Креативный
)

Правило большого пальца: если есть "правильный ответ" — температура 0. Если нужна вариативность — 0.7-0.9.

Генерация из тезисов

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

python
bullets = """
- AI-стартап из Москвы
- Привлекли $5M
- Продукт: автоматизация найма
- Клиенты: Сбербанк, Яндекс, МТС
- Планы: выход на рынок СНГ
"""

prompt = f"""
Напиши пресс-релиз на основе тезисов.

СТРУКТУРА:
1. Заголовок (до 80 символов, attention-grabbing)
2. Лид (1 абзац, кто-что-когда-где)
3. Детали раунда (1-2 абзаца)
4. О продукте (1 абзац)
5. Цитата основателя (выдумай правдоподобную)
6. О компании (бойлерплейт, 2-3 предложения)

СТИЛЬ:
- Профессиональный, но живой
- Цифры и факты вместо прилагательных
- Без воды и очевидных утверждений

ТЕЗИСЫ:
{bullets}
"""

Практический кейс: персонализированные рассылки

Представьте: у вас база из 1000 клиентов с разными характеристиками. Нужны персонализированные письма.

python
def generate_personalized_email(customer: dict) -> str:
    prompt = f"""
    Напиши персонализированное email-письмо для клиента.

    ДАННЫЕ КЛИЕНТА:
    - Имя: {customer['name']}
    - Сегмент: {customer['segment']}  # premium/standard/new
    - Последняя покупка: {customer['last_purchase']}
    - Дней с последнего визита: {customer['days_inactive']}
    - Любимая категория: {customer['favorite_category']}
    - LTV: {customer['ltv']} ₽

    ЦЕЛЬ ПИСЬМА:
    Вернуть клиента с персональным предложением

    ПРАВИЛА:
    - Для premium: эксклюзивное предложение, VIP-тон
    - Для standard: скидка 15%, акцент на выгоде
    - Для new: приветственный бонус, помощь с выбором

    - Если неактивен > 90 дней: добавь "мы соскучились"
    - Если неактивен < 30 дней: акцент на новинках

    - Упомяни любимую категорию в предложении
    - Длина: 100-150 слов
    - Тема письма: до 50 символов, интригующая

    ФОРМАТ:
    Subject: [тема]

    [тело письма]
    """

    return call_llm(prompt, temperature=0.7)

# Пример использования
customer = {
    "name": "Анна",
    "segment": "premium",
    "last_purchase": "кофемашина DeLonghi",
    "days_inactive": 45,
    "favorite_category": "техника для кухни",
    "ltv": 250000
}

email = generate_personalized_email(customer)

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

Вопросы для размышления

  • •Какой контент вы чаще всего генерируете с нуля?
  • •Как персонализация могла бы улучшить ваши коммуникации с клиентами?
DL

Адаптация курса «ChatGPT Prompt Engineering for Developers» от DeepLearning.AI + OpenAI. © DeepLearning.AI & OpenAI