클로드 코드 사용 경험에 맞춰 기본적 짜임새를 갖추다

프로젝트 데이비드: 다시 개발을 시작하다

by 안영회 습작

클로드 코드 전환은 정말 놀라운 체험이었습니다. 단 몇 시간 만에 완전히 적응했다고 볼 수 있을 것 같습니다. 초보 사용자니까 능숙한 것은 아니지만, 다시 돌아갈 가능성은 0%란 점에서 확실한 '적응適應'입니다.


놀라운 전환 경험을 선사하는 클로드 코드

'맛만 보자' 수준에서 커서를 버리고 클로드 코드로 전환했는데, 기대 이상으로 그것도 예상보다 빠르게 결과를 맛볼 수 있었습니다. 거기에 더해서 특별히 익힐 필요도 없을 정도로 직관直觀적이었고, 다음 단계로 나아갈 영감을 주는 수준이었습니다.


문제를 다시 점검하고, 멈춰서 잠시 구상해 보기

그래서 다시 전략을 수립하기로 했습니다. 앞서 인용했던 템플릿 그림을 보긴 하지만 찬찬히 뜯어보며 따지는 것은 제 성정에 맞지 않는 듯합니다. 문제를 나누는 것을 새로운 방향으로 설정에 길을 가 보기로 합니다. 철두철미함보다는 바이브를 타는 것이 끌립니다.


그리고 이번에도 제 선호에 따라 UML 쓰임새도 형태로 구상을 해 보았습니다. 그리다 보니 이번에도 분명한 부분과 분명하지 않는 부분이 머릿속에 뚜렷해집니다.


대화를 통해 개발하니 맥락을 공유하며 코드가 바뀐다

한 두 가지 요구사항을 CLI에 입력하려다가 파일로 쓰고, 동시에 지시하고 싶다고 했더니 대뜸 그 유명한 CLAUDE.md 파일을 만들어 주었습니다.[1] 그런데, 일단 전체적인 구성이 바뀔 듯하여, CLAUDE.md 파일은 무시하고 다음 요구사항을 주고 변경을 시도했습니다.

현재 앱의 하단 메뉴가 두 개입니다. 하나는 캘린더인데, 저는 이를 아들이 만드는 컴포넌트를 호출하는 것으로 여깁니다. 두 번째로 빌더가 있는데요. 이건 제거하고, 나중에 컴포넌트를 추가하면 메뉴가 추가되게 해 주세요. 빌더 화면은 웹 브라우저에서 여는 웹 앱으로만 실행되도록 전체 코드를 수정해 주세요.

구조적으로 꽤 많이 바꾼 것인데 순식간에 해결했습니다. 웹으로 접속해 보니 제 상상과 다르게 된 부분도 있었습니다. 대화를 하며 점진적으로 수정하니 서로 맥락 공유가 되어 또다시 '페어 프로그래밍하는 느낌'을 재확인합니다.

웹 화면을 보면서 느낀 것이, 빌더와 앱의 웹 엔드포인트를 아예 나누는 것이 좋을 것 같아요. 그렇게 구성해 주세요.

또다시 기대 이상으로 빠르게 만들어 줍니다.


꽃이 될지 아니면 몸짓이 될지는 이름에 달려 있다

하나의 Viewpoint가 더 필요하다는 생각이 들었는데, 이를 구체화하기 전에 지금까지 만든 것부터 정비하기로 했습니다. '꽃이 될지 아니면 몸짓'이 될지는 이름에 달려 있다'라고 쓴 행동 덕분인지 이름도 잘 지어야겠다는 생각이 들었습니다.

딱히 아이디어가 떠오르지 않는데, <작업할 때 항상 AI를 초대한다>는 원칙에 따라 작명에 대해서도 클로드에게 대안을 물었습니다.

가족용 앱 개발을 역할을 나눠서 개발하는 맥락을 제시하고 작명을 개선해 달라고 다시 요구했습니다.


마음속에 생겨난 관점에 새로 지은 이름을 붙여 주다

Family Studio라는 결과가 마음에 들었습니다. 이걸 기준으로 삼아 이름을 만들어 가고 싶었습니다. 네 차례 더 대화가 오고 간 사이에 마음에 든 이름이 만들어졌습니다.

이렇게 하고 나니 정작 화면에 '빌더' 라벨이 붙었던 소프트웨어 덩어리는 Family App Playground가 되었습니다. 그리고 새로 Builder가 붙은 그 덩어리는 현재는 구현 대상이 아닙니다. 제가 지금까지 보던 것으로는 클로드 코드 화면에 대응합니다.


그러면서 잠시 내려놓은 Viewpoint가 '이제 내 차례'라며 머릿속에 떠오릅니다.

공유하는 맥락이 길어지면 이를 기억하기도 어려울뿐더러 새로운 아이디어가 떠오르거나 필요(혹은 요구사항)가 생겼을 때, 기존에 구현된 것과 충돌하는지 알아보기 어려울 듯합니다. 그래서, 그간 진행된 내역이나 결정 사항을 쉽게 볼 수 이는 화면이 필요할 듯합니다.


새로 생겨난 관점을 넣어 기본적인 짜임새를 갖추다

결과적으로 세 개의 엔드 포인트에 대해 각각 가족용 앱과 새로 이름 붙인 가족용 앱 Playground 그리고 가족용 앱 빌더 위치에는 테스트 리포트로 일단 화면을 채웠습니다. 새로 추가한 Viewpoint는 앱이 뜨는 동시에 아들이 쓸 수 있는 Playground 개발을 위해 보게 될 정보를 나타냅니다.

당장 테스트 리포트로 채운 것은 위치를 잡아 놓은 정도로 볼 수도 있고, 테스트 리포트도 해당 관점의 구성 요소가 될 것이기도 합니다.


주석

[1] 내용이 길지는 않았지만 그 규칙을 익히느라 시간을 쓰고 싶지 않아서 제 마음대로 쓴 내용을 병합할 방법을 물었더니 역시 있었습니다. 좋네요. ;)

편집기를 열어서 파일을 만들려고 했더니 클로드 코드가 '자동완성'을 자극하며, 템플릿까지 만들어 주고 사용법도 알려 줍니다.


프로젝트 데이비드: 다시 개발을 시작하다 연재

1. 클로드는 훌륭한 프로그래밍 과외 선생님

2. 이건 정말 편안하게 페어 프로그래밍을 하는 기분이다

3. 학습과 개발과 코딩이 섞이는 개발 방식의 진화

4. 처음으로 느껴 보는 바이브 그 후에 전략 수립

5. 커서를 버리고 클로드 코드에 입문합니다

작가의 이전글커서를 버리고 클로드 코드에 입문합니다