Блог им. TakoiTip

5–7 вайб-итераций до кода, который не работает. Разбор провального рефакторинга.

    • 24 сентября 2026, 15:51
    • |
    • TakoiTip
  • Еще

Кофе 11.26, робот на Альфа-Про. В части 0 писал: «Решил

допилить проблемный модуль — и сломал то, что работало».

Вот разбор — по дням, как было.

Отправная точка. Пятница, конец сессии: v4.6 (лесенка + EMA)

работала в советнике — виртуальные позиции, реальных заявок

не было. Финал в журнале: «Не удалось закрыть 8 лот после 3

попыток — ЗАКРОЙТЕ ВРУЧНУЮ!». Рынок уже уходил в закрытие —

закрывать руками было нечего и некогда, но сам факт, что

движок не смог выполнить свою процедуру конца дня, всё

решал: пока нет доверия к движку, любой результат — шум.

В части 0 я написал «закрыл руками» — повторил формулировку

лога; точнее так: руками закрывать было нечего, но робота

я остановил и ушёл пересобирать. В субботу начался допил.

5–7 вайб-итераций до кода, который не работает. Разбор провального рефакторинга.

Суббота. Исправлял вайб-кодингом: сформулировал нейросети,

что не так — получил правку — применил — проверил. Цикл

повторился пять-семь раз, и дальше пошло по нарастающей:

правка — ошибка компиляции — правка, чтобы её починить —

новая ошибка. Компиляция то вставала, то падала. Когда

наконец собралось — оказалось, что это ещё не победа: код

на выходе не работал, а интерфейс поплыл — окна наезжали

на текст. Я смотрел на экран и не мог сказать, какая из

правок что сломала, — потому что не было ни истории

изменений, ни точки возврата.

Воскресенье. Пересборка заново. К вечеру в папке проекта

лежали четыре генерации нового кода — в проверку советником

пошла четвёртая. Три предыдущие отбраковал сам: где-то данные

приходили не те, где-то не приходили, где-то просто потёк

интерфейс — окна наезжали на текст. Уже не помню, что именно

было в какой: итерации шли так плотно, что между ними
не оставалось точек, которые можно было бы вспомнить.

Понедельник — и тут повезло дважды. MМВБ в те выходные

работала, но остальные рынки отдыхали — штиль, поэтому

воскресный код проверялся не на торговле, а на сборе цен,

гвардах, подключении. Вышел в советник в понедельник — и

только вечером по логам понял: рынок тихий, в рабочий режим

робот не выходил. Понедельник был выходным в США — те самые

«0 сделок, сессия в ожидании» из отчёта, день 1 первой

пятёрки. Сырой код встретил пустой рынок, первые сделки пошли

во вторник, на живом. Попадание в выходной — случайность,

но удачная.

И для масштаба — сравнение с первой сборкой. v4.6 собиралась

3–5 дней и около 50–60 итераций до ввода в работу. Я

рассчитывал, что, зная её грабли, соберу новую быстрее.

Не собралось: четыре генерации, три отбраковки, выходные

целиком. И главное — новый робот получился другим: не

«v4.6 без багов», а пересобранный заново — другая логика,

другой GUI. Ошибки старой версии не стали спецификацией

новой, они стали опытом, который изменил замысел. Вот почему

быстрее не вышло: переписать «то же самое, но правильно»

быстро нельзя, потому что получилось не «то же самое».

Чему это меня научило — четыре правила, каждое оплачено:

1. Вайб-кодинг без тестов — рулетка. Один-два цикла «поправь-

проверь» — нормальная скорость. Пять-семь подряд — вы уже

не правите код, вы играете в испорченный телефон с

нейросетью. Она всё помнит, но иногда ломается или

придумывает — и тогда правка задевает соседний узел.

2. Точка возврата — до первой правки, не после. Если после

пяти итераций нельзя откатиться к работавшему — значит,

работоспособность не была защищена. Это моя главная

ошибка: не сами правки, а отсутствие точки, к которой

можно вернуться.

3. Компиляция — это ещё не тест. Та суббота прошла два

круга: сначала пять-семь итераций борьбы за то, чтобы код

вообще собрался. Собрался — и оказалось, что не работает,

