(제미나이 위에서 실제 동작하는 화면 캡춰)
제미나이에게 말로만 시켜서 개인적으로 필요한 유틸리티를 하나 만들어 보았습니다. 그냥 재미 삼아 시작한 일인데, 말로 요구사항을 설명했을 뿐인데도 제가 딱 필요했던 동작을 수행하는 한 페이지짜리 HTML 결과물이 만들어지는 게 참 신기하네요.
평소에 긴 스크롤 캡처 이미지에서 특정 중간 구간들만 골라 삭제하는 편집 기능이 필요했습니다. 아이폰에서는 'Picsew' 같은 유료 앱이 이 기능을 지원하는데, 안드로이드에서도 비슷한 앱이 있을 것 같았지만 적당한 검색어를 찾지 못하고 있었거든요. 그러다 문득 '제미나이한테 말해서 직접 만들어보면 어떨까?' 하는 생각이 들어 실행에 옮겨 보았습니다.
우선 여기저기서 들어본 대로, 필요한 기능들을 그냥 말로 떠들어서 '요구사항 정의서' 형태로 정리해 달라고 요청했습니다. 제가 말로 설명한 모호한 내용들을 기술적인 스펙으로 확정하는 단계를 거친 셈이죠. 초안을 읽어보며 잘못 전달된 부분들을 수정해 나갔고, 제 의도가 잘 반영되었는지 확인했습니다.
그다음, 새 대화를 열어 방금 만든 요구사항 정의서를 건네주었습니다. 이 내용대로 구현이 가능할지, 빠진 기능은 없는지 검토를 시켰고 저도 함께 내용을 보완하며 최종 요구사항 정의서를 완성했습니다. 제미나이가 먼저 "이걸로 프로토타입을 만들어볼까?"라고 제안하더라고요.
다시 새 대화를 열어 최종 정의서대로 페이지 제작을 요청했습니다. '캔버스' 기능을 사용하니 제미나이 화면 위에서 소스 코드가 생성됨과 동시에 미리보기로 즉시 동작까지 확인해 볼 수 있어 편했습니다.
처음에는 프로토타입 정도로 생각했는데, 의외로 완성본에 가까운 결과물이 나왔습니다. 이미지 선택 및 커팅 세부 동작, 여러 구간을 자를 때의 처리 방식, 초기 화면 구성 등 세세한 수정 사항들을 지시하니 코드가 즉각 반영되더군요.
결과물이 어느 정도 안정화되었을 때, 변경된 내용을 반영해 요구사항 정의서를 최신화해달라고 요청했습니다. 이후 정의서와 소스 코드를 내보내기(Export) 한 뒤, 마지막으로 새 대화를 열어 자잘한 버그를 한두 번 더 잡았습니다.
이렇게 쉬엄쉬엄 작업해서 총 4시간 정도 걸린 것 같습니다. 아직 미세한 버그가 남아있을 수 있지만, 개인용 유틸리티라 사용에는 큰 문제가 없을 듯하네요.
이미지를 첨부해 편집 결과를 내려받는 방식이라 별도의 서버도 필요 없고, 딱 HTML 파일 하나로 끝나는 구조라 유틸리티로 활용하기에 아주 적당한 것 같습니다. 인공지능과 대화하며 도구를 만들 수 있다는게 새삼 신기하네요.