Положите перед собой три карточки с числами 1, 2 и 3. Если сложить их, получится шесть. А короткий счётчик JavaScript выдаёт три. На столе лежит ещё одна карточка, и её явно забыли прибавить. По этому расхождению уже можно задать помощнику хороший вопрос.
Такое расхождение удобно отдать помощнику: вот код, вот нужное поведение, вот полученное число. Разберём его в обычном чате Алисы AI, сохраним цикл и переменные, а затем проверим минимальное исправление по шагам.
У Куна вход в Тартар охраняют гекатонхейры — великаны с сотней рук. Они сторожат ворота, чтобы титаны не вырвались наружу. Для нашего маленького цикла хватит гораздо менее внушительного стража: условие перед каждым проходом решает, можно ли продолжать счёт. У такого стража нет настроения и любимчиков: он каждый раз читает одну и ту же запись. Именно в неё сейчас и посмотрим.
Нейросеть для поиска ошибок в коде: покажите расхождение
Наш исходник — небольшой фрагмент JavaScript:
let total = 0;
for (let i = 1; i < 3; i++) {
total += i;
}
console.log(total);
Ожидалась сумма 1 + 2 + 3 = 6, а фрагмент выводит 3. Нужно сохранить цикл и имена переменных, найдя причину внутри имеющегося решения.
Здесь total хранит накопленную сумму, а i — текущее число для прибавления. Строка total += i означает: взять нынешнюю сумму и прибавить к ней i. Последняя строка console.log(total) выводит итог в консоль.
Пока достаточно этих двух ролей. Три числа на карточках позволяют проверить смысл без новой программы и длинной подготовки. Наша цель — включить в сложение третье число, сохранив понятный способ счёта.
Когда берёте свой короткий фрагмент, рядом полезно записать такое же расхождение: что должно было получиться и что получилось на самом деле. Ожидание «должно работать» оставляет слишком много возможных задач; нужный итог помогает искать конкретную причину.
Что написать Алисе AI
Откройте обычный чат на alice.yandex.ru. Если сервис попросит, войдите в свой аккаунт Яндекса. Вставьте код в строку ввода и добавьте задание:
Это JavaScript. Ожидалась сумма 1 + 2 + 3 = 6, но этот код выводит 3. Найди одну причину расхождения и предложи минимальную правку. Сохрани цикл и переменные total и i. Не добавляй библиотек. Покажи ход исходного и исправленного цикла: значение i, проверку условия и сумму. Не утверждай, что выполнил код в среде, если этого не было.
Отправьте сообщение кнопкой со стрелкой у строки ввода. В первом ответе нам нужны причина, небольшое изменение и понятный ход счёта. Если вместо них появился большой новый проект, можно вернуть разговор к исходному фрагменту.

Схема показывает обычный текстовый запрос. Она не изображает фактический ответ Алисы на наш пример.
В официальной справке Алисы о коде перечислены объяснение строк, поиск ошибок и помощь с отладкой. Для этого можно написать запрос прямо в чат. В нашей маленькой задаче этого текстового маршрута достаточно.
Само слово «исправлено» в ответе ещё не показывает, что изменилось. Найдите старое и новое условие и прочитайте их рядом. Потом проследим числа — сначала для исходника.
Почему исходный цикл получает три
В начале total = 0: ещё ничего не прибавили. Цикл начинает с i = 1. Перед выполнением своего тела он проверяет условие i < 3, то есть «i меньше трёх».
При i, равном единице, это верно. К нулю прибавляется один, сумма становится единицей. Затем i++ увеличивает счётчик на один — перед следующим проходом i будет равен двум.
Два тоже меньше трёх. К накопленной единице прибавляется двойка: получается 3. После увеличения i принимает значение 3.
Вот здесь условие спрашивает: 3 меньше 3? Ответ — нет. Тело цикла больше не выполняется. Третье число так и не попало в сумму, а последняя строка выводит накопленные 3.
| Что проверяем перед проходом | Можно продолжать? | Что стало с суммой |
|---|---|---|
| 1 < 3 | Да | 0 + 1 = 1 |
| 2 < 3 | Да | 1 + 2 = 3 |
| 3 < 3 | Нет | Остаётся 3 |
Оставьте третью карточку перед собой, рядом с накопленными тремя. До прибавления этой карточки программа не дошла: последняя строка таблицы показывает остановившую её проверку. Теперь видна разница между текущим числом и текущей суммой, хотя оба в этот момент равны трём.
Теперь разница видна без особой терминологии: условие допускает числа, строго меньшие трёх. А мы хотели сложить числа до трёх включительно. Необходимая правка находится в самой границе.
Один знак включает третье число
Заменим i < 3 на i <= 3. Знак <= читается «меньше или равно». В нём два символа: знак меньше и знак равенства.
let total = 0;
for (let i = 1; i <= 3; i++) {
total += i;
}
console.log(total);
При i, равном единице и двум, всё идёт как прежде. При i = 3 новое условие тоже верно: три меньше или равно трём. К накопленным трём прибавляется ещё три, получается 6.
Затем i увеличивается до четырёх. Проверка 4 <= 3 даёт ложь, и цикл заканчивается. Карточек у нас было три; четвёртую воображать и прибавлять не требуется. Новая граница допускает нужное число и по-прежнему останавливает счёт после него.

