Как задать AI Reader вопрос о конкретном поведении
Как формулировать вопросы о значениях, асинхронных ошибках и патчах, добавлять контекст и проверять ответ.
«Объясни проект» даёт общий обзор. Он редко объясняет, почему выполнилась конкретная ветка или безопасно ли изменение. AI Reader полезнее, когда вы спрашиваете об одном поведении и указываете, что проверить.
Опишите, что произошло и чего вы ожидали
Хороший первый вопрос описывает действие, результат и ожидание. Добавьте файл или выделение, если знаете их. Иначе опишите сообщение или действие и попросите AI Reader найти начало пути.
Например:
Отчёт возвращает четыре строки при
REPORT_LIMIT=4, хотя в конфигурации указано шесть. Проследи лимит от входа до выхода. Покажи, какой источник побеждает и что происходит при пустом значении окружения.
У вопроса есть ясная цель: какой источник выбран, где значение проверяется и используется. Он также подсказывает небольшой тест. Разбор конфигурации показывает, что включает полный ответ.
Выберите начальный контекст
| Контекст | Подходит для | Что проверить самостоятельно |
|---|---|---|
| Выделение | Объяснение выражения или ветки | Допущения вызывающего кода, окружающие условия |
| Файл | Поведение в нескольких методах | Импорты и внешнее состояние |
| Папка | Подсистема известна, точка входа — нет | Какие файлы действительно участвуют |
| Сравнение Git | Ревью конкретных коммитов | Направление base и head, старый контекст |
Добавленный контент — лишь отправная точка. AI Reader может открывать другие файлы разрешённого проекта, прослеживая зависимости, поэтому запрос может включать больше одного вложения. Для конфиденциального кода сначала прочитайте, что отправляется.
Примеры вопросов
Для асинхронной ошибки интерфейса:
После выбора A, а затем B на экране иногда остаётся содержимое A. Проследи оба запроса через каждый await. Перечисли записи в success, catch и finally и покажи, что не даёт старому запросу изменить текущий вид.
Руководство по асинхронной гонке в JavaScript воспроизводит этот сценарий и защищает текст, ошибку и состояние загрузки счётчиком запросов. Скачайте пример и запустите прилагаемые тесты.
Для ревью патча:
Проверь изменения инвалидации кэша в этом сравнении. Для каждой возможной регрессии укажи изменённое место, реально возможный порядок событий, видимый пользователю результат и тест, отличающий старое поведение от нового. Существующие проблемы перечисли отдельно.
Для вопроса об архитектуре:
Какой компонент владеет кэшем, кто может его инвалидировать и какие вызовы используют общую запись? Укажи конструкторы и изменяющий код. Отметь всё, что зависит от конфигурации во время выполнения.
Каждый вопрос определяет содержание хорошего ответа: порядок событий, тест для различения версий или код создания и изменения кэша.
Проверьте одно утверждение, прежде чем идти дальше
Откройте ключевую ссылку в быстром просмотре кода, а при необходимости — весь файл. Проверьте, выполняется ли условие для ваших данных и не меняют ли ответ другой вызов, переопределение или путь ошибки.
Если в ответе есть пробел, задайте узкий уточняющий вопрос:
Ты нашёл две реализации. Где этот запрос выбирает одну из них? Если одного кода недостаточно, какое значение во время выполнения нам нужно?
AI Reader не запускает тесты проекта, поэтому предложенный тест ещё не выполнялся. Запустите его сами и вставьте результат в чат.
Уточнения и побочные вопросы
Если следующий вопрос углубляет тот же разбор, продолжайте в этом чате. Для отдельного направления используйте Создать ответвление в новом чате у завершённого ответа. Создаётся независимый чат с контекстом до этого ответа, а исходный остаётся прежним.
AI Reader меняет файлы только после включения Разрешить изменения на один запуск; следующие запуски и ответвлённые чаты снова начинаются только для чтения. Чаты сравнения Git всегда доступны только для чтения. После правки прочитайте diff и выполните нужные проверки.