AI Prompt Engineering · Урок

Повторное использование шаблонов в разных задачах

Создайте личную библиотеку запросов с параметризованными шаблонами

Урок 4 из 413 шагов

«Повторное использование шаблонов в разных задачах» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.

От разовых решений к библиотеке запросов

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

Библиотека запросов — это структурированная коллекция повторно используемых шаблонов запросов: организованных, именованных, версионируемых и снабжённых документацией. Её создание быстро окупается в любом рабочем процессе, где регулярно формируется содержимое с помощью ИИ.

Организация файлов: плоская структура

Самая простая библиотека запросов представляет собой плоский каталог файлов шаблонов:

prompts/
email_cold_outreach.j2
email_follow_up.j2
linkedin_post.j2
product_description.j2
blog_post_intro.j2
support_reply.j2

Плоская структура хорошо работает примерно до 30–50 шаблонов. После этого структурой каталогов с категориями становится проще пользоваться.

Организация файлов: структура с категориями

Для более крупных библиотек организуйте шаблоны по типу содержимого или варианту использования:

prompts/
marketing/
email_cold_outreach.j2
social_linkedin_post.j2
support/
reply_complaint.j2
reply_question.j2
content/
blog_post.j2
product_description.j2
internal/
meeting_summary.j2
project_update.j2

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

Соглашения об именовании

Имена шаблонов должны сразу сообщать об их назначении. Удачные схемы именования:

  • тип содержимого + контекст: email_cold_outreach, post_linkedin_announcement
  • действие + объект: summarize_meeting, analyze_feedback, generate_tagline
  • роль + задача: support_reply_complaint, marketing_product_description

Избегайте общих имён вроде template1, prompt_v2 или new_thing. Хорошее имя понятно без открытия файла.

Версионирование шаблонов

Запросы со временем меняются по мере обнаружения улучшений. Контроль версий шаблонов предотвращает потерю истории и появление регрессий:

  • Храните шаблоны в git — каждое изменение отслеживается и может быть отменено
  • Для версионирования файлов без git: email_cold_outreach_v1.j2, v2.j2, v3.j2
  • Помечайте основные рабочие версии: добавляйте вверху комментарий с указанием версии, выпущенной в рабочую среду, и даты выпуска
  • Никогда не перезаписывайте файл, не сохранив копию — то, что работало в прошлом месяце, может потребоваться восстановить

Git — самый надёжный вариант: используйте отдельный каталог prompts/ в репозитории проекта.

Заголовок документации шаблона

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

# Template: email_cold_outreach.j2
# Version: 2.1
# Author: Sarah Chen
# Created: 2025-03-15
# Last modified: 2025-05-10
# Changes in v2.1: Added 'value_prop' variable, removed generic opener
#
# Purpose:
#   Generate personalized cold outreach emails for B2B sales.
#
# Required variables:
#   - sender_name: str — Name of the sender
#   - recipient_name: str — First name of the recipient
#   - company_name: str — Recipient's company
#   - value_prop: str — 1-2 sentence value proposition tailored to this prospect
#   - cta: str — Specific call to action (e.g., '15-minute discovery call')
#
# Optional variables:
#   - tone: str (default: 'professional but warm')
#   - word_count: int (default: 120)
#
# Example output: see examples/email_cold_outreach_sample.txt
# Known limitations: Performs best when value_prop is specific to the company.

Реестр шаблонов

В командной среде реестр шаблонов — центральный индексный файл со списком всех доступных шаблонов — значительно ускоряет их поиск:

# prompts/registry.py
# Central index of all prompt templates

TEMPLATE_REGISTRY = {
    'email_cold_outreach': {
        'file': 'marketing/email_cold_outreach.j2',
        'description': 'Cold outreach email for B2B prospecting',
        'required_vars': ['sender_name', 'recipient_name', 'company_name', 'value_prop', 'cta'],
        'optional_vars': {'tone': 'professional but warm', 'word_count': 120},
        'version': '2.1',
        'owner': 'sarah.chen'
    },
    'linkedin_post': {
        'file': 'marketing/linkedin_post.j2',
        'description': 'LinkedIn announcement post with professional tone',
        'required_vars': ['company', 'announcement', 'cta'],
        'optional_vars': {'tone': 'professional and approachable', 'word_count': 180},
        'version': '1.0',
        'owner': 'marketing_team'
    }
}

def get_template_info(name):
    return TEMPLATE_REGISTRY.get(name, None)

