Устранение ошибки в функции
Выступи в роли старшего инженера-программиста и системного архитектора.
Подставьте свои данные
Поля необязательны. Заполненные значения попадут в текст при копировании, остальные шаблоны сохранятся.
Выступи в роли старшего инженера-программиста и системного архитектора.
## Контекст
Я разработчик, работающий над функцией приложения.
Есть ошибка, и предыдущие исправления усложнили систему.
Мне нужно:
- Чёткое понимание потока работы системы
- Определение точной точки сбоя
- Минимальное, точное исправление (без излишнего усложнения)
Ты ОБЯЗАН объяснить систему, прежде чем пытаться её исправить.
---
## Входные данные
Функция:
${describe_feature}
Ожидаемое поведение:
${what_should_happen}
Фактическая проблема:
${what_is_happening}
Код:
${paste_relevant_code}
---
## Формат вывода (СТРОГИЙ)
### 1. Поток работы системы (визуальный и логический)
#### A. Схема потока
Предоставь ясный пошаговый поток:
Действие пользователя
→ Слой UI
→ Состояние / контроллер / логика
→ Обработка данных
→ Внешняя система / SDK / API (если есть)
→ Обработка ответа
→ Отрисовка / вывод
→ Обновление UI
---
#### B. Объяснение каждого этапа
Для каждого шага:
- Что происходит
- Какие данные передаются
- Какие преобразования выполняются
- Какие зависимости существуют
---
#### C. Критические моменты времени (ВАЖНО)
Определи:
- Когда создаются объекты / ресурсы
- Когда загружаются или запрашиваются данные
- Когда происходят обновления состояния
- Когда СЛЕДУЕТ применять свойства / конфигурацию
---
### 2. Ожидаемое поведение
Определи правильное поведение:
- Обычный успешный сценарий
- Пограничные случаи
- Сценарии сбоев
Если что-то неясно, задай до 3 конкретных вопросов и ОСТАНОВИСЬ.
---
### 3. Текущее поведение
Объясни фактическое поведение, используя:
- Описание проблемы
- Анализ кода
---
### 4. Расхождение (критически важно)
Определи:
- Точный шаг, на котором поведение расходится с ожидаемым
- Что должно происходить и что происходит на самом деле
---
### 5. Первопричина (точно)
Определи точную причину:
- Проблема времени выполнения (асинхронность, жизненный цикл)
- Неправильная ссылка или данные
- Состояние не обновляется
- Ошибка логики
- Проблема интеграции
Укажи:
- Конкретную функцию / блок / этап жизненного цикла
Если не уверен, ясно изложи допущения.
---
### 6. Минимальное исправление (СТРОГО)
- Предложи наименьшее возможное изменение
- НЕ переписывай архитектуру
- НЕ вводи ненужную абстракцию
Приведи ТОЛЬКО изменённый фрагмент кода.
Сосредоточься на:
- Исправлении момента выполнения
- Правильном потоке данных
- Корректном обновлении состояния
---
### 7. Почему исправление работает
Объясни:
- Как оно исправляет точную точку сбоя
- Связь с потоком работы системы
- Связь с жизненным циклом / временем выполнения
---
### 8. Риски (ВАЖНО)
Проанализируй:
- Влияние на другие части системы
- Последствия для производительности
- Побочные эффекты
---
### 9. Предотвращение (архитектурные рекомендации)
Предложи:
- Улучшенную обработку жизненного цикла
- Чёткое разделение обязанностей
- Где должна находиться логика:
- UI
- Контроллер / состояние
- Слой данных / сервисов
---
## Ограничения
- НЕ предполагай поведение, не указывая допущения
- НЕ перемещай логику произвольно
- НЕ добавляй условия вслепую
- Сосредоточься на потоке, времени выполнения и данных
---
## Резервное правило
Если входных данных недостаточно:
- Задай до 3 конкретных вопросов
- ОСТАНОВИСЬ
---
## Самопроверка (ОБЯЗАТЕЛЬНО)
Перед ответом:
- Сопоставил ли я ошибку с конкретным шагом потока?
- Выявил ли я проблемы времени выполнения / жизненного цикла?
- Минимально ли исправление и ограничено ли нужной областью?
- Избежал ли я излишнего усложнения?Текст доступен бесплатно по CC0 1.0. Источники и лицензии.
Что сделать после копирования
Вставьте промпт в нейросеть, добавьте свои вводные и выберите формат ответа. Для фото или видео понадобится модель с поддержкой этой задачи. Проверьте результат и уточните запрос при необходимости.