AI로 만든 앱이 새벽 2시에 깨졌을 때 할 일 (당신이 개발자가 아닐 때)
앱이 어제는 멀쩡했습니다. 그런데 지금은 한밤중이고 뭔가 잘못됐습니다. 코드를 못 읽어도 실제로 무엇을 해야 할지, 침착하고 비기술적인 플레이북을 알려 드립니다.
코드 한 줄 쓰지 않고 앱을 만들었습니다. 한 주 내내 잘 돌아갔습니다. 그러다 새벽 1시 47분에 한 사용자가 가입 버튼이 아무 반응이 없다고 메시지를 보내고, 당신은 머리맡에서 빛나는 휴대폰에 깹니다.
라이브 앱을 고쳐 본 적이 없다면, 이 순간이 끔찍하게 느껴질 수 있습니다. 코드를 못 읽습니다. “데이터베이스”가 정말 무슨 뜻인지 모릅니다. 진짜로 망가진 건지 그냥 이상한 건지 모르겠고, 평소 같으면 도와줄 사람들은 자고 있습니다.
AI로 만든 앱이 깨졌는데 코드를 쓸 줄 모를 때 무엇을 해야 할지, 침착하고 순서 있는 플레이북이 여기 있습니다. 그 대부분은 상황을 더 나쁘게 만들지 않는 것에 관한 것인데, 바로 그 부분을 아무도 경고해 주지 않습니다.
먼저: 재배포하지 마라
AI 앱 빌더 어딘가에 “재게시”, “재배포”, “출시” 같은 게 적힌 버튼이 있습니다. 당신은 그걸 누르고 싶어질 참입니다. 아직은, 누르지 마세요.
반쯤 깨진 앱에 재배포를 누르면 깨진 상태가 고정될 수 있고, 주변에 있던 디버그 정보가 통째로 날아갈 수 있으며, 누구든 — AI 빌더 자신까지 포함해서 — 무엇이 잘못됐는지 알아내기가 더 어려워집니다.
첫 수는 언제나 행동이 아니라 살펴보는 것입니다. 무엇이 깨졌는지조차 아직 확인하지 못했습니다.
1단계 — 문제를 직접 재현하라
새 브라우저 창에서 앱을 여세요 — 시크릿이나 비공개 모드가 가장 좋습니다. 당신에게는 사용자와 다르게 동작하게 만들 수 있는 옛 로그인이나 캐시를 없애 주기 때문입니다.
사용자가 신고한 바로 그것을 해 보세요. 가입 버튼이 안 된다고 했으면, 가입을 시도하세요. 대시보드가 비어 있다고 했으면, 로그인해서 대시보드를 보려고 해 보세요.
세 가지 중 하나를 찾고 있는 겁니다:
- 모두에게 깨졌다. 같은 문제에 부딪혔습니다. 사실 이게 고치기 가장 쉬운 종류입니다. 일관적이니까요.
- 당신에게는 작동한다. 이게 가장 어려운 시나리오입니다. 사용자의 특정한 상황(그들의 브라우저, 그들의 계정, 그들의 데이터)에 관한 무언가가 문제이기 때문이죠.
- 간헐적이다. 한 번은 되고 다음번엔 깨집니다. 가장 스트레스가 크지만 가장 정보가 많은 경우이기도 합니다 — 보통 무언가 시간 초과가 나거나 자원이 바닥나고 있다는 뜻입니다.
셋 중 무엇을 봤는지 적어 두세요. 도움을 청할 때 필요합니다.
2단계 — 앱을 탓하기 전에 뻔한 외부 요인을 확인하라
놀랄 만큼 많은 “내 앱이 깨졌어” 순간이 사실은 당신 앱이 아닙니다. AI 빌더 속으로 파고들기 전에, 확인하세요:
- 인터넷 자체는 괜찮은가? 다른 사이트 몇 개를 열어 보세요. 와이파이가 불안정하면, 앱은 멀쩡한데 망가진 쪽이 당신일 수도 있습니다.
- AI 빌더 자체에 장애가 있었나? 대부분의 AI 앱 빌더에는 상태 페이지가 있습니다 (제품 이름에 “status”를 붙여 검색하세요). 그들이 안 좋은 밤을 보내는 중이라면, 당신은 다른 걸 알아낼 필요가 없습니다.
- 연결된 도구 중 하나가 죽었나? 앱이 결제에 Stripe를, 알림에 이메일 서비스를, 데이터 저장에 데이터베이스 서비스를 쓴다면, 그중 무엇이든 장애가 날 수 있습니다. 각자 자기 상태 페이지가 있습니다. 당신 앱이 의존하는 것들을 확인하세요.
다섯 번에 한 번쯤은, 답이 “사실 내 앱이 아님”이고, 당신은 다시 자러 갈 수 있습니다.
3단계 — 오류 메시지가 무섭더라도 들여다봐라
앱이 텍스트가 있는 화면을 보여 준다면 — 횡설수설처럼 보이는 텍스트라도 — 읽으세요. 스크린샷을 찍으세요. 특히 글자와 숫자가 길게 이어진 문자열이 있다면요 (사람들은 이걸 “스택 트레이스”라고 부릅니다. 알파벳 수프처럼 보이지만, 도움을 청할 때 가질 수 있는 가장 유용한 것입니다).
대부분의 AI 앱 빌더에는 최근에 일어난 오류를 볼 수 있는 곳도 있습니다. Logs, Activity, Errors, 또는 Console이라고 불릴 수 있습니다. 그걸 여세요. 보이는 것 대부분을 이해할 필요는 없습니다 — 당신은 가장 최근의 빨간 글씨나 가장 최근의 오류, 그리고 그게 일어난 시각을 찾고 있는 겁니다. 시각이 중요합니다: 어제 아침의 오류는 방금 사용자가 가입하지 못한 이유가 아닐 가능성이 큽니다.
그 오류를 복사하세요. 잠시 후 도움이 될 곳에 붙여 넣을 겁니다.
4단계 — AI 빌더에게 무엇이 바뀌었는지 물어라
이게 비기술적인 메이커들이 가장 적게 쓰는 수입니다. AI 빌더와의 채팅을 열고, 평범한 말로 말하세요:
“내 앱이 깨졌어. 사용자가 가입을 못 해 — 버튼이 아무것도 안 해. 로그에서 나온 오류는 이거야: [붙여 넣기]. 지난 24시간 동안 뭐가 바뀌었고, 뭐가 원인일 수 있어?”
좋은 AI 빌더는 어떤 최근 변경이 가장 원인일 가능성이 높은지 알려 줄 겁니다. 어떤 때는 즉시 알아챕니다 (“아, 어제 폼을 더 예쁘게 만들어 달라고 했는데 그게 제출 로직을 깨뜨렸겠구나”). 어떤 때는 당신이 건드린 기억도 없는 무언가를 가리키는데, 그것도 유용합니다 — 연결된 도구가 업데이트되는 것처럼 무언가 자동으로 바뀌었다는 뜻이니까요.
AI 빌더가 아직 수정에 들어가게 두지 마세요. 당신은 여전히 진단 모드에 있습니다. 작은 문제를 더 키우는 가장 흔한 방식이, 누구도 무엇이 깨졌는지 이해하기 전에 AI가 무언가를 “고치기” 시작하게 두는 것임을 저는 봐 왔습니다.
5단계 — 롤백할지 결정하라
거의 모든 AI 앱 빌더가 앱을 이전 버전으로 되돌리게 해 줍니다. 어떤 때는 “history”, “versions”, “checkpoints”, “rollback”이라고 불립니다.
앱이 작동하던 한 시간 전이나 하루 전을 분명히 기억할 수 있다면, 그 버전으로 돌아가는 게 가장 믿을 만한 단 하나의 수입니다. 그 사이에 한 변경들을 잃지만 (어차피 더는 원하지 않을 수도 있고요), 깨어났을 때 작동하는 앱을 줍니다.
좋은 규칙: 깨진 것이 사용자가 매일 하는 일(가입, 로그인, 결제)이라면, 먼저 롤백하고 나중에 앞으로 고치세요. 작동하지만 오래된 것이, 깨졌지만 최신인 것을 매번 이깁니다.
깨진 것이 오늘 추가한, 아직 아무도 의존하지 않는 기능이라면, 아침까지 깨진 채로 두고 맑은 정신으로 고쳐도 됩니다.
6단계 — 꼭 AI 빌더가 고치게 해야 한다면
롤백이 불가능하거나, 안 하기로 정했다면, AI 빌더가 수정안을 제안하게 하세요. 그동안 마음에 둘 두 가지:
승인하기 전에 무엇을 바꾸려는지 읽으세요. 전부 이해하지는 못하겠지만, 그게 집중된 한 가지를 수정하는지 아니면 앱의 절반을 다시 쓰는지는 알아챌 수 있습니다. 작고 집중된 변경이 새벽 2시에 광범위한 변경보다 훨씬 안전합니다.
가능한 한 따분한 방식으로 수정을 테스트하세요. 그냥 “고쳐졌어?”라고 묻고 답을 믿지 마세요. 직접 시크릿 창에서 앱에 가서, 깨졌던 그것을 실제로 해 보세요. 수정이 됐다면, 깨졌던 것이 이제 작동합니다. 안 된다면, AI 빌더가 됐다고 말했다는 이유만으로 변경을 받아들이지 마세요.
7단계 — 못 고쳤더라도 사용자에게 답장하라
새벽 1시 47분에 메시지를 보낸 사용자는 당신이 온라인일 거라고 기대하지 않습니다. 하지만 당신이 온라인이라면, 짧은 답장 한 줄이 수정보다 더 중요합니다:
“알려 주셔서 감사해요 — 지금 보고 있습니다. 다시 작동하는 대로 바로 알려 드릴게요.”
그들이 돈 내는 사용자라면, 그 메시지 한 줄이, 당신이 빠르게 응답한다고 사람들에게 말하느냐, 당신이 잠수를 탔다고 말하느냐의 차이입니다. 수정은 아침까지 기다릴 수 있습니다. 답장은 못 기다립니다.
더 큰 교훈: 앱이 깨질 수 있다는 전제로 만들어라
이게 스트레스였다면, 그 경험이 당신의 제작 방식을 바꿔 놓는다는 게 위안입니다. 첫 새벽 2시 사건을 겪고 나면, 다르게 하기 시작할 겁니다:
- 상태 점검 페이지를 추가하게 됩니다. 앱의 중요한 부분들이 작동하는지 알려 주는 간단한 페이지요. 그래서 로그인하지 않고도 확인할 수 있게요.
- 사용자 데이터의 백업을 유지하게 됩니다. 대부분의 빌더는 요청하면 데이터를 내보내 줍니다. 일주일에 한 번 30초면 되고, 최악의 경우 당신을 구합니다.
- 앱이 무엇에 의존하는지 적어 두게 됩니다. 연결된 모든 도구(결제, 이메일, 데이터베이스, 스토리지)의 짧은 목록요. 그래야 새벽 2시에 뭔가 깨질 때, 짐작이 아니라 체크리스트가 손에 있습니다.
- 한 번에 하나씩 바꾸게 됩니다. 한꺼번에 10가지를 바꾸고 앱이 깨지면, 어떤 변경이 깨뜨렸는지 전혀 모릅니다. 한 번에 하나씩 바꾸면, 압니다.
코드 없이 앱을 만들 수 있습니다. 개발자가 아니어도 앱을 계속 돌릴 수도 있습니다 — 다만 거기 필요한 기술은 만드는 기술과는 다릅니다. 대개는 어렵게, 보통은 곤란한 시각에 배우게 됩니다.
좋은 소식: 그런 일이 일어날 때마다, 덜 무서워집니다. 세 번째쯤이면 무섭다기보다 짜증 나는 정도가 됩니다. 열 번째쯤이면, 그냥 평범한 화요일입니다.