STIVA

Промпты для Claude в разработке: от разбора ошибки до проверки кода

Как поставить Claude задачу по отладке, реализации, ревью и тестам: четыре копируемых промпта и правила проверки ответа перед внесением изменений.

1 просмотров~5 мин чтения
Промпты для Claude в разработке: от разбора ошибки до проверки кода

Ошибка воспроизводится, но её причина неочевидна? Или патч выглядит разумно, а уверенности перед ревью всё равно нет? В разработке я бы ставил Claude не общую задачу «почини код», а узкую: объяснить конкретный сбой, предложить изменение в заданных границах и показать, чем проверить результат. Claude подходит для разбора и ревью кода, но решение всё равно нужно прогнать в своём проекте.

Хотите разобрать свой фрагмент? Откройте чат СТИВА, проверьте доступность Claude и начните с воспроизводимого примера.

Открыть чат

На сайте сервис называется STIVA.ai; пользователи также говорят СТИВА ИИ. Здесь речь об обычном диалоге с Claude, а не о Claude Code: вы сами вставляете фрагмент кода и проверяете предложение локально. Не рассчитывайте в этом сценарии на запуск команд, чтение репозитория или интеграцию с GitHub. На странице чата проверьте, доступна ли нужная модель сейчас.

Ниже четыре запроса для разных этапов работы. Каждый можно скопировать и заменить пример своими данными. Я намеренно задаю формат ответа: так проще отделить наблюдения от догадок и проверить предложенный патч.

Сначала соберите контекст, который можно проверить

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

Полезное правило для любого из промптов: просите сначала назвать подтверждённые факты, затем гипотезы и способ их различить. Если модель ссылается на файл или поведение, которого вы не показали, считайте это вопросом к вам, а не установленной причиной.

1. Разобрать ошибку, а не получить случайный патч

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

Ты помогаешь отладить Python-функцию. Сначала объясни причину сбоя по приведённым данным. Затем предложи минимальное исправление. Если для выбора поведения не хватает требования, перечисли варианты и не выбирай молча за меня.

Ожидаемое поведение: для [2, 4] результат 3.0. Для пустого списка поведение пока не определено.
Фактическое поведение: average([]) вызывает ZeroDivisionError.
Код:
def average(values):
    return sum(values) / len(values)

Ответь в порядке: 1) строка и причина ошибки; 2) какие решения для пустого списка возможны; 3) исправленный код для варианта с ValueError; 4) два теста для проверки. Не утверждай, что запускал код.

В хорошем ответе сначала будет причина, а не переписанная с нуля функция. После ответа запустите тесты сами: один на обычный список, другой на пустой. Если в вашем проекте принято возвращать None или другое значение, уточните контракт и попросите переделать только эту часть. Ценность такого запроса не в «магическом» поиске бага, а в том, что неопределённое требование становится видимым.

2. Получить реализацию по контракту

При новой функции чаще всего мешает расплывчатое «сделай валидацию». Задайте вход, выход, пограничные случаи и запрет на лишние зависимости. Вот запрос для обработки имени пользователя.

Напиши функцию normalize_username на Python 3.

Контракт:
- вход: str;
- удали пробелы только по краям и приведи буквы к нижнему регистру;
- после нормализации допустимы только латинские буквы a-z, цифры 0-9 и символ _;
- длина результата от 3 до 20 символов;
- при нарушении правил выбрасывай ValueError с короткой причиной;
- сторонние библиотеки не используй.

Покажи код функции и тесты для входов "  Alice_7  ", "ab", "name!" и "   ". Отдельно укажи, какое допущение ты сделал о пробелах внутри строки. Не добавляй классы или веб-обвязку.

Здесь тестовые строки одновременно служат критериями приёмки. Я бы проверил их локально и отдельно посмотрел на неожиданные входы: например, что будет с нестроковым значением, если оно вообще может попасть в эту функцию. Промпт не заменяет договорённость команды о контракте: при других правилах валидации сначала меняйте требования, а уже потом код.

