프로젝트 데이비드: 다시 개발을 시작하다
클로드 코드 전환은 정말 놀라운 체험이었습니다. 단 몇 시간 만에 완전히 적응했다고 볼 수 있을 것 같습니다. 초보 사용자니까 능숙한 것은 아니지만, 다시 돌아갈 가능성은 0%란 점에서 확실한 '적응適應'입니다.
'맛만 보자' 수준에서 커서를 버리고 클로드 코드로 전환했는데, 기대 이상으로 그것도 예상보다 빠르게 결과를 맛볼 수 있었습니다. 거기에 더해서 특별히 익힐 필요도 없을 정도로 직관直觀적이었고, 다음 단계로 나아갈 영감을 주는 수준이었습니다.
그래서 다시 전략을 수립하기로 했습니다. 앞서 인용했던 템플릿 그림을 보긴 하지만 찬찬히 뜯어보며 따지는 것은 제 성정에 맞지 않는 듯합니다. 문제를 나누는 것을 새로운 방향으로 설정에 길을 가 보기로 합니다. 철두철미함보다는 바이브를 타는 것이 끌립니다.
그리고 이번에도 제 선호에 따라 UML 쓰임새도 형태로 구상을 해 보았습니다. 그리다 보니 이번에도 분명한 부분과 분명하지 않는 부분이 머릿속에 뚜렷해집니다.
한 두 가지 요구사항을 CLI에 입력하려다가 파일로 쓰고, 동시에 지시하고 싶다고 했더니 대뜸 그 유명한 CLAUDE.md 파일을 만들어 주었습니다.[1] 그런데, 일단 전체적인 구성이 바뀔 듯하여, CLAUDE.md 파일은 무시하고 다음 요구사항을 주고 변경을 시도했습니다.
현재 앱의 하단 메뉴가 두 개입니다. 하나는 캘린더인데, 저는 이를 아들이 만드는 컴포넌트를 호출하는 것으로 여깁니다. 두 번째로 빌더가 있는데요. 이건 제거하고, 나중에 컴포넌트를 추가하면 메뉴가 추가되게 해 주세요. 빌더 화면은 웹 브라우저에서 여는 웹 앱으로만 실행되도록 전체 코드를 수정해 주세요.
구조적으로 꽤 많이 바꾼 것인데 순식간에 해결했습니다. 웹으로 접속해 보니 제 상상과 다르게 된 부분도 있었습니다. 대화를 하며 점진적으로 수정하니 서로 맥락 공유가 되어 또다시 '페어 프로그래밍하는 느낌'을 재확인합니다.
웹 화면을 보면서 느낀 것이, 빌더와 앱의 웹 엔드포인트를 아예 나누는 것이 좋을 것 같아요. 그렇게 구성해 주세요.
또다시 기대 이상으로 빠르게 만들어 줍니다.
하나의 Viewpoint가 더 필요하다는 생각이 들었는데, 이를 구체화하기 전에 지금까지 만든 것부터 정비하기로 했습니다. '꽃이 될지 아니면 몸짓'이 될지는 이름에 달려 있다'라고 쓴 행동 덕분인지 이름도 잘 지어야겠다는 생각이 들었습니다.
딱히 아이디어가 떠오르지 않는데, <작업할 때 항상 AI를 초대한다>는 원칙에 따라 작명에 대해서도 클로드에게 대안을 물었습니다.
가족용 앱 개발을 역할을 나눠서 개발하는 맥락을 제시하고 작명을 개선해 달라고 다시 요구했습니다.
Family Studio라는 결과가 마음에 들었습니다. 이걸 기준으로 삼아 이름을 만들어 가고 싶었습니다. 네 차례 더 대화가 오고 간 사이에 마음에 든 이름이 만들어졌습니다.
이렇게 하고 나니 정작 화면에 '빌더' 라벨이 붙었던 소프트웨어 덩어리는 Family App Playground가 되었습니다. 그리고 새로 Builder가 붙은 그 덩어리는 현재는 구현 대상이 아닙니다. 제가 지금까지 보던 것으로는 클로드 코드 화면에 대응합니다.
그러면서 잠시 내려놓은 Viewpoint가 '이제 내 차례'라며 머릿속에 떠오릅니다.
공유하는 맥락이 길어지면 이를 기억하기도 어려울뿐더러 새로운 아이디어가 떠오르거나 필요(혹은 요구사항)가 생겼을 때, 기존에 구현된 것과 충돌하는지 알아보기 어려울 듯합니다. 그래서, 그간 진행된 내역이나 결정 사항을 쉽게 볼 수 이는 화면이 필요할 듯합니다.
결과적으로 세 개의 엔드 포인트에 대해 각각 가족용 앱과 새로 이름 붙인 가족용 앱 Playground 그리고 가족용 앱 빌더 위치에는 테스트 리포트로 일단 화면을 채웠습니다. 새로 추가한 Viewpoint는 앱이 뜨는 동시에 아들이 쓸 수 있는 Playground 개발을 위해 보게 될 정보를 나타냅니다.
당장 테스트 리포트로 채운 것은 위치를 잡아 놓은 정도로 볼 수도 있고, 테스트 리포트도 해당 관점의 구성 요소가 될 것이기도 합니다.
[1] 내용이 길지는 않았지만 그 규칙을 익히느라 시간을 쓰고 싶지 않아서 제 마음대로 쓴 내용을 병합할 방법을 물었더니 역시 있었습니다. 좋네요. ;)
편집기를 열어서 파일을 만들려고 했더니 클로드 코드가 '자동완성'을 자극하며, 템플릿까지 만들어 주고 사용법도 알려 줍니다.