Новая прошивка варика
Новая прошивка варика

Полгода прошло с первой статьи https://habr.com/ru/articles/969230/ , вариометр летает и сигнализирует о наборе высоты и о потере высоты, пилоты довольны. Код сыроват конечно. EMA фильтр стоит, линейная архитектура стоит, записи высот в полете нет и экспорта нет. Как-то работает. Но можно качественнее сделать. А вот когда лень переписывать с нуля, знакомая херня? Но решился.

Развернул Hermes Agent, закинул на аккаунт DeepSeek4 40 юаней, это 430 рублей, и начал диалог в терминал. Работал в диалоге с консолькой, ну просто магия. Без промптов. "Сделай FSM(конечные автоматы) вместо ифов, добавь зуммер в стиле Браунигер, компенсацию акселерометра по трём осям с учётом гравитации, а не по модулю, трек полёта на флешпамять кольцевым буфером с CRC, WiFi экспорт через вебморду."

Это теперь основной рабочий инструмент
Это теперь основной рабочий инструмент

Агент сам зашел на старый репо - сделал себе форк на винт, скачал себе среду разработки, все проверил, все скомпилировал, и запушил форк в репозиторий на гитхаб.

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

Теперь написание программ выглядит так
Теперь написание программ выглядит так

Какую задержку комплементарного фильтра ставить? Ноль целых пять сотых - это быстро и шумно. Восемь секунд гладко, но задержка. Компромисс? Три. CRC16 на запись или CRC32 на блок? На секторе или рекорде? Как посадку определять по скорости изменения высоты или с акселерометром? А если в турбулентности данные с акселерометра это шум? Ты подумай, акселерометр в болтанке выдаёт мусор.

Шесть часов. Код не писался, принимались решения, а ИИ реализовывал. За ночь сделано то, что пилилось бы три недели. А агент сожрал через дипсика токенов на 300 рублей.

Код вырос до почти 2000 строк. Фильтр стал комплементарным с гравитацией и барометром. Архитектура стала конечным автоматом. Появился звук по просьбам пилотов, трекер в кольцевой буфер с CRC16 на каждый маркер высоты, WiFi экспорт через точку доступа с HTTP сервером отдающим CSV. Чувствительность от нуля до девяти, ватчдог на два ядра, самопроверка.

Я отдал втихаря код опытному инженеру на ревью. Со словами - просто посмотри. Вердикт -Senior Embedded Avionics рейтинг 8.75 из 10, немного до идеала не дотянул, есть что поправить, пусть еще недельку поковыряет. Не ардуинщик, а профи. Дисциплина кода, ноль статиков, constexpr. Защита WDT, CRC, self test, умный сон. Зоны роста есть, пять I2C без проверки, документация отстаёт, гонка при старте. Но сам факт - senior выдаёт 100-200 строк в день. Тут 2000 за 6 часов. А автор в роли архитектора проектов написал ноль строк.

З0 юаней купили три недели жизни. Остаётся непонятно, как к этому относиться. С одной стороны крутой продукт за копейки. С другой экспертиза кодера уровня синьора теперь стоит 300 рублей и 6 часов. Экспертиза архитектора дорогая. Но надолго ли? Ответ очевиден, признавать никто не хочет.

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

Токены новая валюта. Затраты токенов на написание кода
Токены новая валюта. Затраты токенов на написание кода

Отличия от родительского проекта:

Область

VibroVario (оригинал)

VibroVarioAuto v1.6 (форк)

Версия

1.1 (EMA filter)

1.6 (FSM + трекер + WiFi)

Строк кода

~549

~2000

Звук

Только вибро

Вибро + баззер Brauniger-style

Фильтр

EMA (простое сглаживание высоты)

Комплементарный: gravity-vector из акселерометра + барo

Архитектура

Линейный код

Конечный автомат (6 состояний: CLOCK, SETTINGS, CALIBRATING, RUNNING, STOPPED, WEB_EXPORT)

Диспетчер

if (state == X) размазан по коду

switch(fsm.state) — табличный, entry/exit actions

Скрытые состояния

static переменные в loop() и varioTask

Все состояния в struct VarioFsm — ноль static locals

Кнопки

BACK/SELECT/RIGHT (GPIO 26/35/4)

UP/OK/DOWN (GPIO 25/4/35) — любая будит

Пробуждение

Только UP (GPIO 25)

UP, OK, DOWN — любая кнопка

Настройки

Нет