Схема сравнивает один и тот же момент — i уже равен трём. Остальные шаги удобно прочитать в таблице:
| Что проверяем перед проходом | Можно продолжать? | Что стало с суммой |
|---|---|---|
| 1 <= 3 | Да | 0 + 1 = 1 |
| 2 <= 3 | Да | 1 + 2 = 3 |
| 3 <= 3 | Да | 3 + 3 = 6 |
| 4 <= 3 | Нет | Остаётся 6 |
Порядок проверки перед проходом, выполнения тела и увеличения счётчика описан в справке MDN о for. На нашем примере именно этот порядок объясняет оба результата.
Важна исходная задача: включить число три. Условие со строгим «меньше» само по себе нормально для других границ. Мы исправляем конкретное расхождение с ожидаемой суммой, а не объявляем один из знаков всегда верным.
Как проверить предложенное решение
Начните с простого сравнения двух фрагментов. Имена total и i остались, стартовые значения не изменились, тело по-прежнему прибавляет текущее i. Новое равенство появилось в условии продолжения.
Затем проверьте третий проход. Если помощник объяснил только единицу и двойку, попросите показать момент i = 3: что даёт условие и будет ли выполнена строка сложения? После этого покажите себе и остановку при i = 4.
Наконец, сопоставьте итог с обычным счётом на карточках. Три сложенных числа дают шесть. Исходный и исправленный фрагменты при исполнении в Node.js выводят соответственно 3 и 6; эти малые фрагменты проверены исполнением при подготовке примера.

Результат относится к этим двум коротким фрагментам. В собственной уже настроенной среде JavaScript можно повторить их запуск и сравнить вывод; для первого разбора достаточно прослеживания по таблицам.
Здесь полезно различать объяснение и исполнение. Строка «будет 6» в чате — предположение о работе кода. Вывод в среде и последовательность шагов дают другую опору: можно увидеть, совпало ли поведение с ожидаемым.
Если в своей среде вы получили другое число, вернитесь к точному тексту фрагмента. Сначала посмотрите на total = 0: сумма начинается заново при каждом отдельном запуске всего примера. Затем сверьте старт i, условие и строку прибавления. Разбирать нужно тот фрагмент, который действительно выполнился.
Вопросы и ответы об исправлении
Что делать, если помощник подставил готовую шестёрку?
Допустим, помощник заменил весь фрагмент на готовое число 6. Итог теперь верен, но исходное требование сохранить цикл ещё не выполнено. Укажите это прямо:
Сумма 6 нужна, но мне важно сохранить цикл for и переменные total и i. Вернись к исходнику. Покажи минимальное изменение условия и объясни, почему теперь выполняется проход при i = 3.
Как разобрать слишком быстрое объяснение?
Если правка нужная, но объяснение слишком быстрое, сократите шаг:
Разберём только один момент. В исходнике i уже равен 3. Чему равно условие i < 3? Выполнится ли total += i? После ответа дождись моего подтверждения, затем покажи этот же момент для i <= 3.
Так человек не обязан сразу удержать всю программу в голове. Уже известные два сложения остаются на месте; уточняется одна проверка, от которой зависит третье.
Почему в объяснении прибавилась четвёрка?
Бывает и другая трудность: код исправлен, а в таблице помощника в сумму попало четвёртое число. Тогда покажите конкретную строку и попросите проверить 4 <= 3. Ответ можно проверить прямо на этой строке: четыре не меньше и не равно трём. Значит, соответствующего сложения быть не должно. Один конкретный вопрос убирает расхождение между объяснением и таблицей.
Для своей задачи передавайте разрешённый небольшой фрагмент, ожидаемый результат и наблюдаемое поведение. Из текста ошибки уберите пароли и токены, если они там оказались. Одного подходящего примера для первого обсуждения достаточно.
Сохраните код вместе с причиной
Скопируйте выбранный исправленный фрагмент в собственный текстовый файл или место, где храните этот пример. В отдельной заметке можно оставить одну фразу:
Было i < 3: складывались 1 и 2. Стало i <= 3: добавилось 3, итог — 6.
Рядом сохраните исходник. Когда откроете пример через неделю, два условия и короткая заметка быстро вернут смысл правки: третья карточка раньше оставалась на столе, а теперь входит в сложение. Длинную переписку с помощником для этого перечитывать не придётся.
На компьютере под ответом Алисы есть кнопка копирования. Вставив текст в свой файл, проверьте, что захватили сам JavaScript без вступления помощника и Markdown-ограждений. Фрагмент для исполнения должен выглядеть как код выше, а не как оформленный ответ чата.
Если в следующем фрагменте пока трудно назвать ожидаемое поведение, пригодится запрос к ИИ под свою задачу. Переходите к нему, чтобы связать имеющийся материал, нужный результат и понятный способ проверки.
Нейросеть для поиска ошибок в коде полезна на каждом шаге: показать расхождение, найти причину, изменить границу и проверить нужное поведение. Следующий собственный фрагмент можно принести с таким же ясным вопросом.
В клубе «Первопроходцы» можно осваивать ИИ на своих материалах, задавать вопросы и дорабатывать проектные работы; для них есть возможность личной проверки Никитой Маловым. Для знакомства есть бесплатная практика с документами.
Третья карточка заняла своё место, сумма стала шестёркой. Страж у ворот прочитал новое условие, пропустил тройку и остановился перед четвёркой. Для такого дежурства сотня рук явно избыточна: девяносто девять можно отправить отдыхать. Оставшаяся поставит знак равенства там, где он и требовался.