Промты для дипсика под код: от чужого легаси до своего проекта
Девять промптов для DeepSeek в одном рабочем маршруте: разобрать чужой легаси, накрыть тестами, отрефакторить, пройти ревью, найти узкое место, ускорить SQL, собрать образ. Дипсик открывается из России без VPN.
Пошаговый план
-
Шаг 1 deepseek code
DeepSeek: объяснить чужой/легаси код по строкам
Первый разговор с чужим кодом: не пересказ синтаксиса, а зачем эта функция живёт в проекте и что отвалится, если убрать транзакцию. Скрытые связи из ответа — черновик списка тестов для шага 2.
Открыть промпт → -
Шаг 2 deepseek code
DeepSeek: написать unit-тесты для функции
Страховка перед любой правкой: тесты на ноль, единицу, отрицательные значения и остаток от деления плюс инвариант через parametrize. Пока они не зелёные, рефакторингу не на что опереться.
Открыть промпт → -
Шаг 3 deepseek code
DeepSeek: рефакторинг легаси-функции пошагово
Одно изменение за шаг, не больше шести шагов, после каждого — почему поведение прежнее. Если старый код мог уронить цену ниже нуля, а новый не может, это отдельная строка «изменение поведения», а не тихая правка.
Открыть промпт → -
Шаг 4 deepseek code
DeepSeek: код-ревью pull request с приоритизацией
Свой диф стоит прогнать раньше, чем это сделает коллега в пятницу перед релизом. Каждый критический пункт приходит со сценарием из трёх шагов: нет сценария — пункт уезжает в «важное».
Открыть промпт → -
Шаг 5 deepseek code
TDD-цикл red-green-refactor для новой функции
Дальше новый код, и тест идёт первым: четыре-пять итераций с падающим тестом и минимальной заглушкой. Проходит код из GREEN ещё и следующий тест — шаг был слишком большой, дробите.
Открыть промпт → -
Шаг 6 deepseek code
Профилирование медленного Python-кода — поиск bottleneck
Код работает, но медленно, и до этого шага непонятно, что именно ускорять. Разбор идёт по cumtime из вашего профиля: в примере отчёт крутится 39 секунд при цели в 5. Строку с тремя тысячными не трогают.
Открыть промпт → -
Шаг 7 deepseek code
DeepSeek: оптимизация медленного SQL-запроса
Чаще всего профиль показывает пальцем в базу. Здесь CREATE INDEX целиком с порядком колонок и запрос сверки: LEFT JOIN, превращённый в INNER JOIN, — это другой ответ, а не оптимизация.
Открыть промпт → -
Шаг 8 deepseek code
Многостадийный Dockerfile (multi-stage build) под продакшн
Ускоренный код остаётся довезти до сервера: две стадии, запуск не от root, HEALTHCHECK на само приложение. Отдельно разобрана ловушка с alpine — на Python с бинарными зависимостями он дороже slim.
Открыть промпт → -
Шаг 9 deepseek code
Телеграм-бот на n8n в DeepSeek: схема нод, которую можно собрать за вечер
Финал — свой проект вместо чужого и единственный шаг без строчки кода: схема нод n8n, колонки таблицы под заявки и три места, где ломается у новичка. С него удобно начинать, если легаси в жизни пока нет.
Открыть промпт →
Содержание
Что придётся собрать со своей стороны
Девять промптов выше запускаются без правок: в скобках лежат рабочие примеры — синхронизация заказов на Django, диф с переводом денег между счетами, план запроса из PostgreSQL. Прогнать как есть полезно один раз — увидеть форму ответа. Дальше начинается ваш проект, и три вещи модель за вас не добудет.
- Диф, а не рассказ о правке. Вывод git diff целиком: по фразе «я тут переписал обработку платежей» ревью и выйдет про абстрактные платежи.
- Вывод профиля. Для Python — python -m cProfile -s cumtime ваш_скрипт.py, хватает первых десяти строк. Без профиля разбор медленного кода — гадание: «попробуйте numpy», «добавьте кеш».
- План запроса и размеры таблиц. EXPLAIN (ANALYZE, BUFFERS) плюс строчка «клиентов 400 тысяч, заказов 18 миллионов». Индексы без плана — это индексы для чьей-то другой базы.
И строка, которую пропускают чаще всего: что этот код значит для дела. Из «сумма частей обязана совпадать до копейки» вырастают тесты на остаток от деления.
Как устроен каждый из девяти промптов
Схема одна на всех, видна, если открыть два шага рядом. Разобрались — соберёте десятый промпт сами.
- Задача первой строкой, без роли. Не «ты — старший разработчик с десятилетним опытом», а сразу что сделать и с каким уклоном: «сначала то, что сломает прод, потом остальное».
- Плейсхолдер со значением внутри. Запись [СУБД: PostgreSQL 16] значит: «PostgreSQL 16» меняете на своё, скобку с подписью оставляете — она держит структуру.
- Отсечка типичного провала. Абзац «так не надо» перечисляет то, чем модель отвечает по умолчанию: «добавьте индекс на нужные поля» без имён колонок, «добавьте типизацию» рядом с потерей денег в транзакции. Пока это не запрещено прямым текстом, приходит именно оно.
- Проверка перед выдачей. В шаге про тесты доведена до предела: инвариант обязан упасть, если убрать из функции распределение остатка. Не падает — тест бесполезен.
Где дипсик силён в коде, а где сочиняет
Актуальная линейка — V4, старшую версию собирали под программирование и математику, окно по анонсу разработчика — до миллиона токенов. Режимов два, с рассуждением и без: рассуждение по нашему опыту нужно на легаси, рефакторинге и профиле. Промпты «для R1» больше ничего не означают — эти имена убрали из API 24 июля 2026 года.
Хорошо выходит проверяемое: код по смысловым блокам, план запроса построчно, краевые случаи. Плохо — четыре вещи, и все ловятся глазами.
- Код в чате не исполняется. Она не прогонит тест и не снимет EXPLAIN. Любое «быстрее в тридцать раз» — прикидка по вашим же числам, а не замер.
- Флаг или метод, которого не существует. Выдумывает уверенно, чаще в редких библиотеках и ключах командной строки. Сверяйте по документации.
- Остальной проект она не видит. Импорты, миграции, версии зависимостей — только то, что вставлено в чат. Ради этого в первом шаге есть пункт «три вопроса автору».
- Длинный ответ плывёт. К концу простыни проскакивают китайские слова, листинг обрывается на середине функции. Лечится строкой «отвечай только по-русски» и просьбой выдавать по одному файлу.
Комментарии и письмо коллеге про сломанный деплой выходят суше, чем у Claude. Для кода это скорее плюс.
Если весь маршрут не нужен
Порядок собран под того, кто вошёл в чужой проект: понять (шаг 1), накрыть тестами (2), потом менять (3) и отдавать на ревью (4). Без тестов правка легаси — правка наугад, поэтому шаг 3 и требует доказать, что поведение не изменилось.
Проект свой и задача новая — начинайте с шага 5. Просто медленно — шаги 6 и 7 подряд: профиль показывает, где уходит время, база объясняет почему. В шаге 9 кода нет вовсе, только схема нод n8n.