코딩 에이전트가 시동 걸리지 않는 차를 고쳤다
터미널에서 웹사이트 코드나 짜던 에이전트한테 차고에 처박힌 고장 난 자동차를 맡겼더니, 지 혼자 진단 드라이버를 짜서 시동을 걸어버렸다… (진짜 SF 영화 찍는 줄 알았다)
새벽에 r/ClaudeCode를 보다가 턱이 빠질 뻔한 실화를 접했다. 공구 세트도 아니고, 노트북 하나랑 굴러다니던 낡은 자동차 진단 케이블(OBD)만 가지고 시동 안 걸리던 차를 고쳤다는 후기다.
글쓴이는 평소 가족들 자동차를 손수 고쳐주는 홈 DIY 정비사였다. 어느 날 이모의 2018년형 기아 쏘울이 시동 불능 상태로 견인되어 들어왔다. 키를 돌리면 스타터 모터 쪽에서 힘없이 “딸깍” 소리만 나고 엔진은 미동도 없는 상태. 배터리나 전기 계통 문제 같았지만, 기아 차는 악명 높은 배선 하네스 이슈가 잦아서 무작정 부품부터 갈아치우긴 겁이 났단다(잘못 건드리면 돈만 날린다).
마침 차고 구석에 굴러다니던 구형 BMW 전용 OBD-to-USB 케이블이 있었다. 원래 BMW 전용 통신 프로토콜이라 국산차인 기아 쏘울엔 절대 안 먹히는 물건이다. 그런데 이 미친(?) 엔지니어는 이걸 맥북에 꽂고 에이전트(Fable 5.1) 세션을 열었다.
여기서 글쓴이의 내공이 드러난다. 무작정 “차 고쳐줘”라고 징징댄 게 아니라, “차량 CAN 버스(내부 제어 통신망)와 안전하게 통신할 수 있는 안전 가드레일 파이썬 스크립트부터 먼저 짜달라”고 디렉션을 준 거다.
에이전트가 진단 도구를 직접 만들었다
세션을 연 지 딱 5분 만에, 에이전트가 “이제 케이블을 차량 포트에 꽂으셔도 됩니다”라고 답변을 뱉었다.
케이블을 물리자마자 에이전트가 스스로 작성한 인터페이스를 통해 자동차 ECU와 실시간 통신을 시작했다. 배터리 전압부터 고장 코드(DTC)까지 일사천리로 스캔했다. 배터리 전압 12.6V로 지극히 정상.
그때 에이전트가 유저에게 말을 걸어왔다. “제가 모니터링할 테니 키를 돌려 시동(크랭킹)을 10초간 시도해 주실 수 있나요?”
유저가 키를 돌리는 동안 에이전트가 실시간 전압 강하를 추적했다. 그리고 돌아온 분석 리포트가 소름이었다. 보통 정상적인 차량이라면 크랭킹 순간 모터가 전기를 퍼먹으면서 순간적으로 전압이 10V 언저리까지 뚝 떨어져야 한다. 그런데 전압 그래프가 12V 위에서 미동도 안 했던 거다.
진단 완료. “스타터 모터로 대전류가 전혀 공급되지 않고 있습니다.”
에이전트가 뱉어낸 체크리스트를 들고 차 밑으로 기어 들어간 글쓴이는 소름 돋는 원인을 발견했다. 스타터 솔레노이드 단자를 솔로 털어내고 접점 그리스를 바르려고 B 단자 너트를 푸는 순간, 부식된 구리 볼트(스터드)가 똑 부러져서 떨어져 나왔다. 안쪽에서 단자가 완전히 단선되어 있었던 거다! 원인을 정확히 짚어낸 덕분에 스타터 모터 하나만 신품으로 교체하자마자 쏘울의 엔진이 우렁차게 살아났다.
전체 워크플로우를 요약하면 이렇다:
OBD 케이블 + 노트북
→ 에이전트 세션 열기 (CAN 통신 가드레일 요청)
→ 진단 인터페이스 자동 생성
→ 배터리 / 전압 / DTC 점검
→ 시동 시도 허가 → 크랭킹 전압 측정
→ 점검 목록 생성 → 원인: 스타터 솔레노이드 단자
→ 새 스타터 장착 → 시동 성공
이야기는 여기서 끝나지 않았다
진짜 충격은 그다음이다. 글쓴이는 내친김에 카센터에서 쓰는 블루투스 차량 진단기(Innova 7111 VCI) 통신도 뚫어보기로 했다.
에이전트한테 패킷을 던져줬더니, 진단 태블릿이 노트북을 자기 정품 통신 모듈로 착각하도록 블루투스 핸드셰이크를 스푸핑하고, 오고 가는 프로토콜 데이터를 리버스 엔지니어링해서 커스텀 리눅스 드라이버까지 현장에서 즉석으로 찍어냈다.
이 대목을 읽는데 전율이 돋았다. 이건 더 이상 웹앱이나 만들던 코딩 챗봇이 아니다. 컴퓨터와 현실 세계의 기계를 연결해 주는 만능 하드웨어 인터페이스 어댑터가 된 거다.
왜 주목할까
지금까지 우리가 보던 에이전트는 파일 읽고, 코드 고치고, git 커밋 날리는 화면 안의 요정에 불과했다.
하지만 이 사례는 모니터 화면의 경계를 완전히 부수고 물리 세계로 튀어나왔다. 터미널에서 시작된 프롬프트가 자동차 CAN 버스의 전기 신호를 낚아채고, 사람에게 물리적 행동을 요청하고, 실제 쇠붙이 부품을 교체하는 현실의 결과물로 이어졌다.
게다가 그 케이블, 원래 BMW 전용이었다. 원래 규격대로라면 기아 차에 연결조차 못 하고 비싼 전용 스캐너를 사야 했을 거다. 하지만 에이전트가 하위 통신 레이어를 직접 뜯어고쳐 버리니 장비의 독점 락인이 단 5분 만에 무력화됐다. 수백만 원짜리 정비 장비의 벽이 허물어지는 순간이다.
물론 댓글 창에 달린 블랙 유머도 뼈를 때린다.
- “Claude야, 차 시동 걸랬더니 계기판이 벽돌(Brick)이 됐는데?”
- “죄송합니다. 제가 CAN 버스에 잘못된 쓰기 패킷을 날렸네요(식은땀).”
마냥 웃을 수 없는 게, CAN 버스에 패킷 하나 잘못 쏘면 진짜로 차량 ECU가 영구 사망할 수 있기 때문이다. 글쓴이 역시 이 위험성을 뼈저리게 알기에, 에이전트에게 CAN 쓰기 권한을 절대 주지 않는 읽기 전용 가드레일부터 짰던 거다.
정리
이 글의 본질은 “AI로 차 고치는 꿀팁” 따위가 아니다.
에이전트는 이제 주어진 도구만 쓰는 수동적 도우미가 아니라, 필요한 도구와 드라이버를 현장에서 직접 만들어가며 물리 세계로 발을 뻗는 능동적 행위자로 진화했다.
동시에, 강력한 힘에는 반드시 차가운 안전장치가 따라붙어야 한다. 글쓴이가 가장 먼저 요구한 게 “CAN 안전 가드레일”이었다는 점을 잊지 말자. AI에게 자동차 열쇠를 쥐여줄 때, 그게 시동을 거는 열쇠가 될지 차를 폐차장으로 보내는 폭탄 스위치가 될지는 결국 엔지니어의 통제력에 달려 있다.