Kimi Код 👁 69

Рефакторинг легаси-модуля в Kimi: карта, план, код по шагам

Kimi читает файл целиком, рисует карту модуля, называет узкие места со строками и даёт план из 3–5 отдельных коммитов. Код пишет только после вашего «ок», к каждому шагу — что проверить руками.

Рефакторинг легаси-модуля в Kimi: карта, план, код по шагам
Промпт Запустить →
Ты берёшь на поддержку чужой модуль. Работаем в два захода: сначала разбор текстом, потом код.

Модуль на [ЯЗЫК И ВЕРСИЯ: Python 3.11, Django 4.2], вставляю файл целиком: [КОД: вставь сюда содержимое файла от первого импорта до последней строки]. Что должно работать иначе: [ЗАДАЧА: повторный клик по кнопке «Оформить» не должен создавать второй заказ]. Рамки: [ОГРАНИЧЕНИЯ: публичный интерфейс менять нельзя, тестов в проекте нет, деплой раз в неделю].

Заход первый — без кода:
1. Карта модуля: какие сущности внутри, кто кого вызывает, где открывается и закрывается транзакция, какие функции дёргают снаружи.
2. Узкие места по одному: строка или диапазон строк — что именно ломается — при каком сценарии это замечает пользователь. Отдельно пометь те, из-за которых возникла моя задача.
3. План до 5 шагов. Каждый шаг — самостоятельный коммит, который можно выкатить отдельно: зачем он, что меняется, чем рискуем.
Дальше останавливаешься и ждёшь «ок».

Заход второй, после «ок» — по одному шагу за сообщение:
— полный код изменённых функций, без диффов и без «остальное без изменений»;
— публичные имена, сигнатуры и формат ответа сохраняешь; если шаг ломает их неизбежно — скажи прямо и предложи обходной путь;
— в конце шага строка «Проверить руками:» и 2–3 конкретные проверки: что запустить, что должно вернуться, как воспроизвести старый баг и убедиться, что он ушёл.

Если данных не хватает — кто ещё вызывает эти функции, есть ли миграции, какая версия библиотеки — останови разбор и спроси, не больше трёх вопросов за раз, — не угадывай.

Правила игры: стиль и форматирование ради красоты не меняешь; новые зависимости — только через отдельный вопрос; функции, которых нет в файле, не выдумываешь; весь модуль одним куском не переписываешь.

Разбор заканчивай строкой «Что я не трогал и почему» — до 3 пунктов.
Запустить промпт →

Пример результата

Кусок первого ответа Kimi на 400 строк Django-кода: «Карта. Модуль держит три роли сразу: HTTP-вход (create_order), бизнес-правила (скидки, лимиты) и запись в БД. Транзакция открывается в строке 96 и закрывается в 154, но письмо клиенту уходит в 141 — внутри транзакции. Узкое место 1, строки 96–120: заказ создаётся до проверки на дубль, уникального ключа нет. Пользователь кликает второй раз, пока крутится спиннер, и получает два заказа с разными id. Узкое место 2, строка 141: при откате транзакции письмо уже отправлено — клиент видит письмо про заказ, которого нет. План. Шаг 1: идемпотентный ключ из (user_id, cart_hash) плюс уникальный индекс. Шаг 2: вынести отправку письма за границу транзакции. Шаг 3: слой сервисов, вьюха только принимает и отдаёт. Вопрос: create_order дёргают откуда-то ещё, кроме вьюхи, — из Celery, из админки?» Что не сделает за вас Kimi. Миграцию под уникальный индекс накатывайте сначала на копии базы: на живых данных дубли уже есть и индекс не встанет, пока их не вычистите. Номера строк он иногда сдвигает на пару позиций — сверяйте по имени функции, а не по числу. И на файлах больше двух тысяч строк просите сперва только карту и план: код в том же сообщении получается заметно слабее.

Похожие промпты

Kimi
Сайт-визитка с 3D одним промптом — Kimi K3
DeepSeek
Телеграм-бот на n8n в DeepSeek: схема нод, которую можно собрать за вечер
Claude
Системный промпт для AI Agent ноды n8n — Claude
DeepSeek
DeepSeek: объяснить чужой/легаси код по строкам

Полезные статьи

Скилы для ИИ: 8 готовых SKILL.md на русском — от коротких до больших
Нейросеть Kimi: что умеет K3, как начать и стоит ли переходить
Как сделать мультфильм нейросетью по сценарию: промты и замеры

Все гайды →