본래 계획은,
AI로 프로그래밍을 2~3일만에 딸깍~! 하고 끝내고,
하드웨어 작업은 4~5일에 걸쳐서 남땜하고, 방수코팅하고, 테스트해보면 되겠다!
였습니다만,
그렇게 될리가요.
이렇게 쉬우면, 순토나 쉬어워터의 박사님들이 괜히 계시겠냐구요.
네. 무식하면 직접 해봐야 아는 법이죠. 똥인지 된장인지...

초기 AI가 만들어준 다이빙 컴퓨터의 프로그램의 첫인상은 놀라웠달까요?
네, 그렇음다. 다이빙컴퓨터 맹글어줘! 라고 딸깍! 했을떄 주륵주륵 쏟아내준 C++ 코딩들은 경이로울 정도!
막상 VS Code에서 하나하나 다 입력해 놓고 빌딩해보고, 시뮬레이션 돌려보았을때 저는,

와!!! 이게 된다고?? 미쳤다. 나 천재인가봐!!
(주의. AI를 쓰다보면, 난 프롬프트만 쳤는데 내가 천재가 된 듯한 할루시네이션에 빠지게 된다는.)
시뮬레이션을 통해 40m 들어가보고, 30m로 급상승도 해보고, 각종 상황을 시뮬레이션 해 보았는데,
마구마구 씐나 씐나 하던 마음은 한 3분? 아니 2분? 지난 순간

바로 한계를 꺠닫게 됩니다. 아! 순토나 쉬어워터 박사님들 노고가 많으십니다. 네네..
이제 디테일한 조정에 들어가서, 최대한 모든 상황을 대입해서 디버깅을 해야 했습니다.
예를 들자면....
1. 버튼도 없고, 연결포트도 없는 다이빙 컴터가 언제 GPS, Bluetooth를 켜줄지 설계
2. NDL넘었을떄 어떻게 경고하고, Deco Stop은 어떻게 처리할지
3. Safety Stop을 하다가 5m대에서 상승했을떄, 또는 하강했을떄, 또는 안전정지를 마치지 못했을때
4. 다이빙로그는 어떻게 저장하고, 실제 시간은 어떻게 싱크로하고, Export는 어떻게 할지
5. No Fly 시간은 어떻게 처리하고 표시할지. Deco위반시 48시간 잠글지 말지
이건 정말정말 새발의 피이고, 정말 정해야 할게 한두가지가 아니었습니다.
또 기능을 수정해서 넣다보면, 업그레이드해야 할 것들이 자꾸 떠올라서 또 추가하게 됩니다.
그.런.데.
그렇게 극찬을 받던 Claude Opus 4.7을 이용해서 개발을 했는데,
디버깅을 할 떄마다 대화가 누적되면서, 이노무 색휘가 처음 논의했던 기본 전제들을 까먹고 지멋대로 코드를 반영하기 시작함.
바이브코딩하면서 좀 코딩을 겉핥기로라도 배워볼라고 Claude Code가 아니라 챗으로 VS Code에 복붙 방식으로 했는데,
채팅이 길어지니까 채팅 내용에 압축이 들어가면서 이전에 중요한 논의내용 사라져버리고,
좀 빡씨게 하다보면 5시간 이용제한 걸리고, 아우!!!!!! 빡쳐!!!

디버깅과 기능 추가를 한가지씩 할때마다,
코드는 덕지덕지 누더기가 되어가고...
이전에 정해놨던 주요 정책들은 이상하게 바뀌어서 패치되어 있고...
이건 뭐 젠가하면서 아래 블럭 빼서 위로 올리는 느낌이랄까?
그러다가 결국, 디버깅 하다가 도저히 진행이 되지 않는 단계에 도달해 버렸달까요.

