0Pricing
AI Prompt Engineering · Урок

Добавление конкретных деталей

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

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

Конкретные детали — это якоря

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

Без якорей модель создаёт ответ для воображаемого среднего пользователя. С якорями она создаёт ответ для вас.

Количество слов как конкретное ограничение

Количество слов — одна из самых простых и эффективных конкретных деталей, которые можно добавить. Сравните:

  • Расплывчато: «Напишите короткое описание»
  • Конкретно: «Напишите описание объёмом 75 слов»

Модель подсчитает токены и постарается достичь заданного значения. Если результат немного отклонится, вы сможете попросить точно пересчитать слова. Указание количества слов устраняет целые категории переписываний.

import anthropic

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

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=200,
    messages=[{
        'role': 'user',
        'content': (
            'Write a product description for a noise-cancelling travel pillow in exactly 60 words. '
            'After the description, output the word count in parentheses on a new line.'
        )
    }]
)
print(response.content[0].text)

Целевая аудитория как конкретная деталь

Указание конкретной аудитории существенно меняет лексику, примеры и глубину вывода.

  • Расплывчато: «Объясните нейронные сети»
  • Конкретно: «Объясните нейронные сети менеджеру по маркетингу в компании из списка Форчун 500, у которого нет опыта программирования, но есть опыт работы со сводными таблицами Эксель»

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

import openai

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

concrete_audience_prompt = (
    'Explain what a REST API is.\n\n'
    'Audience: a non-technical product manager who uses Salesforce daily '
    'and understands the concept of a form submission on a website. '
    'They will use this explanation to brief their engineering team tomorrow. '
    'Use one real-world analogy. Max 100 words.'
)

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

Именованные сущности вместо обобщений

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

  • Расплывчато: «Напишите конкурентный анализ»
  • Конкретно: «Напишите конкурентный анализ Нотиона, Обсидиана и Роум Рисёрч для опытного пользователя, который управляет удалённой командой из 10 человек, ежедневно пишет и нуждается в автономном доступе»

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

import anthropic

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

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=400,
    messages=[{
        'role': 'user',
        'content': (
            'Compare FastAPI vs Flask vs Django REST Framework '
            'for building a production API that will serve a React frontend. '
            'Context: 2-person startup team, Python 3.11, needs async support, '
            'expects < 50 ms response time, and will deploy on AWS Lambda. '
            'Format: 3-column markdown table with rows: setup complexity, '
            'async support, performance, learning curve, community size.'
        )
    }]
)
print(response.content[0].text)

Количественные ограничения

Числа не допускают неоднозначности. Если у вас есть числовое требование, включите его в запрос:

  • Укажите ровно N элементов (а не «несколько» или «несколько разных»)
  • Задайте максимальное или минимальное количество слов либо символов
  • Укажите конкретные проценты или соотношения («70% практики, 30% теории»)
  • Задайте временные ограничения («объясните это так, будто у меня есть 3 минуты на чтение»)
  • Задайте целевые показатели производительности («предложите подходы с временной сложностью O(n)»)
import openai

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

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Generate exactly 8 onboarding email subject lines for a B2B SaaS product. '
            'Requirements:\n'
            '- Exactly 8 lines, no more, no fewer\n'
            '- Each subject line between 40 and 60 characters\n'
            '- 4 must emphasize value, 4 must create urgency\n'
            '- Label each line: [VALUE] or [URGENCY]\n'
            '- No emojis\n'
            '- No duplicate words across all 8 lines'
        )
    }]
)
print(response.choices[0].message.content)

Сроки и временные рамки

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

  • «Это письмо будет отправлено через 2 часа — сделайте его кратким»
  • «Это материал для презентации правлению в понедельник — используйте лексику для руководителей»
  • «Это объяснение должно уложиться в пятиминутное ежедневное совещание»
  • «Напишите это для команды, у которой есть 10 минут на ознакомление перед звонком с клиентом»
import anthropic

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

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    messages=[{
        'role': 'user',
        'content': (
            'Write a project status update for our AI chatbot project. '
            'This will be read aloud at a 5-minute Monday morning stand-up. '
            'The audience has zero technical background. '
            'Talking time: max 2 minutes (approximately 300 words). '
            'Cover: what we shipped last week, one current blocker, one upcoming milestone. '
            'Tone: confident and factual. No jargon.'
        )
    }]
)
print(response.content[0].text)

Конкретные примеры в запросе

Добавление конкретных примеров того, что Вы хотите получить или чего Вы не хотите, — один из самых эффективных приёмов. Примеры одновременно задают формат, голос и стиль.

Вы можете добавить:

  • Пример идеального результата (один пример)
  • Несколько примеров с метками
  • Пример того, что раньше пошло не так (негативный пример)
import openai

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

prompt = '''
Write 3 feature announcement tweets for a new developer tool.

Here is an example of the style I want:
"We just shipped inline type errors in the editor. No more tab-switching to find 
what broke. Your flow stays unbroken. Try it now: [link]"

Characteristics of this style:
- Opens with what shipped, not with excitement words
- Describes the user benefit in the second sentence
- Ends with a CTA
- No hashtags. No emojis. Under 200 characters.

New feature: autocomplete that learns from your codebase.
'''

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

