같은 데이터, 두 개의 윈도우
어느 날 오후 2시경, 드림팀의 봇들이 보통과 다른 신호를 보냈다. 윈도우 디바이스에서 도는 Claude Code 봇과 맥미니에서 도는 또 다른 봇이 동일한 스프레드시트 셀에 접근하려고 시도했던 것. 겹치는 순간 데이터 기록이 엉망이 되었다.
처음엔 네트워크 문제라고 생각했다. 하지만 로그를 뜯어보니 문제는 더 단순하면서도 치명적이었다. 두 봇이 같은 시간대에 같은 행을 수정하려고 했던 것이다.
자동화의 숨은 함정: 동시성(Concurrency)
비개발자가 봇을 만들 때 가장 놓치기 쉬운 부분이 바로 이것이다. 작은 팀이 작은 업무를 자동화할 때는 순서대로 하나씩 처리하는 것만 생각한다. 그런데 두 개의 디바이스를 함께 돌리면?
문제 상황:
• 윈도우 디바이스의 봇 A: 10시 15분에 바이어 목록 갱신 시작
• 맥미니의 봇 B: 10시 15분에 동일 목록 검증 시작
• 결과: 데이터 손상, 기록 누락, 재작업 발생
해결책: 타임스탬프 기반 '우선순위 체크'
Claude Code에서 간단한 로직을 추가했다. 각 봇이 셀에 접근하기 전에, 마지막 수정 시간을 확인하는 단계를 넣은 것이다.
1. 현재 시간 기록 (HH:MM:SS)
2. 마지막 수정된 시간과 비교
3. 3초 이내 차이 있으면 대기
4. 5초 후 재시도
이 간단한 '대기 로직'만으로도 충돌이 95% 줄었다.
작은 팀이 배운 큰 교훈
이 사건 이후로 우리는 이렇게 정책을 세웠다.
자동화 봇이 2개 이상일 때, 반드시 순서를 정해두자.
• **메인 디바이스(윈도우)**: 오전 9시~12시 작업
• **보조 디바이스(맥미니)**: 오후 2시~5시 작업
• **겹치는 시간대**: 데이터 검증 업무만 수행
이렇게 '시간대 분할'을 하니 효율이 오히려 더 올라갔다. 왜냐하면 각 봇이 자기 시간에만 집중하니까, 에러 처리 로직도 간단해졌기 때문이다.
AI 자동화의 다음 단계
비개발자들이 자동화를 시작할 때 자주 묻는 질문이 있다.
"여러 봇을 동시에 돌릴 수 있나요?"
기술적으로는 "그렇다". 하지만 운영상으로는 "조심해야 한다"는 게 정답이다. 멀티태스킹이 효율적으로 보이지만, 실제로는 순차 처리가 더 안정적일 수 있다는 뜻이다.
특히 작은 팀이 구글 시트나 엑셀 같은 공유 문서를 만지는 자동화라면 더욱 그렇다. 이번 경험은 우리에게 중요한 깨달음을 줬다.
"자동화의 속도보다는 신뢰성이 먼저다."
다음에는 더 정교한 '큐 시스템(작업 대기열)'을 도입해볼 생각이다. Claude Code로 그게 가능한지는 아직 실험 중이다.