0Pricing
AI Prompt Engineering · Урок

Запросы списков и маркированных пунктов

Запрашивайте у искусственного интеллекта нумерованные или маркированные списки с определенным количеством элементов.

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

Почему списки хорошо подходят для ИИ

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

Знание точного синтаксиса запросов списков помогает получать результаты в единообразном формате без последующих исправлений.

Основные запросы списков

Наиболее распространённые шаблоны запросов списков:

  • «Перечислите 5 способов…»
  • «Приведите 10 пунктов о…»
  • «Назовите 7 примеров…»
  • «Приведите 3 причины, по которым…»

Всегда указывайте точное количество. Если сказать «перечислите несколько способов», количество элементов будет разным — иногда 3, иногда 12. Число устраняет эту вариативность.

import anthropic

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

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': 'List exactly 5 ways a developer can improve Python code performance. Each item: one sentence only.'
    }]
)
print(response.content[0].text)

Запросы в виде маркированного списка

Если Вам нужен именно маркированный список, а не нумерованный, явно укажите это. Маркеры разметки (- или •) отображаются в большинстве интерфейсов чатов, но не во всех средах.

  • «Дайте мне 8 пунктов маркированного списка о…»
  • «Создайте маркированный список о…»
  • «Выведите в виде маркированного списка, по одному пункту в строке…»

Добавьте «каждый пункт: максимум X слов», чтобы управлять плотностью содержания.

import openai

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

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Create a bulleted list of 8 best practices for writing REST APIs. '
            'Format: each bullet starts with a bold action verb. '
            'Each bullet: max 15 words. No sub-bullets.'
        )
    }]
)
print(response.choices[0].message.content)

Нумерованные списки и шаги

Нумерованные списки лучше всего подходят для последовательного содержания, где важен порядок:

  • Пошаговые инструкции
  • Варианты, упорядоченные от наиболее рекомендуемых к наименее рекомендуемым
  • Приоритетные списки задач
  • Упорядоченные шаги по устранению неполадок

Используйте: «Пронумеруйте каждый шаг…», «Перечислите в порядке от наиболее важного к наименее важному…», «Дайте мне 6 пронумерованных шагов для…»

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': (
            'Give me 6 numbered steps to deploy a Python FastAPI app to AWS EC2. '
            'Order: from initial setup to app accessible via browser. '
            'Each step: 1-2 sentences + the specific command(s) to run. '
            'Assume a fresh Ubuntu 22.04 server.'
        )
    }]
)
print(response.content[0].text)

Контрольные списки

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

  • Контрольные списки проверки кода
  • Контрольные списки готовности к запуску
  • Контрольные списки аудита безопасности
  • Контрольные списки адаптации

Запрос: «Создайте контрольный список для…» или «Составьте контрольный список перед запуском для…» Модель выведет пункты в формате с флажками - [ ] (стандарт разметки).

import openai

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

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Create a pre-production launch checklist for a Python web API. '
            'Format: markdown checkboxes (- [ ] item). '
            'Group into sections: Security, Performance, Monitoring, Documentation. '
            '4 items per section. Each item: specific and actionable in under 12 words.'
        )
    }]
)
print(response.choices[0].message.content)

Управление длиной и плотностью пунктов

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

  • «Одно предложение на пункт» — кратко и удобно для быстрого просмотра
  • «Два предложения: первое описывает что, второе объясняет почему» — структурированная детализация
  • «Заголовок пункта + описание в 1 строку» — заголовок и пояснение
  • «Максимум 10 слов на пункт» — предельная краткость
import anthropic

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

# Two-sentence structure per list item
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=400,
    messages=[{
        'role': 'user',
        'content': (
            'List 5 common Python performance bottlenecks. '
            'For each item, use exactly 2 sentences: '
            'Sentence 1: describe the bottleneck. '
            'Sentence 2: state the fix in one specific action.'
        )
    }]
)
print(response.content[0].text)

Списки с метками и категориями

Добавление меток к пунктам списка превращает его в категоризированный или помеченный список, который легче просматривать и использовать:

  • «Пометьте каждый пункт как EASY, MEDIUM или HARD»
  • «Добавьте к каждому предложению метку соответствующей команды: [FRONTEND] [BACKEND] [DEVOPS]»
  • «Укажите для каждого пункта ожидаемые затраты времени: (5 мин) (2 ч) (1 неделя)»

Метки превращают плоский список в практичный ресурс, который можно фильтровать.