плюс поплывший интерфейс. Компиляция отвечает ровно на

один вопрос — «собралось или нет» — и ни на один из

настоящих: «работает ли», «не сломал ли соседнее». Между

«компилируется» и «работает» — вся пропасть, в которую

я тогда упал.

4. Пересборка заново — нормальный ход, когда есть два ответа:

почему предыдущая версия умерла и по какому критерию

считается готовой новая. Без этих ответов пересборка —

не метод, а лотерея.

Финальная ирония: проблемный модуль, ради которого всё

затевалось, в новой версии работает. А всё остальное могло

бы не пострадать — если бы в субботу между правками стояли

проверки.

Это дневник разработки. Вопросы — в комментарии.

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
334
12 комментариев
чо бл. ?:)
avatar
все эти ваши роботы в конце концов вас  раззоряют:) это известно стало еще на заре роботов-нейросетей, году эдак в 2006-08
avatar
Az72, Мой дневник как раз про то, как проверять до денег.
avatar
лайк за борьбу и победу))
Ostap Bander форексная оторва, Спасибо!
avatar
— Сделайте, пожалуйста, яичницу с колбасой.
— Извините, вайб-итерация не сработала. Рефакторинга будете ждать?
avatar
bocha, 

Яичница готовится строго в сессионном окне — вне окна
блокируется гвардом 

avatar
Так ты свой блог не раскрутишь.
Просто трейдер, Хочется, чтобы это выросло органически — без маркетинговых выкрутасов. Никаких ссылок на другие платформы и каналы здесь нет, ничего не продаю — просто дневник. Кто ищет — находит: подписки и вопросы пришли сами. Пауза — не конец дневника, а его часть.
avatar
TakoiTip, да это никак не вырастит. Ни с выкрутасами, ни без.

Да лучше бы были ссылки. Сейчас вообще не понятно что.

сформулировал нейросети,

что не так — получил правку — применил — проверил. Цикл

повторился пять-семь раз, и дальше пошло по нарастающей:

правка — ошибка компиляции — правка, чтобы её починить —

новая ошибка. Компиляция то вставала, то падала. Когда

наконец собралось — оказалось, что это ещё не победа: код

на выходе не работал, а интерфейс поплыл — окна наезжали

на текст. 

Нейросеть Алиса что-ли? Какой-то детский сад, правда. Нейросети давно умеют сами компилировать, видеть ошибки, вносить коррективы и так много раз по циклу и выдавать итого рабочий продукт.
Дмитрий Овчинников, Детский сад — согласен, в ту субботу было именно так. По сути: агентные режимы и правда умеют крутить цикл «компилирует — видит ошибку — правит», спорить не буду. Весь вопрос в том, что компилируемый код — ещё не рабочий продукт. Для торгового робота два экзамена: сборка и рынок. Агент сдаёт первый. Второй сдаёт только рынок — неделями, на живых данных, и никакой самопроверяющийся цикл его не заменяет. В ту субботу я провалил даже первый экзамен, а пост как раз про то, что и второй ИИ за вас не сдаст.
avatar

Читайте на SMART-LAB:
Фото
USD/JPY: быки штурмуют высоты. Медведи зовут на помощь японский Центробанк?
Валютная пара USD/JPY уверенно продвигается на север и сейчас вплотную приблизилась к пробитому ранее недельному восходящему тренду, от которого...
Сырьевые компании заплатят за высокие мировые цены на их продукцию
Акции российских металлургов, производителей удобрений и золотодобывающих компаний 24 сентября оказались под сильным давлением после предложения...
Медно-никелевый парадокс: надолго ли установился ценовой паритет на металлы?
Ценовой спред между дорогим никелем и заметно уступающей ему по стоимости медью практически исчез: металлы, которые всегда торговались с...
Фото
Часть 4. Худший сектор за 10 лет: Почему рост бизнеса не привел к росту доходов акционеров?
Продолжаю серию заметок на тему: «Какие бизнесы на Мосбирже смогли успешно „впитать“ инфляцию за 10 лет?» Напомню, что инфляция за 10 лет...

теги блога TakoiTip

....все тэги



UPDONW
Новый дизайн