Наблюдение за вайбкодингом

Хочу поделиться списком наблюдений, которые я сделал, пока нейросеть мне вайбкодила исправления для запуска браузера ViolaWWW.

Для начала хочу сказать, что в процессе переписывания кода возникло огромное количество задач. В основном — скучных и рутинных: множество очевидных и мелких правок, с которыми нейросеть справилась на «ура», тогда как я бы в них просто утонул. А вот перед более комплексными задачами она иногда пасовала, хотя мне они были вполне по плечу.

Теперь — по пунктам.

Во-первых, моего внимания нейросеть требовала не так уж часто — что, безусловно, радовало. Однако несколько раз она зацикливалась: вносила одни и те же изменения по кругу, а затем откатывала их через какое-то время.

Приходилось разбираться в ситуации и разрывать этот цикл вручную. Бывали и моменты, когда ей не хватало идей — нейросеть явно не понимала, как исправить проблему, которую сама же обнаружила, поэтому пыталась подставить достаточно странные костылики. Ту я тоже что-то пытался подсказать.

Во-вторых, кое-где она не учитывала свой предыдущий опыт в том же контекстом окне. Приходилось писать: «Смотри, ты ведь уже делала подобное — просто повтори то-то», и это помогало. Зато, и это особенно любопытно, когда исчерпывалось окно, она конспектировала проделанную работу и план в файл, а на следующей итерации читала эту информацию перед началом работы.

В-третьих, у меня сложилось субъективное ощущение, что в разные моменты времени одна и та же модель (у меня сейчас используется Claude 4.5) то «умнеет», то «глупеет» в течение дня. Возможно, это какая-то экономия ресурсов при перегрузке запросами от пользователей, а может, просто случайность.

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

Мы сейчас продолжаем переводить приложение на 64 бита (не все куски кода переведены), поэтому я попросил сделать команду make, которая подсвечивает ошибки усечения типа (ключ -Wshorten-64-to-32). После своих исправлений она запускает эту команду и правит оставшиеся ошибки.

Скриншот IDE Cursor с открытым файлом box.c на C, терминалом с ошибкой EXC_BAD_ACCESS и чатом ИИ-ассистента, анализирующего падение программы в функции putHashEntry_str.
Нейросеть в процессе правки падения приложения — она умеет использовать отладчик, чтобы смотреть где упало

2 комментария

«Мышастик»: MeshPocket

Купил себе ещё одно устройство для общения через сеть «мышастик». На этот раз что-то типа внешнего аккумулятора со встроенным приёмо-передатчиком. Для полноценной работы нужно будет держать его подключенным к смартфону и чатится через приложение.

Чатится я собираюсь с женой, отдам ей T-Deck — у неё «Айфон», с установкой приложения там сложности, а у этого устройства собственная клавиатура.

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

Белый автоматизированный прибор с жёлтой рамкой, логотипом «HELTEC AUTOMATION» вверху и надписью «Powered» внизу, на бежевом фоне.

Оставить комментарий