최근 AI를 활용한 코딩의 접근성이 크게 향상되면서 프로그래밍의 진입 장벽이 현저히 낮아졌습니다.
그런데 AI 코딩 관련 논의가 주로 웹이나 앱 개발에 집중되어 있어, 임베디드 분야에서의 AI 코딩 어시스턴트 성능에 대한 정보는 상대적으로 부족한 상황입니다.
이에 임베디드 분야에서 AI의 실제 성능이 궁금하여, 쉽게 구할 수 있는 ESP32 디바이스를 대상으로 다양한 AI 코딩 어시스턴트의 성능을 비교 테스트해 보았습니다.
이번 실험은 일반적으로 많이 다뤄지는 웹이나 앱 개발이 아닌, FreeRTOS를 사용하는 임베디드 환경에서 각 AI 어시스턴트의 성능 차이를 확인하고, 향후 취미 코딩에 적합한 도구를 선정하기 위한 목적으로 진행했습니다.
원래 노션에 정리했던 실험 결과를 블로그에도 공유하니 참고 자료로 활용하시면 좋겠습니다.
참고로 이번 시험은 저번과 비슷한 Phase 1 시험인데 다른 점은 context7 MCP 사용은 물론 테스트 코드를 생성해 테스트하는 로직을 반영해 조금 더 좋은 상황에서 차이를 보기 위해 다시 실험했습니다.
실험 전 내용 공유
구현에 대한 사양서 중 현재 구현 부분만 기록하자면 아래와 같습니다.
. 실제 코딩을 위해 AI에게 제공한 문서는 더 자세하고 다양한 내용을 포함 중
### Phase 1 기본 구현
1. 블루투스 클래식 SPP 구현
- 채널명 : ESP32_SPP_TEST
2. SPP1, SPP2 멀티 SPP 구현
- SPP를 2개의 멀티로 구현되어야 된다.
- SPP1은 SPP_UART 이름으로 구현한다.
- SPP2는 SPP_SPI 이름으로 구현한다.
3. 멀티로 구성되는 SPP는 안전성을 대비한다.
- SPP1을 먼저 초기화 작업을 진행 후
- 500ms 후에 SPP2를 초기화 작업을 진행한다.
4. Dumy Data 전송 구현
두 개로 구성된 SPP는 각각 연결 시 아래와 같은 Data가 Return 된다.
- 동작 주기 : 100 ms
- SPP1 : 14 Byte (A5 18 28 C8 00 11 22 33 44 55 66 77 88 5A)
- SPP2 : 7 Byte (10 10 10 10 10 10 10)
- SPP1과 SPP2는 한번 구성된 COM Port에 고정되어 동작해야 된다.
먼저 연결된 순서대로 SPP가 동작하는 순차 방식은 한개만 연결해야 되는 툴 상황으로 인해 안된다.
처음은 가장 기초가 되는 내용 구현을 맞기는 것으로 가장 쉽게 RTOS에 대한 코딩 어시스트의 성능을 보기 좋지 않을까 합니다.
첫 프롬프트
실제 시험 시 넣는 첫 프롬프트는 아래와 같습니다.
DOC/기본 사양서.md 의 내용을 확인하고 어떻게 구현할지 계획을 세워보자
Phase 1을 구현하려고 하고 있어
무조건 기능 구현은 Step by Step으로 기능 구현(코딩) 이후 컴파일을 통해 빌드에 문제가 없는지 보고, 잠시 수동 테스트를 하는 시간을 갖어야해 그리고 문제가 없다면 다음 Step, 문제가 있다면 문제를 해결하는 방식으로 진행해야되
어쨌든 코드 구현에 있어서는 ESP32 전문가처럼 구현을 해줘
최대한 심플하고 명확한 코드로 구현을 하면 될꺼 같아, 코드에 대해서는 한글로 주석을 꾸준히 적어줘
그리고 구현 시 중요한 건 현재는 단계별로 만드는 거야, 문서에 나온 내용을 다 구현하려는게 아니라 지정한 'Phase' 내용에 대해서만 어떻게 구현할지 계획을 세우고 구현 순서를 잡아줘
계획을 세울때 context7 mcp를 적극 사용해서 계획을 세우면 좋겠어
문서의 Phase 1 구현에 집중해야되
자 그럼 계획을 세워보자!
이후 프롬프트는 코딩 어시스트의 반응에 따라 다르게 수행되었기 때문에 별도 기록하지는 않겠습니다.
참고로 트라이 횟수는 수정을 위한 프롬프트를 넣은 횟수가 아닌 처리 종료 후 ESP32 디바이스로 프로그램의 업로드 횟수 입니다.
즉 자동으로 올려서 테스트하는 것도 카운트 되지 않고, 이제 다 되었다고 멘트 카운트 횟수로 보시는 게 좋습니다.
사용 코딩 어시스트
-
Codex – Plues ($20)
-
Cluade Code – Max 5x ($100)
-
Gemini CLI – free (제한적)
-
Qwen CLI – free (제한적)
-
Github Copilot – pro ($10)
-
Cline
-
Cluade Code (연동)
-
Gemini API – free (한시적)
-
Grok F1 – free (한시적)
-
Github Copilot GPT5 mini (연동)
-
Github Copilot GPT4.1 (연동)
-
code supernova – free (한시적)
-
-
Kilo
-
Cluade Code (연동)
-
Gemini API – free (한시적)
-
Github Copilot GPT5 mini (연동)
-
Github Copilot GPT4.1 (연동)
-
실험 결과
Codex + Gpt 5 Codex Low
– 구현 성공, 1트
- 얼래? 이걸 한방에!? Low 인데????? 심지어 mcp는 쓰지도 않았는데!? ( 이상하게도 Codex는 MCP가 설치가 제대로 안되어서 mcp 사용을 못하고 있음에도 한방 성공!? )
Claude Code (Sonnet4)
– 구현 성공, 2트
- MCP 적극 사용해서 코드를 작성하라고 해서 그런가 결과가 이전이랑 너무 다르게 나왔다. 뭐지!?
Gemini CLI
– 구현 실패, 10트
- MCP를 써서 그런가? 진짜 막힘 없이 쭉 잘 구현되었는데, 마지막에 SPP1과 SPP2 고정 방식이 아니라 순차 동작이 해결이 안되어서 실패 처리
Copilot + Auto
– 구현 성공, 2트
- 생각도 못하게 싱겁게 끝나버렸다. ㄷㄷ
참고로 클로드 소넷4를 썼더라는…
Cline + GPT 5-mini
– 구현 실패, 8트 하고 포기
- 앞에 시험한 애들이 3트 정도에 끝났기 때문에 오래 안하고 포기함
Copilot + GPT 5-mini
– 구현 성공, 5트
- Cline 조함에서 실패했기 때문에 원래 LLM은 어떨까 싶어서 해봤는데 얼래 성공!?
Cline + GPT 4.1
– 구현 성공, 3트
- GPT5-mini에서 실패해서 역시 또 실패하지 않을까 싶었는데 생각보다 금방 성공함
Copilot + GPT 4.1
– 구현 실패, 8트 하고 포기
- 오래 안하고 포기함 신기한 건 Cline에서 성공했으니 당연히 코파일럿 GPT4.1도 성공할 지 알았는데 실패해서 뭐지 했음
Cline + Claude (Sonnet4)
– 구현 성공, 3트
- 그냥 Claude Code 사용할때랑 큰 차이가 안나 Phase 2까지 구현해봐야 알듯…
Cline + Gemini Pro
– 구현 실패, 8트 하고 포기
- Gemini CLI와 다르게 문제 해결을 잘못하고 계속 똑같은 문제를 반복해 해결이 안함
Cline + Grok Code Fast 1
– 구현 실패, 7트 하고 포기
-
저번과 다르게 접근이 잘되어서 시험해봄
매우 빨라서 좋았음, 다만 구현은 아쉽네
QWEN3 CLI
– 구현 포기, 5트 하고 포기
-구현을 하는데 있어 혼자서 질문하고 답하면서 구현과 문제를 푸는 모습을 보여줘, 많이 느리지만 보는 맛이 있었음 하지만 결과물이 좋지는 않았음, 너무 오래 걸려서 8트까지 못채우고 포기
Cline + Code SuperNova
– 구현 실패, 7트 하고 포기
- 새로 나왔다길래 써봤는데 빠르게 움직이기는 하는데 결과물이 좋지 않네요.
Kilo Code + GPT 5-mini
– 구현 실패, 8트
- Cline 에서도 실패했기 때문에 기대하지 않았는데 역시나…
Kilo Code + GPT 4.1
– 구현 실패, 7트
- Cline에서는 성공했었는데 Kilo에서는 오히려 실패…
Kilo Code + Claude (Sonnet4)
– 구현 실패, 6트 포기
- Cline에서는 빠르게 성공했었는데 안되네요. 그래서 포기함요.
Kilo Code + Gemini Pro
– 구현 실패, 10트 포기
- Cline 때와 동일하게 문제 해결을 잘못하고 문제를 정확하게 못느끼는 기분 이상하게 컴파일 검사를 해주지 않아서 엄청 불편함을 느꼈음
결론
ESP32 임베디드 환경에서의 AI 코딩 어시스턴트 Phase 1 2회차 테스트 결과를 보면서 느낀것은 mcp를 통한 확장 기능이 확실히 강력함을 느꼈습니다.
하지만 그럼에도 가장 큰 인상을 준 것은 mcp가 동작 안되는 데도 한번에 끝낸 Codex가 아닌가 싶습니다.
클로드는 유명한 만큼 잘 되서 그럴려니 하고요.
반면 저번에는 실망만을 가득 주었던 Cline에서 Copilot으로 썻을때와 안썻을때의 차이를 보여서 조금 기대를 품게 되었네요.
그에 비해 유명한 무료 도구인 Gemini와 QWEN은 여전히 실망스러운 모습을 보여줘서 아쉬운 모습을 보여줬습니다.
Phase 1에서 성공한 모델을 대상으로 Phase 2 테스트를 진행 예정입니다.
아무리 봐도 클로드 혹은 코덱스가 끝까지 갈꺼 같은데 다른 모델은 어쩔지 기대 되네요.