AI Bench Automation
Обычно, когда говорят про AI в инженерии, имеют в виду довольно скромный набор вещей: помочь с кодом, объяснить документацию, подсказать гипотезу, накидать архитектуру. Всё это полезно, но всё ещё остаётся по одну сторону экрана. Настоящий перелом начинается в тот момент, когда агент получает доступ не только к тексту проекта, но и к самой лабораторной среде: к прошивке, к программатору, к helper-плате, к логическому анализатору и к живому устройству на столе.
Вот тогда разговор заканчивается, и начинается работа.
В чём здесь главный смысл
Ценность такого стенда не в том, что AI один раз может:
- собрать проект;
- прошить микроконтроллер;
- нажать условную кнопку;
- снять лог по UART или SPI.
Это уже само по себе удобно, но по-настоящему интересно другое: агент получает возможность работать циклически. Не как “советчик на один запуск”, а как инженер, который может много раз подряд повторять один и тот же лабораторный цикл, наблюдать результат и шаг за шагом дожимать систему.
Именно это превращает AI из инструмента для текста в инструмент для доводки реального железа.
Что такое “циклическая работа” в реальности
Если говорить простыми словами, то речь идёт о таком режиме:
- агент читает контекст проекта и текущую логику прошивки;
- вносит изменение в код;
- собирает и шьёт устройство;
- переводит устройство в нужный режим через helper-плату;
- запускает захват на логическом анализаторе;
- получает реальный обмен по UART, SPI и GPIO;
- сравнивает текущее поведение с прошлым прогоном;
- корректирует параметры;
- повторяет цикл снова.
Не один раз. Столько, сколько нужно.
И вот в этот момент появляется новая возможность: не просто “что-то проверить”, а методично улучшать качество работы устройства, пока результат не выйдет на нужный уровень.
Почему это особенно сильно для embedded и радиосистем
В обычной программной разработке многие вещи можно проверить тестами или симуляцией. В embedded, особенно если речь идёт о сигналах, радиотракте, адаптивных алгоритмах, нестабильных внешних условиях или чувствительности приёма, всё становится гораздо жёстче.
Там мало написать красивую логику. Нужно увидеть:
- как реально меняются тайминги;
- как реагируют GPIO-линии;
- что на самом деле идёт по UART или SPI;
- как система держится на слабом сигнале;
- как быстро она адаптируется;
- где начинаются ложные срабатывания;
- где поведение уже хорошее, а где ещё сырой компромисс.
В таких задачах главный ресурс — это не просто “умение программировать”, а способность много раз прогонять один и тот же физический эксперимент, каждый раз с немного лучшей гипотезой.
И вот именно этот кусок работы обычно очень дорогой по времени.
Что именно стало возможным
В этой конфигурации локальный агент в Codex app на Windows умеет не только писать код, но и участвовать в реальном bench-цикле.
Он может:
- работать с локальными файлами проекта;
- использовать shell и developer-инструменты на рабочей машине;
- собирать и прошивать STM32-проекты в Keil;
- управлять helper-платой по UART;
- запускать Saleae Logic 2 через MCP как управляемый прибор;
- ставить marker-события перед действием;
- читать живые данные с линий;
- анализировать результаты и запускать следующую итерацию.
То есть агент уже не просто объясняет, “что, вероятно, происходит”, а наблюдает, что произошло на самом деле.
Что здесь за инструменты
Codex app
Здесь важен не просто сам факт использования модели GPT. Важна среда. Codex app на Windows даёт агенту доступ к локальной рабочей машине: к shell, к проектам, к сборке, к внешним утилитам и к подключённым инструментам.
Именно из-за этого агент перестаёт быть только интерфейсом вопрос-ответ и превращается в участника процесса.
Keil
Keil — это среда разработки для ARM-микроконтроллеров, в которой собираются реальные прошивки под STM32. Для embedded-инженера это обычная рабочая среда, где проект превращается не в абстрактный бинарник, а в код, который реально заливается в устройство.
Важно то, что агент работает не с учебным примером, а с настоящими боевыми проектами, которые дальше идут в железо.
Saleae Logic 2
Saleae Logic 2 — это программа для логического анализатора. Логический анализатор — это прибор, который смотрит на цифровые сигналы в проводах и показывает, что реально происходило на линии: какие были импульсы, какие байты прошли по UART, что происходило на SPI, кто когда переключался.
Обычно человек вручную запускает захват и сам глазами ищет интересный момент. В нашем случае анализатор встроен в автоматизированный цикл: агент может запустить capture, подать marker, получить сырой захват и затем разбирать его уже как данные.
MCP
MCP здесь нужен как мост между агентом и Logic 2. Благодаря ему анализатор становится не просто GUI-приложением, а управляемым инструментом. Это критически важно: без этого пришлось бы снова возвращаться к полу-ручному режиму.
USB-TTL и helper-плата
USB-TTL — это простой адаптер, который позволяет общаться с микроконтроллером через обычный UART как через COM-порт. Через него агент управляет helper-платой.
Сама helper-плата — это небольшой отдельный STM32F030-контроллер, который выполняет роль физического исполнителя:
- даёт импульсы на нужные линии;
- имитирует нажатия;
- выставляет marker для Saleae;
- переключает дополнительные сервисные выходы.
Иными словами, helper-плата — это маленькая физическая рука агента.
Почему здесь использовалась именно STM32F030
STM32F030 здесь важна не потому, что это какой-то “лучший в мире микроконтроллер”, а потому, что это уже знакомая, освоенная и рабочая платформа.
Под “знакомой” в данном случае имеется в виду очень практичная вещь:
- под этот микроконтроллер уже есть реальные проекты;
- уже понятна схема питания и включения;
- уже известны особенности UART, таймеров, GPIO и сна;
- уже есть рабочая привычка писать под него код;
- уже есть живые платы, которые можно использовать сразу, без отдельной новой экосистемы.
Поэтому здесь победил не более “красивый” путь через тяжёлую dev-board и сложный USB stack, а гораздо более зрелый инженерный выбор: взять знакомую STM32F030-платформу и превратить её в компактный helper-инструмент для bench automation.
Почему это ощущается как будущее
Потому что раньше физический цикл разработки выглядел так:
- инженер меняет код;
- инженер шьёт плату;
- инженер запускает анализатор;
- инженер руками переводит устройство в нужный режим;
- инженер пытается глазами поймать важный момент;
- инженер потом вручную сопоставляет импульсы, байты и поведение устройства.
Теперь этот цикл может выглядеть по-другому:
- агент читает проект;
- агент меняет логику;
- агент шьёт устройство;
- агент запускает анализатор;
- helper-плата даёт физическое действие и marker;
- агент получает реальный цифровой след реакции устройства;
- агент корректирует следующую итерацию.
Это и есть тот момент, когда AI перестаёт быть “умной клавиатурой” и начинает становиться частью инженерного цикла.
Самое интересное: дело не в одной прошивке, а в целой серии итераций
Особенно хорошо это видно на задачах, где нельзя просто сказать “прошивка работает” или “не работает”. Например:
- адаптивный приём;
- подстройка чувствительности;
- выбор порога детекции;
- баланс между скоростью реакции и устойчивостью;
- работа при слабом или нестабильном внешнем сигнале;
- анализ ложных срабатываний;
- доводка алгоритма удержания сигнала.
В такой задаче мало выполнить один удачный запуск. Нужно пройти десятки маленьких итераций, где каждая следующая версия становится чуть лучше предыдущей.
Именно здесь такой стенд начинает раскрывать свою настоящую силу.
Если у системы есть понятный внешний источник сигнала и воспроизводимая схема эксперимента, агент может сидеть в этом цикле столько, сколько потребуется:
- менять параметры;
- снова шить;
- снова запускать прогон;
- снова снимать результат;
- снова сравнивать поведение;
- снова улучшать алгоритм.
Не в смысле “вечной магии”, а в смысле реальной инженерной итерации до тех пор, пока качество не выйдет на нужный уровень.
Из чего состоит этот стенд
Целевой STM32-проект
Это обычная рабочая прошивка, живущая в Keil.
Helper-плата на STM32F030
Отдельный минимальный исполнительный контроллер для физических действий и marker-сигналов.
Saleae Logic 2
Управляемый логический анализатор, который фиксирует, что реально происходит на линиях.
Codex app
Среда, в которой агент может склеить всё перечисленное в единый рабочий цикл.
Что уже было подтверждено живьём
На этом стенде уже были реально подтверждены:
- сборка и прошивка STM32-проектов;
- работа helper-платы через
USB-TTL; - генерация marker и action-импульсов;
- запуск захватов в Saleae Logic 2 через MCP;
- считывание и декодирование живых UART-данных;
- сопоставление прошивки, действия и сигнального результата в одном цикле.
Это важно подчеркнуть отдельно: речь идёт не о концепте, а о реально работающем лабораторном инструменте.
Что в этом особенно ценно
Самое ценное здесь не конкретная плата, не конкретный программатор и даже не конкретный анализатор.
Самое ценное — это новый способ работы:
- агент не оторван от железа;
- анализатор не отделён от прошивки;
- helper-плата не просто мигает выходами, а становится частью сценария;
- человек перестаёт быть единственным мостом между кодом и физическим устройством.
Не “AI помогает писать код”, а:
AI начинает участвовать в живом embedded-цикле от гипотезы до физически измеримого результата.
Почему всё это сделали именно так, а не “красивее”
Потому что в реальной лабораторной практике побеждают не самые академичные решения, а самые живучие.
Можно было строить громоздкую архитектуру, сложный USB stack, абстрактный framework и тяжёлую dev-board-систему. Но по факту победил более зрелый вариант:
- знакомая STM32F030-платформа;
- компактный helper-runtime;
- обычный
UART; - несколько полезных линий;
- логический анализатор;
- понятный bench workflow.
Выглядит это скромно. В работе — очень мощно.
Зачем это всё дальше
Потому что один раз собранный такой цикл потом начинает работать не на одном устройстве, а на целом классе проектов.
Если новый проект тоже живёт на STM32, имеет кнопку, сигнальные пины, UART или SPI и требует живой доводки поведения, то уже не нужно каждый раз изобретать лабораторию заново. Агенту достаточно дать:
- путь к проекту;
- контекст helper-платы;
- контекст Saleae;
- конкретную инженерную цель.
И дальше он может входить в процесс не как “консультант”, а как участник итерационной доводки.
Короткий итог
Это не история про то, как AI красиво пишет код.
Это история про то, как AI начинает работать с реальным устройством в одной цепочке с прошивкой, анализатором, сигналами и физическим экспериментом.
И когда один раз видишь, что агент действительно может не только советовать, но и участвовать в реальном цикле доводки железа, становится понятно: это уже не просто удобный инструмент. Это реально наступивший кусок будущего.