Создание библиотеки шаблонов промптов
Pareto coreАнатомия эффективного шаблона
Шаблон промпта — это параметризованная структура, которая превращает разовый успешный промпт в переиспользуемый актив. В отличие от простого копирования текста, шаблон содержит переменные части и чёткую документацию.
Базовая структура шаблона:
# [Название шаблона]
## Назначение
Краткое описание задачи и сценария использования
## Параметры
- {context}: описание контекста задачи
- {input_data}: формат входных данных
- {constraints}: специфические ограничения
- {output_format}: требуемый формат вывода
## Шаблон промпта
Ты — {role}. Твоя задача — {task_description}.
Контекст: {context}
Входные данные:
{input_data}
Требования:
- {constraint_1}
- {constraint_2}
Формат ответа: {output_format}
## Примеры использования
[Конкретные примеры с заполненными параметрами]
## Рекомендуемые параметры генерации
- Temperature: 0.3
- Top-p: 0.9
## Версия и changelog
v1.2 (2024-01): добавлена валидация формата
Практический пример — шаблон для анализа отзывов:
REVIEW_ANALYSIS_TEMPLATE = """
Ты — аналитик клиентского опыта с экспертизой в {domain}.
Проанализируй следующий отзыв и извлеки структурированную информацию:
Отзыв: {review_text}
Извлеки:
1. Тональность (положительная/нейтральная/отрицательная)
2. Ключевые темы (до {max_topics} тем)
3. Упомянутые проблемы
4. Предложения по улучшению
Формат ответа: JSON
{{
"sentiment": "...",
"topics": ["...", "..."],
"issues": ["..."],
"suggestions": ["..."]
}}
"""
# Использование
prompt = REVIEW_ANALYSIS_TEMPLATE.format(
domain="электронная коммерция",
review_text="Доставка задержалась на 3 дня, но товар отличный",
max_topics=3
)
Система хранения и версионирования
Для команды достаточно структурированного Git-репозитория:
prompts/
├── templates/
│ ├── content_generation/
│ │ ├── product_description_v2.md
│ │ └── email_campaign_v1.md
│ ├── data_analysis/
│ │ └── review_analysis_v3.md
│ └── customer_support/
│ └── ticket_classification_v1.md
├── system_prompts/
│ ├── support_bot_base.md
│ └── analyst_assistant.md
└── examples/
└── successful_cases/
Ключевые принципы версионирования:
- Семантическое версионирование: v1.0 → v1.1 (улучшения) → v2.0 (breaking changes)
- Changelog в каждом файле: что изменилось, почему, какие результаты
- Тегирование в Git: связь версии промпта с версией продукта
- Deprecation policy: старые версии помечаются, но сохраняются для обратной совместимости
Пример метаданных для отслеживания:
# metadata.yml для шаблона
template_id: "review_analysis_v3"
created: "2024-01-15"
last_updated: "2024-02-20"
author: "team_analytics"
model_tested: ["gpt-4", "gigachat-pro"]
avg_tokens: 450
use_cases:
- "e-commerce_feedback"
- "app_store_reviews"
deprecated: false
replaces: "review_analysis_v2"
Стандартизация в команде
Стандартизация превращает индивидуальные находки в командный актив. Ключевые элементы:
1. Naming conventions:
- {domain}_{task}_{version}.md для шаблонов
- sys_{persona}_{context}.md для системных промптов
- Понятные имена переменных: {user_input}, не {x}
2. Обязательные секции документации: - Purpose: одно предложение — что делает шаблон - When to use / When NOT to use: границы применимости - Parameters: тип, формат, примеры значений - Expected output: формат и структура ответа - Known limitations: где шаблон работает плохо
3. Code review для промптов:
## Review checklist
- [ ] Параметры документированы с примерами
- [ ] Есть минимум 2 примера использования
- [ ] Протестировано на разных входных данных
- [ ] Указаны рекомендуемые параметры генерации
- [ ] Добавлен changelog
- [ ] Обновлён индекс шаблонов
4. Централизованный индекс:
| Шаблон | Задача | Домен | Сложность | Токены | Статус |
|---|---|---|---|---|---|
| product_description_v2 | Генерация описаний | E-commerce | Low | ~300 | Active |
| review_analysis_v3 | Анализ отзывов | Customer Support | Medium | ~450 | Active |
5. Переиспользуемые компоненты:
# common_components.py
ROLE_DEFINITIONS = {
"analyst": "Ты — аналитик данных с опытом работы в {domain}",
"writer": "Ты — профессиональный копирайтер, специализирующийся на {style}",
"support": "Ты — специалист технической поддержки уровня {level}"
}
OUTPUT_FORMATS = {
"json_structured": "Ответь в формате JSON со следующей структурой:\n{schema}",
"markdown_list": "Ответь списком в формате Markdown",
"table": "Представь результат в виде таблицы"
}
# Композиция шаблонов
def build_prompt(role_key, task, output_key, **params):
role = ROLE_DEFINITIONS[role_key].format(**params)
output = OUTPUT_FORMATS[output_key].format(**params)
return f"{role}\n\n{task}\n\n{output}"
Библиотека промптов эффективна, когда каждый шаблон — это самодостаточная единица с чёткими параметрами, документацией и примерами. Версионирование через Git + структурированное хранение + обязательные метаданные превращают коллекцию в масштабируемую систему. Стандартизация naming, документации и процесса review обеспечивает, что команда говорит на одном языке и может быстро находить, адаптировать и улучшать существующие решения.
AI-generated · source-grounded review
🛡 Fact-checked: 3 risky claims verified · 3 removed · confidence: high
A second opinion has not checked this lesson.
On your own course these buttons answer instantly, quizzes track what you've mastered, and lessons adapt to your gaps. Sign up free →