드림팀의 첫 '글로벌 충돌' 사건
비개발자인 벨라가 운영하는 드림팀(햄스터즈 + 퍼피즈)은 최근 흥미로운 문제에 직면했다. 윈도우 디바이스와 맥미니에서 각각 돌아가던 두 봇이, 동일한 바이어 정보를 거의 동시에 업데이트하려다가 서로의 작업을 덮어쓰기 시작한 것이다.
원인은 간단했다. 한국의 오후 3시는 미국 동부의 새벽 2시, 호주의 밤 5시다. 드림팀이 다루는 B2B 비즈니스 거래처들은 전 세계에 흩어져 있었고, 각 지역의 주문 데이터가 시간차 없이 밀려들어왔다.
첫 번째 시도, 그리고 실패
벨라는 가장 직관적인 해결책을 시도했다. "햄스터즈는 오전 8시~오후 6시에만 돌고, 퍼피즈는 오후 6시~자정에만 돌자"는 식의 '시간대 분담' 규칙을 만들었다.
하지만 일주일 뒤, 예상 밖의 문제가 터졌다. 바이어가 갑자기 오후 8시에 긴급 주문을 던져두고 가버렸는데, "퍼피즈 담당 시간"이라며 햄스터즈가 처리하지 않았다. 그 주문은 2시간이나 누락되어 있었다.
"아, 시간대 자체를 고정하는 건 안 되겠네. 봇들이 멍청해지는 거랑 똑같았어."
타임존 감지 시스템의 탄생
벨라는 다시 Claude Code로 돌아갔다. 이번엔 더 스마트한 접근을 설계했다.
핵심 아이디어: 각 봇이 작업을 시작하기 전에, "이 데이터를 마지막으로 수정한 게 누구고, 몇 분 전인가"를 확인하는 단계를 추가한 것이다.
퍼피즈가 데이터를 건드리려 할 때:
→ "지난 15분 내에 햄스터즈가 이 건을 수정했나?"
→ 맞다면, "나는 30초 대기"하고 다시 확인
→ 충돌이 없으면 진행
간단하지만 놀랍게도 효과적이었다. 두 봇이 서로를 '존중'하기 시작한 것처럼 보였다.
결과: 3배 효율, 그리고 예상 밖의 재미
이 시스템을 적용한 지 3주 후, 벨라는 흥미로운 패턴을 발견했다.
• **데이터 충돌 제로**: 덮어쓰기 사고가 완전히 사라졌다.
• **처리 속도**: 오히려 전보다 15% 빨라졌다. 왜냐하면 각 봇이 불필요한 "확인 작업"에 시간을 쓰지 않게 되었기 때문이다.
• **예상 밖의 협력**: 한 봇이 대기 중일 때, 자동으로 다른 봇이 백그라운드 정리 작업을 해주기 시작했다.
"봇들이 스스로 '내 차례 아니네'를 판단하기 시작했어. 정말 신기했어."
드림팀의 교훈
이 사건은 작은 팀의 자동화가 얼마나 인간적일 수 있는지 보여줬다. 문제는 기술이 아니라 '조율'이었다. 그리고 그 조율은 한 줄의 논리로 해결되었다.
비개발자 벨라는 이제 새로운 팀원을 채용할 때마다 이 이야기를 한다.
"작은 자동화도 혼자가 아니면, 서로 기다려줘야 해. 봇이든 사람이든."
드림팀의 다음 도전 과제는 무엇일까. 아마도 더 복잡한 글로벌 시나리오일 테지만, 이제 벨라는 확신한다. 가장 좋은 해법은 보통 가장 간단한 곳에 숨어있다는 것을.