Рефакторинг легаси-модуля в Kimi: карта, план, код по шагам
Kimi читает файл целиком, рисует карту модуля, называет узкие места со строками и даёт план из 3–5 отдельных коммитов. Код пишет только после вашего «ок», к каждому шагу — что проверить руками.
Похожие промпты
Пример результата
Кусок первого ответа 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. Миграцию под уникальный индекс накатывайте сначала на копии базы: на живых данных дубли уже есть и индекс не встанет, пока их не вычистите. Номера строк он иногда сдвигает на пару позиций — сверяйте по имени функции, а не по числу. И на файлах больше двух тысяч строк просите сперва только карту и план: код в том же сообщении получается заметно слабее.