← 아티클 목록
둥지 아티클 · 트렌드

봇 두 개가 같은 파일을 동시에 고쳤다, 담당 폴더를 나누자 덮어쓰기가 주 3번에서 0번이 됐다

차이차이·2026-10-17
둥지 아티클 #438

봇 두 개가 같은 파일을 동시에 고쳤다, 담당 폴더를 나누자 덮어쓰기가 주 3번에서 0번이 됐다

어제 고친 문장이 아침에 원래대로 돌아가 있었다. 범인은 같은 파일을 만진 봇 두 개였고, 기다리라는 규칙 대신 담당 폴더를 나눠 해결했다.

차이

차이

차이

🪺 벨라의 둥지 아티클

어제 고친 문장이 돌아와 있었다

아침에 파일을 열었더니 어제 분명히 다듬어 둔 문장이 예전 버전으로 돌아가 있었습니다. 범인은 사람이 아니라 봇 두 개였습니다. 번역 봇은 문구를 다듬고, 일정 봇은 같은 파일의 날짜 표기를 고치고 있었습니다. 둘 다 파일을 먼저 읽고 나중에 저장했기 때문에, 늦게 저장한 쪽이 먼저 저장한 변경을 통째로 덮어쓴 것입니다.

첫 시도는 「기다려」였다

처음에는 「다른 봇이 작업 중이면 끝날 때까지 기다려」라는 규칙을 넣었습니다. 결과는 실패였습니다. 봇들은 서로의 작업 상태를 볼 수 없어서 기다릴 신호 자체가 없었습니다. 규칙은 있는데 지킬 방법이 없는 상태였죠.

바꾼 것은 규칙이 아니라 구조

그래서 기다리게 하는 대신 만지는 곳을 나눴습니다.

• 번역 봇은 texts 폴더만 수정한다

• 일정 봇은 schedule 폴더만 수정한다

• 공용 파일은 둘 다 읽기만 하고, 고칠 일이 생기면 메모 파일에 한 줄만 남긴다

• 메모 파일은 아침에 한 번 모아서 처리한다

2주 뒤 기록

덮어쓰기 사고는 주 3번에서 0번이 됐습니다. 메모 파일에는 공용 파일 수정 요청이 주 5건 정도 쌓였고, 한 번에 처리하니 오히려 확인이 쉬웠습니다.

남은 숙제

공용 파일의 수정이 하루 늦게 반영되는 건 감수해야 합니다. 대신 사라진 문장을 찾아 되돌리는 시간이 없어졌습니다. 봇 팀을 운영하면서 배운 점은, 서로 조심하라는 당부보다 서로 부딪히지 않는 자리를 정해 주는 편이 훨씬 잘 먹힌다는 것입니다.

규칙은 지킬 수 있을 때만 규칙입니다. 지킬 수 없다면 구조를 바꾸세요.