결국, 와르르 무너뜨리고..... 흑흑 다시 처음부터 하기로...
때마침 새로 출시되어 호평을 받고 있던 chatGPT 5.5 로 갈아타기로 했습니다.
그래서 지금까지 작업했던 모든 내용을 문서로 정리하고, UI 디자인까지 다시 다 정리한다음에,
chatGPT 형님에게 모든 걸 상소문 올리듯 올려드리고, 개발 다시 해주십쇼. 굽신굽신 했지요.
Claude보단 뭔가 말이 더 많으신 듯 하신데, 뭐 자꾸 자세히 설명부터 막 늘어놓으신 다음,
그 내용을 반복해서 이렇게 코드를 쓰면 됩니다. 하면서 줄줄 풀어줌.
예를 들면 이런 방식입니다. 라면을 끓이고 싶어요, 라면 끓이는 법 알려주세요! 라고 하면,
아, 라면을 드시고 싶으시군요.
한국의 라면은 어떤어떤 제품이 맛있고 어쩌고 저쩌고 해서 먹으면 좋지요.
(오프닝은 늘 AI스러운 오프닝을 보여줌)
보통 한국의 라면들은 물을 500ml 넣고 면과 스프를 넣고 4분 끓이도록 되어있습니다.
그외에 다양한 토핑을 넣으면, 더 맛있게 드실 수 있습니다.
(이미 어떻게 끓여야 할지 거의 다 알려줬음)
자, 이제 라면을 끓여볼까요?
물을 500ml 를 끓여주세요.
면과 스프를 넣어주세요.
계란 등 함께 드시고 싶은 토핑도 넣어주세요.
4분이 지난 후, 불을 끄고 드시면 됩니다.
(앞에 이미 알려줬는데, 뭔가 더 자세하게 또 알려줌.)
이게 그냥 보면 잘 와닿지는 않으실 겁니다만,
그냥 어차피 설명해줘도 모르는 코딩고자힌 나란 놈에게는 그냥 뭐 이러이러하게 코드 붙여넣고 쓰셈! 하고 보여주면 되는데,
자꾸 앞에서 이건 이렇게 처리해서 decoAlert() 함수를 쓸꺼임. 요런요런 식으로 쓸꺼임.
그리고 요거건 요로케 처리해야하니깐 state.Surface 를 선언해서 요케요케 할꺼임.
이렇게 설명 일일이 다 해준다음에, 그 다음에야 코딩을 막막막 짜서 보여줌.
아니 설명은 고맙긴 한데, 난 어차피 못알아 듣고, 스크롤 겁나 해가면서 복붙 복붙 해야해서 빡씹니다.
아.... 특단의 대책이 필요하다. 절실하다.
이렇게 어려움을 느끼고, 좀더 스마아아아트한 방법으로 확장하기로 합니다.
여러 검색을 통해 '안드레 카파시'라는 AI짱짱맨이 바이브코딩할때 쓰면 좋다고 언급했다는 것들을 모아놨다는,
딸깍의 마법 프롬프트, claude.md 파일을 손에 넣게 됩니다.
( 요기에서 다운로드 가능 : https://github.com/multica-ai/andrej-karpathy-skills )
그리고, 원래는 절대 나의 허접한 코드들을 보여주지 않겠다! 라는 마음으로 끝까지 쓰지 않으려 했던 깃허브에 가입합니다.
GitHub 왠지 비전공자이자 비개발자인 내가 발들이면 안될 것 같은 개발자들만을 위한 금단의 장소 같던 곳.
살풋이 가입하고, 입장해 봅니다. 이제 모든 준비는 끝났다!!
너무 쉽게 보고 성급히 다이빙컴퓨터 개발에 뛰어들었던 게야...
chatGPT 5.5 에게 Claude.md 프롬프트 멕여주고,
이전에 사용했던 다이빙컴퓨터 기본 원칙/정책/필요한 기능 등을 던져주고,
나노바나나로 만든 UI 디자인도 던져주고 다시 새롭게 개발을 시작했습니다. Let's do this!
어느 정도 개발이 하나씩 이뤄질때마다 github에 올려주고,
다음날 다시 또 개발 이어갈 떄, chatGPT에 새롭게 claude.md 멕여주고, 깃허브 주소 던져주고,
앞으로 추가해야할 기능들을 던져주고, 개발을 이어 갑니다.
확실히, 깃허브 쓰냐 안쓰냐는 편리함이 천지차이입니다.
chatGPT가 깃허브에서 기존 개발 코드들을 알아서 불러오고 분석하니, 개발을 이어가는데 아주 개꿀입니다.
바이브코딩 첨 하시는 분들, 깃허브 꼭 쓰세요. 다들 쓰는덴 이유가 있어요. 흑흑~
지금도 계속 기능 추가, 빈약한 기능 보강, 디버깅의 연속입니다.
그리고 무엇보다 중요한 감압 관련 로직들을 여러 상황에 맞게 일일이 다 수정하는 작업중입니다.
현재까지 구현된 것을 살짝만 보여드리자면~


짜잔!!!!!!!!
제법 그럴듯한 다이빙 컴퓨터의 기능은 구현해냈습니다.
그 와중에, 또 첫화면도 만들어 갖다 붙였지요. 첨엔 그냥 Back-Up Dive Computer 란 이름이었다가,
어디 이 같잖은 기계가 감히 컴퓨터란 이름을 쓸 수 있겠냐 싶기도 하고 해서....
Back-Up Dive Assiatant 로 정했습니다. 대충 약자로 BUDA 가 되어서, 어랏 부다~ 부처님 같자나~
라는 억지스런 끼워맞춤으로, 마스크쓰신 부처님 그림도 같이 넣어서 오프닝 화면도 만들어 갖다 붙였.....
뭔가 물속에서 나를 더 잘 지켜주실 것 같은 느낌이지 않슴까??
뭐 첫화면이야 그렇다 치지만,
정말 디테일들 구현하느라고 일주일 이상 미치는 줄 알았습니다.
한가지 해결하고 결정하면, 새로운 디테일을 추가하고 결정하고 적용하는 작업의 반복
대충 예를 들자면,
- 상승속도 그래프는 몇 m/min 에서부터 위험 영역으로 들어가게 할지, 언제 알람이 울릴지,
- No-Fly 시간은 어느어느 상황에서만 보여줄지.
- 단순히 Air만 계산하도록 할지, 나이트록스도 가능하게 할지.
- 안전정지를 하다가 상승해렸을떄, 복귀를 몇초 기다려줄지, 그냥 스킵해버리면 어떻게 할지,
- 상승속도 그래프는 몇 m/min 에서부터 위험 영역으로 들어가게 할지, 언제 알람이 울릴지,
이런 것들만 수십가지 결정이었는데, 시뮬레이션을 하다보니, 결국 Deco 상황에 대한 추가가 필요하더군요.
- NDL 넘어가면 Deco Stop을 어떻게 보여줄지.
- Deco Stop을 한번에 다 하게 할지, 단계별 수심에서 하게 할지.
- 단계별 수심에서 하게 한다면, 최종 감압 수심을 3m로 할지, 6m로 할지
- Deco Stop하는 수심도 Ceiling 수심에서 위아래로 마진을 얼마나 줄지,
- Deco Stop 못하고 나왔을때, Deco Violation 경고를 어떻게 줄지. 컴터를 잠글지 말지.
등등... 아니지.. 그냥 그 외에도 너무 많아서 '등등...'이라고만 하기엔 성이 안 찹니다.
등드르등등드르르등등드그드그등등등등!!! 엄청 많았음다.
그래서, Suunto 와 Shearwater에서 공유한 자료들을 함꼐 조사하여 최대한 상업용 컴퓨터의 정책과 비슷하도록 설정해나가봅니다.
사용자가 설정할 수 있는 값들을 따로 정의하고, 이를 설정 파일 (config) 로 다 따로 빼놓고 정리해놔서,
나중에 스마트폰으로 블루투스 연결 기능만 추가하면, 몇몇가지 사용자가 바꿔서 설정할 수 있도록 구성해놨습니다.
산소비율을 설정하여 나이트록스 사용도 가능하고, (디폴트는 21)
Deco Stop시에 최종 수심도 3m나 6m로 설정할 수 있도록 했고, (디폴트는 3m)
뷜만 알고리즘에 적용하는 GF값도 수정할 수 있도록 했습니다. (디폴트는 40/85)
나이트록스 사용시 PPO2 도 설정할 수 있도록 헀고, (디폴트 1.4)
다이빙 로그를 다른 로그북 프로그램에서 불러올 수 있도록 로그저장 기능 정리도 해놨습니다.
햐........ 정말 빡셨다.
이제 앞으로 해야 할 작업은,
나이트록스 사용시, MOD (Max of Depth) 표시하는 UI
MOD 초과시 경고 이벤트와 UI
Deco Stop 시퀀스 고도화.
블루투스 연결을 위한 추가 프로그래밍 및 스마트폰 앱 개발
그리고, 실제 프로토타입 제작 후 디버깅에 들어가는 것만 남았습니다! 와~ 조금씩 끝이 보인다.
물론 프로그래밍은 제대로 되어도, 프로토타입 시제품 제작에서 얼마나 또 많은 난관이 있을지 감도 안오지만,
큰 벽은 넘은 듯 합니다요. 하... 정말 쉽지 않은 여정입니다.
아, 물론! AI가 있기 전엔, 개발을 1도 모르는 사람이 혼자서 이런 일을 벌인다는 건 상상조차 할 수 없었겠죠?
격세지감!
그럼 또 셀프노가다의 세계로 투비 컨티뉴 해보겠음다.
제발 이 정도 했으면 어설프게라도 작동되는 컴퓨터 하나 꼭 만들었으면 좋겠습니다요. 제발제발~
- 과연 성공할지 말지... 에니웨이 킵 고잉
'사부작사부작 장비질' 카테고리의 다른 글
| 다이빙컴퓨터 DIY로 만들기 프로젝트 - 1 (0) | 2026.05.12 |
|---|---|
| 순토 이온코어 뷜만 알고리즘 업데이트 - Buhlmann 16 GF (0) | 2026.03.27 |
| RGBM 알고리즘 vs 뷜만 Bühlmann(뷸먼) 알고리즘의 비교와 앞으로의 이야기 (0) | 2026.03.27 |
| 알리익스프레스 3mm 웻슈트 자켓 (0) | 2025.12.12 |
| XTAR SD1 다이빙 비콘 라이트 (시그널 라이트) 사용기 (2) | 2024.08.02 |