Экран Settings: Buzzer ON/OFF, Vibro ON/OFF, время, высота места

Настройки через web

Нет

/settings — установка часов и высоты через браузер

Самодиагностика

Нет

SELF-TEST при пробуждении (кнопки, датчики, батарея)

Обнаружение отказа BMP

Нет — тихо замирает

SENSOR FAIL на экране полёта

Акселерометр

Проверка магнитуды

Chip ID верификация (0x11), fallback при отказе

Управление задачей

vTaskDelete() в любой момент

vfsm.running = false + задержка — безопасное завершение I2C

init дисплея

Всегда полный

Пропускается при RTC alarm wake (экономия 200 мс)

Сон

Фиксированный (всегда 60 с или 24ч)

Умный: счётчик motionTime, 15 мин без движения → 24ч

Сторожевой таймер

Нет

WDT 10 сек на обоих ядрах — защита от зависания I2C

Запись трека

Нет

Кольцевой буфер на flash 1.5MB: номер полёта, время, высота (1 Гц)

Экспорт трека

Нет

WiFi AP + HTTP-сервер: CSV всех/одного полёта, таймаут 15 мин

Конфиги

#define

constexpr (типобезопасно)

Комментарии

Русские

Английские (100%)

Чувствительность

Фиксированная

Настраиваемая 0-9 (комплементарный фильтр)

Трекер

Нет

Кольцевой буфер с датой/временем/высотой в каждой записи

Новый форк проекта целиком сделан агентом, ни одной команды на срр не было введено, только наш православный и могучий, с редкими вставками англицизмов ссылка на работу агента: https://github.com/advogr2022-max/VibroVario

P.S. Пост не реклама, все за свои кровные. По коду не увидел смысла разбивать монолит на большое число модулей, хотя агент предлагал. Проект позиционируется как хоббийный на 1 выходной день, и не должен требовать сложной настройки программной среды даже у школьников. А что у вас из ембедд проектов получилось полностью сбросить на агентов?

