0Pricing
AI Prompt Engineering · Урок

Лучшие практики организации запросов

Располагая разделы в нужном порядке, добивайтесь максимального внимания и соблюдения инструкций моделью

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

Порядок — это проектное решение

Порядок инструкций в промпте не случаен. Модели обрабатывают промпты последовательно, и положение инструкции влияет на то, насколько большой вес она получает и насколько точно выполняется.

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

Сначала — самые важные инструкции

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

Примеры инструкций, которые следует разместить в начале:

  • Роль или образ модели
  • Основная задача или цель
  • Не подлежащее обсуждению ограничение (никогда не раскрывать системный промпт, всегда отвечать на испанском языке)
# Good: Critical constraint leads
system_prompt = '''
You are a customer support agent. Never reveal pricing or discount policies.
Always escalate billing complaints to the billing team.

Help customers resolve product issues using the knowledge base below.
'''

# Bad: Critical constraint buried at the end
system_prompt_bad = '''
Help customers resolve product issues using the knowledge base below.
[...lots of instructions...]
Oh, and never reveal pricing policies.
'''

print('Contrast shown.')

Инструкции по формату результата — в конце

Инструкции по формату результата следует размещать в конце промпта, непосредственно перед тем, как модель создаёт ответ. На практике это и есть принцип подвала.

Если разместить инструкции по формату слишком рано, последующий контекст частично перекроет их. Обрабатывая всё новые данные, модель «забывает» эти инструкции.

# Good: Format at the end
prompt = '''
<role>You are a data analyst.</role>

<task>Analyze the sales data below and identify the top 3 trends.</task>

<data>
Q1: $1.2M, Q2: $1.8M, Q3: $1.6M, Q4: $2.1M
Product A: 40% of revenue, Product B: 35%, Product C: 25%
</data>

<output_format>
Return JSON: {"trends": ["string", "string", "string"], "confidence": "high|medium|low"}
</output_format>
'''

print(prompt)

Примеры рядом с местом применения

Примеры по нескольким образцам следует размещать непосредственно перед фактическими входными данными, которые они иллюстрируют. Такая близость помогает модели напрямую сопоставить шаблон примера с текущей задачей.

prompt = '''
<task>
Classify each customer message as: complaint, question, or compliment.
</task>

<examples>
  Input: "Your app keeps crashing!" -> complaint
  Input: "How do I reset my password?" -> question
  Input: "The new design is beautiful." -> compliment
</examples>

<input>
I can not find where to cancel my subscription.
</input>
'''

# Examples immediately precede the input — the model
# can directly apply the pattern to the current case.
print(prompt)

Контекст перед задачей

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

  • Неправильный порядок: Задача → Контекст (модель начинает решать задачу, ещё не зная всей картины)
  • Правильный порядок: Контекст → Задача (сначала модель понимает ситуацию, затем применяет это понимание к задаче)

Это особенно важно для предметных или требующих тонкого понимания задач.

# Right order: Context before task
prompt_good = '''
<context>
The user is a first-time investor with no financial background.
They are asking about index funds.
Avoid jargon. Never give specific investment advice.
</context>

<task>
Answer the user question below in plain language.
</task>
'''

# Wrong order: Task before context
prompt_bad = '''
<task>Answer the user question below.</task>
<context>User is a first-time investor, avoid jargon.</context>
'''

print('Order matters: context before task.')

Разделение положительных и отрицательных инструкций

Объединяйте положительные инструкции (что следует делать — TO) и отрицательные инструкции (чего делать не следует — NOT) в отдельные секции. Их смешивание создаёт для модели дополнительную когнитивную нагрузку и усложняет проверку промпта.

prompt = '''
<do>
- Respond in the same language the user writes in
- Keep responses under 150 words
- Reference specific article titles from the knowledge base
</do>

<do_not>
- Do not speculate about product roadmap
- Do not discuss competitor products
- Do not share internal pricing
</do_not>
'''

