1편에서 Claude와 3시간 만에 현장 긴급출동 앱을 만든 이야기를 했다. 이번 글은 그 3시간 중 가장 중요했던 부분, 현장의 출동 규칙을 앱에 옮기는 과정이다.
AI는 말한 대로 만든다. 그래서 처음 만들어진 구조는 그럴듯했지만 현장과 맞지 않는 부분이 있었다. 그걸 하나씩 고쳐 나간 기록이 이 글이다. 앱을 만들지 않더라도, 장애 출동이나 당직을 운영하는 관리자라면 참고가 될 만한 기준들이다.
“응답했다고 출동하는 게 아니다”
처음 만들어진 흐름은 단순했다. 장애공지를 보내면 직원이 [출동 가능] 또는 [불가]로 응답한다. 그런데 이대로라면 가능하다고 누른 사람이 모두 현장으로 출발할 수 있다.
현장은 그렇게 움직이지 않는다. 관리자가 누구를 보낼지 정하고, 그 사람이 간다고 확인해야 누가 출동하는지 알 수 있다. 내 지시 없이 여러 명이 한꺼번에 출발하면 안 된다. 그래서 흐름을 이렇게 바꿨다.
- 장애공지 → 직원은 [출동 가능/불가]로 응답. 가능을 누르면 “관리자 지시 전까지 대기” 안내
- 관리자가 가능 응답자 중에서 골라 출동 지시
- 지시받은 직원 폰에 다시 알람 → [출동하겠습니다] 또는 [출동 불가]
- 배정되지 않은 사람에게는 “출동 인원 배정 완료 · 출동하지 마세요”를 소리 없이 전달
- 지시 후 3분이 넘도록 확인이 없거나 출동 불가를 누르면 대시보드에 빨갛게 표시
- 원청 전달 문구는 출동을 확인한 사람 기준으로만 만들기
대시보드 위쪽의 숫자 칸에도 “출동 이동 중” 인원을 따로 넣었다. 그 칸을 누르면 원청에 보낼 문구가 바로 뜬다. 이름, 전화번호, 차량번호, 주소, 도착 예정 시간까지 들어 있어서 카톡에 붙여넣기만 하면 된다.
알림음 — 예쁜 멜로디 대신 사이렌과 음성
처음 알림음은 휴대폰 기본 멜로디 같은 소리였다. 테스트해 보니 너무 아름다워서 긴급 상황처럼 들리지 않았다. 너무 시끄럽지 않으면서 바로 알아들을 수 있는 소리가 필요했다.
그래서 2음 사이렌 → “긴급 장애 공지입니다. 출동 가능 여부를 응답해 주세요”라는 음성 안내 → 다시 사이렌 순서로 바꿨다. 최대 10초 동안 울리고, 응답하거나 끄면 멈춘다. 무음 모드에서도 알람처럼 전체화면으로 뜬다.
누구에게 울릴 것인가 — 시간대별 공지 대상
장애는 밤에도 주말에도 난다. 그렇다고 모든 공지를 모든 직원에게 울리면 쉬는 사람까지 깨우게 된다. 그래서 시간대별로 받는 사람을 나눴다.
| 시간대 | 공지를 받는 사람 |
|---|---|
| 주간 (평일 08~18시) | [근무 시작]을 누른 직원 |
| 평일 야간 (18시~다음 날 08시) | 당직자: 접속 1명, 외선 1명, 공무 1명 |
| 주말 (08시~다음 날 08시) | 당직자: 접속 2명, 외선 2명, 공무 1명 |
| 초긴급 | 시간과 관계없이 전 직원 |
당직표는 한 달 달력으로 만들어, 날짜별 칸에서 직원 이름 버튼만 누르면 배치되게 했다. 당직자는 앱에서 [당직 근무 시작]을 따로 누르고, 시작 30분 전에 미리 알림을 받는다. 당직이 끝나면 자동으로 종료된다. 대시보드 위쪽에는 지금 시간대와 공지를 받을 인원이 표시되고, 당직자가 비어 있으면 경고가 뜬다.

