Автор: Денис Аветисян
Исследование показывает, как можно значительно повысить надежность разработки встраиваемых и IoT-систем, используя ИИ, обученный конкретным практическим навыкам.

Интеграция кратких, экспертных ‘навыков’ в большие языковые модели значительно улучшает производительность и надежность в аппаратных циклах тестирования.
Несмотря на успехи больших языковых моделей (LLM) в автоматизации разработки программного обеспечения, их применение к аппаратно-зависимым системам, таким как встраиваемые и IoT-устройства, остается сложной задачей из-за тесной связи между кодом и физическим окружением. В работе ‘Skilled AI Agents for Embedded and IoT Systems Development’ представлен основанный на навыках подход к разработке встраиваемых систем, а также бенчмарк IoT-SkillsBench для оценки эффективности ИИ-агентов в реальных условиях. Показано, что интеграция лаконичных, экспертных “навыков” — структурированных знаний о процедурах — значительно повышает надежность и успешность выполнения задач на различных аппаратных платформах. Какие перспективы открываются для создания самообучающихся агентов, способных самостоятельно осваивать и применять необходимые навыки для разработки сложных встраиваемых систем?
Растущая сложность встраиваемых систем
Современные встраиваемые системы предъявляют всё более высокие требования к сложности программного обеспечения, что заставляет традиционные методы разработки достигать своих пределов. Если раньше создание ПО для таких систем сводилось к относительно простым алгоритмам, то теперь необходимо учитывать многопоточность, взаимодействие с разнообразными периферийными устройствами и соблюдение строгих требований к времени отклика. Это требует применения новых парадигм программирования, таких как объектно-ориентированное программирование, компонентно-ориентированная разработка и использование специализированных сред разработки, способных эффективно управлять сложностью и обеспечивать надежность и безопасность программного обеспечения. В частности, всё большее значение приобретают методы формальной верификации и тестирования, позволяющие гарантировать корректность работы системы в различных условиях и предотвратить возникновение критических ошибок.
Распространение аппаратных средств и возрастающие требования к оперативности работы создают серьезные трудности для разработчиков встраиваемых систем. Современные устройства, от бытовой техники до сложного промышленного оборудования, содержат всё большее количество компонентов, что усложняет процесс интеграции и отладки. Одновременно с этим, многие приложения, особенно в критически важных областях, требуют мгновенного отклика и точного соблюдения временных ограничений. Это означает, что разработчики должны не только эффективно управлять ресурсами оборудования, но и оптимизировать программный код для достижения максимальной производительности в условиях жестких временных рамок. Решение этих задач требует применения специализированных инструментов, глубоких знаний архитектуры систем и умения находить компромиссы между функциональностью, надежностью и скоростью работы.
Агентные системы: новый подход к автоматизации
Агентные системы представляют собой перспективное решение для автоматизации задач, ранее выполнявшихся разработчиками. В отличие от традиционных систем автоматизации, ориентированных на выполнение заранее определенных сценариев, агентные системы способны к более гибкому и адаптивному подходу, самостоятельно планируя и выполняя сложные операции. Это достигается за счет использования модульных компонентов, называемых «навыками», которые представляют собой структурированные знания о конкретных процедурах. Автоматизация посредством агентных систем позволяет существенно повысить производительность разработки, снизить количество ошибок и освободить человеческие ресурсы для решения более творческих и сложных задач. В настоящее время агентные системы активно исследуются и применяются в различных областях, включая генерацию кода, тестирование программного обеспечения и автоматизацию DevOps-процессов.
Агентные системы повышают качество и эффективность генерации кода за счет использования “навыков” — структурированных процедурных знаний. Эти навыки представляют собой формализованные наборы инструкций и правил, определяющих последовательность действий для решения конкретных задач кодирования. В отличие от традиционных подходов, где логика кодирования жестко задана, навыки позволяют агентивным системам адаптироваться к различным требованиям и контекстам, динамически комбинируя и применяя отдельные процедуры. Структурирование знаний в форме навыков обеспечивает возможность повторного использования, масштабируемости и упрощает процесс верификации и отладки генерируемого кода, что в конечном итоге приводит к повышению надежности и производительности автоматизированной разработки.
Эффективность агентивных систем напрямую зависит от качества и точности используемых ими навыков (skills). Навыки, представляющие собой структурированные процедурные знания, определяют способность системы успешно решать поставленные задачи. Недостаточная детализация, неточности или устаревшие данные в навыках приводят к снижению производительности, ошибкам в генерируемом коде и, как следствие, к необходимости ручной коррекции. Поэтому, разработка, валидация и постоянное обновление навыков являются критически важными этапами при внедрении и эксплуатации агентивных систем. Особенно важно обеспечить соответствие навыков конкретным доменным задачам и стандартам кодирования.
IoT-SkillsBench: проверка производительности агентных систем
IoT-SkillsBench представляет собой специализированный эталонный набор тестов, разработанный для оценки производительности агентивных систем в контексте разработки встраиваемых систем и Интернета вещей. В отличие от общих бенчмарков, IoT-SkillsBench фокусируется на задачах, характерных для аппаратной и программной разработки IoT, таких как конфигурирование микроконтроллеров, работа с периферийными устройствами и отладка низкоуровневого кода. Эталон предназначен для количественной оценки способности агентивных систем автономно выполнять сложные задачи разработки, требующие знания аппаратной части и специфики различных платформ, включая ATmega2560/Arduino, ESP32/ESP-IDF и nRF52840/Zephyr.
Аппаратная валидация является критически важным этапом разработки встраиваемых систем, требующим глубоких знаний о конкретном оборудовании и его взаимодействии. Этот процесс включает в себя проверку правильности функционирования аппаратных компонентов, подтверждение соответствия спецификациям и обеспечение надежности системы в различных условиях эксплуатации. В отличие от программной части, ошибки в аппаратной валидации могут привести к физическим повреждениям оборудования или некорректной работе всей системы, что делает этот этап особенно важным для обеспечения качества и безопасности конечного продукта. Для успешной аппаратной валидации необходимы специализированные инструменты и навыки, позволяющие эффективно выявлять и устранять дефекты на ранних стадиях разработки.
Для оценки производительности агентов в IoT-SkillsBench используются ключевые показатели, такие как Pass@1 и Pass@5, отражающие долю успешно выполненных задач с первой и пятой попытки соответственно. Проведенная оценка показала, что использование лаконичных, экспертных навыков позволило достичь почти идеального успеха в решении задач (41/42 или 42/42 решенных задач) на различных платформах. Данный результат указывает на высокую эффективность экспертных навыков в контексте разработки встроенных и IoT-систем.
В ходе тестирования базового уровня производительности, не использующего навыки (no-skills baseline), на платформе ATmega2560/Arduino удалось успешно выполнить все 42 задачи. Однако, на ESP32/ESP-IDF и nRF52840/Zephyr показатели значительно снизились, составив 31 из 42 и 28 из 42 успешно выполненных задач соответственно. Данные результаты демонстрируют зависимость производительности базового уровня от конкретной аппаратной платформы и используемого стека разработки.

