0Pricing
AI Prompt Engineering · Урок

Диагностика и исправление неудачных запросов

Систематический список проверок для улучшения плохо работающих запросов

«Диагностика и исправление неудачных запросов» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.

Отладочное мышление

Когда промпт выдаёт плохой результат, большинство людей сначала винит модель. Но в большинстве случаев проблема заключается в промпте, а модель ведёт себя именно так, как должна, учитывая полученные инструкции.

Рассматривать сбои промпта как задачи по отладке продуктивнее. Как и при отладке кода, Вы систематически определяете первопричину, предполагаете исправление, проверяете его и подтверждаете результат. Такой подход приводит к более быстрому улучшению, чем раздражённые попытки методом проб и ошибок.

Контрольный список отладки промпта

Если промпт не срабатывает, систематически пройдите по этому контрольному списку из пяти аспектов:

  1. Конкретность — промпт слишком расплывчатый? Нужно ли точнее определить задачу?
  2. Контекст — отсутствует ли нужная модели исходная информация?
  3. Формат — указаны ли желаемый формат и объём вывода?
  4. Ограничения — чётко ли сформулированы ограничения? Не противоречат ли они друг другу?
  5. Примеры — устранит ли неоднозначность пример хорошего вывода?

Каждому аспекту соответствует определённый тип исправления. Определите, какой аспект дал сбой, и примените соответствующее исправление.

Аспект 1: проверка конкретности

Сбои конкретности приводят к следующим результатам: выбрана неправильная тема или точка зрения, не учтён уровень аудитории, пропущены ключевые аспекты задачи.

Диагностические вопросы:

  • Может ли незнакомый с задачей, но умный человек понять этот промпт иначе, чем задумали Вы?
  • Есть ли в нём расплывчатые слова («хороший», «лучший», «подходящий», «профессиональный»), которые нужно заменить?
  • Указан ли тип задачи (статья? электронное письмо? краткое изложение? анализ)?
  • Достаточно ли точно определена аудитория?

Исправление: замените расплывчатые слова конкретными. Назовите тип задачи. Укажите исходные знания аудитории. Добавьте однопредложный пример желаемого вывода.

Аспект 2: проверка контекста

Сбои контекста приводят к следующим результатам: общие советы, не учитывающие Вашу конкретную ситуацию; ошибочные предположения о Вашем технологическом стеке, компании или аудитории; ответы, которые подошли бы в другом контексте, но не в Вашем.

Диагностические вопросы:

  • Что модели нужно знать о моей конкретной ситуации, но она не может узнать из общих данных обучения?
  • Предоставил ли я нужный код, документ или данные, к которым относится задача?
  • Описал ли я ограничения своей среды?

Исправление: добавьте перед инструкцией к задаче раздел «Исходная информация». Вставьте нужный код или содержимое непосредственно в промпт.

Аспект 3: проверка формата

Сбои формата приводят к следующему: содержание правильное, но структура неправильная — сплошной текст вместо маркированного списка, эссе вместо пошагового руководства, отсутствие заголовков там, где нужна навигация.

Диагностические вопросы:

  • Указал ли я формат вывода (маркированный список, нумерованный список, сплошной текст, таблица, блок кода)?
  • Указал ли я объём?
  • Указал ли я обязательные разделы или структуру?

Исправление: добавьте явные инструкции по формату. Используйте шаблон: «Формат: [структура]. Объём: [целевой объём]. Разделы: [список].» Для сложных форматов предоставьте шаблон с текстом-заполнителем, который должна подставить модель.

Аспект 4: проверка ограничений

Сбои ограничений приводят к следующему: в содержании оказывается то, что Вы хотели исключить, или вывод выглядит механическим из-за противоречащих друг другу ограничений.

Диагностические вопросы:

  • Чётко ли сформулированы мои ограничения или они только подразумеваются?
  • Не противоречат ли какие-либо ограничения друг другу?
  • Не противоречат ли мои ограничения области содержания или объёму?
  • Есть ли инструкция, определяющая приоритет ограничений при их возможном конфликте?

Исправление: сформулируйте неявные ограничения явно. Добавьте инструкцию о приоритетах. Разрешите конфликты, выбрав ограничение с более высоким приоритетом. Проверьте совместимость области содержания и объёма.

Аспект 5: проверка примеров

Если первые четыре аспекта выглядят нормально, но вывод всё ещё не соответствует ожиданиям, часто не хватает примеров. Они передают то, что невозможно выразить словами.

Диагностические вопросы:

  • Поможет ли пример хорошего вывода прояснить ожидаемые стиль, тон или формат?
  • Поможет ли отрицательный пример (того, что NOT следует создавать)?
  • Есть ли уже готовые выводы для этого типа задачи, которые можно использовать как образец?

Исправление: добавьте в промпт один или два примера идеального вывода. Используйте шаблон: «Вот пример того, что мне нужно: [пример]. Теперь сделайте то же самое для [ваша фактическая задача].»