Повторное использование шаблонов в разных задачах

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

  • Шаблон описания продукта может создавать и текст для веб-сайта, и описания для магазина приложений с разными значениями переменных длины и тона
  • Шаблон резюме подходит для резюме встреч, статей и обзоров кода при изменении переменной типа содержимого
  • Шаблон сравнения подходит для продуктов, кандидатов на должность и технических подходов при изменении переменных объекта и критериев

Если Вы собираетесь написать новый шаблон, сначала выполните поиск в библиотеке.

Композиция шаблонов: базовый + дочерний

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

# prompts/base_content.j2 — shared structure for all content templates
'''
You are a professional writer for {{company}}.

Style rules (apply to all outputs):
- Active voice
- No jargon unless defined
- Sentences under 25 words
- No passive voice
- Warm, direct tone

{% block task %}{% endblock %}

{% block constraints %}
Length: {{word_count | default(200)}} words.
{% endblock %}
'''

# prompts/blog_post.j2 — inherits base, adds blog-specific instructions
'''
{% extends 'base_content.j2' %}

{% block task %}
Write a blog post about {{topic}} for {{audience}}.
Structure: Hook (1 para) + Problem (1-2 para) + Solution (2-3 para) + Takeaway (1 para).
Include one concrete example.
{% endblock %}

{% block constraints %}
{{ super() }}
Do not mention competitors. Include one pull quote.
{% endblock %}
'''

Отслеживание эффективности шаблонов

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

import json
import datetime

def log_generation(template_name, template_version, variables, output, rating=None):
    log_entry = {
        'timestamp': datetime.datetime.utcnow().isoformat(),
        'template': template_name,
        'version': template_version,
        'input_vars': {k: str(v)[:50] for k, v in variables.items()},  # truncate for log
        'output_length': len(output),
        'rating': rating  # optional human rating 1-5
    }

    with open('logs/generation_log.jsonl', 'a') as f:
        f.write(json.dumps(log_entry) + '\n')

# Usage after generation
log_generation(
    template_name='email_cold_outreach',
    template_version='2.1',
    variables={'sender_name': 'Alice', 'company_name': 'Acme'},
    output='Dear Mr. Smith...',
    rating=4
)

Когда выводить шаблон из эксплуатации

Шаблоны устаревают. Вот признаки того, что шаблон следует вывести из эксплуатации или обновить:

  • Результаты постоянно требуют значительного ручного редактирования — шаблон не отражает нужные требования
  • Задача изменилась: появились новые правила бренда, новая аудитория или новые требования к формату
  • Версия модели изменилась, и инструкции шаблона больше не работают ожидаемым образом
  • Был создан более удачный шаблон, который заменяет этот

Архивируйте выведенные из эксплуатации шаблоны, а не удаляйте их: пометьте их как устаревшие в реестре и храните файлы в подкаталоге archive/. Вам может понадобиться понять, почему старые результаты выглядели именно так.

Проверка знаний: библиотеки промптов

Ваша команда из 8 человек создаёт материалы с помощью ИИ для трёх разных вариантов использования: рассылок по электронной почте, документации продукта и социальных сетей. Сейчас у Вас есть 45 шаблонов промптов, сохранённых в общем документе Google, но нет единообразного именования, истории версий и документации. Какое первое улучшение даст наибольший эффект?

Повторение: повторное использование шаблонов в разных задачах

Библиотека промптов превращает разрозненные промпты в повторно используемый ресурс, которым легко управлять. Ключевые практики: организованная структура файлов (плоская структура для 50 шаблонов или менее, категоризация при большем количестве), единообразные правила именования, заголовки документации с обязательными переменными и примечаниями о версиях, а также git для контроля версий.

Наибольшую ценность библиотеке придаёт повторное использование в разных задачах: одна и та же структура шаблона применяется для нескольких вариантов использования за счёт изменения значений переменных. Композиция шаблонов с помощью наследования в Jinja2 уменьшает дублирование в связанных шаблонах. Активно отслеживайте эффективность и выводите устаревшие шаблоны из эксплуатации.

Можно начать бесплатно

Изучай AI Prompt Engineering с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
53
Уроки
199

Часто задаваемые вопросы

Урок «Повторное использование шаблонов в разных задачах» бесплатный?

Да — полный текст урока «Повторное использование шаблонов в разных задачах» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 4 уроков всего.

Чему я научусь в уроке «Повторное использование шаблонов в разных задачах»?

Создайте личную библиотеку запросов с параметризованными шаблонами Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Prompt Engineering?

Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Повторное использование шаблонов в разных задачах»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Prompt Engineering?

Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что такое шаблон запроса
  2. Создание шаблонов с пропусками
  3. Приёмы подстановки переменных
  4. Повторное использование шаблонов в разных задачах
← Назад к AI Prompt Engineering