Роль навыков: экспертные знания против генерации LLM
Разработка навыков, осуществляемая опытными инженерами в области встраиваемых систем, обеспечивает высокую точность и надежность получаемых знаний. Эти специалисты, обладая глубоким пониманием аппаратной и программной части, способны создавать эффективные решения, адаптированные к специфическим требованиям конкретных задач. Такой подход гарантирует не только корректную функциональность, но и оптимальную производительность, а также предсказуемое поведение системы в различных условиях эксплуатации. В отличие от автоматизированных методов, основанных на обработке больших объемов данных, экспертиза квалифицированных инженеров позволяет учитывать нюансы и тонкости, которые могут быть упущены алгоритмами машинного обучения, что особенно важно для критически важных приложений.
В качестве альтернативы, навыки для встраиваемых систем могут быть созданы с использованием больших языковых моделей (LLM-Generated Skills), что обеспечивает значительную масштабируемость процесса разработки. Однако, в отличие от навыков, разработанных опытными инженерами, синтезированные LLM-моделями навыки потенциально могут содержать неточности, влияющие на надежность и корректность работы системы. Несмотря на удобство и быстроту генерации, необходимо тщательно проверять и валидировать LLM-сгенерированный код, чтобы гарантировать его соответствие требованиям безопасности и функциональности, особенно в критически важных приложениях, где даже небольшие ошибки могут привести к серьезным последствиям.
Исследования показали существенные различия в эффективности выполнения задач между навыками, созданными опытными инженерами-разработчиками встраиваемых систем, и навыками, сгенерированными большими языковыми моделями. В то время как навыки, разработанные экспертами, демонстрировали практически безошибочное выполнение — успешное завершение 41 из 42 или даже 42 из 42 задач — навыки, сгенерированные языковыми моделями, показали переменную производительность. Особенно заметна разница на платформах ESP32/ESP-IDF и nRF52840/Zephyr, где LLM-Generated skills успешно справлялись лишь с 27 и 28 задачами соответственно из 42. На платформе ATmega2560/Arduino, однако, LLM-Generated skills достигли сопоставимой эффективности — 41/42 — что указывает на зависимость производительности LLM от конкретной аппаратной и программной среды.
Эффективность навыков, созданных с помощью больших языковых моделей, напрямую зависит от объема используемых токенов, что влияет на стоимость и скорость работы. Исследования показали, что для навыков, разработанных опытными инженерами встраиваемых систем, потребление входных токенов варьируется от 650 до 2900, а выходных — от 1700 до 4600 токенов на задачу. Такой уровень потребления демонстрирует высокую эффективность и экономичность процесса разработки. В отличие от этого, для навыков, сгенерированных языковыми моделями, аналогичные показатели могут быть значительно выше, что приводит к увеличению затрат и снижению производительности, особенно при работе со сложными задачами и платформами.

