Основные принципы:
1. Системность:
Промт – часть системы. Входы (пользователь, данные, контекст) -> Промт (обработчик) -> Выходы (ответ, данные, действие) -> Обратная связь (оценка, использование).
Учет окружения: API, базы данных, пользовательский интерфейс, другие ИИ-модули. Промт должен "вписаться".
2. Модульность и композиция:
Разделяй и властвуй. Сложный промт = комбинация простых, хорошо определенных под-промтов (агентов, функций).
Преимущества: Переиспользование, упрощение тестирования, легкая модификация, ясность структуры. Пример: Промт-агент "Анализатор Текста" + Промт-агент "Генератор отчета".
3. Ясность и борьба с неоднозначностью:
Точность формулировок: Избегание двусмысленностей, жаргона (если не нужно), сложных метафор. Использование явных ключевых слов.
Структурирование выхода: Жесткое задание формата (JSON, XML, Markdown заголовки, четкие разделители `–`). Использование примеров (Few-Shot).
Явное указание на "Не Знаю": Инструкция возвращать специальный маркер/фразу, если информации недостаточно для ответа, вместо галлюцинаций.
4. Контекстное управление (Context Engineering):
Осознанное проектирование что, когда и как подается в контекст.
Иерархия контекста:
Системные инструкции (Роль, основные правила): Самые важные, должны быть в начале и часто напоминаться.
Фоновые Знания / База: Статичная справочная информация (даты, определения, принципы работы).
Динамический контекст задачи: Ввод пользователя, промежуточные результаты цепочки, извлеченные RAG-документы.
История диалога (если применимо): Резюмирование вместо полной истории.
Техники: Резюмирование длинного контекста, приоритезация информации, "окна" для ключевых данных.
5. Тестирование и итерация (TDD для промтов?):
Промт == Код: Требует такого же строгого тестирования.
Тест-кейсы: Набор входных данных (в т.ч. пограничные случаи, провокационные запросы) и ожидаемых выходов/критериев успеха.
Метрики: Релевантность, точность (factual accuracy), полнота, согласованность (consistency между запусками), креативность (если нужно), время/стоимость выполнения.
A/B Тестирование: Сравнение разных версий промта на одних данных.
Итеративный процесс: Прототип -> Тест -> Анализ ошибок -> Модификация -> Повтор. Документирование изменений.
6. Документирование и воспроизводимость:
Для чего: Понимание через время, передача знаний, облегчение улучшений, воспроизведение результатов.