Почему важна конкретика
Как расплывчатые запросы приводят к общим ответам — и как точность это исправляет
«Почему важна конкретика» — бесплатный урок 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)Пять измерений конкретности
При составлении запроса указывайте сведения по пяти измерениям:
- Формат — абзац, маркированный список, таблица, JSON, электронное письмо
- Объём — количество слов, количество предложений, число элементов
- Аудитория — кто будет читать или использовать этот вывод
- Тон — официальный, неформальный, технический, убеждающий, эмпатичный
- Цель — чего должен достичь вывод
Вам не всегда нужны все пять, но отсутствие любого из них создаёт условия для неправильной догадки модели.
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)Итеративная конкретизация
Вам не обязательно составлять идеальный запрос с первой попытки. Итеративное уточнение — вполне рабочая стратегия:
- Начните с умеренно конкретного запроса
- Определите, что в выводе неверно или отсутствует
- Добавьте ограничения, чтобы устранить эти пробелы
- Повторяйте, пока вывод не будет соответствовать вашим требованиям
Каждая итерация показывает, какие ограничения нужны модели. Сохраняйте лучшие запросы как шаблоны для дальнейшего использования.
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 — локальная установка не требуется.
Все уроки этого курса
- Почему важна конкретика
- Устранение неоднозначности в запросах
- Добавление конкретных деталей
- Сравнение расплывчатых и конкретных запросов