0Pricing
AI Prompt Engineering · Урок

Почему важна конкретика

Как расплывчатые запросы приводят к общим ответам — и как точность это исправляет

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

Проблема расплывчатости

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

Результат: общий, легко забывающийся вывод, требующий значительной переработки. Конкретность — самый мощный инструмент, который у Вас есть для повышения качества вывода ИИ.

Расплывчатый запрос: написать о собаках

Рассмотрим запрос: «Напишите что-нибудь о собаках».

Модель должна угадать: какой формат? Какой объём? Какая аудитория? Какой аспект? По умолчанию она создаёт безопасный, пресный абзац, который мог бы подойти для детской энциклопедии.

А теперь сравните: «Напишите подпись для Instagram объёмом 200 слов о первом дне щенка золотистого ретривера на пляже. Тон: игривый и эмоциональный. Добавьте 5 релевантных хэштегов».

Во втором запросе практически ничего не оставлено на волю случая.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

vague = 'Write something about dogs.'
specific = (
    'Write a 200-word Instagram caption for a golden retriever puppy\'s '
    'first day at the beach. Tone: playful and emotional. '
    'End with 5 relevant hashtags.'
)

for label, prompt in [('VAGUE', vague), ('SPECIFIC', specific)]:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=300,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'--- {label} ---')
    print(response.content[0].text)
    print()

Почему появляется общий вывод

Модель обучалась на миллиардах текстовых примеров. Когда Вы говорите «напишите о X», она генерирует самый распространённый тип текста о X, который встречался ей во время обучения.

Обычно такой текст:

  • имеет энциклопедический тон
  • имеет средний объём
  • поверхностно охватывает все основные аспекты
  • не обладает особым стилем или целью

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

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Default (vague) output
default_response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': 'Write about coffee.'}]
)
print('DEFAULT OUTPUT (first 200 chars):')
print(default_response.choices[0].message.content[:200])
print()

# Constrained output
constrained_response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Write a 100-word product description for a single-origin Ethiopian pour-over coffee. '
            'Target audience: specialty coffee enthusiasts. '
            'Tone: sophisticated, sensory. Mention flavor notes: jasmine, blueberry, dark chocolate.'
        )
    }]
)
print('CONSTRAINED OUTPUT:')
print(constrained_response.choices[0].message.content)

Пять измерений конкретности

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

  1. Формат — абзац, маркированный список, таблица, JSON, электронное письмо
  2. Объём — количество слов, количество предложений, число элементов
  3. Аудитория — кто будет читать или использовать этот вывод
  4. Тон — официальный, неформальный, технический, убеждающий, эмпатичный
  5. Цель — чего должен достичь вывод

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

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# All 5 dimensions specified
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    messages=[{
        'role': 'user',
        'content': (
            'Format: 3-bullet summary.\n'
            'Length: each bullet max 20 words.\n'
            'Audience: busy startup founders with no ML background.\n'
            'Tone: direct, no jargon.\n'
            'Goal: explain why fine-tuning an LLM is expensive.'
        )
    }]
)
print(response.content[0].text)

Расплывчатые и конкретные запросы: просьбы написать электронное письмо

Рассмотрим написание электронных писем — одну из самых распространённых задач для ИИ.

Расплывчатый запрос: «Напишите электронное письмо моему клиенту».
Модель не знает, кто этот клиент, о чём нужно написать, каковы ваши отношения, цель или тон.

Конкретный запрос: «Напишите электронное письмо из 3 абзацев клиенту B2B SaaS — компании TechFlow, просрочившему платёж на 14 дней. Тон: твёрдый, но вежливый и профессиональный. Цель: добиться оплаты, не испортив отношения. Добавьте конкретный призыв к действию со сроком 5 дней».

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

specific_prompt = (
    'Write a 3-paragraph professional email to a B2B SaaS client (TechFlow Inc) '
    'who has a payment 14 days overdue. '
    'Tone: firm but courteous — preserve the business relationship. '
    'Include: acknowledgment of potential oversight, the overdue amount placeholder [AMOUNT], '
    'a payment link placeholder [LINK], and a 5-day deadline. '
    'Subject line included.'
)

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

Расплывчатые и конкретные формулировки: краткое изложение

Даже краткое изложение — хотя оно кажется простым — чрезвычайно выигрывает от конкретности.

Расплывчато: «Сделайте краткое изложение этой статьи».

Конкретно: «Сделайте краткое изложение этой статьи ровно в 3 предложениях. Первое предложение: основной вывод. Второе предложение: использованная методология. Третье предложение: наиболее значимое следствие для практикующих специалистов».

Версия с конкретно заданной структурой сразу готова к использованию; расплывчатую версию нужно форматировать заново.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

article = (
    'Researchers at MIT have developed a new neural network architecture that achieves '
    '94% accuracy on medical image diagnosis, outperforming human radiologists by 7%. '
    'The model was trained on 2.4 million anonymized X-ray images and uses a novel '
    'attention mechanism that highlights regions of interest for clinician review. '
    'The team expects FDA clearance by Q3 2025 for use as a diagnostic aid, not replacement.'
)

specific_prompt = (
    f'Summarize the following article in exactly 3 sentences:\n'
    f'Sentence 1: main finding.\n'
    f'Sentence 2: methodology.\n'
    f'Sentence 3: key implication for clinicians.\n\n'
    f'Article:\n{article}'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=200,
    messages=[{'role': 'user', 'content': specific_prompt}]
)
print(response.content[0].text)

Расплывчатые и конкретные формулировки: мозговой штурм

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

