Загрузка урока...
Финальный этап превращения промпт-инжиниринга в инженерную дисциплину. Мы разберем, почему нельзя хранить промпты в коде в виде простых строк, как автоматизировать проверку качества ответов (LLM-as-a-Judge) и как обновлять модели без риска уронить логику продукта.
В суровом продакшене фраза «у меня на компьютере этот промпт работал» — это приговор. Модели постоянно обновляются: провайдеры меняют веса, выходят новые версии (например, переход с GPT-4-Turbo на GPT-4o), и то, что работало вчера, сегодня может выдать невалидный JSON. Наша задача — окружить промпт тестами так же, как мы окружаем ими критически важный код.
Никогда не хардкодьте длинные промпты внутри функций. Это делает код нечитаемым и усложняет версионирование.
Правильный подход:
Файлы шаблонов: Храните промпты в отдельных .yaml, .json или .jinja2 файлах.
Версионирование в Git: Промпт должен меняться через Pull Request. Вы должны видеть историю: кто и зачем добавил в системную инструкцию фразу «отвечай только на русском».
Параметризация: Используйте шаблонизаторы, чтобы отделять логику промпта от данных.
Как понять, что новый промпт лучше старого? Проверять 1000 ответов вручную невозможно. Мы используем «Модель-судью».
Схема тестирования:
У вас есть Golden Dataset — набор из 50-100 эталонных пар «Вход — Ожидаемый ответ».
Вы прогоняете новый промпт через этот набор.
Другая, более мощная модель (например, GPT-4o или Claude 3.5 Sonnet) сравнивает ответ вашей модели с эталоном.
Промпт для Судьи:
«Сравни два ответа на вопрос. Оцени ответ модели по шкале от 1 до 5 на основе точности и следования формату JSON. Эталон: [ЭТАЛОН] Ответ модели: [ОТВЕТ] Верни только число».
В легаси-проектах производительность критична. Вы должны мониторить:
TTFT (Time to First Token): Как быстро пользователь получает начало ответа.
Token Usage: Сколько денег «съедает» запрос. Иногда сокращение промпта на 100 токенов экономит компании тысячи долларов в месяц.
Пример структуры файла для хранения промпта:
name: "log_parser_v2"
model: "gpt-4o-mini"
parameters:
temperature: 0
max_tokens: 500
system_prompt: |
Ты — эксперт по анализу логов.
Используй схему {{ schema_type }} для вывода.
Никогда не пиши вводных фраз.
user_template: "Проанализируй следующую строку: {{ log_line }}"
Представьте, что вы обновили модель с gpt-3.5-turbo на gpt-4o-mini.
Создайте «Золотой набор» из 3-х сложных логов.
Пропишите критерии, по которым вы поймете, что новая модель справилась (например: «поле error_code всегда является числом»).
Напишите простой Python-скрипт (или алгоритм), который сравнивает результаты двух моделей на этих логах.
Забудьте о «магии»: Промпт — это детерминированная инструкция для вероятностного процессора.
Структура решает: System/User/Assistant, Few-shot и TypeScript-интерфейсы делают ответы предсказуемыми.
Безопасность прежде всего: Экранируйте ввод пользователя и используйте Guardrails.
RAG вместо Fine-tuning: Сначала дайте модели доступ к знаниям через векторный поиск, и только в крайнем случае обучайте её.
Тестируйте как код: Версионируйте промпты в Git и внедряйте автоматическую оценку качества.
В этом материале нет файлов для просмотра.