Вы просите ИИ добавить фильтр в список задач. В чате получаете фрагмент кода. В редакторе можете получить предложение прямо в файле. Агенту можно поручить найти нужное место, внести изменение и выполнить доступные проверки. Запрос похожий, но ваша работа в этих случаях устроена по-разному.
Эта серия — для разработчика, который уже умеет читать код и хочет впервые пройти задачу с агентом целиком. Мы возьмём небольшой список на HTML и JavaScript: добавим переключатель «Только незавершённые», проверим результат, разберём ошибку и подготовим следующую сессию. Это учебный пример, специально собранный для серии. Промпты в статьях — варианты ваших запросов, а не стенограмма чужой работы.
Что меняется между чатом и агентом
В обычном разговоре о коде вы приносите фрагменты, переносите ответ в проект и запускаете его. Если ответ опирается на несуществующую функцию, это выясняется при переносе. Такой формат подходит, например, чтобы обсудить два варианта реализации, не отдавая инструменту управление файлами.
Подсказка в редакторе сокращает перенос: предложение появляется рядом с кодом. Но наличие окна чата внутри IDE ещё не говорит, какие файлы инструмент прочитал и что он способен выполнить. У конкретного режима может быть только выделенный фрагмент, а может быть доступ ко всему рабочему каталогу.
Здесь под агентом будем понимать инструмент, который может выполнять последовательность действий над задачей: прочитать файл, предложить или внести правку, запустить разрешённую команду, использовать результат для следующего действия. Модель формирует решения, а окружающее приложение даёт ей инструменты и ограничивает их применение. Терминал, редактор и удалённая среда — способы организовать эту работу; сами по себе они не определяют уровень доступа.
Почему начнём с фильтра
У списка понятное поведение: выполненные задачи нужно временно скрыть, а затем вернуть. Можно проверить результат собственными действиями. При этом задача уже содержит инженерное решение: фильтр меняет представление данных или сами данные? Если потерять это различие, первый щелчок будет выглядеть успешным, а второй обнаружит ошибку.
Мы намеренно не начинаем с переписывания большого модуля. В таком изменении легко потратить все силы на установку среды и разбор чужой архитектуры. Небольшой пример оставляет внимание на взаимодействии: что вы поручили, что агент понял, какие доказательства результата принёс.
Простота стенда не означает, что любой сгенерированный вариант годится. Добавить сервер, библиотеку интерфейса и сохранение в браузере можно, но это уже другие решения. Для первой задачи мы выбираем три локальных файла и состояние в памяти. Вы должны уметь объяснить этот выбор до начала правки.
Что остаётся за человеком
Сначала вы определяете потребность: пользователь хочет видеть оставшуюся работу. Затем выбираете границу изменения и признаки готовности. Агент может предложить варианты, но не знает ваших договорённостей с командой, допустимой сложности и последствий ошибки, пока вы не предоставили этот контекст.
Во время работы человеку нужны точки принятия решений, а не обязательное подтверждение каждого чтения файла. В нашем примере стоит вмешаться, если агент предлагает заменить весь интерфейс ради фильтра, добавить зависимость или обещает проверку в браузере, которого у него нет. Если он меняет согласованный обработчик и запускает оговорённую проверку, повторять разрешение на каждое действие незачем.
После генерации вы читаете изменения, проверяете поведение и решаете, можно ли их принять. Ответ «готово» сообщает о завершении работы агента, но сам по себе не подтверждает выполнение задачи. После выпуска ответственность тоже остаётся: ошибки пользователей, обновления окружения и сопровождение не заканчиваются вместе с сессией ИИ.
Зачем здесь знание технологий
Идея almdev появилась давно. С самого начала это был технический блог: здесь выходили материалы о бэкенде, фронтенде, инфраструктуре и инженерных решениях. Сейчас фокус меняется на разработку с ИИ. Технологическая основа остаётся: чтобы принять фильтр, придётся понять массив, обработчик события и способ отрисовки списка.
Моя позиция: ИИ не заменит разработчиков как профессию; преимущество получат те, кто умеет с ним работать, а привычка игнорировать эти инструменты станет ограничением. Это взгляд на направление профессии, а не обещание, что отдельная роль или место работы останется неизменным. Умение работать с ИИ для меня включает способность заметить ошибку и отказаться от предложенного решения.
Решение перед началом
Сформулируйте свою роль одной фразой: «Я отвечаю за то, что фильтр скрывает задачи без потери данных; агент помогает найти и реализовать изменение». Если вместо этого получается «посмотрю, что он сделает», пока не определён результат.
Для прохождения серии достаточно уметь открыть HTML-файл, прочитать небольшой JavaScript и сравнить две версии текста. Глубокие знания агентных настроек не нужны. Дальше выберем инструмент для первой задачи по нужным возможностям, а затем подготовим исходники.