장애는 한 번에 끝나지 않는다 — 추가 공지
현장에 가 보면 상황이 바뀐다. 규모가 커져 사람이 더 필요하기도 하고, 위치가 바뀌기도 하고, 자재가 필요하기도 하다. 그래서 진행 중인 장애에 추가 공지를 보낼 수 있게 했고, 종류마다 알림 방식을 다르게 했다.
- 참고사항·자재 요청: 짧은 알림음만
- 증원 요청: 대상 인원에게 다시 출동 가능 여부를 묻고 사이렌
- 위치 변경: 출동 인원에게 알람과 함께 새 위치로 길 안내
같은 장애번호로 공지를 다시 보내려고 하면 경고가 뜨고, 기존 장애의 추가 공지로 연결되게 했다. 같은 장애가 두 건으로 따로 집계되는 일을 막기 위해서다.
현장에서 — 도착, 안전 점검, 복구 완료
출동한 직원은 앱에서 단계를 하나씩 누르며 진행한다. 현장 도착을 누르면 바로 작업 전 안전 점검이 뜬다. 보호구 착용, 작업구역 안전표지, 맨홀 가스·산소 측정, 고소·맨홀 2인 1조, 차량 주정차 위치 다섯 가지다. 복구가 끝나면 원인과 조치를 남기고, 당일 처리가 어려우면 지연 사유를 보고한다.

기록이 쌓이면 보이는 것 — 복구 이력
카톡방으로 운영할 때는 기록이 흩어졌다. 이제는 공지, 출동 지시, 출동 확인, 현장 도착, 복구 완료 시각이 장애번호별로 자동으로 남는다. 평균 응답 시간, 이동 시간, 복구 시간을 사람별로 볼 수 있고 엑셀로 내려받을 수 있다.
같은 장비나 같은 국사에서 30일, 90일 안에 다시 장애가 난 횟수도 집계되게 했다. 자주 고장 나는 곳을 찾는 데 쓰기 위해서다. 시스템을 쓰기 전의 지난 장애 문자도 여러 개를 한꺼번에 붙여넣어 이력에 넣을 수 있게 했다.

정리 — 규칙은 현장을 아는 사람이 정한다
3시간 동안 AI는 내가 말한 것을 빠르게, 그리고 정확하게 만들었다. 하지만 “응답과 출동은 다르다”, “쉬는 사람을 깨우면 안 된다”, “알림음은 바로 알아들어야 한다” 같은 기준은 AI가 먼저 말해 주지 않았다. 현장에서 일해 본 사람만 알 수 있는 것들이다.
AI로 업무 도구를 만들려는 관리자라면, 코드보다 먼저 우리 현장의 규칙을 문장으로 정리해 두는 것을 권하고 싶다. 그게 정리돼 있으면 나머지는 AI와 함께 빠르게 만들 수 있다. 개발하면서 막혔던 기술적인 부분은 3편에 정리했다.
자주 묻는 질문
Q. 출동 가능으로 응답한 사람이 전부 출발하면 안 되나요?
우리 현장에서는 안 된다. 관리자가 장애 위치와 인원 상황을 보고 누구를 보낼지 정해야 한다. 그래서 응답과 출동 지시를 두 단계로 나누고, 배정되지 않은 사람에게는 “출동하지 마세요”를 따로 보낸다.
Q. 야간에 모든 직원에게 공지가 가나요?
아니다. 야간과 주말에는 당직자에게만 간다. 초긴급으로 보낼 때만 시간과 관계없이 전 직원에게 울린다.
Q. 안전 점검을 꼭 앱에서 해야 하나요?
현장 도착 후 바로 체크리스트가 뜨게 해서, 바쁜 상황에서도 기본 안전 수칙을 한 번 더 확인하게 했다.
오늘도 한걸음 👣
gujaeun.kr