55.6%.
これは、タスクの説明と一緒に回路図を与えたときのEmbedBenchにおけるDeepSeek-R1のpass@1です。回路図なしでは50.0%。組み込みシステム開発におけるLLMの最初の総合ベンチマークで、最良の推論モデルの中での最高スコアです。ESP-IDFへのクロスプラットフォーム移植は29.4%までで、Claude 3.7 Sonnet(Thinking)によって記録されています。
ちょっと立ち止まって考えてみてください。Next.jsのアプリをワンショットで通してしまうのと同じモデルが、ファームウェアではコイン投げ同然です。そしてベンチマークがテストしたのは3枚のボードだけです。
この1,553という数字は、この投稿が書かれた当日に、PlatformIO Core 6.1.18に対してpio boards --json-outputで取得した現在のカウントで、PlatformIO-MCPはそのカタログを直接包み込みます。つまり「1,553枚のボード」というのは、今日npxでインストールでき、そこに挙げられたどれに対してもビルド・書き込み(フラッシュ)・監視ができるMCPサーバーのことです。
EmbedBenchが実際に測っているもの
EmbedAgent(Wang et al., 2025)が論文です。EmbedBenchがベンチマークです。126ケース、9種類の電子部品、3つのハードウェアプラットフォーム――Arduino Uno、ESP32、Raspberry Pi Pico。著者らは、実際の組み込みエンジニアが担う3つの役割にわたってLLMを評価します。Programmer(回路図を元にコードを書く)、Architect(タスク説明から回路とコードを設計する)、Integrator(動作するコードをあるプラットフォームから別のプラットフォームへ移植する)。スコアリングはWokwiの仮想回路シミュレータに対するpass@1です。テストは通るか、通らないかのどちらかです。
手法は妥当です。シミュレータは決定論的で、ハーネスは自動化されており、この指標は段階的な部分点の余地を一切残しません。だから数字は本物です。ただし、組み込みエンジニアにとって論文を書いている人たちよりも重要な意味で、数字は不完全です。
ハーネスが見られないもの
EmbedBenchはシミュレータでのワンショットです。モデルはタスクを1回だけ受け取り、答えも1回だけ書きます。コンパイラエラーがフィードバックされることはなく、モデルが読む・反応するためのerror: 'GPIO_NUM_45' was not declared in this scopeのようなものもありません。実機ボードへのフラッシュもなく、LEDが想定したレートで実際に点滅したことを確認するシリアルモニタもありません。Architectの役割は、ピンの割り当てが間違った回路を返しても、テストが失敗するまでそれに気づけません。
しかし、誰もそのようにしてファームウェアを書きません。組み込み開発は反復です。コンパイルして、ツールチェーンのノイズを読み、足りないインクルードを直し、フラッシュして、シリアルログを見て、ボーレートを変え、タイマISRのオフバイワンを直し、もう一度フラッシュします。このベンチマークはコールドスタート時の推測を測り、それをループ全体だと言わんばかりに報告します。
論文自身の失敗パターンも、このことを裏づけています。7セグ表示は、電圧レベルとセグメントの対応付けを間違えたために失敗しました。プッシュボタンも、デバウンスを扱えなかったために失敗しました。ESP-IDFの移行も、学習でほとんど見たことがないはずのフレームワークに対する構文を幻覚ででっち上げたために失敗しました。これらの失敗はすべて、ビルド、フラッシュ、シリアル出力といったものが2回目か3回目の反復で確実に拾えるタイプのものです。
実際のループで何が変わるか
ここが、PlatformIO-MCPが物語の穴を埋める部分です。MCPサーバーは、反復を可能にする4つのツールをエージェントに渡します。プロジェクトをビルドできる、バイナリをボードへ書き込める、シリアルラインを監視できる、そもそもどのボードが接続されているかを尋ねられる、です。これらのツールはESP-IDFや7セグの電圧テーブルに関する根本的な知識ギャップを埋めるわけではありませんが、解決するのは「フィードバック信号がない」という不在です。3回目の試行で出荷できるモデルは、毎回必ず1回目の試行で完璧にできるモデルより勝ちます。違いはループにあります。
セキュアな顧客サイドの方へのメモ
これらのプラットフォーム向けにファームウェアを書くチームは、たいてい同じで、セキュリティ要件が厳しいチームです。防衛、航空宇宙、医療、産業。MCP+ローカル推論+オープンソースのエージェント+オンプレミスのPlatformIOツールチェーンは、これらの環境に対して基準をクリアするスタックです。ベンチマークの数値と導入(デプロイ)のストーリーは、結局は同じ会話になります。
ループを試してみる
npx pio-mcp dashboard
platformio-mcpはnpmにあります。リポジトリはgithub.com/jl-codes/platformio-mcpです。ワンコマンド、実機ボード、そしてベンチマークが測っていなかった“フィードバックループ”をそのまま。もしエージェントをESP32やSTM32に対して動かしていて、共有できるデータがあるならXでDMしてください。






