Проблема: ваш AI-агент делает не то, что вы просили
Вы даете инструкцию: "Создай плейлист из 20 треков в стиле synthwave 80-х, добавь только инструментальные композиции". Агент возвращает список из 15 треков, половина - с вокалом, треть вообще не synthwave. Знакомо?
Это не просто ошибка. Это системный сбой в коммуникации между человеком и машиной. Называется низкая prompt fidelity - верность промпта. И это убивает доверие к AI-агентам в продакшене.
Кейс Spotify 2025 года: пользователи жаловались, что AI-генератор плейлистов игнорирует 75% ключевых требований. Компания ввела метрику Prompt Fidelity Score и обнаружила, что агент выполняет в среднем только 25% инструкций полностью.
Что такое Prompt Fidelity на самом деле
Не путайте с точностью ответов (accuracy) или релевантностью (relevance). Prompt fidelity - это степень соответствия между тем, что вы просили, и тем, что агент сделал. Включая все нюансы, условия, ограничения и исключения.
Пример плохой верности промпта:
- Просили: "Напиши код на Python с обработкой ошибок"
- Получили: код без try/except блоков
- Проблема: агент проигнорировал требование "с обработкой ошибок"
Как Spotify измеряла верность промптов
В 2025 году инженеры Spotify столкнулись с массовыми жалобами. Пользователи говорили: "Агент не слушает". Команда создала систему оценки:
- Декомпозиция промпта: разбили каждый запрос на атомарные требования
- Бинарная оценка: каждое требование - выполнено/не выполнено
- Взвешивание: ключевые требования весят больше второстепенных
- Агрегация: Prompt Fidelity Score = (выполненные требования / все требования) × 100%
Результат шокировал: средний score - 25%. Агенты игнорировали три из четырех инструкций.
| Тип требования | Пример | Вес в оценке | Частота игнорирования |
|---|---|---|---|
| Основное действие | "Создай плейлист" | 30% | 5% |
| Количественные ограничения | "20 треков" | 20% | 40% |
| Качественные условия | "только инструментальные" | 25% | 65% |
| Стилевые указания | "synthwave 80-х" | 25% | 30% |
Почему агенты игнорируют инструкции: три корневые причины
1Перегрузка контекста
Модели типа GPT-4.5 (актуальна на 08.02.2026) имеют ограниченное "внимание". Когда промпт содержит 10+ требований, модель фокусируется на первых 3-4, остальные - в шум. Особенно страдают количественные и исключающие условия ("не более", "кроме", "только").
2Конфликт обученных паттернов
LLM обучаются на миллиардах примеров. Если ваш промпт противочит статистически частым паттернам, модель выбирает "более вероятный" вариант. Пример: "напиши короткий ответ" vs обучение на длинных развернутых ответах.
3Отсутствие валидации в цепочке
Сложные агенты выполняют multi-step reasoning. На каждом шаге накапливается ошибка. Без промежуточной проверки "выполнил ли я инструкцию Х?" агент уходит в сторону. Об этом подробно в статье "Как построить систему оценки AI-агентов".
Практика: как измерить Prompt Fidelity в вашем проекте
Не нужно быть Spotify. Методология работает для любого агента.
Шаг 1: Создайте тестовый набор промптов
Возьмите 50-100 реальных промптов из логов. Важно: это должны быть именно те запросы, которые получает ваш агент в продакшене. Не придуманные идеальные примеры.
Шаг 2: Декомпозируйте каждый промпт
Разбейте на атомарные требования. Инструмент: просто текстовый файл и ручной разбор первыми 20 промптами. Потом можно автоматизировать.
# Пример декомпозиции промпта для Python
prompt = "Напиши функцию, которая принимает список чисел, фильтрует четные, возвращает сумму оставшихся. Добавь type hints и docstring."
requirements = [
"Создать функцию",
"Функция принимает список чисел",
"Фильтрует четные числа",
"Возвращает сумму оставшихся",
"Добавить type hints",
"Добавить docstring"
]Шаг 3: Определите веса требований
Не все требования равны. "Создать функцию" - обязательное. "Добавить docstring" - желательное. Система весов:
- Критическое (weight=1.0): если не выполнено - весь ответ невалиден
- Важное (weight=0.7): существенно влияет на качество
- Желательное (weight=0.3): улучшает результат, но не обязательно
- Опциональное (weight=0.1): бонусные пункты
Шаг 4: Оцените ответы агента
Для каждого требования - бинарная оценка. Выполнено/не выполнено. Автоматически или ручной проверкой.
Совет: начните с ручной оценки 50 ответов. Вы поймете, какие типы требований агент игнорирует чаще всего. Только потом автоматизируйте.
Шаг 5: Рассчитайте Prompt Fidelity Score
def calculate_fidelity_score(requirements, weights, results):
"""
requirements: список требований
weights: список весов для каждого требования
results: список bool (True/False) для каждого требования
"""
total_weight = sum(weights)
achieved_weight = sum(w for w, r in zip(weights, results) if r)
if total_weight == 0:
return 0.0
return (achieved_weight / total_weight) * 100 # в процентахМетрики кроме основного score: что еще отслеживать
| Метрика | Формула | Что показывает | Целевое значение |
|---|---|---|---|
| Critical Failure Rate | % промптов с несоблюдением критических требований | Как часто агент полностью проваливает задачу | < 5% |
| Partial Compliance Rate | % промптов, где выполнено 50-99% требований | Агент делает основное, но забывает детали | 30-50% |
| Full Compliance Rate | % промптов со 100% выполнением | Идеальное выполнение | 20-30% |
| Requirement Type Failure | Какие типы требований игнорируются чаще | Слабые места агента | Зависит от домена |
Типичные ошибки при измерении верности промпта
Ошибка 1: Слишком строгая оценка. Требование "ответ должен быть кратким" - субъективно. Что такое "краткий"? Нужны четкие критерии: "не более 100 слов", "3 пункта максимум".
Ошибка 2: Игнорирование контекста. Промпт "как в предыдущем примере" ссылается на историю диалога. Без учета контекста оценка бессмысленна.
Ошибка 3: Одинаковые веса для всех требований. "Напиши код" и "добавь комментарии" - не равнозначны. Первое - обязательно, второе - желательно.
Ошибка 4: Измерение только итогового ответа. Сложные агенты выполняют цепочки действий. Нужно оценивать fidelity на каждом шаге. Инструменты вроде FTAI помогают отслеживать выполнение по шагам.
Как улучшить Prompt Fidelity: техники, которые работают в 2026
Техника 1: Структурированные промпты
Вместо свободного текста используйте шаблоны:
task: generate_playlist
constraints:
count: 20
genre: synthwave
era: 1980s
instrumental_only: true
exclusions:
- vocal_tracks
- modern_remixes
output_format:
- list_of_tracks
- with_artist_and_durationАгенты лучше понимают структурированные входные данные. Особенно модели типа Claude 3.7 Sonnet (актуальна на 08.02.2026), которые оптимизированы под JSON/YAML промпты.
Техника 2: Пошаговая валидация
Заставляйте агента проверять выполнение требований после каждого шага:
# Псевдокод агента
steps = [
"Понимаю требования: 20 треков, synthwave, инструментальные",
"Нахожу 25 кандидатов",
"ПРОВЕРКА: все ли 25 - инструментальные?",
"Фильтрую до 20 лучших",
"ПРОВЕРКА: ровно 20 треков?",
"Возвращаю результат"
]Техника 3: Fine-tuning на fidelity
Дообучите модель на примерах с высокой верностью промпта. Берите пары (промпт, идеальный ответ) где ответ точно соответствует всем требованиям. Современные техники тонкой настройки, описанные в статье про продвинутые техники тонкой настройки, позволяют улучшить fidelity на 15-40%.
Техника 4: Post-processing валидация
Добавьте отдельный модуль, который проверяет выход агента на соответствие промпту. Если fidelity низкая - отправляйте на доработку.
Prompt Fidelity в мультиагентных системах: особый ад
Когда работают несколько агентов, проблема умножается. Агент A получает промпт, выполняет частично, передает неполные данные агенту B, который еще больше искажает.
Решение: сквозной tracking требований. Каждое требование из исходного промпта получает UUID. Все агенты в цепочке отмечают, какое требование они выполняют. В конце - сводный отчет по fidelity.
Инструменты для этого уже появляются. Например, Agent Engineering как дисциплина предлагает паттерны для отслеживания выполнения требований в распределенных системах.
Что делать, если fidelity уперлась в потолок
Вы внедрили все техники, score вырос с 25% до 65%, но дальше - никак. Типичные причины:
- Ограничения модели: текущая LLM физически не может обработать больше 7-8 требований одновременно. Решение: перейти на модель с большим контекстом (Gemini 2.5 Pro с 1M токенов контекста, актуальна на 08.02.2026).
- Слишком сложные промпты: пользователи просят невозможного. Решение: обучать пользователей давать четкие инструкции или разбивать сложные запросы на несколько простых.
- Конфликтующие требования: "быстро и качественно", "кратко, но подробно". Решение: детектировать конфликты и запрашивать уточнения.
Важно: 100% fidelity недостижимо. Как и 100% uptime. Целевые показатели зависят от домена: для генерации кода - 80-90%, для творческих задач - 60-70%, для анализа данных - 70-80%.
Прогноз: куда движется измерение верности промптов
К 2027 году ожидаем:
- Стандартизацию метрик: появятся общепринятые шкалы и бенчмарки, как MLPerf для ML
- Автоматические инструменты оценки: не нужно будет декомпозировать промпты вручную
- Fidelity-driven обучение моделей: модели будут оптимизироваться не на accuracy, а на fidelity
- Интеграцию в CI/CD: проверка fidelity станет частью пайплайна развертывания агентов, как тесты
Уже сегодня компании вроде Amazon и Google внедряют fidelity-чекеры в свои агентные платформы. Это перестает быть опциональным - становится must-have.
Последний совет: начните измерять fidelity сегодня. Даже если просто разберете 100 промптов из логов и посчитаете процент выполненных требований вручную. Вы узнаете о своем агенте то, что никогда не покажут стандартные метрики точности.
И помните: агент, который игнорирует 75% ваших инструкций, не просто ошибается. Он бесполезен. Даже опасен. Особенно в системах, где цена ошибки высока - финансы, медицина, инфраструктура. Об этом риске подробно в статье про оценку рисков AI-агентов.