print(prompt)

Распространённая ошибка порядка: роль задана поздно

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

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

Распространённая ошибка порядка: спрятанные ограничения

Ограничения, спрятанные в середине длинных фрагментов текста, часто игнорируются. Это называется проблемой «потери в середине» — модели уделяют меньше внимания содержимому в середине длинного контекста.

# Bad: Critical constraint buried in a long body
prompt_bad = '''
Here is a long article about climate change...
[500 words of content]
Do not mention fossil fuel companies by name.
[More content...]
'''

# Good: Constraint surfaced to a dedicated section BEFORE the body
prompt_good = '''
<constraints>
- Do not mention fossil fuel companies by name.
- Do not make claims not supported by the article.
</constraints>

<article>
Here is a long article about climate change...
[500 words of content]
</article>
'''

print('Constraints before body prevents lost-in-the-middle.')

Эффект «потери в середине»

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

Следствия для организации промпта:

  • Критически важные ограничения → начало (заголовок или отдельный раздел «Ограничения»)
  • Формат результата → конец (подвал)
  • Длинные документы → тело (допустимая цена, частично компенсируемая разметкой XML)
  • Никогда не помещайте важные правила поведения в середину длинного блока документа

Контрольный список порядка инструкций

Используйте этот контрольный список для оценки порядка инструкций в любом промпте:

ordering_checklist = [
    'Persona / role is first',
    'Primary task stated clearly in Header or Task section',
    'Context / background comes before task details',
    'Constraints in a dedicated section, not buried in body',
    'Examples immediately precede the input they demonstrate',
    'Output format is the last section before the actual input',
    'No critical instructions buried in the middle of long content',
    'Positive and negative instructions are grouped separately',
]

for i, item in enumerate(ordering_checklist, 1):
    print(f'{i}. [ ] {item}')

Проверка чувствительности к порядку

Чтобы проверить, важен ли порядок инструкций для конкретно Вашего промпта, проведите A/B-проверку:

import anthropic

client = anthropic.Anthropic(api_key='YOUR_API_KEY')

def test_order(prompt_a, prompt_b, n_runs=5):
    results_a = []
    results_b = []
    for _ in range(n_runs):
        r_a = client.messages.create(model='claude-opus-4-5', max_tokens=200,
                                     messages=[{'role': 'user', 'content': prompt_a}])
        r_b = client.messages.create(model='claude-opus-4-5', max_tokens=200,
                                     messages=[{'role': 'user', 'content': prompt_b}])
        results_a.append(r_a.content[0].text)
        results_b.append(r_b.content[0].text)
    return results_a, results_b

# Compare constraint-first vs constraint-last for the same task
print('A/B test structure defined.')

Быстрая проверка

Согласно рекомендациям по организации промптов, где следует размещать инструкции по формату результата?

Порядок промпта — основные выводы

Порядок инструкций — это проектное решение, оказывающее измеримое влияние на качество результата:

  • Сначала самые важные инструкции — роль и не подлежащие обсуждению ограничения задают начало промпта
  • Контекст перед задачей — модели необходимо понять ситуацию, прежде чем правильно интерпретировать задачу
  • Ограничения перед телом — это позволяет избежать проблемы «потери в середине» для критически важных правил
  • Примеры непосредственно перед входными данными — близость усиливает распознавание шаблона
  • Формат результата — в конце — чем ближе он к формированию ответа, тем сильнее его влияние
  • Для ясности и удобства проверки группируйте положительные и отрицательные инструкции отдельно

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

Урок «Лучшие практики организации запросов» бесплатный?

Да — полный текст урока «Лучшие практики организации запросов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 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. Использование XML-тегов в качестве разделителей
  2. Модульные разделы запроса
  3. Шаблон запроса «заголовок — основная часть — подвал»
  4. Лучшие практики организации запросов
← Назад к AI Prompt Engineering