Вы когда-нибудь чувствовали, что нейросети обещают революцию в разработке, но на деле выдают код, который стыдно показывать коллегам? Проблема часто не в модели, а в том, как мы ее просим. Качественные промпты для программиста – это не магия, а инструмент, который превращает ИИ из генератора ошибок в полезного ассистента.
Эта статья – концентрат практики. Здесь нет абстрактной теории. Только готовые, проверенные шаблоны, которые можно скопировать и сразу использовать в работе. Они созданы, чтобы решать реальные задачи разработчика, а не абстрактные учебные примеры.
Вы увидите, как с помощью правильных запросов можно автоматизировать рутинные задачи и ускорить сложные процессы. Внутри вы найдете:
- Создание и переработку кода.
- Написание тестов и документации.
- Работу с базами данных и API.
- Отладку и поиск уязвимостей.
- Решение архитектурных задач.
Цель – дать вам набор инструментов, который сэкономит часы работы и поможет избежать досадных ошибок, которые нейросеть может сгенерировать по небрежному запросу.
Типичные ошибки при составлении запросов для ИИ в разработке
Многие разочаровываются в ИИ, наступая на одни и те же грабли. Понимание этих ошибок – первый шаг к тому, чтобы заставить нейросеть работать на вас, а не против вас. Давайте разберем самые частые промахи.
- Просить написать все приложение целиком. Нейросеть предсказуемо выдаст набор разрозненных и неработоспособных фрагментов, потому что не может удержать в контексте весь проект.
- Не указывать язык, фреймворк и версию. Полученный код может использовать устаревший синтаксис или функции из другой библиотеки, что приведет к часам отладки несоответствий.
- Слепо копировать сгенерированный код в проект. Это прямой путь к появлению уязвимостей и трудноуловимых ошибок, ведь ИИ может галлюцинировать и создавать логически неверный, хоть и синтаксически правильный код.
- Не предоставлять контекст и примеры. Без понимания окружающего кода (существующие функции, стили кодирования) нейросеть сгенерирует решение в вакууме, которое будет сложно интегрировать.
- Использовать расплывчатые формулировки вроде «сделай лучше». ИИ не понимает субъективных оценок; ему нужны четкие критерии: «уменьши вложенность», «упрости логику», «добавь обработку ошибок».
- Забывать про ограничения и негативные инструкции. Не указав, чего делать НЕ нужно (например, «не используй внешние библиотеки»), вы рискуете получить решение, которое не соответствует требованиям проекта.
- Сдаваться после первой неудачной попытки. Часто для получения нужного результата требуется несколько уточнений. Первая генерация – это черновик, а не финальный продукт. Ну, конечно, все мы ожидали, что ИИ прочтет наши мысли с первого раза.
Сравнение слабых и сильных промптов для типовых задач
Разница между бесполезным и полезным ответом от ИИ часто кроется в деталях запроса. Наглядные примеры показывают, как конкретика и контекст меняют результат кардинально.
| Задача | Слабый промпт (что обычно делают не так) | Сильный промпт (как надо) | Почему сильный промпт работает лучше |
| Написать SQL-запрос | «Напиши SQL, чтобы достать пользователей и их заказы» | «Ты – опытный SQL-разработчик. Напиши запрос для PostgreSQL. Мне нужно выбрать имена пользователей (first_name) из таблицы `users` и количество их заказов (order_count) из таблицы `orders`. Связь по `users.id` и `orders.user_id`. Включи только пользователей, у которых больше 5 заказов. Отсортируй результат по убыванию количества заказов.» | Сильный промпт задает роль, указывает диалект SQL, перечисляет таблицы, поля, условия соединения (JOIN), фильтрации (WHERE/HAVING) и сортировки. Это устраняет двусмысленность и дает точный, готовый к использованию запрос. |
| Создать компонент React | «Сделай кнопку для React» | «Ты – senior frontend-разработчик. Создай функциональный компонент `Button` для React с использованием TypeScript и стилей CSS Modules. Компонент должен принимать свойства: `children` (для текста), `onClick` (обработчик клика), `variant` («primary» или «secondary» для стилизации) и `disabled` (булево значение). Сгенерируй и код компонента (.tsx), и файл стилей (.module.css).» | Здесь четко определена технология (React, TS, CSS Modules), задана структура компонента (функциональный), перечислены все необходимые свойства (props) с типами и возможными значениями. Это позволяет получить компонент, готовый к интеграции. |
| Объяснить фрагмент кода | «Объясни этот код: [вставить код]» | «Ты – наставник по программированию. Объясни этот фрагмент кода на Python пошагово, как для junior-разработчика. Сконцентрируйся на цели функции, логике работы с рекурсией и на том, как работает базовый случай выхода из нее. Укажи на потенциальные проблемы, например, риск переполнения стека при большой глубине рекурсии.» | Сильный запрос не просто просит объяснения, а задает целевую аудиторию (junior), указывает ключевые моменты для анализа (рекурсия, базовый случай) и просит выявить подводные камни. Результат – глубокое, а не поверхностное объяснение. |
| Написать функцию | «Напиши функцию для валидации email» | «Ты – backend-разработчик на Python. Напиши функцию `is_valid_email(email: str) -> bool`, которая проверяет корректность email-адреса. Не используй внешние библиотеки. Функция должна проверять наличие одного символа ‘@’, наличие точки в доменной части и отсутствие пробелов. Верни `True`, если email корректен, и `False` в противном случае. Добавь docstring с примерами использования.» | Задана сигнатура функции с типами, перечислены конкретные правила валидации, наложено ограничение (не использовать библиотеки) и указан формат вывода (boolean) и требование к документации. Это полностью определяет ожидаемый результат. |
30 готовых промптов для программиста
Ниже представлены шаблоны запросов для нейросети, которые помогут в решении повседневных задач программирования. Каждый из них создан с учетом частых ошибок и нацелен на получение предсказуемого и полезного результата.
1. Генерация функции с обработкой ошибок
Проблема: Нужно быстро написать функцию, но не хочется забыть про обработку потенциальных исключений и крайних случаев.
Решение: Промпт запрашивает не только основную логику, но и явное добавление блоков `try-except` (или аналогов) для конкретных типов ошибок.
Текст промпта:
*****
Ты – опытный разработчик на [укажите язык, например, «Python»]. Твоя задача – написать функцию, которая выполняет [опишите действие, например, «загружает JSON из файла по указанному пути»].
Название функции: [укажите название, например, "load_json_file"].
Аргументы: [перечислите аргументы и их типы, например, "file_path: str"].
Возвращаемое значение: [укажите тип, например, "dict или None"].
Ключевые требования:
- Основная логика: [опишите основную логику, например, «открыть, прочитать и распарсить JSON-файл»].
- Обработка ошибок: Обязательно добавь обработку для следующих ситуаций:
- Файл не найден ([укажите тип ошибки, например, «FileNotFoundError»]). В этом случае верни
Noneи выведи в консоль лог с уровнем ‘ERROR’. - Ошибка разбора JSON ([укажите тип ошибки, например, «JSONDecodeError»]). В этом случае верни
Noneи выведи лог. - Любые другие исключения.
- Файл не найден ([укажите тип ошибки, например, «FileNotFoundError»]). В этом случае верни
- Формат ответа: Предоставь только код функции без дополнительных объяснений. Добавь к функции комментарии, объясняющие логику обработки ошибок.
*****
Почему это работает: Промпт четко разделяет основную логику и требования к обработке ошибок. Указание конкретных типов исключений заставляет ИИ сгенерировать более надежный и продуманный код, готовый к реальным условиям эксплуатации.
2. Рефакторинг «грязного» кода
Проблема: Есть работающий, но сложный и запутанный фрагмент кода, который трудно поддерживать и понимать.
Решение: Промпт дает ИИ роль «архитектора кода» и просит переписать его с учетом конкретных принципов чистого кода.
Текст промпта:
*****
Ты – эксперт по качеству кода и рефакторингу. Проанализируй следующий фрагмент кода на [укажите язык, например, «JavaScript»] и перепиши его, следуя принципам чистого кода.
Исходный код:
[вставьте ваш 'грязный' код сюда]
Задачи рефакторинга:
- Упрости вложенность (уменьши количество вложенных
if/else). - Вынеси магические числа и строки в именованные константы.
- Разбей длинную функцию на несколько более мелких, с понятными названиями, отвечающих за одну задачу (принцип единой ответственности).
- Дай переменным более осмысленные имена.
- Не меняй публичный интерфейс (названия исходных функций и их аргументы).
Формат ответа: Сначала предоставь переписанный код. Затем, в отдельном блоке, кратко объясни, какие именно улучшения были сделаны и почему.
*****
Почему это работает: Вместо абстрактного «сделай лучше», промпт дает конкретные, измеримые инструкции (упрости вложенность, вынеси константы). Это направляет ИИ на применение лучших практик и дает предсказуемый результат по улучшению читаемости и поддерживаемости кода.
3. Объяснение сложного алгоритма или фрагмента кода
Проблема: Вы столкнулись с непонятным алгоритмом или унаследованным кодом и хотите быстро разобраться в его работе.
Решение: Запрос ставит ИИ в роль наставника, который должен объяснить код для определенного уровня подготовки (например, для новичка).
Текст промпта:
*****
Ты – опытный наставник по программированию, который умеет объяснять сложные вещи простыми словами. Объясни следующий код на [укажите язык] так, как будто ты объясняешь его junior-разработчику.
Код для анализа:
[вставьте ваш код]
Структура объяснения:
- Общая цель: Что этот код делает в целом? Какую бизнес-задачу он решает?
- Пошаговый разбор: Пройдись по коду строка за строкой или логическими блоками. Объясни, что происходит на каждом шаге.
- Ключевые концепции: Если в коде используются специфические структуры данных, паттерны или приемы (например, рекурсия, динамическое программирование, битовые операции), объясни их суть в контексте этого кода.
- Аналогия: Приведи простую аналогию из реальной жизни, которая поможет понять логику работы кода.
- Возможные риски: Укажи на неочевидные моменты или потенциальные проблемы (например, сложность O(n^2), отсутствие обработки крайних случаев).
*****
Почему это работает: Промпт требует структурированного ответа, который охватывает не только механику («что делает код»), но и цель («зачем он это делает») и риски. Аналогия и пошаговый разбор делают объяснение доступным для любого уровня подготовки.
4. Написание юнит-тестов для функции
Проблема: Написание тестов – рутинная, но необходимая задача. Хочется автоматизировать генерацию тестовых сценариев.
Решение: Промпт предоставляет ИИ код функции и просит сгенерировать полный набор тестов, включая проверку «счастливого пути» и крайних случаев.
Текст промпта:
*****
Ты – QA-инженер, специализирующийся на автоматизированном тестировании. Твоя задача – написать набор юнит-тестов для следующей функции на [укажите язык] с использованием фреймворка [укажите фреймворк, например, «Jest» для JS, «pytest» для Python].
Исходная функция:
[вставьте код вашей функции]
Требования к тестам:
- Позитивные сценарии: Проверь корректную работу функции с типичными, ожидаемыми входными данными.
- Крайние случаи (Edge Cases): Проверь поведение функции с граничными значениями (например, пустые строки, пустые массивы, ноль, максимальные/минимальные значения).
- Негативные сценарии: Проверь, как функция обрабатывает некорректные входные данные (например, неправильный тип, null/undefined). Если функция должна выбрасывать исключение, напиши тест, который это проверяет.
Формат ответа: Предоставь готовый файл с тестами, который можно сразу запустить.
*****
Почему это работает: Промпт заставляет ИИ мыслить как тестировщик, систематически покрывая разные классы входных данных. Четкое разделение на позитивные, негативные и крайние случаи гарантирует более полное тестовое покрытие, чем при простом запросе «напиши тесты».
5. Создание SQL-запроса с объединением таблиц
Проблема: Нужно составить сложный SQL-запрос с несколькими JOIN, но нет времени или желания разбираться в синтаксисе.
Решение: Промпт детально описывает структуру базы данных, необходимые поля и условия, позволяя ИИ точно сконструировать запрос.
Текст промпта:
*****
Ты – опытный аналитик данных, мастер SQL. Напиши SQL-запрос для [укажите диалект, например, «PostgreSQL»].
Контекст:
У меня есть следующие таблицы:
-
users(колонки:id,name,email) -
orders(колонки:id,user_id,amount,created_at) -
products(колонки:id,name,price) -
order_items(колонки:order_id,product_id,quantity)
Задача:
Мне нужно получить отчет, содержащий имя пользователя, его email и общую сумму всех его заказов за [укажите период, например, «прошлый месяц»]. Включи в выборку только пользователей, чья общая сумма заказов превышает [укажите порог, например, «1000»]. Отсортируй результат по убыванию общей суммы.
Формат ответа: Предоставь только финальный SQL-запрос.
*****
Почему это работает: Промпт предоставляет всю необходимую информацию: структуру таблиц, отношения между ними, условия фильтрации (`WHERE`, `HAVING`) и сортировки (`ORDER BY`). Это устраняет любую двусмысленность и позволяет ИИ сгенерировать сложный, но корректный запрос с первого раза.
6. Генерация документации для кода
Проблема: Код написан, но создание документации – утомительный процесс, который часто откладывается.
Решение: Промпт автоматизирует создание документации в стандартном формате (например, JSDoc, reST, Google Style Docstrings).
Текст промпта:
*****
Ты – технический писатель, который создает образцовую документацию для кода. Твоя задача – сгенерировать документацию для следующей функции/класса на [укажите язык] в формате [укажите формат, например, «Google Style Python Docstrings» или «JSDoc»].
Код для документирования:
[вставьте ваш код без документации]
Требования к документации:
- Краткое описание в одно предложение: Что делает функция/класс?
- Подробное описание: Если необходимо, добавь более развернутое объяснение.
- Аргументы (
Args): Опиши каждый аргумент, его тип и назначение. - Возвращаемое значение (
Returns): Опиши, что возвращает функция, и укажи тип. - Исключения (
Raises): Перечисли возможные исключения и условия, при которых они возникают. - Пример использования: Добавь небольшой, но понятный пример вызова.
Формат ответа: Предоставь исходный код, но уже с добавленной в него документацией.
*****
Почему это работает: Указание конкретного, общепринятого формата документации (JSDoc, Google Style) и четкая структура требуемых секций (Args, Returns, Raises) позволяют получить стандартизированный и полезный результат, который легко читается и интегрируется с инструментами автогенерации документации.
7. Поиск уязвимостей в фрагменте кода
Проблема: Есть подозрение, что в коде могут быть скрытые уязвимости, но не хватает экспертизы для их выявления.
Решение: Промпт ставит ИИ в роль специалиста по безопасности и просит провести аудит кода на предмет распространенных уязвимостей.
Текст промпта:
*****
Ты – специалист по кибербезопасности (пентестер). Проведи анализ следующего фрагмента кода на [укажите язык, например, «PHP»] на предмет потенциальных уязвимостей.
Код для анализа:
[вставьте ваш код]
Ищи следующие типы уязвимостей:
- SQL-инъекции.
- Межсайтовый скриптинг (XSS).
- Небезопасная обработка загружаемых файлов.
- Отсутствие или слабая валидация входящих данных.
- Раскрытие конфиденциальной информации в сообщениях об ошибках.
Формат ответа:
- Если уязвимости найдены, составь список. Для каждой уязвимости:
- Укажи номер строки, где она находится.
- Опиши суть проблемы.
- Предложи исправленный, безопасный вариант кода.
- Если уязвимостей не найдено, напиши: «В данном фрагменте кода очевидных уязвимостей из перечисленных категорий не найдено.»
*****
Почему это работает: Промпт фокусирует анализ на конкретных, самых распространенных классах уязвимостей. Требование не только найти проблему, но и предложить решение, делает ответ максимально практичным и полезным для немедленного исправления.
8. Конвертация кода с одного языка на другой
Проблема: Нужно перенести существующую логику из проекта на одном языке в проект на другом, сохранив функциональность.
Решение: Промпт дает ИИ четкую задачу по трансляции кода, указывая на необходимость использовать идиоматические конструкции целевого языка.
Текст промпта:
*****
Ты – полиглот-программист, свободно владеющий несколькими языками. Твоя задача – перевести следующий код с [укажите исходный язык, например, «Python»] на [укажите целевой язык, например, «Go»].
Исходный код на [исходный язык]:
[вставьте код]
Требования к конвертации:
- Сохрани всю исходную логику и поведение.
- Используй идиоматические конструкции и стандартные библиотеки целевого языка. Например, если в Python используется list comprehension, в Go используй соответствующий цикл
for...range. - Сохрани названия функций и переменных, если это возможно.
- Добавь краткие комментарии к тем частям кода, где логика в целевом языке реализуется принципиально иначе.
Формат ответа: Предоставь только финальный код на [целевой язык].
*****
Почему это работает: Акцент на «идиоматическом» коде заставляет ИИ не просто механически заменять синтаксис, а писать так, как написал бы опытный разработчик на целевом языке. Это улучшает читаемость и производительность сконвертированного кода.
9. Создание регулярного выражения
Проблема: Регулярные выражения мощны, но их синтаксис сложен и неочевиден. Составление «регулярки» с нуля отнимает много времени.
Решение: Промпт описывает задачу на естественном языке, предоставляя примеры строк, которые должны и не должны соответствовать шаблону.
Текст промпта:
*****
Ты – эксперт по регулярным выражениям. Создай регулярное выражение (для PCRE, совместимого с [укажите язык/инструмент, например, «JavaScript»]), которое соответствует следующим правилам: [опишите правила, например, «проверяет надежность пароля»].
Правила для соответствия:
- Длина от 8 до 32 символов.
- Должен содержать как минимум одну строчную букву.
- Должен содержать как минимум одну заглавную букву.
- Должен содержать как минимум одну цифру.
- Должен содержать как минимум один специальный символ из набора
[!@#$%^&*].
Примеры строк, которые должны соответствовать:
-
[пример 1, например, "Password123!"] -
[пример 2, например, "@MySecret1"]
Примеры строк, которые НЕ должны соответствовать:
-
[пример 3, например, "password"](нет заглавной, цифры, спецсимвола) -
[пример 4, например, "PASSWORD123"](нет строчной, спецсимвола) -
[пример 5, например, "Pass1!"](короткий)
Формат ответа:
- Готовое регулярное выражение.
- Краткое объяснение каждой части выражения.
*****
Почему это работает: Предоставление как позитивных, так и негативных примеров – это ключевой элемент. Он устраняет двусмысленность и позволяет ИИ точно настроить выражение. Требование объяснить результат помогает проверить его корректность и научиться чему-то новому. Ирония в том, что объяснение «регулярки» иногда бывает сложнее самой «регулярки».
10. Проектирование структуры простого REST API
Проблема: Нужно спроектировать эндпоинты для новой сущности, но хочется сделать это в соответствии с лучшими практиками REST.
Решение: Промпт просит ИИ выступить в роли архитектора и описать полный набор CRUD-операций для указанной сущности.
Текст промпта:
*****
Ты – архитектор программного обеспечения, специализирующийся на проектировании RESTful API. Спроектируй эндпоинты для управления сущностью «[укажите сущность, например, ‘Статья в блоге’]».
Сущность «[сущность]» имеет следующие поля: [перечислите поля, например, "id, title, content, author_id, created_at, status ('draft', 'published')"].
Опиши следующие эндпоинты в формате таблицы:
- Метод HTTP (GET, POST, PUT, DELETE, PATCH)
- Путь (например,
/articles) - Описание (что делает эндпоинт)
- Пример тела запроса (для POST, PUT, PATCH)
- Пример успешного ответа (код состояния и тело)
Обязательно включи эндпоинты для:
- Создания новой сущности.
- Получения списка всех сущностей (с пагинацией).
- Получения одной сущности по ее ID.
- Полного обновления сущности по ID.
- Частичного обновления сущности по ID (например, только смена статуса).
- Удаления сущности по ID.
*****
Почему это работает: Промпт запрашивает не просто список путей, а полную спецификацию с методами, примерами запросов и ответов. Это дает структурированное, готовое к реализации техническое задание, которое соответствует стандартам REST.
11. Написание скрипта для автоматизации
Проблема: Есть рутинная задача (например, бэкап файлов, обработка логов), которую хочется автоматизировать с помощью скрипта.
Решение: Промпт четко описывает пошаговый алгоритм действий, которые должен выполнять скрипт, и указывает на обработку возможных ошибок.
Текст промпта:
*****
Ты – DevOps-инженер, эксперт по автоматизации. Напиши скрипт на [укажите язык, например, «Bash» или «Python»], который выполняет следующую задачу: [опишите задачу, например, «архивирует логи и загружает их в облачное хранилище»].
Пошаговый алгоритм работы скрипта:
- Найти все файлы с расширением
.logв директории[укажите путь, например, "/var/log/app"], которые старше [укажите срок, например, «7 дней»]. - Создать из найденных файлов один
.tar.gzархив с именем в форматеlogs-YYYY-MM-DD.tar.gz. - Скопировать созданный архив в [укажите место назначения, например, «папку /mnt/backups»].
- После успешного копирования удалить исходные .log файлы.
- Если на каком-либо шаге происходит ошибка (например, нет файлов для архивации, нет прав на запись), скрипт должен завершиться с ненулевым кодом выхода и вывести информативное сообщение об ошибке.
Формат ответа: Предоставь полный код скрипта с комментариями, объясняющими каждый шаг.
*****
Почему это работает: Декомпозиция задачи на конкретные, последовательные шаги не оставляет ИИ пространства для неверной интерпретации. Требование по обработке ошибок и завершению с кодом выхода делает скрипт более надежным и пригодным для использования в CI/CD и cron-заданиях.
12. Отладка кода по сообщению об ошибке
Проблема: В приложении возникла ошибка с непонятным сообщением и стектрейсом, и неясно, что является причиной.
Решение: Промпт предоставляет ИИ весь доступный контекст (код, сообщение об ошибке) и просит выступить в роли опытного отладчика.
Текст промпта:
*****
Ты – опытный senior-разработчик, который может диагностировать любую проблему по сообщению об ошибке. Проанализируй следующую ситуацию.
Язык программирования: [укажите язык]
Фреймворк/Библиотека: [укажите, если применимо]
Сообщение об ошибке и стектрейс:
[вставьте полное сообщение об ошибке и стектрейс]
Код, который предположительно вызвал ошибку:
[вставьте фрагмент кода, на который указывает стектрейс]
Задача:
- Определи наиболее вероятную причину ошибки. Объясни простыми словами, что означает это сообщение об ошибке.
- Предложи 2-3 возможных варианта решения проблемы.
- Предоставь исправленный вариант кода для наиболее вероятного решения.
*****
Почему это работает: Промпт структурирует запрос на отладку, предоставляя всю необходимую информацию. Вместо простого вопроса «что не так?», он просит провести полный анализ: определить причину, предложить несколько гипотез и дать готовое решение. Это имитирует процесс мышления опытного разработчика.
13. Оптимизация производительности функции
Проблема: Функция работает корректно, но слишком медленно, и нужно найти способ ее ускорить.
Решение: Промпт фокусирует ИИ на поиске «бутылочных горлышек» в производительности и предлагает использовать более эффективные алгоритмы или структуры данных.
Текст промпта:
*****
Ты – эксперт по оптимизации производительности. Проанализируй следующую функцию на [укажите язык] и предложи способы ее ускорения.
Медленная функция:
[вставьте код медленной функции]
Контекст: Эта функция [опишите, что она делает и в каких условиях вызывается, например, «обрабатывает массив из миллионов элементов внутри цикла»].
Задача:
- Найди узкие места в производительности. Объясни, почему текущая реализация неэффективна (например, высокая алгоритмическая сложность, лишние операции в цикле).
- Перепиши функцию, используя более эффективные подходы (например, измени алгоритм, используй более подходящие структуры данных, примени мемоизацию).
- Оцени алгоритмическую сложность (Big O) до и после оптимизации.
Формат ответа: Сначала оптимизированный код, затем объяснение улучшений и сравнение сложности.
*****
Почему это работает: Промпт заставляет ИИ не просто переписать код, а провести анализ производительности. Требование оценить сложность (Big O) до и после гарантирует, что предложенные изменения действительно основаны на улучшении алгоритма, а не на микрооптимизациях.
14. Создание компонента для веб-фреймворка
Проблема: Нужно создать стандартный UI-компонент (например, модальное окно, аккордеон) с соблюдением всех правил конкретного фреймворка.
Решение: Промпт детально описывает структуру, свойства (props) и поведение компонента, а также технологии, которые нужно использовать.
Текст промпта:
*****
Ты – senior frontend-разработчик. Создай переиспользуемый компонент «[название, например, ‘Accordion’]» для [укажите фреймворк, например, «Vue 3»] с использованием [укажите доп. технологии, например, «TypeScript и Composition API»].
Описание компонента:
Компонент должен представлять собой список секций, каждую из которых можно разворачивать и сворачивать по клику на заголовок.
Свойства (Props):
-
items: массив объектов, где каждый объект имеет поляtitle(строка, заголовок секции) иcontent(строка, cодержимое секции). -
multiple: булево значение. Еслиtrue, можно открывать несколько секций одновременно. Еслиfalse, при открытии одной секции все остальные должны закрываться.
Поведение:
- При клике на заголовок секции ее содержимое плавно появляется или скрывается.
- Состояние (открыта/закрыта) каждой секции должно управляться внутри компонента.
Формат ответа: Предоставь полный код для однофайлового компонента (.vue), включая , и