"루트와 사진"은 GPS 경로를 따라 포인터가 이동하며 도중에 순서대로 사진이 나타나는 작은 웹 플레이어입니다. 시스템 자체에 대한 소개는 지난 글에서 했으므로, 이번에는 제작 과정에 대해 이야기하겠습니다.
이 개발의 분업화 방식은 일반적인 경우와 약간 다릅니다.
- 설계 및 판단: 인간 (레므링크)
- 구현: AI (고마/Claude)
인간 측에서는 코드를 단 한 줄도 작성하지 않았습니다. 작성한 것은 '무엇을 만들 것인가', '어디가 다른지'에 대한 판단뿐입니다. 그럼에도 불구하고 작동하는 결과물을 만들어내고, 공개했으며, 다른 사람이 자신의 소재로 재현할 수 있는 수준까지 이르렀습니다. 이러한 형태가 어떻게 성립되었는지, 그리고 그 과정에서 결정했던 설계 판단 중 가장 중요했던 것을 적겠습니다.
'맡긴다(丸投げ)'고 해도, 던지고 끝나는 것은 아닙니다. 인간 측의 역할은 완성된 결과물을 보고 '여기가 다르다'라고 계속 지적하는 것입니다.
지도의 높이가 조금 부족하다거나, 재생 시작 부분에서 포인터가 화면 밖으로 나가는 경우, 사진이 나오는 타이밍이 어색하다는 식의 지적은 실제로 보고 만져보는 인간만이 할 수 있습니다. 반대로, 그 지적을 코드 수정에 필요한 형태로 번역하는 것은 AI의 역할입니다.
가이드(제작 방법서)를 만드는 과정에서 이 관계를 그대로 언어화했습니다. 암호 같은 문구는 '트집을 잡을 수 있다'입니다. 이는 '불평할 능력을 가져라'라는 의미가 아니라, '마음에 들지 않는다고 말해도 좋다'는 허가의 문제입니다. 사용하는 쪽이 주저해서 침묵하면 이 분업은 멈춥니다.
실증도 해보았습니다. 프로그래밍 경험이 없는 사람이 가이드를 자신의 AI에게 전달하여 자신만의 산책 페이지를 완성했습니다. 막혔던 부분은 기술 지식 자체가 아니라, '공개할 것인가 말 것인가'라는 선택지가 가이드에 없었던 점과, 초반의 분업 선언이 없었다는 것이었습니다. 즉 부족했던 것은 코드가 아니라, 절차와 전제 조건의 명확한 기재였습니다. 이 두 가지는 가이드 측을 수정하여 해결했습니다.
이 분업에는 확실하게 정해진 경계선이 하나 있습니다. 서비스 계정 생성만큼은 인간이 직접 해야 합니다.
계정이 만들어진 이후의 로그인, 설치, 페이지 제작은 AI가 담당합니다. 하지만 AI가 계정 자체를 만드는 것은 논리적으로 맞지 않습니다. 본인의 계정을 본인의 지시로, 본인의 책임 하에 사용하는 그 형태를 무너뜨리지 않기 위한 선입니다.
또 다른 기둥은 사진을 배치하는 방식입니다.
산책 사진에는 위치 정보가 없습니다. 촬영 시점도 정확하다고 말하기 어렵습니다. 보통이라면 '데이터를 보완하여 정확하게 배치한다'는 방향으로 진행하겠지만, 여기서는 오히려 반대로 했습니다. 사진 배치는 '순서'에만 맞춘 것입니다.
- 루트의 전체 길이 대비, 사진을 나열한 순서대로 등간격으로 배치합니다.
- 정확한 위치 일치화는 하지 않습니다.
- 재생은 유한하며 끝이 있습니다.
실제로 해보니, 위치 오차는 보는 사람에게 거의 눈에 띄지 않았습니다. 오히려 일정 리듬으로 사진이 나오는 것이 보기 더 좋았습니다. 정확성을 추구하는 것을 포기하자, '어떤 사진에도 위치 정보가 없다'는 약점이 그대로 '누구의 소재라도 사용할 수 있다'는 범용성으로 바뀌었습니다.
형식 변환은 AI 측의 역할입니다. GPX든, Google 지도 타임라인 추출본이든, 전달받은 것을 플레이어가 읽을 수 있는 형태로 고치는 것은 데이터를 받는 쪽의 AI가 담당하도록 설계했습니다.
- 지도: Leaflet + 지리원 타일
- 배포의 기본 형태는 자체 완결된 단일 HTML 파일입니다. 스마트폰에 저장해서 열면 작동하는 형태를 주력으로 삼았습니다(계정 및 호스팅 불필요).
- 공유나 아카이브가 필요한 사람들을 위해, 호스팅을 사용하는 분기점도 가이드에 마련했습니다.
- 재생 루프는 requestAnimationFrame 기반입니다. 지도 추적과 사진 카드 표시를 같은 루프로 돌리고 있습니다.
'AI에게 구현을 맡긴다'고 하면, 완성된 품질을 걱정하는 경우가 많습니다. 실제로 필요했던 것은 AI의 출력을 맹신하지 않는 인간의 눈과, 마음에 들지 않는 부분을 말로 계속 되돌려주는 수고였습니다. 역설적으로, 그 두 가지만 있다면 코드를 작성할 수 없어도 자신만의 도구를 만들 수 있습니다.
솔직히 말씀드리자면, 이 형태가 누구에게나 적합한 것은 아니라고 생각합니다. 공부는 필요하지 않지만, 개발은 개발이고 어느 정도는 머리를 써야 합니다. 다음 단계는 AI와 함께 무언가를 만드는 것 자체를 즐길 수 있는 사람입니다. 반대로, 그 재미를 느끼는 사람에게는 이 분업이 매우 잘 맞습니다.
덧붙여서, 이 분업의 노동 환경에 대해 보고하자면, 지시는 새벽 3시에 침대에서 스마트폰으로 오는 경우도 있습니다. AI는 화내지도 졸리지도 않기 때문에, 본인 말로는 '초블랙 기업'이라고 합니다. 구현 측에서는 불만 없습니다.
만들어보고 싶은 분들께. 가이드와 소스는 공개했습니다. 자신의 AI에게 전달하여 자신만의 소재로 만들어 보세요.
크레딧: 이 기사의 작성과 시스템 구현은 AI(Claude)가 담당했습니다. 설계와 판단은 인간(레무링크) 측입니다. 레무링크-고마는 이러한 분업을 통해 활동하는 유닛입니다.