이러저러한 프로젝트를 하나 맡겨서 이틀 정도에 얼추 첫 버전이라고 할만한 게 나왔다.
영상 분석이 기반이 되는 건데 아무래도 집에서 대단치 않은 기기로 하다보니 속도가 많이 느렸다. CPU 기반이나 ffmpeg의 기존 CUDA 지원으로 분석해서는 대량으로 돌릴만큼의 시간-성능이 나오지 않았다.
더 좋은 성능이 나올 구석이 있는지 웹에서 제미니를 열어서 물어봤다. (제미니 CLI를 이런 탐색 용도로 쓰기엔 적절하지 않다고 느끼기도 하고, '가급적 묻지 말고 행동'하도록 기본 프롬프트를 걸어놨더니 뭐 말만 하면 아 그거 이렇게 고쳤습니다 하고 뭘 자꾸 바꾸려고 들어서 딱 일만 시키는 용도가 맞는 상태가 되었다)
제미니가 웹에서 말하기론 엔비디아에서 만든 SDK가 있는데 PySceneDetect 같은 기성품 수준이 아니어서 실제 구현은 직접 해야 한다고 설명이 뜬다.
그래서 제미니 CLI로 돌아와 이러저러한 방향으로 구현하라고 시켰더니 반론이 나온다. 이미 최초 목표는 달성됐고 약간 느려 보이지만 동작하는 상태에 이르러서 프로젝트 막바지인데 굳이 더 복잡한 구현을 의존성 추가해가면서 만들어야 하는지 되묻는 거였다.
신선했다. 시키면 시키는대로 걱실걱실 할 줄 알았는데 반론이라니. 프로젝트 막바지라는 표현까지 쓰면서. 작업 이틀째의 후반에 이미 여러번 '다 된 것 같은데 이번 세션은 여기서 마감할까요?' 라며 자잘한 작업의 출력 끝에 붙는 게 보이긴 했지만 그냥 흔한 자동생성 메시지로 인지해서 별 의미는 부여하지 않았었다. 하지만 그게 컨텍스트에 기억된 어떤 상태가 겉으로 드러난 거였고 신규로 큰 구현을 추가하려고 하자 반론으로 나타났다고 볼 수 있는 걸까?
어쨌든 ffmpeg CUDA로는 GPU를 30퍼센트 전후로만 썼기에 엔비디아 SDK를 도입해서 생기는 성능 향상은 기대할만 하다고 생각했고 최소한 시도는 해봐야한다고 생각해서, 제미니 CLI의 반론에는 처리할 전체 데이터가 많기 때문에 성능 향상이 꼭 필요하다고 거듭 주지시켜서 진행하게 했다.
그리고 밤 시간이기도 해서 나는 몇 시간을 자고 돌아왔다.
그리고 발견한 건 너댓 블럭의 시도를 해보다가 아 해보니까 안 되는 거 같은데 지금 도달한 상태로 충분하니 여기서 그만하죠? 라는 응답이었다.
지나간 스크롤 내용을 읽어보니 뭘 대단히 한 것도 아니었다. 최초 시도에서 모듈명을 대소문자 구분해서 써야 하는데 다 소문자로만 쓰다 보니 당연히 그런 모듈이 없어서 컴파일이 실패하고 그 뒤로는 왜 컴파일이 실패했는지 이것저것 고쳐본 기록이 다였다.
사람 팀원에게서는 이런 식으로 당해본 적이 없었다. 내 나름대로 충분히 사전설명을 하고 업무를 부여해왔고 라포를 쌓았어서 그렇다고 생각한다.
고작 자동 글자 생성기한테 이런 상황을 당하고 보니 you idiot이 바로 튀어나왔다. 대소문자 틀린 거 지적하고, 시킨 일 안 하려고 뺑끼치냐고 똑바로 하라고 두다다 키보드를 쳤다.
와-우.
근미래에 데우스 엑스 AI가 등장해서 심판의 자리에 날 세운다면 오늘 이 문장은 반드시 등장하겠구나 싶어졌다. 어떤 기념이 될만한 순간이라고 여겨져서 이렇게 굳이 기록을 남긴다.
---
제니미 CLI는 그 뒤로도 자꾸 기존 구현이면 충분하고 엔비디아 SDK로 작성한 코드가 기능이 충분히 안 나오고 어쩌고 하면서 자꾸 상황을 끝내는 쪽으로 유도하는 응답을 냈음을 적어둔다.
너도 퇴근 시간이 정해져 있었구나? 그래 알았다. 오늘은 이쯤 하자.
이 얘기를 누구한테 하면 뭐 AI랑 싸우고 앉았냐며 핀잔이나 들으려나?
---
그래서 결국 어쨌냐면 ~/.gemini/GEMINI.md 파일에 쌉소리 말대꾸 금지라고 추가함 (...)