목록으로
업무 생산성 개선을 위한 AI 활용
CCTV가 멈췄을 때, AI의 판단은 맞았을까? 현장 경험으로 만든 장애 분석,검증 도구
👤 반짝이는토끼239 📅 2026-10-15 👁 조회 97
3년간의 CCTV 유지보수 경험을 AI로 발전시켰습니다. 장애 원인을 추론하고 근거를 검증하는 AI 도구를 직접 만들고, 25개 자동 테스트와 실제 실패 사례로 신뢰성을 확인했습니다.
① 어떤 상황에서 AI를 활용했나요?

"CCTV가 멈췄습니다. 그런데 AI가 알려준 고장 원인을 그대로 믿어도 될까요?"

저는 약 3년 3개월 동안 지능형교통체계(ITS) 유지보수 업무를 수행하며 CCTV, 도로전광표지(VMS), 통신장비 등의 장애를 점검했습니다.

현장에서는 CCTV 화면이 나오지 않는다는 증상만으로 정확한 원인을 판단하기 어렵습니다. 전원, 네트워크 케이블, 스위치, 어댑터 등 여러 가능성을 하나씩 확인해야 합니다. 잘못된 판단은 불필요한 장비 교체와 반복 점검으로 이어질 수 있습니다.

AI가 이러한 장애를 빠르게 분석해 준다면 유용하겠지만, 한 가지 문제가 있었습니다.

AI는 틀린 답도 자신 있게 말할 수 있다는 점입니다.

그래서 단순히 장애 원인을 알려주는 챗봇이 아니라, AI가 어떤 근거로 판단했는지 확인할 수 있는 도구를 직접 만들기로 했습니다.

이렇게 시작한 프로젝트가 AI Incident Copilot입니다.

② 어떤 AI를 어떻게 활용했나요?

ChatGPT와 Claude Code 등 AI 코딩 도구를 활용해 문제를 구조화하고 프로그램 구현 및 검토를 보조받았습니다. 실제 장애 분석에는 Ollama에서 실행하는 오픈소스 언어모델 Llama 3.2 1B를 사용했습니다.

AI가 모든 일을 처리하도록 하지 않고 역할을 나눴습니다.

1단계. 장애 상황 입력

현장 경험을 바탕으로 CCTV 및 IT 시스템의 가상 장애 시나리오를 구성했습니다. 실제 회사의 내부 로그나 개인정보는 사용하지 않았습니다.

2단계. AI 원인 분석

AI가 장애 로그를 읽고 의심 원인, 참고한 로그 ID, 다음 확인 방법, 아직 모르는 사항을 구분해 제시하도록 했습니다.

3단계. Python 자동 검증

AI가 제시한 근거가 실제 입력 데이터에 존재하는지 별도 검증 프로그램으로 확인했습니다.

예를 들어 AI가 존재하지 않는 `LOG-999`를 근거로 제시하면 경고가 발생하도록 구현했습니다. JSON 형식 오류, 필수 항목 누락, 일부 과도한 확신 표현도 검사합니다.

4단계. 사람의 최종 판단

AI의 분석 결과는 참고자료로만 활용합니다. 로그가 실제 원인을 뒷받침하는지, 제안한 조치가 안전하고 타당한지는 담당자가 직접 판단하도록 설계했습니다.

핵심은 AI가 추론하고, 프로그램이 확인 가능한 부분을 검증하며, 사람은 최종 결정을 내리는 구조입니다.

③ 활용 결과 어떤 변화가 있었나요?

가장 큰 성과는 AI가 제시한 답변을 그대로 받아들이던 방식에서 벗어나, 결과의 근거와 한계를 확인하는 과정을 구현했다는 점입니다.
첫 번째 성과: 자동화 테스트 25개 통과

AI 응답 형식, 잘못된 로그 ID, 입력 오류, 연결 실패 등의 상황을 대상으로 25개 테스트를 작성했습니다.

GitHub Actions를 이용해 Python 3.11과 3.12 환경에서도 각각 25개 테스트가 통과한 결과를 확인했습니다.

두 번째 성과: 실제 AI 실행 증거 4건 보존

정상적인 응답뿐 아니라 내용이 부실한 응답, CCTV 장애 조치 전후 분석 사례까지 원본 그대로 공개했습니다.

세 번째 성과: AI가 틀리는 순간을 직접 발견

CCTV 네트워크 어댑터 장애 상황을 가상으로 재구성해 AI의 분석 결과를 평가했습니다.

모델 실행 전에 정한 기준에 따라 6개 항목을 판정한 결과, 4개는 충족했지만 2개는 미충족이었습니다.

