10 промтов для Claude Code: от рефакторинга до архитектуры
В 2026 году Claude Code стал одним из ключевых инструментов в арсенале разработчика. Если вы всё ещё используете его как «умный автодополнение» — вы теряете 80% возможностей. Я собрал 10 промтов, которые покрывают задачи от код-ревью до проектирования системы. Каждый промт — это проверенный шаблон, который я использую в своей работе.
Почему промты — это новая суперсила разработчика
Работа с Claude Code — это не магия, а инженерия. Как и любой инструмент, AI требует правильного входа. Плохой промт даёт плохой код. Хороший промт — архитектурное решение за 30 секунд. Исследование от Anthropic (2025) показало, что структурированные промты повышают точность генерации кода на 63% по сравнению с ad-hoc запросами.
Разберём 10 промтов, разбитых на три уровня: базовые (каждодневные задачи), продвинутые (рефакторинг и оптимизация) и экспертные (архитектура и дизайн).
Базовые промты: код-ревью и отладка
Промт 1: Код-ревью с фокусом на безопасность
Задача: Проверить Python-функцию на уязвимости и логические ошибки.
Проведи код-ревью следующего Python-кода. Удели особое внимание:
- SQL-инъекциям
- Race condition при работе с файлами
- Правильности обработки исключений
Код:
def get_user_data(user_id):
conn = sqlite3.connect('users.db')
cursor = conn.cursor()
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
return cursor.fetchall()
Пример результата: Claude укажет на SQL-инъекцию (f-строка), предложит параметризованный запрос, добавит контекстный менеджер для соединения и порекомендует логирование ошибок.
Промт 2: Рефакторинг с сохранением поведения
Задача: Упростить сложную функцию без изменения её логики.
Рефакторинг JavaScript-функции ниже. Требования:
- Сохрани полное поведение (все кейсы)
- Уменьши цикломатическую сложность ниже 5
- Используй современный ES2026 синтаксис (опциональные цепочки, nullish coalescing)
- Добавь JSDoc комментарии
function processOrder(order) {
if (order) {
if (order.items) {
if (order.items.length > 0) {
if (order.total > 0) {
// processing
}
}
}
}
}
Пример результата: Claude заменит вложенные if на guard clauses, добавит optional chaining (order?.items?.length) и типы через JSDoc.
Промт 3: Автоматизация unit-тестов
Задача: Сгенерировать тесты для сложной бизнес-логики.
Напиши unit-тесты на Jest для функции calculateDiscount. Покрытие:
- Граничные случаи (0, отрицательные, NaN)
- Happy path (стандартные скидки)
- Edge cases (максимальная скидка, комбинации купонов)
- Используй параметризованные тесты (test.each)
Функция:
export function calculateDiscount(price, coupon, userTier) { ... }
Пример результата: Claude сгенерирует 8-12 тестов с описанием каждого кейса, включая проверку на исключения.
Продвинутые промты: рефакторинг и миграция
Промт 4: Миграция с JavaScript на TypeScript
Задача: Конвертировать проект с JS на TS с сохранением типов.
Конвертируй следующий JavaScript-код в TypeScript. Требования:
- Выведи все возможные типы из контекста использования
- Используй discriminated unions для состояний
- Добавь type guards для runtime проверки
- Игнорируй any — используй unknown с кастомными проверками
Код:
function fetchData(url) {
const response = await fetch(url);
const data = await response.json();
if (data.status === 'success') {
return data.payload;
} else {
throw new Error(data.message);
}
}
Пример результата: Claude создаст типы ApiResponse, SuccessResponse, ErrorResponse, добавит type guard isSuccessResponse.
Промт 5: Оптимизация производительности React-компонента
Задача: Устранить лишние ререндеры и улучшить производительность.
Оптимизируй React-компонент для работы с большим списком (10k+ элементов).
- Используй useMemo и useCallback где уместно
- Внедри React.memo с кастомным compare-функцией
- Перепиши на useDeferredValue для приоритизации ввода
- Добавь virtualized list (react-window)
Код:
function UserList({ users, onSelect, searchTerm }) {
const filtered = users.filter(u => u.name.includes(searchTerm));
return filtered.map(user => <UserCard key={user.id} user={user} onSelect={onSelect} />);
}
Пример результата: Claude добавит useMemo для фильтрации, useCallback для onSelect, React.memo для UserCard, и интегрирует FixedSizeList из react-window.
Промт 6: Рефакторинг легаси-кода с паттернами
Задача: Преобразовать спагетти-код в модульную архитектуру.
Рефакторинг легаси PHP-кода с использованием паттернов:
- Стратегия (Strategy) для разных алгоритмов обработки
- Фабрика (Factory) для создания объектов
- Наблюдатель (Observer) для событий
- Repository для доступа к данным
Учти: проект на PHP 8.2, используй атрибуты и union types.
Пример результата: Claude разобьёт монолит на классы с чёткими интерфейсами, добавит DI-контейнер и тесты для каждого паттерна.
Экспертные промты: проектирование архитектуры
Промт 7: Проектирование микросервисной архитектуры
Задача: Спроектировать систему для high-load приложения.
Спроектируй архитектуру микросервисов для платформы e-commerce с нагрузкой 100k RPS.
- Определи границы сервисов (bounded context)
- Выбери протоколы (gRPC, REST, GraphQL) для разных сценариев
- Спроектируй схему событийного взаимодействия (Event Sourcing + CQRS)
- Опиши паттерн Saga для распределённых транзакций
- Укажи инструменты: Kafka, Redis, PostgreSQL, Kubernetes
Результат: диаграмма (PlantUML) + текстовое описание.
Пример результата: Claude выдаст PlantUML-код для диаграммы, опишет 5-6 микросервисов (Order, Payment, Inventory, Notification, User), их API и обработку ошибок через Saga.
Промт 8: Создание RFC для новой фичи
Задача: Написать технический документ (RFC) для предложения изменений.
Напиши RFC для внедрения GraphQL Federation в текущий REST API.
Структура:
1. Motivation (почему Federation, а не REST)
2. Design — схема суперграфа, типы, resolvers
3. Trade-offs — кэширование, мониторинг, сложность
4. Migration plan — поэтапный переход с REST на GraphQL
5. Security — аутентификация, rate limiting, depth limiting
Учти: текущий стек — Express.js, PostgreSQL, Redis.
Пример результата: Claude создаст полноценный RFC с 4-5 страницами технического описания, включая примеры кода для Apollo Gateway и Federation.
Промт 9: Документирование API с OpenAPI 3.1
Задача: Автоматически сгенерировать спецификацию и документацию.
Сгенерируй OpenAPI 3.1 спецификацию для REST API управления заказами.
- Включи все эндпоинты (CRUD, поиск, фильтрация, пагинация)
- Добавь схемы запросов/ответов с примерами
- Опиши ошибки (4xx, 5xx) с кодами и сообщениями
- Добавь security scheme (Bearer JWT)
- Сгенерируй Markdown-документацию из спецификации
Пример результата: Claude выдаст YAML-файл OpenAPI и преобразует его в читаемую документацию с таблицами и примерами.
Промт 10: Проектирование системы мониторинга
Задача: Спроектировать observability stack для микросервисов.
Спроектируй систему мониторинга для 20 микросервисов.
- Метрики: RED (Rate, Errors, Duration) + USE (Utilization, Saturation, Errors)
- Трейсинг: OpenTelemetry + Jaeger, ключевые спаны
- Логирование: structured logging (JSON), централизованный сбор (ELK)
- Алёрты: Prometheus + Alertmanager, правила для p99 latency > 500ms
- Дашборды: Grafana — 3 панели (обзор, детали, ошибки)
Результат: описание метрик + примеры правил алёртов + Grafana JSON-модели.
Пример результата: Claude опишет 15-20 метрик, создаст PromQL-запросы, примеры алёртов и структуру дашборда.
Как адаптировать промты под свой проект
Универсальных промтов не существует. Вот как я адаптирую шаблоны:
- Добавьте контекст проекта — укажите фреймворк, версию языка, используемые библиотеки. Например: «React 18, Next.js 14, TypeScript 5.5».
- Укажите ожидаемый формат вывода — код, диаграмма, спецификация, текст. Claude лучше справляется с конкретными форматами.
- Добавьте примеры — покажите, как выглядит «хороший» код в вашем проекте. Claude скопирует стиль.
- Укажите ограничения — время выполнения, бюджет, совместимость. Например: «Без внешних зависимостей» или «Только встроенные библиотеки Python».
Заключение
Промты для Claude Code — это не просто «напиши код», а инструмент архитектурного мышления. Правильный промт экономит часы работы и повышает качество кода. Начните с базовых промтов (код-ревью), переходите к продвинутым (рефакторинг) и заканчивайте экспертными (архитектура).
Помните: Claude — это соавтор, а не замена. Лучшие результаты получаются, когда вы направляете AI, а не просто принимаете его вывод. Экспериментируйте с промтами, адаптируйте под свои задачи и не бойтесь переспрашивать — Claude отлично работает с итеративными уточнениями.
Если вы хотите глубже изучить работу с AI-инструментами в разработке, обратите внимание на курсы, которые помогают структурировать знания и применять их на практике. Подробнее — на asibiont.com/courses.
Комментарии