Рабочий процесс отладки промпта

Ниже приведён полный диагностический рабочий процесс, который можно применять к любому неработающему промпту:

def diagnose_prompt(original_prompt, failed_output, problem_description):
    '''
    Use a second LLM call to diagnose why a prompt produced a bad output.
    Returns a diagnosis and an improved prompt.
    '''
    import openai
    client = openai.OpenAI(api_key='sk-...')

    diagnosis_prompt = f'''You are a prompt engineering expert.

A user ran this prompt:
---PROMPT---
{original_prompt}
---END PROMPT---

It produced this output (which was unsatisfactory):
---OUTPUT---
{failed_output[:500]}...
---END OUTPUT---

The problem the user identified: {problem_description}

Diagnose the prompt failure using this framework:
1. Specificity: Is anything too vague?
2. Context: What background information is missing?
3. Format: Is the desired format/length unclear?
4. Constraints: Are there missing or conflicting constraints?
5. Examples: Would an example help?

Then write an improved version of the prompt that addresses the root cause.
Format: Diagnosis: [analysis] || Improved prompt: [new prompt]'''

    response = client.chat.completions.create(
        model='gpt-4o-mini',
        messages=[{'role': 'user', 'content': diagnosis_prompt}]
    )
    return response.choices[0].message.content

Первопричина и симптом

Распространённая ошибка при отладке — устранять симптом, а не первопричину.

Симптом: вывод слишком общий.

Исправление симптома: добавить в промпт фразу «будьте конкретнее».

Первопричина: аудитория не была определена, поэтому модель выбрала аудиторию по умолчанию — широкую и неопределённую.

Исправление первопричины: добавить точное описание аудитории.

Устранение симптомов даёт незначительное улучшение. Устранение первопричин даёт надёжное улучшение. Прежде чем писать исправление, задайте вопрос «почему возникает этот симптом?» и разберитесь на уровень глубже.

Ведение журнала сбоев промптов

Для регулярно повторяющихся типов задач ведение журнала сбоев промптов со временем ускоряет улучшение. В каждой записи фиксируются:

  • исходный промпт;
  • плохой вывод (или описание ошибки);
  • диагностированная первопричина (конкретность / контекст / формат / ограничения / примеры);
  • применённое исправление;
  • результат.

После 10–20 записей начинают проявляться закономерности. Вы можете обнаружить, что одна и та же первопричина (например, отсутствие контекста об аудитории) объясняет 60% сбоев в определённой категории. Исправьте её в шаблоне — и эта закономерность исчезнет.

Улучшенный шаблон промпта

Большинство хорошо структурированных промптов построено по единому шаблону, который заранее учитывает все пять аспектов отладки:

ROBUST_PROMPT_TEMPLATE = '''
## Role
[Who the model should act as — establishes expertise level and perspective]

## Context
[Background the model needs: company, audience, product, prior decisions, constraints]

## Task
[Specific, precise description of what to produce]

## Format
[Output structure: bullet points / prose / numbered list / table]
[Length: word count or sentence count]
[Required sections: list them if the output needs specific sections]

## Constraints
[What to include: required elements]
[What to exclude: off-limits content or approaches]
[Priority: if constraints conflict, X takes priority over Y]

## Example
[One example of good output for this task type — optional but powerful]
'''

print(ROBUST_PROMPT_TEMPLATE)

Проверка знаний: отладка промпта

Промпт создаёт хорошо написанный вывод, но вместо конкретной ситуации, описанной в задаче, сосредотачивается на общих рекомендациях по лучшим практикам в этой области. Формат и объём правильные. Ограничения не нарушены. Какой аспект отладки является первопричиной?

Повторение: диагностика и исправление плохих промптов

Отладка промпта — это систематический процесс, а не метод проб и ошибок. Контрольный список из пяти аспектов — конкретность, контекст, формат, ограничения и примеры — сопоставляет каждому распространённому типу сбоя определённое исправление.

Надёжный шаблон промпта заранее учитывает все пять аспектов и предотвращает большинство сбоев ещё до их возникновения. Рабочий процесс отладки (определить симптом → найти первопричину → применить исправление → проверить результат) обеспечивает надёжное улучшение. Журнал сбоев промптов ускоряет обучение от сеанса к сеансу.

С помощью этих инструментов Вы сможете методично и последовательно диагностировать и исправлять любые сбои промптов.

Часто задаваемые вопросы

Урок «Диагностика и исправление неудачных запросов» бесплатный?

Да — полный текст урока «Диагностика и исправление неудачных запросов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 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 — локальная установка не требуется.

Все уроки этого курса

  1. Слишком расплывчатые инструкции
  2. Противоречивые требования
  3. Ошибки из-за отсутствующего контекста
  4. Диагностика и исправление неудачных запросов
← Назад к AI Prompt Engineering