> Go Батя

Проще переписать, чем починить

#биржа #разработка #робот #LLM

Мой первый (как говорят девушки) робот писался с большим участием LLM. Ну как большим… Основу я сделал сам, несколько индикаторов мне LLM написали целиком. Потом написали ансамбль стратегий, который по факту был ансамблем индикаторов. Потом LLM помогли написать оптимизатор на генетическом алгоритме. А потом я узнал про openspec, распробовал и понеслась… Две тысячи строк кода за месяц переросли в 30, плюс 15 тысяч строк спецификаций и документации. Которые сгенерировали LLM. Под моим чутким контролем, конечно, но чёткое понимание того, как всё работает пропало на второй неделе, к концу я только ориентировался в коде, но как, что и почему — мог только догадываться.

Осознание, что я пришёл куда-то не туда, куда хотел, когда супер-пупер навороченный оптимизатор не мог найти прибыльную стратегию с использованием кучи сигналов, динамических весов, и автоматической подстройки параметров, работая по 12 часов непрерывно. Нет, ну какие-то находил, конечно. Одна из таких сейчас крутится на реальном счёте и ей я плюс-минус доверяю. Но какой-то повторяемости и надёжности результатов я добиться так и не смог. И попытки разобраться в причинах показали, что нейронки, конечно, на любой вопрос дадут ответ и почти всегда правильный, но с тем, чтобы комплексную логику свести воедино, у них до сих пор большие проблемы. И даже при условии, что есть чёткие спецификации, что именно делать (которые, правда, они же большей частью и писали), пристроить гараж к дому у них получается крайне паршиво.

Так что было сделано два вывода:

  1. Не пускать LLM дальше разработки отдельных, хорошо продуманных и проработанных частей, описание которых не займёт и страницы А4 текста, либо же чисто алгоритмических задач, которые уже сто раз реализовали до меня.
  2. Надо переписывать всё то, что они мне написали.

Собственно к переписыванию я сейчас и приступил. И не буду говорить, что эти 4 месяца ушли в пустую — вовсе нет. Я проверил кучу гипотез и подходов к автоматической торговле, на что самостоятельно я бы потратил не меньше года. А может и не одного. Если бы не выгорел раньше под чистую. Это во-первых. А во-вторых, большую часть наработок я заберу с собой. Какие индикторы реализовывать в новой версии (сами реализации оставляю за LLM всё-равно, я не потяну всё это писать точно), алгоритмы расчёта дохода и эффективности стратегии почти целиком переедут точно, генетический алгоритм — почистить придётся, но основная часть переедет тоже. Ну и бесценный опыт и набранная экспертиза за эти месяцы — её мне ничто не заменит. Так что новый робот получится точно не хуже предыдущего. Заодно сразу и реализую возникшую в процессе идею — выкатить робота и механизм тестирования стратегии в open-source, а оптимизатор, который сожрал большую часть моего времени, ресурсов и нервов, я оставлю как закрытую часть, которую попробую начать продавать, если сам робот начнёт пользоваться вниманием и спросом.

В общем, планов на миллион, свободного времени на тысячу. Но ничего, прорвёмся. Не привыкать. В том, что всё получится, я не сомневаюсь. Вопрос только в сроках. Но как минимум безбедную пенсию себе и своей семье я обеспечу в течение этого года. Это программа минимум и других вариантов у меня нет.