Комментарии (81)


  1. Dreams_and_magic
    03.05.2026 16:55

    Такая цена получилась за счёт кэширования запросов, он у DeepSeek примерно 90-94% .

    Не все провайдеры нейросетей кэшируют запросы, и не у всех такой высокий процент Cache Hit Rate, что может быть неприятным сюрпризом:)

    Кстати, как Вы счёт на DeepSeek пополняли, интересно?:)


    1. gliderman Автор
      03.05.2026 16:55

      У меня есть Alipay на телефоне, закинул туда с Тинькова. А там уже юанями платил, за час платеж на Алипей прошел. Alipay несложно ставится из гуглплея. Да - минимум переводят на алипей от 1500р. Столько и закидывал.


      1. Kassiy_Pontiy_Pilat
        03.05.2026 16:55

        Последний раз когда я пробовал в зарегаться в deepseek для номеров из РФ там был только paypal. Вы как то для аккаунта получается Китай указали? И без китайского номера получилось?


        1. gliderman Автор
          03.05.2026 16:55

          Мне на рф мегафон прекрасно приходят от алипей смс. А там уже юанями платим.


    1. redmedia
      03.05.2026 16:55

      Пополнять можно любой международной картой, это не магия. Дело не в стоимости кэша, а то что модель очень дешёвая.

      В России очень много прокси серверов openrouter, поэтому api получить - вообще не проблема.


      1. gliderman Автор
        03.05.2026 16:55

        Я прошелся по многим моделям когда агента настраивал - дипсик мне приглянулся скоростью ответов, качеством и ценой, этот проект был горячей проверкой, иии... я доволен. У меня есть ощущение, что у антропика я бы потратил бы меньше токенов втрое, но заплатил бы раз в 10-20 больше. Редко я переключался на старшую модель Дипсика - но большого смысла нет. Все и так хорошо. Старший Дипсик хорош постфактум - пройтись как ревьювер после всех коммитов. Но деньги улетают впятеро быстрее.


        1. Barnaby
          03.05.2026 16:55

          У меня есть ощущение, что у антропика я бы потратил бы меньше токенов втрое, но заплатил бы раз в 10-20

          У гугла лимиты мгновенно утекают, но лимита gemini 3 flash я ни разу не видел. Он конечно тупенький, наверное сильнее тупее дипсика, но быстрый, код пишет и сам может работать с браузером. Наверное и у антропика хайку анлимная.


          1. gliderman Автор
            03.05.2026 16:55

            В этом кейсе, дипсик мне строчил как пулемет, а по качеству - как Gemini 3 полгода назад. Я прямо упал в дофаминовую петлю на 6 ночных часов. Как в интересную игру - садишься за монитор в 21 встаешь в 05.


            1. brat_viktor
              03.05.2026 16:55

              Классно считаешь!


      1. Dreams_and_magic
        03.05.2026 16:55

        Дело именно в стоимости кэша, так бы затраты автора были на порядок выше.


    1. Barnaby
      03.05.2026 16:55

      Такая цена за счет того что сейчас там скидка 75% до 5 мая. Ну и ТС почти все время дешевый флеш юзал.


    1. gliderman Автор
      03.05.2026 16:55

      Сходил, кстати, на опенроутер посмотрел сколько берет клод опус 4.7 фаст

      Input Price $30/M tokens Output Price $150/M tokens Cache Read $3

      Если взять мой раход токенов с дипсика 185млн кешированный, 13млн входа, 1 млн выхода = мне бы это обошлось в 1000долларов по ценам клода. Не понимаю - как дипсик такое дает, не иначе потом ценник поднимет в раз в 10-50.


  1. Seeman78
    03.05.2026 16:55

    Qwen coder может напрямую на гитхаб править и бесплатно, по токенам незнаю, ещё не исчерпывал ни разу


    1. gliderman Автор
      03.05.2026 16:55

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


    1. kinofob
      03.05.2026 16:55

      Qwen 2 недели назад выключил бесплатный доступ


  1. rukhi7
    03.05.2026 16:55

    звучит красиво, выглядит интересно. Осталось проверить что работает ВСЕ перечисленное по таблице. Ну хотя бы один рабочий день - 8 часов непрерывной работы девайса, желательно пройти-попробовать как можно больше перечисленных функций в каком-то логическом порядке и без глюков, или хотя бы без крешей. Слабо написать тест на надежность работы ?

    У нас шутка была лет 30 назад:

    ...

    а я запорожец поднимал!

    Да чО ты вОще поднять можешь!

    А я не говорил что поднял!


    1. gliderman Автор
      03.05.2026 16:55

      На счет теста подумаю. А так - раздам пилотам тестовых вариков - пусть тестируют. Старый прибор 8 часов в режиме варика работает - на большее батареи не хватает. Ожидаю что с новой прошивкой все должно быть стабильнее.


  1. Kardinalli
    03.05.2026 16:55

    Это вообще интересная тема, на что способен ИИ. Мой опыт с бесплатной версией Deep Seek. Была задача, сеть компьютеров Windows, локалка. И один с Линуксом. Нюанс - сеть должна быть АБСОЛЮТНО прозрачной. То есть, никаких логинов/паролей, полный, сквозной доступ на все ресурсы всех машин из любого компа, при этом любой комп может из сети уйти, либо добавиться новый и каждый должен определить ушедшего, либо опознать нового, вместе с его ресурсами. С Win проблем нет, ОС умеет это “из коробки”. А вот линукс нет. Я пробовал разные дистрибутивы, остановился на Mint. Разницы нет. Сам комп на лине виден и его ресурсы тоже, тут проблем нет. А вот наоборот - черта с два. Линукс слепой. И целая армия пингвинятников на 6 форумах эту проблему не решила, а когда не решила, то ожидаемо перевернула все с ног на голову - раз не решилось, значит сама задача неправильная и в сети я веду себя не правильно и такой “сквозняк” недопустим и бла-бла-бла. Полгода походив по пристанищам пингвинятников я плюнул и обратился к китайскому чуду. Не сразу, но примерно за месяц я решил эту задачу, в чем на 90% заслуга Deep Seek. Получился довольно сложный скриптовый механизм, но он на 100% решает эту задачу. Я не профессиональный программист, любитель, пишу для себя на шарпе, ассемблере, бейсике, с++. И для меня хороший совет от ИИ иногда бывает очень полезен.


    1. gliderman Автор
      03.05.2026 16:55

      Я сейчас уже думаю на агента свалить всю сисадминскую рутину, Гермес сейчас у меня умеет - ползать по сети, искать машины, каталогизировать сетку, отправлять в телегу алерты, работать через бота в телеге - аля "перегрузи мне сервак №1". Зайди на консоль сервака №2 - пришли мне в телегу лог. И тп. Агент сам настраивает себя имеет доступ через апи к гульоблаку умеет писать в гугльдок и т.д. самое приятное - что не надо рыть мануалы - по команде он сам себе настраивает нужные скрипты.


    1. randomsimplenumber
      03.05.2026 16:55

      Странная сеть, странная задача.

      Полгода походив по пристанищам пингвинятников

      За полгода можно было прочитать пару книг по администрированию сетей. Когда знаешь что спрашивать - вероятность получить правильный ответ выше.

      С другой стороны, если задача решается полгода - она нафиг не нужна.


    1. Wesha
      03.05.2026 16:55

      Я не профессиональный программист, любитель

      Да уж вижу — Вы даже задачу внятно сформулировать не можете. УМ, например, ВР (ну, насколько я понял задачу из Вашей постановки).


    1. xaerowalk
      03.05.2026 16:55

      Если вы хотите видеть виндовые машины с линукса в сети, то или вы включаете на винде поддержку старого протокола smbv1 или ставите на линуксе wsdd (на минте sudo apt install wsdd)
      Если вы хотите чтобы виндовые машины видели линуксовую шаред папку, то ставите самбу на линуксе и настраиваете шаред папку.

      Тут похоже на проблему постановки задачи, простите.


      1. Mixael_sas
        03.05.2026 16:55

        Там помимо "увидеть" есть ещё задача "войти на ресурс". У Linux параноидальная система разграничения прав доступа. Поэтому мало самбу поднять, надо и права нормально раздать, а человеку надо прям 777.


        1. randomsimplenumber
          03.05.2026 16:55

          0777 проще чем раздавать какие то права.


        1. xaerowalk
          03.05.2026 16:55

          Полгода походив по пристанищам пингвинятников я плюнул и обратился к китайскому чуду. Не сразу, но примерно за месяц я решил эту задачу, в чем на 90% заслуга Deep Seek.

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

          А уж как настроить самбу deepseek точно расскажет и "база" ему не понадобится.


  1. Shrizt
    03.05.2026 16:55

    У меня 7-летний сын игрушки простенькие лабает на питоне с этими ИИ ассистентами, получается вполне забавно ))


    1. randomsimplenumber
      03.05.2026 16:55

      Мой годовасик на Unity.


      1. Shrizt
        03.05.2026 16:55

        Зря вы думаете что я шучу


        1. randomsimplenumber
          03.05.2026 16:55

          При наличии готовых нормальных игр.. Меня терзают смутные сомнения.


          1. MagisterAlexandr
            03.05.2026 16:55

            Я вот в 10 лет лабал на Basic, а с ИИ считай на русском языке говоришь, откуда сомнения?


            1. randomsimplenumber
              03.05.2026 16:55

              При наличии нормальных игр?


              1. MagisterAlexandr
                03.05.2026 16:55

                В каком смысле, наличии? А если нет именно такой, какая мне нужна?


                1. randomsimplenumber
                  03.05.2026 16:55

                  В 7 лет некоторые еще считать не умеют.


                  1. MagisterAlexandr
                    03.05.2026 16:55

                    Я всё равно не понял, откуда сомнения.


                    1. randomsimplenumber
                      03.05.2026 16:55

                      В 10 лет дети, как правило, умеют читать, писать и считать. В 7 лет, как правило, нет.


                      1. Albert2009Zi
                        03.05.2026 16:55

                        Да может любезный просто выложит на github, игру, "сделанную его сыном" без посторонней помощи только с ИИ. Ну а зрительный зал оценит.


                      1. randomsimplenumber
                        03.05.2026 16:55

                        Достаточно процесс gameplay показать.


                      1. wepp
                        03.05.2026 16:55

                        Что за бред? В какой изоляции должен жить ребёнок, чтобы не уметь этого? Да, есть такие, но сейчас даже в школе от первоклассников ждут, что они будут уметь читать/писать. Так что ничего удивительного в таких навыках нет.


                      1. randomsimplenumber
                        03.05.2026 16:55

                        Можно я с козырей зайду? Какие книги прочитал самостоятельно ваш 7 летний ребенок?


                      1. MagisterAlexandr
                        03.05.2026 16:55

                        Опять-таки, а в чём сомнения?

                        В возможности прочитать (распознать слова) или взять максимум смысла из книги?

                        Если второе, то зачем обязательно самостоятельно?


                      1. MagisterAlexandr
                        03.05.2026 16:55

                        В 10 лет дети, как правило, умеют читать, писать и считать. В 7 лет, как правило, нет.

                        В 7 лет, как правило, учатся в школе, а там читать, писать и считать входит в школьную программу.

                        С ИИ нужно скорее уметь говорить, даже не так, главное нужно воображение.


  1. Daddy_Cool
    03.05.2026 16:55

    "Экспертиза архитектора дорогая. Но надолго ли?"
    Пока эти эксперты есть, а дальше... магия... тайны исчезнувших цивилизаций... мне дедушка рассказывал что-то про эти... как их... биты и байты...
    -------
    А теперь забавное.
    Я изумился, преисполнился трепета и осознал всю мощь ИИ, когда DeepSeek написал мне программу на Си которая заработала с первого раза без каких либо правок! (Что-то с обработкой строк для длинной арифметики).
    Я осознал всю нищету своего естественного интеллекта, когда понял, что мне это нафиг было не надо!


    1. gliderman Автор
      03.05.2026 16:55

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


      1. UFO_01
        03.05.2026 16:55

        Аналогия подобна котику с дверцей.

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


        1. kamaz1
          03.05.2026 16:55

          Ну вот я доверяю компилятору который переводит какойнить go в бинарный код, а когда то люди массово писали на ассемблере и не понимали как можно доверять это дело языкам более высокого уровня.
          Так же большинство будет доверять llm, и баланс будет постепенно смещаться с "я сам программирую и понимаю что там" в сторону "я ставлю задачу и доверяю llm"


          1. randomsimplenumber
            03.05.2026 16:55

            Разница в том что компилятор из одних исходников всегда делает одинаковый бинарник. Результат llm магии невоспроизводим.


            1. kamaz1
              03.05.2026 16:55

              воспроизводим, задайте одинаковые параметры, какие там есть у llm, и получите одинаковый ответ 2+ раза
              вообщем проблема надуманная в любом случае - вариативность ответов от llm это не необходимое требование к ней.


              1. UFO_01
                03.05.2026 16:55

                Окак. Выглядит как защита чёрного ящика. Допустим, допустим мы получили два одинаковых ответа. Оба неправильные и противоречат требованиям. Компилятор выругается в обоих случаях, нейронка выругается только если мы скажем ей перепроверить свой выхлоп, а может и не выругается, откуда вы знаете как она себя поведёт? Компилятор, ну например go, чётко соблюдает систему типов, даёт безопасность по памяти, ищет гонки данных. Компилятор проверяет что проект соответствует спецификации языка. Требования к работе компилятора уже давно давно написаны, они доказуемы, верифицируемы и не взаимно исключающие.

                Вам же чтобы выхлоп llm соответствовал вообще всем требованиям, надо написать ТЗ длиною в жизнь, и не факт что результат будет ему соответствовать. А как нейронка себя поведёт если требования взаимно исключающие или противоречивы? А как она дополнит требования которые вы не учли?

                Надоели уже аргументы типа "да просто модель не та, промпт не тот", а может пора заменить прокладку между креслом и клавиатурой?


                1. kamaz1
                  03.05.2026 16:55

                  Оба неправильные

                  конечно оба неправильные, они же одинаковые)

                  если мы скажем ей перепроверить свой выхлоп

                  что значит "если скажем" мы вообще зачем ПО пишем, мы его запускать проверять будем?

                  Компилятор, ну например go

                  ну например он и проверит за нейронкой для начала

                  > Вам же чтобы выхлоп llm соответствовал вообще всем требованиям, надо написать ТЗ длиною в жизнь

                  нет не надо
                  1) на самом деле все требования исходят из начального "сделай хорошо", а дальше уже специфицируются для исполнителей, чтобы четко донести что значит это "Хорошо". Вы людям ставите задачу с ТЗ, так же будете и нейронке ставитить
                  2) общаемся с нейронкой с составляем план задачи, по которому она потом идет. Вот недавно надо было проанализировать json файл на 50+gb, jq не сладил, chatgpt не помог с готовыми утилитами которые удовлетворят мои запросы, зато codex за 5 минут написал 2 go бинарника, первый индексировал файл, второй анализировал. 200 строк кода из 5 строк ТЗ за 5 минут. Никаких ТЗ длиною в жизнь. Что там в коде я даже не смотрел, по результату было видно что оно работает


                  1. UFO_01
                    03.05.2026 16:55

                    Вы видимо не поняли что я имел в виду. Толку нам от одинакового выхлопа если llm всё равно может выдать правдоподобную чушь. Компилятор как раз даёт гарантии ДО запуска. И как вы собираетесь проверять правильность выполнения, на каждую генерацию заново вручную всё проверять? Есть же тесты скажете вы, а вы уверены что тесты гарантируют правильность выполнения и отсутствие багов? А если мы с железом работаем? Если вы доверяете выхлопу нейронок, ну, ваша проблема. И ваших пользователей.

                    Upd: То что проект запустился ещё не значит что он правильно работает. Ну а приводить одноразовую утилиту как аргумент, это сильно.


                    1. kamaz1
                      03.05.2026 16:55

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

                      > Есть же тесты скажете вы, а вы уверены что тесты гарантируют правильность выполнения и отсутствие багов?

                      Тесты значит не гарантируют, но вы ссылаетесь на компилятор go, что именно он гарантирует?

                      > Если вы доверяете выхлопу нейронок, ну, ваша проблема. И ваших пользователей.

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


                      1. UFO_01
                        03.05.2026 16:55

                        Жидковатая зеркалочка если честно.

                        Сложность разработки относительно масштаба растёт по закону близкому к экспоненциальному. То, что получилась утилита на 200 строк не значит что получится фейсбук.

                        Повторюсь, компилятор (по крайней мере go) гарантирует систему типов, безопасность по памяти, отсутствие гонок данных. Компилятор гарантирует что в коде точно нет определённого класса ошибок и соблюдаются все спецификации языка. Тесты же не гарантируют отсутствие логических ошибок, сечёте?

                        Ну я вижу как вы проверяете и контролируете, ваши же слова

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

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

                        Вот как раз кстати поминал добрым словом матушек разработчиков приложения втб, когда оно в десятый раз вылетело.


                      1. kamaz1
                        03.05.2026 16:55

                        Можете спокойно доверять нейронкам, просто отдавайте себе отчёт в своих действиях

                        О, стадия принятия)

                        > Сложность разработки относительно масштаба растёт по закону близкому к экспоненциальному.

                        с вероятность 83% эта фраза не имеет ничего общего с реальностью.

                        > Ну я вижу как вы проверяете и контролируете, ваши же слова

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

                        Если это что-то сложнее 200 строк, то код я смотрю, и задачу в данный момент ставлю таким образом, каким ее не поставит человек без опыта разработки. Но
                        1) Я не пробовал истинный вайбкодинг среднего размера проектов, так что не готов сказать что он не возможен
                        2) Как я сказал в самом первом после "баланс будет постепенно смещаться" заметьте, я не сказал будущее наступило.
                        Но тренд есть и странно с ним спорить


                      1. UFO_01
                        03.05.2026 16:55

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

                        Я кстати пробовал интереса ради вайбкодить небольшой qt c++ проектик на 5к строк, вайбкодить даже на таком масштабе скорее невозможно чем можно. Да-да, опять язык не тот, модель не та, промпт не тот, сами понимаете.

                        Если тренд есть, ещё не факт что он продолжится. Да и какой тренд? Выпиливать раздутые штаты под предлогом ии оптимизации? Писать код который мы не понимаем как работает, но не вручную а на потоке? Рефакторить один и тот же проект по принципу бесконечность не предел?

                        Во славу Омниссии!


          1. UFO_01
            03.05.2026 16:55

            Аналогия подобна котику с дверцей :)

            LLM это вероятность, компилятор это детерменизм. Для ассемблера кстати тоже есть компиляторы. Кстати, а кто тогда будет отвечать за код? Наверное никто, потому что код-то не мы писали, а у нейронок везде плашки висят. И какой резон мне тогда делать свою работу хорошо если за результат я не отвечаю?

            Ну вот приведу пример. Случай, встала ж/д ветка на несколько часов. Логи показали что отказали наши приборы, а час простоя одного вагона штраф 2 мрот. Мы поднимаем бумажки где высчитали что такая ситуация может возникнуть раз в 20 лет, чинить экономически нецелесообразно, и претензия отклоняется. Почему мы так сделали? Вот как раз чтобы в случае чего нам не прилетел штраф на пару миллионов.

            Я так-то не против использования нейронок, пожалуйста, это идеальный черновик и источник второго мнения. Но их выхлоп уж будьте добры ручками да глазками проверить.


      1. AleVaKa
        03.05.2026 16:55

        Миллиарды людей уже пользуются ПО, даже не зная как оно там внутри устроено.

        Но внезапно те, кто чинит авто и тем более разрабатывает его, почему-то до сих пор должен знать как оно там внутри устроено в пределах своей зоны ответственности.


    1. MagisterAlexandr
      03.05.2026 16:55

      Потому что ИИ научен на старых добрых программах, уже делающих примерно то что нужно.

      В общем, пока есть на чём учиться, всё круто.


  1. Albert2009Zi
    03.05.2026 16:55

    Мне кажется пихать всё, и основной функционал и веб интерфейс, в одну стейт машину как-то странно. Сделайте для веб IDLE, WEB_EXPORT. Не обязательно, что что-то пойдет не так из-за того, что у вас уже написано, просто хз, как то странно все мешать в одну стейт-машину. А так поздравляю.


    1. gliderman Автор
      03.05.2026 16:55

      В ИИ проще сгрузить один файл, если агенты могут сами все решать, то проект еще могут попробовать дорабатывать энтузиасты без настройки среды просто запихнув файл в вебчат. Я так делал до эры прихода агентов. Но, в принципе, ничто мне не мешает в следующей сессии блоки настроек, варика, часов разбить на модули одним запросом к агенту. Замечание принято. Попробую.

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


      1. d00m911
        03.05.2026 16:55

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


        1. Lissodelphis
          03.05.2026 16:55

          Если нам отключат нейронки тогда модули удобнее, для ручной правки. Я вот тоже думаю, что эра ручной правки уходит. А еще интересно выяснить - не получается ли машинный код из одного монолитного файла компактнее, чем из россыпи модулей?


          1. gliderman Автор
            03.05.2026 16:55

            Разницы в размере компилированных машинных кодов не будет - компилятору пофиг, ну может ± 1% в бинарнике.

            90% аудитории это Windows, скачали ZIP, открыли в Arduino IDE. Для них монолит это благо. Никаких пропущенных #include, никаких а где main.cpp. Один файл, один клик, одна компиляция. Парапланерист, который очень хочет прошить часы, доберётся до цели.

            Если бы аудитория была embedded-разработчики через PlatformIO/VS Code, однозначно нужны модули.


            1. randomsimplenumber
              03.05.2026 16:55

              Нет. Модули нужны если части кода планируется использовать отдельно от прошивки. Если прошивка логический монолит - ну, дело вкуса. Arduino ide не требует упаковки всего кода в 1 файл. И vs code не умрет, если все будет в 1 файле.


          1. Wesha
            03.05.2026 16:55

            Если нам отключат нейронки

            У Вас много опечаток в слове «когда».


            1. wepp
              03.05.2026 16:55

              Кто же их отключит и за что? А как же локальные версии?


              1. Wesha
                03.05.2026 16:55

                Кто

                Владельцы?

                за что?

                Вы так говорите, как будто это когда-то проблемой было. Найдут за что. Например, в неправильной локации живёте. «У сильного всегда бессильный виноват».

                А как же локальные версии?

                У Вас локально столько же ресурсов, сколько у условного OpenAI?


      1. longtolik
        03.05.2026 16:55

        Точно, но можно столкнуться с такой проблемой, что не все среды могут обрабатывать большие файлы. Когда-то работал с ADS1.2, проект был большой, обнаружилось, что если сделать отдельными файлами, то почему-то собирался в неправильной последовательности. Конечный бинарник не работал. Вот тогда-то я объединил всё в один (почти) основной файл. Потом делал 3D циферблат, файлы с координатами вершин и нормалей не могли обрабатываться. Оказалось, у них было более 5000 строк, а редактор из Android Studio этого не вынес. Пришлось делить.

        Потом стал всё делать "по науке", но некоторые функции всё равно большие, поэтому применяю монитор с разрешением 4К и в портретной ориентации. Попадались правила NASA для исходных файлов - там чуть ли не одна функция - один экран. Многие работают с несколькими HD мониторами, расположенными горизонтально, на экранах - несколько столбиков короткого текста. Пробовал, но глаза устают больше при перемещении взгляда по горизонтали, чем по вертикали.

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


      1. UFO_01
        03.05.2026 16:55

        Так и для нейронок тоже удобнее когда модули. Закинул модуль, описал контекст, сказал что надо, готово, нейронка работает с простынями так же плохо, контекстное окно не резиновое, один модуль обсудить проще. Причём как по мне, гораздо удобнее для такого писать в стиле C с классами. Модульность всегда была про управление сложностью, для ии это работает так же, как для людей.

        Я кстати глянул в репо. Я вот максимум тяну на джун++, и если вы ЭТО называете прошивкой уровня сеньор, мне походу впору ракеты запускать. Я конечно не шарю за Senior Embedded Avionics, я работаю по IEC 50128, но если бы мне такое подсунули, я бы как минимум попросил разбить на независимые модули и поубирать delay, за такое по рукам бить надо.

        Да и к КПД этой вашей печки есть вопросики...


        1. gliderman Автор
          03.05.2026 16:55

          Я видел delay - в некритичных местах(настройки), которые не влияют на режим реального времени в полете, если вместо этих задержек пихать что-то другое - код распухнет. Есть еще замечания по делу - чтобы опять же скормить их нейронке? И в продакт в реальное железо на тысячи приборов я бы такое еще не выпустил. Там есть еще что ковырять.

          КПД печки в любом случае зашит в цене. Хотя они могут пока и в убыток работать - все провайдеры нейросетей т.е. Так никто не мешает свой референс поднять.


          1. UFO_01
            03.05.2026 16:55

            Да вот только delay нельзя использовать нигде, ВООБЩЕ нигде потому что это блокирует работу, а они у вас вообще в главном цикле, даже в антидребезге кнопки. Это я так, беглым взглядом пробежал, за код ревью мне так-то зарплату платят, но вы можете попросить нейронку написать хорошо. Да и получается грош цена этому Senior Embedded Avionics если код по нему 8.75/10 но в прод пускать его нельзя, по вашим же словам.

            Да и говорил я не про цены за токены, а про выхлоп системы в таком виде. Если надо держать большое контекстное окно на весь проект, качество генерации снижается. Если же дробить функциональность и обсуждать только её, качество будет выше. Мне казалось это знают все кто прошёл чуть дальше "чатбота на сайтике".


            1. gliderman Автор
              03.05.2026 16:55

              Не стал здесь длинный ответ писать от агента - написал в личку - кратко Delay допустим.


              1. randomsimplenumber
                03.05.2026 16:55

                Конечно допустим. Часть фреймворка wiring, подмножеством которого является api arduino.


              1. UFO_01
                03.05.2026 16:55

                По коду ответил в личку, ещё тут дополню. Если мы пишем код для песочницы, используйте. Если пишем в прод, где важна портируемость (у нас логика отделена от железа, да и мы как бы ардуино используем) полагаться на частные случаи системы решение сомнительное. Лучше использовать явные vTaskDelay, это признак хорошего тона. Но я запомню что delay у esp32 неблокирующий, я-то начинал с uno, уже привык что это блокирующая операция.

                Мой вам совет, код довольно объёмный и тяжеловатый для восприятия, код-ревью делать проблемно, вместо явных переходов сделайте систему событий и попросите нейронку разделить обработку экрана, wifi и основную логику. Растаскивайте простыню по чуть-чуть, если хотите можете держать всё в одном файле, модульность на уровне функций вполне достижима. Для пробы пера пойдёт, но до сеньорского кода как до луны. Резковато конечно получилось, но у меня работа такая, до мелочей цепляться.


                1. randomsimplenumber
                  03.05.2026 16:55

                  vTaskDelay

                  Вот миксовать freertos и arduino точно не нужно. Китайцам можно ;)


                  1. gliderman Автор
                    03.05.2026 16:55

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


                  1. UFO_01
                    03.05.2026 16:55

                    А мы что, хуже китайцев? Кстати, если код распихать по таскам, вместо одного fsm на всех, код будет куда лучше и лаконичнее.


            1. randomsimplenumber
              03.05.2026 16:55

              Да вот только delay нельзя использовать нигде, ВООБЩЕ нигде потому что это блокирует работу

              На самом деле можно. Если осторожно ;). Delay немного умеет в кооперативную многозадачность.


              1. gliderman Автор
                03.05.2026 16:55

                Уже запушил точечные доработки. За критику благодарен. Я хотел такие замечания сам писать агенту - а тут не пришлось, комментаторы помогли.


  1. MagicMight
    03.05.2026 16:55

    Я себе пишу вариометр тоже, на 90% вайбкода. Разве что в алгоритмах от себя отвожу душу) Но меня вымораживает работа с баззером, я скину это на иишку, пожалуй

    пс Автор, на чем летаешь?)


    1. randomsimplenumber
      03.05.2026 16:55

      работа с баззером

      Пищалка? О_о Чего там работать? Или вы 3 голосую полифонию на ардуино строите?


    1. gliderman Автор
      03.05.2026 16:55

      Давинчи Танго