HYPERARCПопробовать первым

Блог, руководство

Нейросеть ломает код: почему так выходит и что делать

Кирилл Мишанихин,

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

Ты попросил агента добавить кнопку. Кнопка появилась, зато перестал работать вход. Попросил починить вход, и отвалилась оплата. Знакомо всем, кто строит с Claude Code, Cursor или Codex дольше недели.

Модель здесь не «глупая». У поломок четыре понятные причины, и на каждую есть привычка.

Почему агент ломает то, что работало

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

Он не помнит вчерашний день. Новая сессия начинается с чистого листа. Договорённость «этот модуль не трогаем» жила в прошлом разговоре и там осталась.

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

Его никто не проверяет. Агент пишет «готово», ты видишь новую кнопку и идёшь дальше. Сломанный вход всплывёт через три дня, когда найти причину уже трудно.

Шесть привычек, которые это останавливают

1. Сохраняйся перед каждой задачей

Одна команда до того, как агент начал:

git add -A && git commit -m "до задачи: кнопка записи"

Теперь любую поломку можно откатить за секунду. Без этой точки ты чинишь поломку следующей просьбой и получаешь новую поломку.

2. Давай маленькие задачи

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

3. Сначала проверка, потом код

Попроси агента до работы написать тест: маленькую программу, которая сама проверяет результат. Тест должен упасть, ведь работы ещё нет. После работы он должен пройти. Агенту теперь есть чем доказать своё «готово».

4. Запускай старые проверки

Новая проверка прошла. А вчерашние? Попроси запустить все и показать вывод. Было сорок зелёных, стало тридцать восемь: две куда-то делись, и это повод остановиться.

5. Смотри, какие файлы изменились

git diff --stat

Команда покажет список файлов. Задача была про кнопку, а в списке база данных и файлы тестов? Спроси агента, зачем. Код читать не нужно, хватит названий.

6. Не чини поломку новой просьбой

Что-то сломалось, и рука тянется написать «почини». Лучше откатись к точке из первого пункта и поставь задачу заново, точнее. Так выходит быстрее, чем пятая просьба подряд.

Что из этого делает система

Шесть привычек работают, пока ты их не пропускаешь. На сотне задач пропускают все. Я строю HyperArc, чтобы каждую причину закрывала программа.

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

Все семь шагов цикла описаны на главной. Пока HyperArc строится, шаги собраны в чек-листе из десяти проверок. Как писать задачу, я разобрал в шаблоне ТЗ, а про память агента есть отдельное руководство.

Я делаю HyperArc. Учитывай это, когда читаешь мои тексты о нём.