55.6% 문제: 최첨단 LLM이 임베디드 코드에서 실패하는 이유
Source: Dev.to
Overview
55.6% – DeepSeek‑R1이 EmbedBench에서 회로도와 작업 설명을 함께 받을 때 pass@1 점수이며 (회로도 없이 50.0%). 이는 임베디드 시스템 개발을 위한 첫 번째 포괄적인 벤치마크에서 최고의 추론 모델이 기록한 최고 점수다. ESP‑IDF로의 크로스‑플랫폼 마이그레이션 최고 점수는 Claude 3.7 Sonnet (Thinking)이 기록한 29.4%이다.
Next.js 앱을 한 번에 만들 수 있는 모델들이 펌웨어에 대해서는 동전 던지기 수준이며, 벤치마크는 세 개 보드만 테스트했다.
The Scope of EmbedBench
- Boards catalog: 1,553 보드 (이 글이 작성된 날 PlatformIO Core 6.1.18을 사용해
pio boards --json-output으로 얻은 실시간 카운트). PlatformIO‑MCP가 이 카탈로그를 직접 래핑하므로 “1,553 보드”는 오늘npx‑install로 설치할 수 있는 MCP 서버가 모든 보드를 빌드, 플래시, 모니터링할 수 있음을 의미한다. - Paper: EmbedAgent (Wang et al., 2025).
- Benchmark: EmbedBench – 126 케이스, 9개의 전자 부품, 3개의 하드웨어 플랫폼 (Arduino Uno, ESP32, Raspberry Pi Pico).
- Roles evaluated:
- Programmer – 회로도를 보고 코드를 작성한다.
- Architect – 작업 설명만으로 회로와 코드를 설계한다.
- Integrator – 동작하는 코드를 한 플랫폼에서 다른 플랫폼으로 포팅한다.
- Metric: Wokwi 가상 회로 시뮬레이터를 기준으로 한 pass@1 (이진 통과/실패, 부분 점수 없음).
방법론은 타당하다: 시뮬레이터는 결정적이며, 테스트 하네스는 자동화돼 있고, 메트릭은 여유가 없다. 숫자는 실제이지만, 임베디드 엔지니어에게는 논문 저자보다 더 중요한 부분이 빠져 있다.
Limitations of the Benchmark
- Single‑shot only – 모델이 작업을 한 번만 받고 하나의 답변만 만든다.
- No iterative feedback – 컴파일러 오류, “GPIO_NUM_45가 선언되지 않음” 같은 메시지, 실제 보드에 플래시, LED 동작을 확인하는 시리얼 모니터가 전혀 제공되지 않는다.
- Architect role can hide pin‑mapping errors – 회로가 잘못돼도 테스트는 마지막에만 실패하고, 수정할 기회가 주어지지 않는다.
실제 펌웨어 개발에서는 다음과 같이 반복한다:
- 컴파일 → 툴체인 노이즈 확인 → include 수정.
- 플래시 → 시리얼 로그 확인 → 보드레이트 조정.
- 오프‑바이‑원 타이머 ISR 수정 → 다시 플래시.
벤치마크는 차가운 시작 추측만을 측정하고 이를 전체 루프인 것처럼 보고한다.
Observed Failure Modes
- 7‑segment displays – 전압 레벨과 세그먼트 매핑이 잘못됐다.
- Push buttons – 디바운스 처리가 누락됐다.
- ESP‑IDF migration – 학습 데이터에 거의 없던 프레임워크에 대해 환상적인 구문을 만들어냈다.
이러한 실패는 두 번째 혹은 세 번째 반복에서 빌드, 플래시, 시리얼 출력 사이클을 통해 잡히게 된다.
Closing the Loop with PlatformIO‑MCP
MCP 서버는 반복을 가능하게 하는 네 가지 도구를 제공한다:
- Build 프로젝트를 빌드한다.
- Push 바이너리를 보드에 올린다.
- Watch 시리얼 라인을 관찰한다.
- Query 연결된 보드를 조회한다.
이 도구들이 ESP‑IDF나 7‑segment 전압 테이블에 대한 근본적인 지식 격차를 메우지는 않지만, 필수적인 피드백 신호를 제공한다. 세 번째 시도에 성공한 모델이 첫 번째에 완벽히 맞춘 모델보다 항상 우수하다. 루프가 차이를 만든다.
방위, 항공우주, 의료, 산업용 애플리케이션을 위한 펌웨어를 개발하는 팀은 종종 엄격한 보안 요구사항을 갖는다. 다음과 같은 온‑프레미스 스택은:
- PlatformIO‑MCP (npm 패키지)
- Local inference
- Open‑source agent
벤치마크와 실제 배포 사이의 격차를 메우는 규정 준수 솔루션을 제공한다.
npx pio-mcp dashboard
platformio-mcp는 npm에 있으며, 저장소는 . 하나의 명령으로 실제 보드와 벤치마크가 놓친 전체 피드백 루프를 얻을 수 있다.
ESP32나 STM32에 에이전트를 실행해 본 경험이 있고 데이터를 공유하고 싶다면, X에서 DM을 보내 주세요.