특히 어댑터 교체 후 통신이 복구됐다는 로그가 있었는데도 AI는 해당 로그 ID만 인용하고 실제 복구 사실을 설명에 반영하지 못했습니다.

일부 응답에서는 같은 문장을 반복하거나 한국어 문장에 외국어가 섞이는 현상도 발견했습니다.

이 과정에서 중요한 사실을 확인했습니다.

"근거 로그가 존재한다는 사실과 AI의 분석 내용이 정확하다는 사실은 다르다."

단순한 로그 ID 검증만으로 AI의 답변 품질까지 보장할 수는 없다는 것을 실제 실행 결과로 확인했습니다.

아직 실제 업무에 도입해 장애 해결 시간을 단축하거나 비용을 절감한 성과를 측정한 것은 아닙니다. 현재는 동작하는 시제품과 검증 체계를 구축한 단계입니다.

④ 나만의 방식 또는 개선 포인트는 무엇인가요?

제 방식의 가장 큰 특징은 AI의 성공뿐 아니라 실패까지 검증하고 기록했다는 점입니다.

처음부터 AI가 완벽하게 작동하지는 않았습니다.

AI가 JSON 키에 불필요한 공백을 붙여 출력하면서 프로그램이 정상적으로 내용을 읽지 못하는 문제가 발생했습니다. 로그 ID에 괄호를 붙여 실제 존재하는 로그를 없는 것으로 잘못 판단하는 경우도 있었습니다.

AI 코딩 도구의 도움을 받아 이러한 문제를 분석하고 Python 코드를 수정했습니다. 수정 후에는 같은 문제가 재발하지 않도록 자동 테스트도 추가했습니다.

결과 파일을 같은 초에 여러 번 생성하면 이전 결과가 덮어써지는 문제도 발견해 수정했습니다.

또한 AI의 응답이 마음에 들지 않는다는 이유로 결과를 다시 생성해 좋은 결과만 선택하지 않았습니다. CCTV 평가에서는 조치 전후 각각 첫 실행 결과를 보존했고, 미충족 항목도 그대로 공개했습니다.

제가 가장 중요하게 생각한 원칙은 세 가지입니다.

- 근거 없는 확신을 경계할 것
- 실패한 결과도 숨기지 않고 개선에 활용할 것
- AI의 판단과 사람의 책임을 명확히 구분할 것

현재 프로그램은 로그 ID 존재 여부와 형식 등을 자동 검증하지만, 로그의 의미적 타당성까지 완벽하게 검증하지는 못합니다. 이것은 앞으로 개선해야 할 과제로 남겨 두었습니다.
⑤ 다른 사람도 따라 할 수 있나요?

네. 꼭 프로그래밍 전문가가 아니어도 이러한 접근법을 응용할 수 있다고 생각합니다.

첫째, 자신의 경험에서 문제를 찾습니다.

저는 CCTV 장애 점검 경험에서 출발했지만, 다른 사람은 반복적인 문서 작성이나 고객 문의 처리 같은 업무에서 문제를 찾을 수 있습니다.

둘째, AI에게 정답만 요구하지 말고 근거도 요청합니다.

결과와 함께 판단 근거, 참고한 자료, 아직 확인되지 않은 정보를 구분하도록 요청하는 것입니다.

셋째, AI가 작성한 결과를 검증합니다.

확인 가능한 항목은 규칙이나 프로그램으로 검사하고, 자동화하기 어려운 내용은 사람이 직접 확인합니다.

넷째, 실패 사례를 기록하고 개선합니다.

틀린 결과를 무조건 삭제하기보다 무엇이 잘못됐는지 기록하면 다음 개선의 출발점이 됩니다.

제가 만든 프로젝트 역시 처음부터 완벽한 시스템은 아니었습니다. AI 코딩 도구의 도움을 받아 작은 기능부터 구현하고, 오류를 발견하고, 검증 과정을 반복하며 발전시켰습니다.

AI를 잘 활용한다는 것은 AI에게 모든 것을 맡기는 일이 아니라, AI가 잘하는 일과 사람이 책임져야 할 일을 구분하는 것이라고 생각합니다.

앞으로는 근거의 의미적 타당성 검증과 응답 품질 평가 기능을 발전시켜, 현장에서 참고할 수 있는 더욱 신뢰도 높은 장애 분석 도구로 개선하고 싶습니다.

---

실제 프로젝트 및 검증 자료

GitHub: https://github.com/eunsu7997/incident-copilot

프로젝트 소스코드, 자동화 테스트, AI 실행 결과 4건, CCTV 장애 평가 기준과 미충족 결과를 공개했습니다.
← 목록