Расплывчато: «Предложите идеи для моего приложения».

Конкретно: «Предложите 10 уникальных стратегий монетизации приложения B2C для медитации, ориентированного на городских специалистов в возрасте от 25 до 35 лет. Исключите модели подписки (одна у нас уже есть). Представьте каждую идею в одном предложении и расположите их от самой до наименее рискованной».

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

specific_brainstorm = (
    'Generate 10 unique monetization strategies for a B2C meditation app '
    'targeting 25-35 year-old urban professionals. '
    'Exclude: subscription models (already implemented). '
    'Each strategy in one sentence. '
    'Order from most to least conventional. '
    'Label each with: CONVENTIONAL / EXPERIMENTAL / BOLD.'
)

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

Использование примеров в запросах

Один из самых мощных приёмов повышения конкретности — непосредственно включить в запрос примеры желаемого вывода (это называется формированием запросов по нескольким примерам).

Вместо описания формата покажите его. По реальному примеру модель сразу понимает структуру, объём и тон — зачастую лучше, чем из письменного описания.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

example_prompt = '''
Generate 3 product taglines in this style:

Example 1: Notion — 'The all-in-one workspace where better thinking happens.'
Example 2: Figma — 'Design together. Ship faster.'
Example 3: Linear — 'The issue tracker you'll actually enjoy using.'

Product: A CLI tool that automatically writes Git commit messages by analyzing your diff.
Taglines:
'''

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=200,
    messages=[{'role': 'user', 'content': example_prompt}]
)
print(response.content[0].text)

Указание того, что NOT следует делать

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

  • «Не используйте маркированные списки»
  • «Не начинайте со слова „я“»
  • «Не предлагайте решения, для которых требуется банковская карта»
  • «Не используйте страдательный залог»

Для максимального контроля сочетайте положительные инструкции с отрицательными ограничениями.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[
        {
            'role': 'system',
            'content': (
                'You are a copywriter. Rules:\n'
                '- NEVER start a sentence with "Additionally" or "Furthermore"\n'
                '- NEVER use the phrase "In conclusion"\n'
                '- NEVER use passive voice\n'
                '- NEVER use bullet points or lists'
            )
        },
        {
            'role': 'user',
            'content': 'Write a 100-word about us section for a craft bakery called Morning Light.'
        }
    ]
)
print(response.choices[0].message.content)

Итеративная конкретизация

Вам не обязательно составлять идеальный запрос с первой попытки. Итеративное уточнение — вполне рабочая стратегия:

  1. Начните с умеренно конкретного запроса
  2. Определите, что в выводе неверно или отсутствует
  3. Добавьте ограничения, чтобы устранить эти пробелы
  4. Повторяйте, пока вывод не будет соответствовать вашим требованиям

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

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Iteration 1: first attempt
v1 = 'Write a LinkedIn post about my new job.'

# Iteration 2: add specifics based on what was missing
v2 = (
    'Write a LinkedIn post (max 150 words) announcing I just joined Stripe as a Senior Engineer. '
    'Tone: genuine excitement, not bragging. '
    'Include: what drew me to the role, one thing I plan to focus on. '
    'No cliches like "excited to announce" or "humbled to share". '
    'End with a genuine question for my network.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{'role': 'user', 'content': v2}]
)
print(response.content[0].text)

Создание контрольного списка конкретности

Перед отправкой любого запроса мысленно проверьте следующие пункты:

  • Указал ли я формат вывода? (абзац / список / JSON / таблица)
  • Указал ли я объём? (количество слов / число элементов)
  • Указал ли я аудиторию? (кто это прочитает)
  • Указал ли я тон? (официальный / неформальный / технический)
  • Указал ли я цель? (для чего будет использоваться этот вывод)
  • Включил ли я ограничения? (чего следует избегать)
  • Могу ли я добавить пример, чтобы показать, что именно имею в виду?
# Prompt template with all specificity dimensions filled
prompt_template = '''
Task: {task_description}
Format: {format}
Length: {length}
Audience: {audience}
Tone: {tone}
Goal: {goal}
Do NOT: {constraints}
Example of good output: {example}
'''

filled = prompt_template.format(
    task_description='Explain what an API is',
    format='3 short paragraphs, plain prose — no bullet points',
    length='150 words maximum',
    audience='Non-technical business stakeholders',
    tone='Friendly, analogy-based, jargon-free',
    goal='Prepare them for a meeting with the engineering team',
    constraints='Do not use the words "endpoint", "REST", or "HTTP"',
    example='An API is like a waiter in a restaurant — it takes your order...'
)
print(filled)

Проверка знаний

Менеджер по маркетингу спрашивает ИИ: «Напишите публикацию для социальных сетей». ИИ возвращает универсальную публикацию из двух предложений о компании. Какой вариант переформулировки будет наилучшим (BEST), чтобы получить полезный результат?

Почему конкретность важна — итоги

Конкретность — основа эффективного составления запросов. Главное:

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

Чем конкретнее вы формулируете запрос, тем меньше времени тратите на переписывание вывода.

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

Урок «Почему важна конкретика» бесплатный?

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

Чему я научусь в уроке «Почему важна конкретика»?

Как расплывчатые запросы приводят к общим ответам — и как точность это исправляет Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Prompt Engineering?

Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Почему важна конкретика»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Prompt Engineering?

Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

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

  1. Почему важна конкретика
  2. Устранение неоднозначности в запросах
  3. Добавление конкретных деталей
  4. Сравнение расплывчатых и конкретных запросов
← Назад к AI Prompt Engineering