[Samsung Electronics] 家電製品のMCUファームウェアをAIが100%開発するシナリオは可能か
(techblog.samsung.com)タイトル: 家電製品のMCUファームウェアをAIが100%開発するシナリオは可能か
原文: Samsung Tech Blog - https://techblog.samsung.com/blog/article/90
-
Samsung Electronicsは「ハーネス・エンジニアリング(Harness Engineering)」を家電製品(レンジフード)のMCUファームウェア開発に適用し、人のコーディング介入なしにAIエージェントが計画・実装・検証を自律的に繰り返しながらファームウェアを100%作成できるかを検証した
-
ここでいう「ハーネス」とは、モデル自体をより賢くすることではなく、AIが意図した結果を出せるように作業環境(必要情報、禁止事項、自己検証ループ、フォルダ構成、仕様書、コーディング標準、ビルド/リンタ)を設計すること。開発者の役割は「コード作成者」から「仕様およびハーネス設計者」へと移行する
-
核心原則は「AIが確認できない仕様は存在しない仕様」。文書化されていない要求事項は実装基準にも検証基準にもなれず、「存在しない要求事項」と同じである(例: 風量をLow-Mid-HighにするのかOn-Offにするのかが示されていなければ、AIが任意に判断する)。出発点は、レガシー仕様書と開発者の「暗黙知」をAIが活用できる形に体系化する「仕様設計」である
-
散在していた仕様を
docs/フォルダ中心に再編。製品の動作はbehavior/に、設計根拠はdesign/に、ハードウェア構成・初期化情報はhardware/に格納し、通信仕様・ステートマシン・通信プロトコルもそれぞれのフォルダに整理。これにAI作業ルールを含むAGENTS.mdと、レイヤー構造・依存関係ルールを定義したARCHITECTURE.mdを加え、ハーネスの基盤を完成させた。結果として文書が「単一の信頼できる情報源(Single Source of Truth)」の役割を果たす -
仕様/実装/検証の3種類のハーネスに加え、Samsung専用MCU仕様書、MCUデバッガの使い方、220V電源を物理的にオン・オフするUSB Switchなどを「スキル」として提供。SDD/TDD/BDDで実装範囲を制御し、Build/Test/Lintの品質ゲートを通過して初めて次の段階へ進む
-
AUTOPILOTループがZero-Baseコードから開始し、計画・実装・検証を自律的に反復。このとき「生成するエージェント」と「評価/検証するエージェント」を分離し、AIが自分の成果物を甘く評価する状況を防いだ
-
最も難しかった課題は、AIが成果物を「実際のMCU」上で直接確認できる環境を構築すること。検証環境はPC上のCodex AI + JTAGベースのMCUデバッガ + 電源制御用USB Switchで構成され、Codex AIがデバッガとスイッチを制御する。デバッガはMCU状態を直接読み書きし、USB Switchは220V電源をオン・オフして、復旧不能状態でもAIが自らセットを初期化できる
-
AIには製品仕様、プロトコル・パケット情報、MCUデータシート、デバッガ使用法、ソースコード・変数構造、電源On/Off方法を提供。AIは仕様書を分析して「自律的な意志」でテストシナリオを導出し、デバッガで実際のセットにキー入力を注入(メモリWrite)した後、状態値を変数として読み取り(メモリRead)、シナリオごとのPass/Failを自ら判定する。つまり「動作シナリオ + メモリWrite + メモリRead」の3要素が連動したとき、自律型の自動検証が成立する
-
結果: 5回すべてで人の介入なしに自律完成(1回あたり約4.5〜5.5時間)、基本動作の完成度は約95%。不足する約5%は主にHAL(UART、Timer、WatchDog、Clockなど実HW検証領域)で発生し、人が1〜4時間デバッグすれば補完可能
-
開発期間を平均50〜70%短縮できる可能性を確認。ただし、承認/レビュー/リリースを除いた純粋な開発時間ベースのAI推定値であり、初期投資と「人がコードをレビューしなくてもよいレベルの完全な検証基準」の確立が普及に向けた課題となる
まだコメントはありません。