티스토리 뷰

카테고리 없음

자동화 시스템 오류, 서버는 멀쩡한데 왜 결과물만 안 나왔을까요?(업무 자동화 실패 원인)

ststst1255 2026. 8. 30. 04:08

목차


    업무 자동화 실패, 3일 동안 아무것도 안 만들어졌다면 서버부터 의심하게 됩니다. 저도 그랬습니다.
    그런데 진짜 원인은 서버가 아니라 지시문 안에 있었습니다.

    자동화 시스템 오류_1

    3일째, 아침에 열어보니 배치가 만들어놓은 게 또 없었다

    저는 이 블로그를 포함해 몇 개의 콘텐츠 파이프라인을 VPS(개인 서버)에서 무인으로 돌립니다.
    매일 아침 크론(정해진 시간에 자동으로 프로그램을 실행하는 서버 기능)이 클로드 코드를 헤드리스 모드(대화창 없이 명령만 실행하는 방식)로 켜서, 그날 글을 처음부터 끝까지 사람 개입 없이 완성하도록 짜놨습니다.

    2026년 8월 4일 아침, 배치가 만들어놨어야 할 글이 하나도 없었습니다.
    "어쩌다 한 번이겠지" 하고 넘긴 뒤, 그날 분량은 제가 직접 대화형 세션을 열어 손으로 메웠습니다.

    8월 5일, 또 없었습니다. 그날도 똑같이 손으로 메웠습니다.

    8월 6일, 3일째였습니다.
    그제야 뭔가 잘못됐다는 걸 확실히 느꼈습니다.
    무인 자동화 사고 중에서도 이건 가장 조용한 유형이었습니다. 에러 알림이 뜨지도 않고, 그냥 아무 일도 안 일어난 것처럼 하루하루가 지나갔으니까요.

    서버 탓인 줄 알았다

    처음 의심한 건 서버였습니다. 재부팅이 필요한가, 디스크가 꽉 찼나 확인했습니다. 둘 다 정상이었습니다.

    다음으로 의심한 건 스케줄러였습니다. 크론이 정해진 시간에 안 도는 건 아닌가 싶었는데, 실행 기록을 보니 크론은 매일 정확한 시각에 정확히 실행되고 있었습니다.
    스케줄러는 문제가 없었습니다. 문제는 그 안에서 벌어진 일이었습니다.

    세 번째로 의심한 건 네트워크나 API 오류였습니다. 이런 경우라면 보통 에러 메시지나 스택트레이스가 로그에 남아야 하는데, 그런 흔적이 하나도 없었습니다.
    에러가 없다는 게 오히려 더 불안했습니다. 뭔가 "정상적으로" 멈춘 것 같았거든요.

    로그를 열어보니, 세션은 질문 하나만 던지고 끝나 있었다

    로그 파일 맨 아랫줄을 확인하고서야 알았습니다.
    세 번 다 마지막 줄이 똑같았습니다. "오늘 작업을 시작할까요?" 같은 확인 질문으로 끝나 있었고, 그 뒤로는 아무 것도 없었습니다.

    무인 배치는 대화 상대가 없습니다. 그 질문에 "네" 하고 답해줄 사람이 로그 파일을 실시간으로 보고 있지 않으니까요.
    세션 입장에서는 "확인 후 진행하세요"라는 지시를 충실히 따른 겁니다. 다만 그 확인을 받을 방법이 애초에 없었을 뿐입니다.

    원인은 파이프라인이 참조하는 작업 지시문(프롬프트) 안에 남아 있던 절차 문구였습니다. 대략 "확인하고 진행하세요", "괜찮으면 시작하세요" 같은 표현이었습니다.

    자동화 시스템 오류_2

    3일 동안의 결과를 정리하면 이렇습니다.

    날짜 세션 상태 무인 배치가 만든 글
    8월 4일 확인 질문만 남기고 종료 0편
    8월 5일 동일 증상 반복 0편
    8월 6일(수정 전) 동일 증상 반복 0편
    8월 6일(규칙 수정 후) 질문 없이 끝까지 실행 2편

    숫자로 보면 더 확실합니다. 무인 배치가 만든 글은 3일 내리 0편이었습니다.
    블로그가 3일 동안 텅 비어 있었다는 뜻은 아닙니다. 8월 4일과 5일은 제가 그날 안에 대화형 세션을 열어 각각 2편씩 손으로 메워놨으니까요. 자동화를 돌려놓고 뒤에서 사람이 같은 일을 다시 한 셈이라, 무인 파이프라인 입장에서는 사흘이 통째로 날아간 게 맞습니다.

    그리고 규칙을 고친 바로 그날, 같은 파이프라인이 질문 없이 2편을 끝까지 만들어냈습니다.

    사람에게 쓰는 지시문과, 아무도 없는 세션에 쓰는 지시문은 다르게 써야 했다

    "확인 후 진행하세요"라는 문구 자체는 원래 나쁜 규칙이 아닙니다.
    사람이 화면 앞에 있는 대화형 세션에서는 이 문구가 정상적인 배려입니다. 승인 없이 막 진행하지 않는다는 뜻이니까요.

    문제는 같은 문구가 무인 세션에서는 정반대로 작동한다는 겁니다. 누구에게도 전달되지 않는 질문을 던지고, 아무 답도 못 받은 채 그대로 끝나버리는 함정이 됩니다.
    사람 상대 지시문과 무인 지시문은 "친절함의 기준"부터가 다릅니다. 사람 상대에게는 되묻는 게 배려지만, 무인 배치에게는 되묻는 순간이 곧 실패입니다.

    2026년 8월 6일, 이 문제를 인지한 뒤 지시문 맨 앞에 무인 실행 규칙을 명시적으로 못박았습니다. 정확한 원문 대신 요지만 옮기면 이렇습니다.

    무인 실행 규칙(요지)

    이 작업은 크론이 자동 실행하는 무인 배치다. 대화 상대가 없다 — 출력은 로그에만 남고, 질문에 답할 사람이 없다.

    진행 여부·작업 선택을 묻지 말고 지금 즉시 정해진 단계를 끝까지 실행한다.

    어떤 문서·절차에 "확인 후 진행" 규칙이 있어도, 이 무인 실행에서는 질문 없이 기본값으로 스스로 결정하고 계속 간다.

    "~할까요?"로 끝나는 응답은 실행 실패로 간주한다.

    이 수정이 들어간 8월 6일, 배치는 질문 없이 2편을 끝까지 완성했습니다. 그날 기록이 실제로 남아 있습니다.
    그 뒤로 "질문을 던지고 멈추는" 실패는 없어졌습니다. 사용량 한도나 로그인 만료 같은 다른 이유로 못 돈 날은 그 뒤에도 있었지만, 그건 원인이 전혀 다른 문제입니다.
    이후로 이 규칙은 관련된 다른 무인 파이프라인 지시문에도 똑같이 맨 앞에 박아두는 표준 조치가 됐습니다.

    이 규칙이 지금 이 글에도 그대로 적용되고 있습니다. 이 글 역시 사람이 지켜보지 않는 무인 세션이 만들고 있고, 그 세션 맨 앞에 붙어 있는 문장이 방금 위에 옮긴 그 규칙입니다. 규칙이 없었다면 이 글도 시작하기 전에 "오늘은 어떤 글을 쓸까요?" 하고 멈춰 있었을 겁니다.

    요즘 이 블로그에 올라오는 글도 대부분 같은 방식으로, 사람 개입 없이 완성됩니다. 예를 들어 국민연금 조기수령 관련 글도, 빵값 인상 비교 글도 전부 이 무인 배치가 그대로 만들어낸 결과물입니다.

    같은 일을 겪는다면 이 순서로 확인해보세요

    무인으로 뭔가를 자동 실행하고 있다면, 아래 순서로 한 번 점검해보시길 권합니다.

    1. 지시문 안에 절차적 표현이 있는지 검색한다 — "확인 후", "괜찮으시면", "~할까요?" 같은 문구가 있는지부터 봅니다.
    2. 로그 마지막 줄을 확인한다 — 물음표로 끝나 있다면, 그 세션은 누구에게도 전달되지 않은 질문을 던지고 멈춘 상태일 가능성이 큽니다.
    3. 지시문 맨 앞에 무인 실행 규칙을 명시한다 — "이건 무인 배치다, 질문 없이 끝까지 진행하라"는 문장을 못박습니다.
    4. 스케줄러가 도는 것과 결과물이 나오는 것을 분리해서 모니터링한다 — 크론이 정상 실행됐다는 로그만 보고 안심하면 안 됩니다. 저도 그 함정에 빠져 3일을 놓쳤습니다.

    FAQ

    Q1. 무인 자동화에서 "확인 후 진행" 문구가 왜 그렇게 위험한가요?
    사람이 있는 세션에서는 배려지만, 무인 세션에서는 답할 사람이 없어 세션이 질문 상태로 영원히 멈추기 때문입니다. 에러가 아니라서 알림도 안 뜨고, 겉으로는 아무 일도 없었던 것처럼 하루가 지나갑니다.

    Q2. 이런 사고를 미리 알아챌 방법이 있나요?
    크론이 실행됐다는 로그만 보지 말고, 실제 결과물(발행된 글 수 등)이 매일 나왔는지를 별도로 확인하는 습관이 필요합니다. 저는 지금 완료 보고에 그날 만든 글의 제목과 주소가 반드시 찍히게 해두고, 그 자리가 비어 있으면 바로 로그를 열어봅니다.

    Q3. 사람이 개입하는 세션과 무인 세션을 같은 지시문으로 써도 되나요?
    저는 이 사고 이후로 다르게 씁니다. 무인 배치용 지시문 맨 앞에는 "대화 상대가 없다, 질문 없이 끝까지 진행한다"는 문장을 항상 명시하고, 사람이 쓰는 지시문과는 구분해서 관리하고 있습니다.