시스메이커코딩 못해도 AI로 자동화 시스템 만드는 법
전체 모델 출시 AI 도구 에이전트 AI 비즈니스 기술·논문 빌더의 작업실
빌더의 작업실

무인 발행 370건, 조용히 죽어 있던 74일

두 달 반 중 발행 구멍은 하루. 정작 무서웠던 건 에러 하나 없이 멈춰 있던 기능이었습니다.

자동화를 만드는 데는 이틀이 걸렸고, 그게 계속 돌아가게 만드는 데는 두 달이 걸렸습니다.

숫자부터 — 두 달 반, 370건, 구멍 하루

6월 11일 첫 자동 발행을 올린 뒤 두 달 반이 지났습니다. 그동안 370건, 하루 5건 고정으로 나갔고 사람 손은 들어가지 않았습니다. 그 기간에 발행이 아예 없었던 날은 7월 1일 하루뿐입니다. 다만 이 숫자는 자랑이 아니라, 그 하루를 어떻게 놓쳤는지에 대한 기록에 가깝습니다.

7월 1일에는 07시·09시·12시 세 번의 작업이 각각 세 번씩, 합쳐 아홉 번 연속 실패했습니다. 로그에 남은 건 종료 코드 1이 찍힌 아홉 줄이 전부였고요. 다음 날 새벽 1시 27분 부팅 캐치업이 정상적으로 돌긴 했지만, 그건 이미 7월 2일자였습니다.

실패는 대부분 예의 바르게 옵니다

두 달 치 로그를 다시 훑어보니 기사 작성이 실패한 시도는 28번, 그중 재시도 3회를 다 쓰고도 못 만든 작업이 9번(날짜로는 7일)이었습니다. 원인은 대체로 시시했어요.

  • 6월 16일 — 소켓이 예고 없이 끊겼습니다. 09시 작업이 실패했고, 12시 캐치업에서 같은 코드가 그대로 성공했습니다.
  • 6월 26일 — 15분 제한시간에 걸려 종료 코드 124. 30초 뒤 재시도에서 성공했습니다.
  • 8월 21일 — 종료 코드는 실패인데 결과 파일은 생성됐습니다. 반쯤 쓰다 만 기사였죠.

이런 건 로그를 열면 보입니다. 무서운 건 다음 종류입니다.

진짜 적은 코드가 아니라 침묵입니다

메시지를 분류하는 기능이 6월 2일부터 죽어 있었습니다. 발견한 건 8월 15일이고요. 74일 동안 에러가 하나도 뜨지 않았습니다. 빠른 응답용 모델의 기본값이 별도 키를 요구하는 모델이었는데, 키가 없으니 다른 백엔드로 넘어갔고, 거기서 404가 나자 시스템은 조용히 데모용 더미 문자열을 돌려줬습니다. 그 문자열은 JSON이 아니라 파싱에 실패했고, 그러면 키워드 규칙 폴백이 작동했습니다. 겉보기에는 멀쩡히 돌아갔다는 뜻입니다.

비슷한 시기, 자동화가 보내던 알림 자체가 전부 실패하고 있었습니다. 국내망에서 메신저 API 주소가 막혀 있었던 겁니다. 아무 보고도 못 하는 상태와, 잘 돌아서 보고할 게 없는 상태는 밖에서 보면 똑같습니다. 6월 내부 점검에서 '실제 발행 0'으로 잡혔던 항목의 진짜 원인이 이것이었습니다. 해결은 클라우드 함수를 중계로 세워 우회한 것이고, 7월 24일에는 받는 방향까지 같은 경로로 뚫었습니다.

그래서 붙인 장치들

완료 표시는 성공했을 때만 기록합니다. 이 한 줄이 설계의 중심입니다. 07시 정규 작업이 실패하면 완료 표시가 남지 않으니, 09·12·15·18시 캐치업과 부팅 직후 작업이 같은 스크립트를 다시 돌립니다. 이미 오늘 발행된 상태라면 즉시 종료하고요. 지난 두 달 로그에 '이미 발행됨 — skip'이 반복해서 찍혀 있는 건 낭비가 아니라 안전핀이 작동한 흔적입니다.

성공 판정도 두 조건을 함께 봅니다. 종료 코드가 0이면서, 동시에 결과 파일이 비어 있지 않아야 성공입니다. 8월 21일의 반쪽짜리 파일이 그대로 발행되지 않은 건 이 조건 덕분이었습니다.

최근에는 감시 역할을 하나 더 붙였습니다. 평소엔 침묵하고 이상할 때만 먼저 알리는 쪽입니다. 핵심은 로그가 갱신됐는지가 아니라 산출물이 실제로 나왔는지를 본다는 점이에요. 로그는 실패해도 갱신되거든요.

무인 시스템 점검 체크 5개

  • 실패 사실이 바깥으로 나가는가. 알림 경로 자체를 한 번 일부러 끊어보고 확인하십시오. 알림이 죽으면 장애가 아니라 평온으로 보입니다.
  • 완료 표시를 성공했을 때만 남기는가. 시작 시점에 남기면 실패가 성공으로 기록됩니다.
  • 재시도가 있고, 그 사이에 간격이 있는가. 즉시 3연타는 대개 같은 이유로 3번 실패합니다.
  • 정해진 시각을 놓쳤을 때 다시 붙는 시각이 있는가. 절전과 재부팅은 사고가 아니라 일상입니다.
  • 성공 판정이 '에러 없음'이 아니라 '결과물 존재'인가.

두 달 치 로그에서 얻은 결론은 하나입니다. 자동화의 실패는 대체로 요란하지 않습니다. 요란하게 죽으면 그날 고치고, 조용히 죽으면 74일이 지나갑니다. 그래서 이 시스템에 붙은 장치의 절반은 일을 하는 코드가 아니라, 일이 안 되고 있다는 사실을 시끄럽게 만드는 코드입니다.

#자동화#무인운영#장애기록#크론#빌더의작업실

이 시스템이 실제로 돌아가는 모습은 유튜브에서 공개 중입니다.

채널 보기 ↗
STORE

✍️ 이 글은 사람이 직접 썼습니다

대신 이 사이트의 나머지 기사는 매일 아침 7시, 파이프라인이 혼자 씁니다. 그 시스템을 키트로 판매합니다.

← 뉴스 전체 보기