78단계조용한 실패를 알아채는 법
조용히 멈춘 자동화가 가장 위험하다. 실패 알림부터 만든다.
걸리는 시간 · 읽기 약 5분 · 따라 하기 약 30분 · 난이도 ★★★ 심화
이 단계를 마치면
- 흐름의 단계마다 조용히 실패하는 경우를 찾아낼 수 있다.
- 흐름이 멈췄을 때도, 결과가 비었을 때도 소식이 오게 만들 수 있다.
- 결과 속에 "평소와 다름"을 알아챌 숫자를 심을 수 있다.
자동화가 요란하게 실패하면 차라리 다행이다. 누군가 바로 알아챈다. 정말 위험한 것은 조용히 멈추는 경우다. 매주 오던 보고서가 어느 월요일부터 오지 않는데 아무도 모른다. 문의 메일이 시트에 쌓이지 않는데, 시트를 보는 사람은 이번 주엔 문의가 적은가 보다 하고 넘어간다.
왜 조용한 실패가 생기는가
손으로 하던 시절에는 일을 안 하면 안 한 사람이 알았다. 자동화에서는 기계가 일을 하니, 기계가 멈추면 아무도 모른다. 게다가 자동화를 만들고 나면 사람은 결과를 덜 들여다본다. 믿으니까 만든 것이니 당연하다. 그런데 믿음이 클수록 멈춘 것을 알아채는 데 더 오래 걸린다.
자동화가 멈추는 이유는 몇 가지로 모인다. 어느 경우든 흐름은 에러 없이 빈 결과만 내놓을 수 있다.
| 멈추는 이유 | 겉으로 보이는 증상 | 알아채는 장치 |
|---|---|---|
| 연결자나 외부 도구의 로그인 만료 | 결과가 아예 안 오거나 "읽지 못함" | 도구의 실패 알림, 자료가 없을 때 남기는 메모 |
| 원본 시트의 열 이름·순서 변경 | 결과가 평소보다 짧거나 일부가 빈다 | 결과 속 "읽은 원본 건수" |
| 컴퓨터가 꺼져 예약이 안 돎 | 정해진 때 결과 파일이 없다 | 결과 파일이 있는지 보는 정기 점검 |
| API 사용 한도 도달 | 어느 시점부터 Claude 단계만 비어 있다 | 도구의 실패 알림, 사용량 화면 |
| Claude 출력 모양이 달라짐 | 시트의 값이 엉뚱한 열에 들어가거나 한 칸에 몰린다 | 출력 형식을 못 박은 지시, 확신 항목 |
세 겹의 장치
그래서 흐름을 만들 때 실패 알림부터 만든다. 방법은 세 가지이고, 셋을 겹쳐 쓴다.
첫째, 도구가 주는 실패 알림을 켠다. 외부 자동화 도구에는 흐름이 에러로 멈추면 알려 주는 설정이 대개 있다. 어디서 켜는지는 도구의 도움말에서 찾는다. 알림은 나뿐 아니라 대신 볼 사람까지 두 사람에게 가게 한다. 흐름은 공교롭게도 내가 휴가를 갔을 때 가장 자주 멈춘다.
둘째, 결과가 없을 때도 알리게 한다. "이번 주 해당 데이터 없음"이라는 메모가 오면 흐름은 살아 있다. 아무것도 오지 않으면 죽은 것이다. 74단계 프롬프트에서 자료가 없으면 메모를 남기라고 한 이유가 여기에 있다. 이렇게 해 두면 "안 왔다"는 사실 자체가 신호가 된다.
셋째, 사람이 정기적으로 본다. 한 달에 한 번, 모든 자동화의 마지막 실행 기록을 훑는다. 흐름은 돌고 결과도 오는데 내용이 틀린 경우처럼, 앞의 두 장치가 놓친 것은 사람 눈으로만 잡힌다. 이때 결과 속에 건수가 적혀 있으면 훑는 일이 빨라진다.
결과 속에 숫자를 심는다
가장 알아채기 어려운 것은 결과가 오긴 오는데 틀린 경우다. 이를 잡는 가장 싼 방법이 있다. 결과물 끝에 "읽은 원본 건수"나 "처리한 메일 건수"를 적게 하면 된다. 평소에 몇 건쯤 읽는지는 사람이 대개 감으로 안다. 그 숫자가 평소와 크게 다르면 바로 눈에 띈다. 이 숫자는 사람이 보고 판단하라고 넣는다.
평소가 얼마인지는 머리에만 두지 말고 적어 둔다. 흐름을 켠 첫 몇 주의 건수를 모으면 대략의 범위가 보인다. 요일마다 다르면 요일별로 적는다. 월요일 문의가 유난히 많은 팀도 있고, 월말에 카드 사용이 몰리는 팀도 있다. 연휴 다음 날처럼 원래 튀는 날도 따로 적어 둔다. 그래야 튀는 숫자를 보고 사고인지 계절 탓인지 구분할 수 있다. 지시문에 평소 범위를 알려 주고, 벗어나면 결과 맨 위에 표시하게 해도 된다. 그 표시를 보고 멈출지 말지는 여전히 사람이 정한다.
흔한 오해와 실제
첫째, 에러가 안 났으니 잘 돌고 있다는 생각. 도구가 말하는 성공은 흐름이 끝까지 갔다는 뜻일 뿐이다. 빈 파일을 읽고 빈 요약을 저장해도 성공으로 찍힐 수 있다. 성공 표시가 내용까지 보증하지는 않는다.
둘째, 알림이 많을수록 안전하다는 생각. 매번 오는 알림은 곧 아무도 열지 않는 알림이 된다. 알림은 사람이 무언가 해야 할 때만 오게 한다.
셋째, Claude가 이상한 점을 알아서 말해 주리라는 생각. Claude는 받은 자료 안에서 판단한다. 절반이 빠진 파일을 받으면 그 절반으로 성실하게 요약한다. 무엇이 빠졌는지는, 무엇이 와야 하는지 알려 준 경우에만 지적할 수 있다. 그래서 지시문에 예상하는 열 이름과 평소 건수를 적어 둔다.
알아챈 뒤에 할 일
알아채는 것은 절반일 뿐이다. 알림이 온 뒤 무엇을 할지 정해 두지 않으면, 알림을 받은 대리는 담당자에게 전화부터 건다. 담당자가 휴가 중이라면 그날은 그냥 지나간다.
순서는 이렇다. 먼저 흐름을 끈다. 틀린 결과가 계속 쌓이거나 밖으로 나가는 것부터 막아야 한다. 다음으로 언제부터 틀렸는지 찾는다. 결과 속 건수가 평소와 달라진 첫날이 대개 그 시작이다. 그다음 원인을 고치고, 빠진 기간의 원본으로 다시 돌린다. 다시 돌린 결과는 평소보다 꼼꼼히 본다. 마지막으로 무엇이 왜 멈췄는지 짧게 기록해 둔다. 같은 원인이 두 번 나오면 그 단계에 장치를 하나 더 단다.
다시 돌리려면 원본이 남아 있어야 한다. 흐름이 원본을 읽자마자 지우도록 만들었다면, 멈춘 기간의 자료는 되살릴 수 없다. 원본은 일정 기간 보관하는 편이 안전하다.
현장 장면
재무팀 오 과장은 매일 아침 전날 법인카드 사용 내역 요약을 받았다. 카드사에서 내려받은 파일을 공유 폴더에 두면, 흐름이 그 파일을 읽어 부서별 합계와 눈에 띄는 사용 건을 한 페이지로 정리해 주었다.
어느 날부터 요약이 짧아졌다. 오 과장은 사용이 줄었나 보다 했다. 월말에 부서별 합계를 장부와 맞추다가 숫자가 어긋났다. 알고 보니 카드사 파일의 열 순서가 바뀌어 일부 부서의 내역을 읽지 못하고 있었다. 흐름은 에러 없이 돌았고, 요약도 매일 왔다. 다만 절반이 빠져 있었다. 두 주 넘게 아무도 몰랐다.
오 과장은 먼저 빠진 기간을 찾았다. 요약이 짧아지기 시작한 날은 카드사가 파일 양식을 바꾼 날과 같았다. 다행히 그날부터의 원본 파일이 공유 폴더에 그대로 남아 있었다. 열 순서를 맞춘 뒤 그 파일들로 흐름을 다시 돌려 빠진 요약을 채웠고, 장부와도 다시 맞췄다. 원본을 지우지 않고 둔 덕분이었다.
오 과장은 세 가지를 더했다. 요약 맨 아래에 "읽은 원본 행 수"와 "부서 수"를 적게 했다. 평소보다 크게 적으면 바로 눈에 띈다. 지시문에는 "파일의 열 이름이 예상한 것(사용일, 부서, 금액, 가맹점)과 다르면 요약 대신 무엇이 달랐는지 적는다"를 넣었다. 그리고 외부 도구의 실패 알림이 자신과 같은 팀 대리, 두 사람에게 가도록 켰다. 몇 달 뒤 카드사 파일 형식이 또 바뀌었을 때, 그날 아침에는 요약 대신 이런 메모가 도착했다. "열 이름 불일치: 금액 열이 없음."
이번에 드러난 흠은 사람 쪽에 있었다. 메모를 먼저 본 대리는 무엇을 해야 할지 몰라, 오 과장이 외근에서 돌아올 때까지 반나절을 기다렸다. 오 과장은 멈췄을 때의 절차 다섯 가지를 흐름 설명 옆에 붙였다. 흐름을 끄는 곳, 원본이 있는 폴더, 열 이름을 맞추는 방법, 다시 돌리는 방법, 기록을 남길 곳. 다음번에는 대리가 혼자 처리했다.
따라 하기
- 지금 만든 자동화의 단계마다 "여기서 멈추면 어떻게 알 수 있나"를 적는다. 성공 기준: 모든 단계에 답이 있다. "모른다"라고 적힌 단계가 장치를 달 곳이다.
- 외부 자동화 도구나 예약 작업의 실패 알림 설정을 찾아 켠다. 알림은 나와 대신 볼 사람, 두 사람에게 가게 한다. 성공 기준: 일부러 흐름을 실패시켜 봤을 때(예: 원본 파일 이름을 잠시 바꾼다) 두 사람 모두 알림을 받았다.
- Claude 단계 지시문에 "자료가 없거나 읽지 못하면 그 사실을 적은 결과를 낸다"를 더한다. 성공 기준: 빈 자료로 돌렸을 때 메모가 나온다.
- 결과물 끝에 "읽은 원본 건수"나 "처리한 메일 건수"를 적게 한다. 성공 기준: 결과마다 건수가 있고, 평소 건수를 따로 적어 두었다.
- 달력에 한 달에 한 번 "자동화 점검" 일정을 넣는다. 점검 때는 마지막 실행 시각, 최근 결과의 건수, 실패 알림 기록을 본다. 성공 기준: 반복 일정이 들어갔고 점검할 세 가지가 일정 메모에 적혀 있다.
- (선택, 심화) 멈췄을 때의 절차를 다섯 줄 이내로 적어 흐름 설명 옆에 둔다. 흐름을 끄는 곳, 원본이 있는 곳, 다시 돌리는 방법, 알릴 사람, 기록할 곳을 넣는다. 성공 기준: 흐름을 만들지 않은 동료가 이 절차만 보고 흐름을 끄고 다시 돌릴 수 있다.
복사해 쓰는 프롬프트
아래는 내가 운영하는 자동화 흐름의 단계 목록이다. 각 단계가 조용히 실패할 수 있는 경우와, 그것을 알아챌 장치를 표로 제안해 줘.
[새 메일부터 보관까지, 또는 시작부터 저장까지 단계 목록]
표의 열: 단계 / 조용히 실패하는 경우 / 알아채는 장치(알림·결과 속 표시·정기 점검 중) / 내가 확인할 것 한 줄
가장 먼저 만들어야 할 장치 하나를 골라 이유와 함께 맨 위에 적어 줘.
막히면 이렇게
| 증상 | 원인 | 처방 |
|---|---|---|
| 결과가 평소보다 짧은데 이유를 모르겠다 | 원본 형식이 바뀌어 일부만 읽었다 | 결과에 읽은 건수를 적게 하고, 열 이름이 다르면 메모를 내게 한다 |
| 실패 알림이 너무 많아 아무도 안 본다 | 사소한 재시도까지 모두 알린다 | 흐름이 끝내 멈춘 경우만 알리게 좁히고, 나머지는 월 점검에서 본다 |
| 내가 휴가일 때 멈췄는데 아무도 몰랐다 | 알림이 나 혼자에게만 간다 | 대신 볼 사람을 알림 받는 사람에 더한다 |
실습 파일
공개 저장소에 올려 둔 가공 자료와 양식이다. 회사 자료 대신 먼저 이것으로 해 본다.
- 채워 쓰는 양식 자동화_설계서.md · 손으로 한 순서와 여섯 줄 설계, 트리거·예약 지시·확인 지점·실패 알림·비용 계산
스스로 점검
- ☐ 흐름이 멈췄을 때 두 사람 이상이 알림을 받는가.
- ☐ 자료가 없을 때도 "없음"이라는 결과가 오는가.
- ☐ 결과 속에 평소와 비교할 건수가 있는가.
점검 해설 보기
- 원본 파일 이름을 잠시 바꾸는 식으로 흐름을 일부러 실패시켰을 때 나와 대신 볼 사람, 두 사람 모두 알림을 받았으면 통과다. 나 혼자만 받았다면 알림 받는 사람에 대신 볼 사람을 더하고, 「세 겹의 장치」의 첫째 문단을 다시 읽는다.
- 빈 자료로 돌렸을 때 아무것도 오지 않는 대신 "해당 데이터 없음" 같은 메모가 오면 통과다. 오지 않는다면 지시문에 "자료가 없거나 읽지 못하면 그 사실을 적은 결과를 낸다"를 더하고, 74단계의 프롬프트와 맞춰 본다.
- 결과물 끝에 읽은 원본 건수나 처리한 메일 건수가 있고, 평소 건수가 따로 적혀 있으면 통과다. 요일마다 다르면 요일별로 적는다. 건수가 없다면 「결과 속에 숫자를 심는다」를 다시 읽고, 「현장 장면」의 오 과장처럼 읽은 행 수와 부서 수를 적게 한다.
기억할 것
- 결과가 없을 때도 소식이 오게 한다. 아무것도 안 오면 멈춘 것이다.
- 도구 알림, 빈 결과 메모, 정기 점검을 겹쳐 쓴다. 결과 속 건수는 사람이 보라고 넣는 숫자다.