Повторное использование шаблонов в разных задачах
Создайте личную библиотеку запросов с параметризованными шаблонами
«Повторное использование шаблонов в разных задачах» — бесплатный урок 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 — локальная установка не требуется.
Все уроки этого курса
- Что такое шаблон запроса
- Создание шаблонов с пропусками
- Приёмы подстановки переменных
- Повторное использование шаблонов в разных задачах