3. Провести ревью конкретного участка

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

Проведи ревью этой Python-функции. Ищи прежде всего ошибки поведения и пограничные случаи, а не стиль. Не называй проблемой то, для чего не можешь показать вход и неверный результат.

Контракт: вернуть уникальные положительные числа из списка в порядке первого появления.
Код:
def unique_positive(items):
    result = []
    for item in items:
        if item >= 0 and item not in result:
            result.append(item)
    return result

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

В этом примере первоочередная проверка проста: ноль не положителен, но условие item >= 0 пропускает его. Другие замечания оценивайте по контракту. Например, менять список на множество только ради скорости не обязательно, если функция работает с небольшими входами, а требования к производительности не заданы. Ревью полезно, когда каждое утверждение можно проверить входом и ожидаемым результатом.

4. Составить тесты для уже принятого решения

После исправления попросите не «ещё тестов», а проверку конкретной регрессии и границ контракта. Так проще понять, что тесты ловят именно нужный дефект.

Составь тесты pytest для функции ниже. Код функции не меняй.

Контракт: вернуть сумму целых чисел; пустой список даёт 0. Значения другого типа не рассматриваем.
Код:
def total(numbers):
    return sum(numbers)

Нужны отдельные тесты для пустого списка, отрицательных чисел и смешанного списка с нулём. Для каждого теста одной фразой объясни, какое поведение он закрепляет. Не утверждай, что тесты запущены.

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

Как продолжить диалог после первого ответа

Не начинайте каждый раз заново. Передайте результат собственной проверки: команду запуска, точный вывод и фрагмент предложенного патча. Следующий запрос можно сделать коротким: «После твоего изменения тест test_empty падает с таким сообщением: [вывод]. Найди расхождение между контрактом и патчем. Предложи только исправление этого расхождения и объясни, почему прежний вариант не подошёл». Это удерживает разговор в рамках наблюдаемой проблемы.

Я бы не принимал ответ только потому, что объяснение звучит убедительно. Claude может предложить правдоподобную, но неподходящую для вашего проекта правку: не увидеть скрытый контракт, предположить состав зависимостей или затронуть лишние участки. Перед внесением изменений проверьте diff, запустите тесты и линтер, а для рискованного кода добавьте ручную проверку по сценарию сбоя. Модель помогает подготовить гипотезу и черновик решения; ответственность за результат остаётся у разработчика.

Возьмите один из промптов, замените пример своим минимальным фрагментом и начните с проверяемого вопроса.

Перейти к Claude на СТИВА

Читайте также

Claude для дизайн-задач: как составить бриф и проверить тексты интерфейса
ИИ-Модели

Claude для дизайн-задач: как составить бриф и проверить тексты интерфейса

Как собрать дизайн-бриф и проверить UX-тексты с Claude: исходные правила, два копируемых запроса, сценарии ошибок и чек-лист перед передачей в макет.

12 октября 2026 г.1
Как пользоваться Claude Fable 5 и 5.1: первый запрос для текста и кода
ИИ-Модели

Как пользоваться Claude Fable 5 и 5.1: первый запрос для текста и кода

Первые запросы к Claude Fable для текста и кода: готовые формулировки, пошаговая проверка ответа и ограничения без выдуманного тестирования.

12 октября 2026 г.1
Как начать работу с Claude Sonnet 4.6 и 5: выбор версии и примеры запросов
ИИ-Модели

Как начать работу с Claude Sonnet 4.6 и 5: выбор версии и примеры запросов

Как выбрать между Claude Sonnet 4.6 и 5 под рабочую задачу, составить первый запрос и проверить ответ. С копируемыми примерами для документов, писем и кода.

12 октября 2026 г.1
ChatGPT 5.4 Nano: промпты для короткого ответа и рерайта
ИИ-Модели

ChatGPT 5.4 Nano: промпты для короткого ответа и рерайта

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

12 октября 2026 г.1