Фундаментальные технологии: взаимодействие с оборудованием и поддержка ОС
Для эффективной работы автономных агентов критически важна бесшовная интеграция с аппаратным обеспечением. Взаимодействие осуществляется посредством стандартных протоколов, таких как I2C, SPI и GPIO, которые позволяют агентам получать данные от сенсоров, управлять исполнительными механизмами и обмениваться информацией с другими устройствами. Протокол I2C, например, обеспечивает двухпроводную связь для управления периферийными устройствами, в то время как SPI обеспечивает высокоскоростной обмен данными. GPIO (General Purpose Input/Output) позволяет агенту напрямую управлять цифровыми сигналами, контролируя состояние различных компонентов. Эффективное использование этих протоколов является основой для создания надежных и отзывчивых автономных систем, способных адаптироваться к изменяющимся условиям окружающей среды и выполнять поставленные задачи.
Для разработки встраиваемых систем необходима надежная основа, которую обеспечивают операционные системы реального времени, такие как Zephyr Project, и популярные фреймворки, включая ESP-IDF и Arduino Framework. Zephyr Project, отличающийся масштабируемостью и поддержкой широкого спектра аппаратных платформ, предоставляет инструменты для управления ресурсами и обеспечения многозадачности. В свою очередь, ESP-IDF, ориентированный на чипы ESP32, и Arduino Framework, известный своей простотой и обширным сообществом, позволяют быстро прототипировать и развертывать приложения. Эти платформы предоставляют абстракции от низкоуровневого аппаратного обеспечения, упрощая процесс разработки и позволяя разработчикам сосредоточиться на логике приложения, а не на деталях взаимодействия с железом.
В рамках проекта Zephyr ключевую роль играет структура данных Devicetree, представляющая собой декларативный способ описания аппаратной конфигурации системы. Этот подход позволяет отделить описание аппаратного обеспечения от программного кода, значительно упрощая процесс портирования и адаптации программного обеспечения к различным аппаратным платформам. Devicetree описывает все компоненты системы — от процессоров и памяти до периферийных устройств и их взаимосвязей — в виде древовидной структуры. Использование Devicetree обеспечивает гибкость и масштабируемость, позволяя легко добавлять или удалять компоненты, а также конфигурировать их параметры без необходимости изменения исходного кода. Таким образом, Devicetree является основой для создания переносимых и адаптируемых агентных систем, способных эффективно взаимодействовать с широким спектром аппаратных решений.
Дальнейшие исследования в области агентных систем направлены на оптимизацию их взаимодействия с конкретными аппаратными платформами и протоколами связи. Это предполагает не только повышение эффективности использования ресурсов, таких как процессорное время и энергопотребление, но и адаптацию алгоритмов к особенностям различных микроконтроллеров и периферийных устройств. Особое внимание уделяется разработке специализированных драйверов и библиотек, позволяющих агентам эффективно использовать протоколы I2C, SPI и GPIO, а также оптимизации структуры данных, например, Devicetree, для ускорения доступа к информации об аппаратной конфигурации. Цель — создание гибких и высокопроизводительных агентных систем, способных эффективно функционировать в широком спектре встраиваемых устройств и приложений.
Исследование демонстрирует, что надежная разработка встраиваемых систем требует не только мощных языковых моделей, но и четко структурированных, практических навыков. Авторы подчеркивают важность ‘навыков’ — дистиллированных знаний о процедурах, которые позволяют агентам успешно функционировать в цикле аппаратного тестирования. Это согласуется с принципом, высказанным Брайаном Керниганом: «Простота — ключ к надежности». Сложные решения, даже основанные на передовых технологиях, часто оказываются хрупкими. Именно поэтому акцент на простых, хорошо определенных навыках, как показано в работе, значительно повышает надежность и предсказуемость агентов, работающих с встраиваемыми системами и IoT-устройствами.
Куда Дальше?
Представленная работа демонстрирует, что простое увеличение масштаба языковых моделей не гарантирует надёжной разработки встраиваемых систем. Напротив, введение чётко структурированных, компактных “навыков”, представляющих собой дистиллированные знания экспертов, оказывается существенно эффективнее. Это заставляет задуматься: оптимизируем ли мы действительно решение задачи, или лишь совершенствуем инструменты для её приблизительного подхода? Полагаться исключительно на статистические закономерности, выученные моделью из огромного объёма данных, — это, возможно, элегантное, но не всегда надёжное решение.
Очевидным направлением дальнейших исследований представляется разработка более формализованных способов представления и верификации этих “навыков”. Необходимо исследовать, как можно комбинировать различные навыки, как разрешать конфликты между ними и как обеспечить их согласованность в динамически меняющейся среде. Простота — это не минимализм, а ясное разграничение необходимого и случайного. Сложность встраиваемых систем требует не усложнения моделей, а изящной организации знаний.
В конечном счёте, задача состоит не в создании универсального “ИИ-разработчика”, а в построении системы, где языковые модели выступают в качестве интеллектуальных помощников, дополняющих и усиливающих возможности человека. Структура определяет поведение — и именно структура знаний, а не её объём, будет определять успех в этой области.
Оригинал статьи: https://arxiv.org/pdf/2603.19583.pdf
Связаться с автором: https://www.linkedin.com/in/avetisyan/
Смотрите также:
- Отражения культуры: Как языковые модели рассказывают истории
- Укрощение Бесконечности: Алгебраические Инструменты для Кватернионов и За их Пределами
- Самообучающиеся агенты: новый подход к автономным системам
- Квантовые хроники: Последние новости в области квантовых исследований и разработки.
- Взлом языковых моделей: эволюция атак, а не подсказок
- Искусственный интеллект, который знает, когда ему нужна подсказка
- Эволюция Симуляций: От Агентов к Сложным Социальным Системам
- Третья Разновидность ИИ: Как модели, думающие «про себя», оставят позади GPT и CoT
- Визуальный след: Сжатие рассуждений для мощных языковых моделей
- Робот-манипулятор: обучение взаимодействию с миром с помощью зрения от первого лица
2026-03-23 22:08