import openai

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

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'List 8 ways to reduce AWS costs for a startup. '
            'Label each with: [IMMEDIATE] if doable today, [MEDIUM] if takes 1-2 weeks, or [LONG] if takes a month+. '
            'Also label each with estimated monthly savings: ($50-200) ($200-500) ($500+). '
            'Each item: one sentence.'
        )
    }]
)
print(response.choices[0].message.content)

Вложенные списки

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

  • Основные категории на уровне 1
  • Конкретные примеры или подпункты на уровне 2

Запрос: «Создайте двухуровневый план с 4 основными разделами и 3 подпунктами в каждом». Будьте осторожны: более двух уровней вложенности в большинстве случаев трудно читать.

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': (
            'Create a 2-level outline for a "Python for Data Science" beginner course. '
            'Level 1: exactly 4 module titles. '
            'Level 2: exactly 3 lesson titles under each module. '
            'Format as nested markdown bullets. '
            'Lesson titles should be specific — not generic like "Introduction".'
        )
    }]
)
print(response.content[0].text)

Ранжированные и упорядоченные списки

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

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

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

import openai

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

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'List 6 database indexing strategies for PostgreSQL. '
            'Order: from most commonly needed to most specialized. '
            'Each item: strategy name in bold, followed by a 10-word description, '
            'then a note of when NOT to use it in parentheses.'
        )
    }]
)
print(response.choices[0].message.content)

Антипаттерны: неудачные списки

Распространённые ошибки в запросах списков, которые приводят к плохому выводу:

  • Не указано количество: «Дайте мне несколько пунктов» → непредсказуемая длина, список часто оказывается слишком коротким или слишком длинным
  • Не задана структура пунктов: модель сама выбирает сочетание длинных и коротких пунктов
  • Запрошено слишком много пунктов: «Перечислите 50 идей» → последние 30 оказываются искусственно добавленными для заполнения
  • Слишком глубокая вложенность: 3 и более уровней → вывод становится нечитаемым

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

import anthropic

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

# Anti-pattern: no count, no structure
bad_prompt = 'Give me some ideas for blog posts about Python.'

# Good pattern: count + structure + ordering
good_prompt = (
    'Generate 8 Python blog post title ideas. '
    'Target audience: intermediate Python developers (2-3 years experience). '
    'Mix: 4 practical how-to titles, 4 conceptual deep-dive titles. '
    'Label each [HOW-TO] or [DEEP DIVE]. '
    'Each title: max 10 words. No clickbait.'
)

for label, prompt in [('BAD', bad_prompt), ('GOOD', good_prompt)]:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=200,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'--- {label} ---')
    print(response.content[0].text.strip())
    print()

Вывод списков в программном контексте

Если Вы используете ИИ для создания списков, которые затем будет обрабатывать код, запросите вывод в формате, пригодном для машинного разбора:

  • Массив JSON: «Выведите массив JSON со строками»
  • Один пункт в строке: «Выведите ровно один пункт в каждой строке, без маркеров и номеров»
  • CSV: «Выведите одну строку со значениями, разделёнными запятыми»

Так Вам не придётся извлекать маркеры разметки из строки ответа.

import openai
import json

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

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'List 8 Python standard library modules that every developer should know. '
            'Output as a valid JSON array of strings only. '
            'No explanation, no formatting, no markdown — just the raw JSON array.'
        )
    }]
)

raw = response.choices[0].message.content.strip()
try:
    modules = json.loads(raw)
    print(f'Parsed successfully: {len(modules)} modules')
    for m in modules:
        print(f'  - {m}')
except json.JSONDecodeError as e:
    print(f'Parse error: {e}')
    print('Raw output:', raw)

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

Руководитель команды хочет получить от ИИ-помощника список задач. Он отправляет запрос: «Дайте мне несколько задач». В результате получает 4 расплывчатых пункта. Какая переформулировка даст наиболее полезный вывод?

Итоги: запросы списков

Списки — один из самых понятных форматов вывода, который можно запросить. Чтобы хорошо формулировать запросы списков, указывайте:

  • Точное количество: всегда указывайте число, а не «несколько» или «пару»
  • Формат: маркеры, номера, контрольный список, вложенная структура
  • Структуру каждого пункта: одно предложение / два предложения / заголовок и описание
  • Метки: сложность, время, команда, категория
  • Порядок: сначала самые важные, по критерию X, в алфавитном порядке
  • Машинный формат: массив JSON или по одному пункту в строке для программного использования

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

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

Да — полный текст урока «Запросы списков и маркированных пунктов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 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. Форматирование Markdown в запросах
  4. Обычный текст и форматированный вывод
← Назад к AI Prompt Engineering