나는 개발자가 아니다. 코드는 읽을 줄은 알지만 쓸 줄은 모른다. 그런데 주말에 슬랙봇을 하나 만들었다. Claude가 대신 써줬으니까.
처음은 가벼운 마음이었다. "유심사 UX 라이팅 가이드를 슬랙에서 바로 찾아볼 수 있는 봇 만들어줘" 한 줄을 던졌더니, Claude가 @slack/bolt 라는 프레임워크로 뚝딱 만들어줬다. 한 시간 만에 돌아가는 걸 보고 살짝 감동했다.
문제는 거기서부터였다. 돌아가긴 하는데 자꾸 뭔가 어긋났다.
첫 번째 삽질 — 3초의 벽
AI 추천 기능을 붙였더니 슬랙이 먼저 " 오류가 발생했습니다" 라고 띄웠다. 알고 보니 슬래시 커맨드는 3초 안에 응답해야 한다는 규칙이 있었다. AI는 답하는 데 10초가 걸리는데.
Claude한테 "이거 왜 이래?" 물었더니 "먼저 '처리 중' 메시지를 보내고, 그다음에 AI 호출하시면 돼요" 라고 했다. 사실상 UX 디자인 문제였다. "잠시만 기다려 주세요" 한 줄을 먼저 보여주는 게 해법이라니.
두 번째 삽질 — 잠든 서버 깨우기
무료 호스팅(Render)은 15분 놀면 서버가 잠든다. 다시 깨우는 데 30초. 그 사이 슬랙은 또 에러를 띄운다.
"서버가 안 자게 하려면?" 물었더니, 14분마다 자기 자신한테 "살아있니?" 핑을 보내는 코드를 써줬다. 이걸 self-ping 이라고 부른단다. 귀여운 이름이다.
세 번째 삽질 — Groq이 모델을 죽였다
어느 날 갑자기 AI가 답을 안 했다. 로그엔 "The model has been decommissioned." Groq이 쓰던 모델을 은퇴시켰다는 뜻. llama3-70b-8192 를 llama-3.3-70b-versatile 로 한 줄 바꾸니 다시 살아났다.
코드 한 줄 때문에 하루를 날렸다. 개발자들이 왜 항상 피곤해 보이는지 조금 알 것 같았다.
지금은 225개 문구가 들어 있고, 매주 월요일 오전 9시엔 리포트 봇이 그 주의 변경사항을 정리해서 보낸다.
Claude는 정말 많은 걸 대신 써줬지만, '뭐가 문제인지 설명하는 일' 은 내 몫이었다. 결국 개발이라는 것도, UX 디자인처럼 "사용자가 여기서 뭘 기대할까" 를 묻는 일의 연속이었다.
사용자가 봇이고, 내가 사용자고, 둘 다 헷갈리는 순간이 꽤 많았지만.
가이드는 만드는 것보다 쓰게 만드는 것이 어렵다. 슬랙봇이 그 마찰을 조금 줄여줬다.
주말 프로젝트라고 했지만, 사실은 한 달이 걸렸다. 개발자가 아니니까.