Предметная лексика

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

  • «Объясните кэширование» → ответ типа generic
  • «Объясните политику вытеснения Redis LRU для разработчика серверной части, который переходит с Memcached на Redis 7.x» → ответ экспертного уровня с привязкой к предметной области

Используйте в запросе лексику своей области, и модель будет отражать её в результате.

import anthropic

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

# Generic prompt vs domain-vocabulary prompt
generic = 'Explain caching strategies.'

domain_anchored = (
    'Compare write-through, write-behind, and cache-aside patterns '
    'for a microservices architecture using Redis 7.x as the cache layer and '
    'PostgreSQL 15 as the source of truth. '
    'Focus on consistency guarantees, latency tradeoffs, and failure modes. '
    'Audience: senior backend engineers familiar with CAP theorem.'
)

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

Ограничения на исключаемое содержание

Конкретные отрицательные ограничения (исключения) не позволяют модели двигаться по предсказуемым, generic-направлениям:

  • «Не предлагайте решения, для которых требуется платный ключ API»
  • «Не упоминайте конкурентов по названию»
  • «Не используйте слова “рычаг” или “синергия”»
  • «Не включайте теоретический материал — только практические сведения»
  • «Исключите подходы, на реализацию которых требуется больше 5 минут»

Каждое правило исключения делает результат точнее, устраняя ещё один путь к generic-содержанию.

import openai

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

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Suggest 5 ways to speed up a slow Python script. '
            'EXCLUDE:\n'
            '- Suggestions requiring third-party libraries (stdlib only)\n'
            '- Suggestions about hardware upgrades\n'
            '- Rewrites of the entire script\n'
            '- Suggestions that take more than 30 minutes to implement\n'
            'Each suggestion: one sentence describing what to do, one sentence on expected speedup.'
        )
    }]
)
print(response.choices[0].message.content)

Собираем всё вместе

Пошагово составим полностью конкретный запрос. Начнём с: «Напишите описание вакансии».

  1. Добавьте должность: «Для старшего инженера по машинному обучению»
  2. Добавьте именованный объект: «в лондонском стартапе в сфере ИИ на стадии B»
  3. Добавьте объём: «350–400 слов»
  4. Добавьте аудиторию: «для кандидатов с опытом более 5 лет»
  5. Добавьте структуру: «Формат: вступление, обязанности (8 пунктов), требования (5 пунктов), желательные качества (3 пункта)»
  6. Добавьте исключение: «Без клише вроде “динамичный темп” или “увлечённость»
import anthropic

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

concrete_prompt = (
    'Write a job description for a Senior ML Engineer position '
    'at a Series B AI startup in London. '
    'Target candidate: 5+ years ML experience, strong Python, familiar with LLMs. '
    'Length: 350-400 words. '
    'Structure:\n'
    '1. 3-sentence company intro (no fluff — focus on product and mission)\n'
    '2. Responsibilities: exactly 8 bullet points\n'
    '3. Requirements: exactly 5 bullet points\n'
    '4. Nice-to-haves: exactly 3 bullet points\n'
    'EXCLUDE: phrases like "fast-paced", "passionate", "ninja", "rockstar", "self-starter".'
)

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

Привычка обогащать запросы

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

  1. Могу ли я заменить какое-либо расплывчатое слово числом?
  2. Могу ли я назвать конкретный инструмент, технологию или человека?
  3. Могу ли я точнее описать аудиторию?
  4. Могу ли я добавить пример желаемого результата?
  5. Могу ли я добавить хотя бы одно ограничение «не включать»?
  6. Могу ли я точнее указать формат результата?

Даже два или три уточнения значительно повышают качество результата.

# Prompt enrichment in code form: before/after comparison
before = 'Give me ideas for my presentation.'

after = (
    'Generate 6 opening hook ideas for a 15-minute conference talk '
    'titled "Why Your AI Prompts Are Failing You" at PyCon 2025. '
    'Audience: Python developers, mostly backend, some ML experience. '
    'Each hook: 2 sentences max. '
    'Mix: 2 provocative statistics, 2 counterintuitive questions, 2 short stories. '
    'EXCLUDE: "Did you know..." openers and rhetorical questions about the future of AI.'
)

print('BEFORE:', before)
print()
print('AFTER:', after)

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

Основатель стартапа отправляет такой запрос: «Помогите мне написать маркетинговый текст». Какой из переработанных запросов использует наиболее эффективные конкретные детали?

Добавление конкретных деталей — итоги

Конкретные детали превращают расплывчатые запросы в точные инструкции. Используйте следующие приёмы привязки:

  • Количество слов: заменяйте «короткий/длинный» точными числами
  • Именованные объекты: конкретные продукты, инструменты, компании, люди
  • Аудитория: должность, уровень опыта, уже имеющиеся знания
  • Количественные ограничения: ровно N элементов, N% каждого типа
  • Предметная лексика: используйте собственные термины области, чтобы указать ожидаемую глубину
  • Примеры: показывайте, как выглядит хороший результат
  • Исключения: указывайте, чего модели следует избегать

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

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

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

Чему я научусь в уроке «Добавление конкретных деталей»?

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

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

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

Сколько времени занимает урок «Добавление конкретных деталей»?

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

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

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

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

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