라벨이 Claude Code 커스텀인 게시물 표시

아들과 함께 만들어보는 인공지능(LLM) 로봇 만들기 프로젝트 — EP 1. AI 코딩 에이전트 하네스 설계, 12살도 쓸 수 있게

아들과 함께 만들어보는 인공지능(LLM) 로봇 만들기 프로젝트 — EP 1. AI 코딩 에이전트 하네스 설계, 12살도 쓸 수 있게 처음으로 Claude Code에게 로봇 코드를 짜달라고 했던 날이 있었다. "L298N 모터 드라이버로 DC 모터 2개를 PWM으로 속도 제어하는 아두이노 코드 짜줘. IN1은 핀 8, IN2는 핀 9, ENA는 핀 10. IN3은 핀 11, IN4는 핀 12, ENB는 핀 13." 코드가 나왔다. 깔끔했다. 그런데 테스트해보니 모터가 이상하게 작동했다. ENA 핀을 10번으로 지정했는데 코드 내부에서 Timer1을 건드리고 있었고, 그게 서보 라이브러리와 충돌하고 있었다. 에러 메시지가 애매하게 나와서 원인을 찾는 데만 두 시간이 걸렸다. Claude는 내가 서보 라이브러리를 같이 쓰고 있다는 걸 몰랐다. 핀 10번과 Timer1의 관계도 내 세팅 맥락에서 따로 고려하지 않았다. 범용 코드로서는 나쁘지 않았다. 그냥 내 프로젝트를 몰랐던 것뿐이다. 그 에러 하나가 "범용 AI 코딩 도구를 그냥 쓰면 안 된다"는 결론으로 이어졌다. Claude Code를 기본 세팅으로 쓰면 생기는 문제 Claude Code든, Cursor든, Aider든 — 범용 AI 코딩 도구는 기본적으로 코드를 잘 짠다. 언어 문법 이해하고, 라이브러리 사용법 알고, 버그도 잘 잡는다. 일반적인 웹 서비스나 스크립트를 만들 때는 큰 문제가 없다. 임베디드 로봇 프로젝트는 다르다. 내 프로젝트에는 고유한 제약이 있다. 내가 사용하는 부품 목록이 있고, 그 부품들의 핀맵이 있다. L298N 모터 드라이버에서 IN1은 8번 핀, ENA는 10번 핀. HC-SR04 초음파 센서는 Trig가 4번, Echo가 5번. 이걸 Claude가 모른다. 매번 알려줘야 한다. 라이브러리 선택 이유도 있다. 나는 모터 드라이버에 AFMotor 라이브러리를 쓰지 않기로 했다. Timer1, Timer2를 너무 많이 점유해서, ...