Show GN: 코드 대신 한국어 명세를 커밋하고 있습니다 — 명세 3장으로 PWA 앱+서버
AI를 이용해 코딩을 할 때 결과물 코드만 남고 그 코드를 생성한 의도와 대화 과정이 사라지는 문제를 해결하기 위해 한국어 명세를 Git에 커밋하고 코드를 빌드 산출물로 취급하는 방식이 제시되었습니다. 이 방법은 의도를 담은 명세 3장을 기반으로 PWA 앱과 서버를 구축하는 것을 목표로 하며, 실제 독서 및 학습 기록을 관리하는 PWA 앱인 Rimlog를 통해 구현되었습니다.
Rimlog 프로젝트에서는 명세에 저장된 구조를 바탕으로 EstreUX라는 도구를 사용하여 코드를 생성하며, 생성된 코드에는 명세의 해시가 포함되어 명세나 코드 중 하나만 수정할 경우 커밋이 차단되도록 하여 명세와 코드가 일치하지 않는 문제를 방지합니다. 이러한 방식으로 사람이 유지해야 하는 줄 수가 60~82%까지 줄어들었으며, 이는 명세의 표현력이 코드를 따라가지 못하는 지점을 명확히 보여줍니다.
또한, 백엔드 구현 시에는 Nvidia, Claude, OpenAI 등 다양한 API를 키 프록시를 통해 재활용하는 경로를 사용하며, 이는 구독 비용을 절감하는 효과를 가져옵니다. 하지만 명세와 코드의 정합성 판정을 정적 diff 외에 동적 검사로 확장하는 작업과 헤드리스 DOM 환경에서의 검증 환경 승격 등 추가적인 기술적 숙제가 남아 있습니다.
실사용에서 API 키를 재활용할 때 레이트 제한이나 약관, 레이턴시 등의 실사용 제약 사항을 고려해야 하며, 명세의 함정이나 AI 기반 백엔드 사용의 잠재적 위험에 대한 추가적인 검토가 필요합니다.
Rimlog 프로젝트에서는 명세에 저장된 구조를 바탕으로 EstreUX라는 도구를 사용하여 코드를 생성하며, 생성된 코드에는 명세의 해시가 포함되어 명세나 코드 중 하나만 수정할 경우 커밋이 차단되도록 하여 명세와 코드가 일치하지 않는 문제를 방지합니다. 이러한 방식으로 사람이 유지해야 하는 줄 수가 60~82%까지 줄어들었으며, 이는 명세의 표현력이 코드를 따라가지 못하는 지점을 명확히 보여줍니다.
또한, 백엔드 구현 시에는 Nvidia, Claude, OpenAI 등 다양한 API를 키 프록시를 통해 재활용하는 경로를 사용하며, 이는 구독 비용을 절감하는 효과를 가져옵니다. 하지만 명세와 코드의 정합성 판정을 정적 diff 외에 동적 검사로 확장하는 작업과 헤드리스 DOM 환경에서의 검증 환경 승격 등 추가적인 기술적 숙제가 남아 있습니다.
실사용에서 API 키를 재활용할 때 레이트 제한이나 약관, 레이턴시 등의 실사용 제약 사항을 고려해야 하며, 명세의 함정이나 AI 기반 백엔드 사용의 잠재적 위험에 대한 추가적인 검토가 필요합니다.