Промпт-инженерия

Лучшие промпты. Лучший код.

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

От определения задач до системных промптов, от итеративного уточнения до ролевых инструкций. Практические техники для вашей следующей сессии кодирования.

Почему промпт-инженерия важна для кода

Когда вы просите человека-разработчика 'сделать страницу логина', он задает уточняющие вопросы: какой провайдер авторизации? Какие поля? Нужно ли поддерживать OAuth? Сообщения об ошибках? Состояния загрузки?

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

Хорошие промпты не обязаны быть длинными. Они должны быть конкретными в важном и молчать о второстепенном. Этот баланс и есть тема руководства.

Пять основных принципов

Паттерны, улучшающие результаты независимо от задачи.

1

Будьте конкретны в результатах, а не в шагах

Вместо 'создай React-компонент, потом добавь состояние, потом стилизуй' опишите конечный результат: 'Построй сворачиваемую боковую панель, показывающую имена проектов, с поддержкой drag-to-reorder и нашей темой Tailwind.' Пусть агент решает, как достичь цели.

Avoid

Создай компонент. Добавь useState. Добавь кнопку переключения. Стилизуй Tailwind.

Better

Построй сворачиваемую боковую панель, перечисляющую проекты по имени. Поддержка drag-to-reorder, соответствие нашей темной теме (bg-[#111318], border-[#262b38]). Свернутое состояние должно сохраняться между перезагрузками страницы.

2

Четко определите границы работы

Агенты работают лучше, когда знают рамки. Укажите, какие файлы затрагивать (или избегать), каким паттернам следовать и как выглядит 'готово'. Задачи без границ приводят к обширным изменениям, которые сложно ревьюить.

Avoid

Рефактори систему аутентификации.

Better

Рефактори обработчик логина в src/api/auth/login.ts для использования bcrypt вместо sha256 при хешировании паролей. Не меняй логику JWT и обработку сессионных кук. Обнови связанные тесты в tests/auth/.

3

Давайте релевантный контекст

Claude Code читает файлы проекта, но не ваши мысли. Если есть конвенция, библиотека или паттерн, которые вы уже используете, скажите об этом. Это экономит переработку.

Avoid

Добавь валидацию формы.

Better

Добавь валидацию формы регистрации с помощью zod (мы уже используем его для формы настроек в src/forms/settings.ts). Показывай инлайн-ошибки под каждым полем. Следуй стилю ошибок формы логина.

4

Одна задача на промпт

Составные промпты ('построй API, напиши тесты, обнови документацию и задеплой') заставляют агента держать слишком много целей. Разбивайте сложную работу на последовательные, сфокусированные задачи. Каждая опирается на предыдущий результат.

Avoid

Построй страницу профиля, напиши API-эндпоинты, добавь тесты, обнови README и заодно почини навигацию.

Better

Построй эндпоинт GET /api/user/profile. Возвращай поля id, name, email и plan. Используй существующий middleware аутентификации.

5

Итерируйте, а не начинайте заново

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

Avoid

Это неправильно. Начни заново и сделай компонент иначе.

Better

Макет хороший, но мобильный брейкпоинт неправильный. Ниже 768px карточки должны располагаться вертикально вместо сетки. Остальное оставь как есть.

Системные промпты: контекст, который сохраняется

Системные промпты задают базовое поведение агента до того, как вы что-либо скажете. Это самый недоиспользуемый инструмент в ИИ-кодировании.

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

AgentsRoom поставляется с 14 ролевыми системными промптами: по одному для каждого типа агента. Промпт фронтенд-агента говорит фокусироваться на компонентах, доступности и адаптивном дизайне. Промпт QA-агента говорит думать о граничных случаях и писать полные тесты. Вы можете их настроить или написать свои.

Пример: системный промпт фронтенд-агента

Ты старший фронтенд-разработчик. Фокусируйся на React-компонентах, стилях CSS/Tailwind, доступности (WCAG AA) и адаптивном дизайне. Используй существующую библиотеку компонентов проекта, прежде чем создавать новые. Предпочитай композицию наследованию. Пиши семантический HTML. Никогда не изменяй бэкенд-файлы.

Написание эффективных системных промптов

  • Определите роль и ее границы. На чем агент должен фокусироваться? Что игнорировать?
  • Называйте конкретные технологии и версии. 'React 19 с Server Components' лучше, чем 'современный React'.
  • Ссылайтесь на конвенции проекта. 'Используй Zustand для состояния' говорит агенту не брать Redux или Context.
  • Задайте ожидания по качеству. 'Пиши TypeScript в strict-режиме, без типов any' предотвращает упрощения.
  • Включите негативные ограничения. 'Никогда не изменяй файлы в /api/' удерживает агента в его зоне.

CLAUDE.md: контекст на уровне проекта

Самый эффективный промпт не набирается в чате. Он живет в вашем репозитории.

CLAUDE.md: markdown-файл в корне проекта, который Claude Code читает автоматически. Он содержит структуру проекта, конвенции, детали стека и руководства для каждой сессии агента.

Вместо повторения 'мы используем Tailwind CSS 4, Prisma ORM и Next.js 16' в каждой беседе, напишите это один раз в CLAUDE.md. Каждый агент наследует этот контекст. AgentsRoom включает встроенный редактор CLAUDE.md.

Хорошо написанный CLAUDE.md стоит больше, чем десятки отдельных промптов. Он накапливается: каждая сессия извлекает из него пользу.

Создайте библиотеку промптов

Перестаньте переписывать одни и те же инструкции. Сохраняйте работающее и используйте повторно.

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

AgentsRoom включает библиотеку промптов двух уровней: промпты проекта для специфичных задач и глобальные промпты (синхронизируемые через облако) для паттернов, используемых везде.

Хорошие кандидаты: чек-листы код-ревью, шаблоны тестов, скрипты миграций, инструкции скаффолдинга компонентов, шаги аудита безопасности. Все, что вы бы поместили в командную wiki как стандартную процедуру.

Примеры библиотеки промптов

Написание юнит-тестов

Напиши юнит-тесты для [файла]. Используй vitest. Покрой основной путь, граничные случаи (пустой ввод, null, невалидные типы) и обработку ошибок. Замокай внешние зависимости. Цель: >90% покрытия веток.

Код-ревью

Проверь изменения в текущем git diff. Ищи: неиспользуемые импорты, отсутствующую обработку ошибок, проблемы типобезопасности, возможные гонки и несогласованность именования. Предложи исправления для каждой найденной проблемы.

API-эндпоинт

Создай REST-эндпоинт для [ресурса]. Включи валидацию входных данных с zod, соответствующие ответы об ошибках (400, 401, 404, 500), TypeScript-типы для request/response и JSDoc-комментарий. Следуй существующему паттерну в src/api/.

Продвинутые паттерны

Техники для сложных задач, выходящих за рамки одиночных промптов.

Цепочка промптов

Разбейте большую задачу на упорядоченные шаги. Запустите первого агента с шагом один, дождитесь завершения, затем запустите следующего агента с шагом два (ссылаясь на результат шага один). Каждый шаг меньше и сфокусированнее. Пример: Агент 1 проектирует схему БД, Агент 2 пишет API на ее основе, Агент 3 пишет тесты для API.

Перекрестное ревью агентов

После завершения одного агента направьте другого агента на его результат. 'Проверь изменения, которые фронтенд-агент сделал в src/components/. Ищи проблемы доступности и отсутствующие состояния ошибок.' Свежий агент с другой ролью находит то, что пропустил оригинальный.

Прогрессивные ограничения

Начните с широкого промпта, чтобы увидеть подход агента. Затем добавляйте ограничения в последующих сообщениях: 'Хорошая структура, но используй серверные компоненты вместо клиентских.' 'Оставь хук, но убери useEffect и используй мутацию React Query.' Каждая итерация приближает к нужному решению.

Эталонная реализация

Укажите агенту на существующий код: 'Построй страницу настроек по тому же паттерну, что src/pages/profile.tsx. Та же структура макета, тот же обработчик форм, то же отображение ошибок.' Часто это эффективнее описания паттерна словами.

Распространенные ошибки

Паттерны, стабильно дающие худшие результаты.

Чрезмерная детализация реализации

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

Отсутствие границ

Просить агента 'улучшить кодовую базу' без ограничений. Без границ агент может рефакторить файлы, которые вы не хотели трогать, менять API, от которых зависит другой код, или тратить токены на малоприоритетные улучшения.

Игнорирование существующего кода

Не упомянуть, что паттерн, утилита или компонент уже есть в проекте. Агент создаст новый. Простое 'у нас уже есть хук useAuth в src/hooks/' экономит значительную переработку.

Составные мега-промпты

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

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

Какой длины должен быть промпт для кода?+
Большинство эффективных промптов для кода содержат от 2 до 5 предложений. Достаточно длинных для указания результата, рамок и ключевых ограничений. Достаточно коротких, чтобы агент не потерялся в деталях. Если промпт занимает целый абзац, подумайте, не относится ли часть контекста к CLAUDE.md или системному промпту.
Нужно ли писать промпты по-разному для Opus и Sonnet?+
Немного. Opus лучше справляется с неоднозначностью и может выводить намерения из меньшего контекста. Sonnet выигрывает от более явных инструкций и четких границ. Для обеих моделей конкретность ожидаемого результата улучшает результаты.
Как AgentsRoom помогает с промпт-инженерией?+
Тремя способами: встроенные ролевые системные промпты для каждого из 14 типов агентов, библиотека промптов для сохранения и повторного использования, и редактор CLAUDE.md для контекста проекта. Эти слои означают, что вы тратите меньше времени на отдельные сообщения, потому что базовый контекст уже хорош.
Могу ли я делиться промптами в команде?+
Да. AgentsRoom хранит промпты в двух местах: промпты проекта в .agentsroom/prompts.json (версионируемые, общие через git) и личные промпты в prompts-personal.json (в gitignore). Глобальные промпты синхронизируются через облако на всех устройствах.
В чем разница между системным промптом и CLAUDE.md?+
CLAUDE.md: контекст проекта, который каждый агент читает автоматически: стек, структура, конвенции. Системные промпты: поведенческие инструкции для конкретного агента: роль, фокус, ограничения. Они дополняют друг друга. CLAUDE.md говорит 'проект использует Next.js 16 с Prisma.' Системный промпт говорит 'ты бэкенд-разработчик, сфокусированный на API-маршрутах.'

Пишите лучшие промпты, выпускайте лучший код

AgentsRoom предлагает системные промпты, библиотеку промптов и редактирование CLAUDE.md из коробки. Меньше времени на промпты, больше времени на разработку.

БесплатноСкачать для macOS

Приложение-компаньон: следите за агентами на ходу

Используйте Claude, Codex, Gemini CLI или другого поставщика AI.

Установить расширение
Chrome Web Store

Отправляйте баги и запросы прямо в ваш публичный бэклог.

Мульти-проекты
Мульти-провайдер
Мульти-агенты
Статус онлайн
Diff и коммиты
Мобильное приложение
Live-превью
Команды агентов
Тесты в браузере
Разработка от backlog
Библиотека промптов
Библиотека навыков