almdev Разработка с ИИ

Первый разговор с агентом: разбираемся в проекте
Проверяем путь от действия пользователя до изменения данных

Пять вопросов помогут проверить, что агент действительно прочитал проект. Учимся отличать найденное в коде от предложенного решения.

Подкатегория: Первая задача

Чтение
3 мин
Технологии / версии
AI-разработка · JavaScript · Начало работы
Серия
Цикл «С чего начать» · часть 4 из 8
26 сен 2026 · 3 мин · 38 просмотров · С чего начать
Разработчица сверяет карту работы приложения с исходным кодом.
Первая задача 09/2026

Рабочая копия списка открывается и позволяет отмечать задачи. Следующий запрос агенту — ещё не «добавь фильтр». Сначала нужно выяснить, одинаково ли вы понимаете существующий код. Для этого полезнее несколько вопросов о поведении, чем просьба «изучи проект полностью».

В маленьком стенде ответ можно проверить целиком. На большом проекте тот же приём ограничивает исследование участком, который связан с задачей. Обзор всех папок часто создаёт ощущение понимания, не объясняя, что произойдёт после конкретного действия пользователя.

Спросите о пути действия

Передайте агенту этот запрос, указав свою папку work. Если инструмент не умеет читать файлы, приложите три исходных файла вручную и обозначьте их имена.

Пока ничего не меняй. Прочитай index.html и app.js в рабочей папке.
Ответь со ссылками на файл и функцию или строку:
1. Где заданы исходные задачи и их статус?
2. Как данные превращаются в строки списка?
3. Что происходит, когда пользователь отмечает задачу?
4. Почему после перезагрузки статусы возвращаются?
5. Где можно добавить фильтр, не удаляя задачи?
Отдели найденное в коде от предложения. Если чего-то не нашёл, так и напиши.
Если не можешь открыть файлы, сообщи об этом, не реконструируй содержимое.

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

С чем сверять ответ

Откройте app.js. В начале находится массив tasks: у задачи есть id, title и done. Дальше функция render() очищает список и создаёт элементы по задачам. Обработчик change переносит состояние checkbox в task.done и вызывает отрисовку снова.

Это ориентиры по подготовленному исходнику, а не обязательный текст ответа агента. Номера строк могут измениться после редактирования. Проверяйте действие в указанном месте: действительно ли строка меняет статус, а не просто выводит подпись?

В index.html подключён app.js. После перезагрузки этот скрипт выполняется заново и создаёт исходный массив. Если агент объясняет сброс запросом к API или чтением базы, попросите показать соответствующий код. В нашем стенде таких механизмов нет.

Разделите факт и проектное решение

«Сейчас список строится из tasks» — проверяемый факт. «Фильтр лучше вынести в отдельный компонент» — предложение. Оно требует причины: какая проблема появится без компонента и стоит ли это сложности в трёхфайловом упражнении?

Для фильтра нам достаточно вычислять видимые задачи перед циклом отрисовки. Это выбранный подход, а не единственно возможная реализация. Например, можно скрывать уже созданные элементы. Тогда нужно отдельно следить, как изменение статуса взаимодействует со скрытием. Сравнивать варианты стоит по сохранности данных и понятности проверки.

Попросите агента назвать неопределённости. Сохраняется ли фильтр после перезагрузки? Показываем ли сообщение, когда ничего не осталось? Если ответа в существующем коде нет, это вопросы к постановке задачи. Их не надо выдавать за обнаруженные требования.

Если ответ не совпал с кодом

Не исправляйте весь ответ общим «ты неправильно понял». Укажите одно расхождение и попросите проверить основание:

Ты написал, что задачи загружаются из хранилища.
В app.js я вижу массив tasks с тремя объектами.
Покажи код чтения хранилища. Если его нет, исправь объяснение сброса
после перезагрузки. Правки файлов по-прежнему не нужны.

Если инструмент не видел нужную папку, сначала исправьте доступ. Повторять вопрос с более строгими формулировками бессмысленно, пока ему недоступны исходники. Если файл виден, но ответ снова не опирается на него, сузьте запрос до одной функции и разберите её вместе.

После чтения посмотрите diff или сравните рабочие файлы с initial. На этом этапе изменений не ожидается. При неожиданных правках сначала выясните, что изменилось, и сохраните нужное; не применяйте общий откат поверх собственных изменений.

Оставьте короткую карту

Запишите для себя: данные — tasks; отображение — render(); изменение статуса — обработчик change; постоянного хранилища нет. Карту нужно уметь объяснить без ответа агента перед глазами.

Теперь у вас есть основание для небольшого изменения. В первой задаче с ИИ превратим пожелание «показывать незавершённое» в условия, которые можно проверить.

Серия

Цикл «С чего начать»

#ai-development #javascript #beginner