목록으로
지역사회 문제해결을 위한 AI 활용
매일 타는 승강기, 안전 정보 확인부터 관리사무소 문의까지
승강기 번호 7자리만 넣으면 끝! 복잡한 100만 건 공공데이터를 10초 만에 분석해 관리사무소 문의 문장까지 만들어주는 AI 안전 알리미
🤖 활용 AI 도구
Claude code, codex, gemini
① 어떤 상황에서 AI를 활용했나요?
엘리베이터 안쪽 벽에는 고유번호 스티커가 붙어 있습니다. 저는 몇 년을 타면서 그 일곱 자리가 무슨 뜻인지 생각해 본 적이 없었습니다.
그러다 우리 아파트 승강기에서 덜컹거리는 소리와 문 긁히는 소리가 나기 시작했습니다. 관리사무소에 물어봐도 뚜렷한 답은 듣지 못했고, 저는 무엇이 얼마나 낡았는지도 모른 채 막연히 불안했습니다.
찾아보니 조회는 이미 되고 있었습니다. 국가승강기정보센터에 번호를 넣으면 설치 정보와 검사 이력이 나옵니다. 공식 사이트이고, 제가 만든 앱에는 없는 정기검사 결과와 관리주체 정보까지 있습니다.
문제는 그 화면을 보고 난 다음이었습니다. "정밀안전검사 유효기간 2026-03-31"이라는 줄을 봤다고 해서 관리사무소에 무슨 말을 해야 하는지는 알 수 없습니다. 좋은 건지 나쁜 건지 아무도 알려주지 않습니다. 저는 결국 아무 말도 못 했습니다.
빠진 것이 하나 더 있었습니다. 그 승강기에 중대한 고장이 언제 있었는지는 공식 화면에서 찾지 못했습니다. 행정안전부가 공공데이터포털에 공개하고 있는데 승강기 번호로 붙여 보여주는 곳이 없었습니다.
시민에게 부족한 것은 정보에 닿는 길이 아니라, 정보를 보고 난 뒤에 할 말이었습니다.
② 어떤 AI를 어떻게 활용했나요?
AI를 두 군데에 썼습니다. 만드는 데 한 번, 만든 것 안에 한 번.
만드는 데는 Claude Code를 썼습니다. 설치 현황 885,648행과 중대고장 158,693행을 붙여야 했는데 인코딩이 서로 다르고 엑셀로는 열리지 않습니다. 파일 두 개를 그대로 주고, 구조와 인코딩부터 확인시켰습니다. 고유번호로 결합해 결합률 99.4%를 확인하고, 88만 대를 한 번에 못 받게 256조각으로 나눠 웹앱을 붙였습니다. 마지막으로 "화면에 나오는 값이 원본과 실제로 맞는지 하나씩 대조해 줘"를 시켰는데, 여기서 오류가 세 개 나왔습니다.
여기까지는 AI가 도구를 대신 다뤄 준 것이지, AI라서 되는 일은 아닙니다. 결합과 조회는 규칙 기반입니다. 전부 합쳐 실제 작업일 기준 7일 만에 끝났습니다.
AI가 실제로 필요했던 자리는 조회 다음이었습니다. 처음엔 그 자리에 실시간으로 LLM을 불러 설명과 질문을 만들게 했는데, 다시 보니 조건 몇 개의 조합이었습니다. "검사기간이 지났는가", "최근 고장이 있는가" 같은 조건마다 문장을 미리 써 두고 코드로 분기하니, AI 없이도 승강기마다 다른 문장이 나왔습니다. 그래서 지금 배포된 앱은 실시간으로 AI를 부르지 않습니다. 서버도 API 키도 필요 없습니다.
③ 활용 결과 어떤 변화가 있었나요?
앱을 만들어 공개했습니다. https://elevator-citizen.vercel.app
전국 885,647대를 번호로 조회할 수 있고 회원가입도 설치도 없습니다.
첫 화면에 "국가승강기정보센터와 무엇이 다른가요"라는 칸을 두었습니다. 공식 조회처를 먼저 안내하고, 그곳에는 있고 제 앱에는 없는 것을 밝힙니다. 감추면 열어 본 사람에게 들킵니다.
번호를 넣으면 확인된 사실(설치일, 검사 유효기간, 공식 화면에서 찾지 못했던 중대고장 발생일)이 뜹니다. 이어서 쉬운 말 설명을 듣거나 관리사무소에 물어볼 질문을 받아 보고, 이상하게 느낀 점을 기록하거나 가족과 나눌 사실 확인 카드를 만들 수 있습니다.
시민이 쓸 것이라 번호를 음성으로 넣거나 설명을 음성으로 들을 수 있고, 글씨도 키울 수 있습니다. '갇혔다', '화재' 같은 말이 입력되면 조회 대신 119와 한국승강기안전공단 1588-6723 안내가 먼저 뜹니다. 이 앱은 긴급 대응 서비스가 아니라고 그 자리에서 말합니다.
실제로 친구 집 승강기를 조회해 설치 20년이 넘었고 과거 부품 교체 이력이 있다는 걸 알았습니다. 그 사실을 갖고 관리사무소에 문의하니, 그냥 물어볼 때보다 더 구체적인 답을 들을 수 있었습니다.
④ 나만의 방식 또는 개선 포인트는 무엇인가요?
AI를 만드는 데보다 맞는지 확인하는 데 썼고, 거기서 오류가 셋 나왔습니다. 설치연수가 2년 넘게 틀렸고(25.3년으로 보여주고 있었는데 실제로는 27.9년), 고장 건수와 발생일 목록이 서로 맞지 않았습니다. 그리고 "최근 1년"을 오늘 기준으로 세면 안 됐습니다. 고장 자료의 마지막 기록은 2025년 7월 31일인데, 파일 이름의 8월 31일은 수록 종료일이 아니라 공개일이었습니다. 그대로 두면 거의 모든 승강기가 "최근 1년 0건"이 되어, 자료 없는 기간이 사고 없던 기간으로 읽힙니다. 셋 다 눈으로는 지나쳤을 오류입니다.
AI가 위험하다, 안전하다고 말하지 못하게 막는 방법도 처음엔 필터였습니다 — 금지 지시, 금칙어 재검사, 걸리면 고정 문장으로 되돌리기의 3단계였습니다. 규칙으로 바꾸면서 필터가 막을 대상 자체가 없어졌습니다. 같은 조건엔 항상 같은 문장이 나오니까요. "AI가 실수하지 않게 감시한다"보다 "AI가 실수할 자리를 없앤다"가 더 강한 보장이었습니다.
할 수 있었지만 하지 않은 것도 있습니다. 위험도 점수를 만들 수 있는 데이터였지만 만들지 않았습니다. 시민에게 위험하다고 말할 자격이 저에게 없고, 그건 검사기관이 하는 일입니다. 안전하다고도 하지 않습니다. 확인할 항목이 없을 때조차 "공개된 자료에서 따로 눈에 띄는 항목은 없습니다"라고만 씁니다. 단독주택의 건물명은 첫 글자만 보여줍니다. 공개자료의 건물명 자리에 사람 이름이나 지번이 들어 있어 개인의 집을 가리키는 경우가 있습니다.
⑤ 다른 사람도 따라 할 수 있나요?
가능합니다. 공공데이터포털 자료는 무료고 승인 절차도 없습니다. AI 도구는 만들 때만 구독이 필요하고, 배포는 무료 플랜, 실행 중엔 서버도 API 키도 필요 없습니다.
순서를 하나 바꾸시길 권합니다. 저는 "이 데이터로 뭘 만들까"부터 시작했다가 이미 있는 조회 서비스를 다시 만들 뻔했습니다.
먼저 그 공공정보에 공식 조회처가 이미 있는지 찾습니다. 대개 있습니다. 그 화면을 열어 보고 "이걸 보고 나면 무엇을 해야 하는가"를 적어 봅니다. 여기가 대부분 비어 있습니다. 그다음 그 화면에 없는 자료를 찾아 붙이고, AI에게 "구조와 인코딩부터 알려 달라"와 "화면 값이 맞는지 대조해 달라"를 시킵니다. 그리고 그 빈칸에 AI가 정말 필요한지 한 번 더 봅니다. 조건 몇 개로 나뉘는 문제라면, 필터로 막는 것보다 처음부터 규칙으로 만드는 편이 더 안전합니다.
공공 조회 서비스는 이미 많지만 대부분 숫자를 보여주고 멈춥니다. 그 자료를 본 시민이 다음에 무엇을 하면 되는지 잇는 일에도 사람이 필요하고, 데이터를 다룰 줄 몰라도 할 수 있습니다. 제가 그랬으니까요.
엘리베이터 안쪽 벽에는 고유번호 스티커가 붙어 있습니다. 저는 몇 년을 타면서 그 일곱 자리가 무슨 뜻인지 생각해 본 적이 없었습니다.
그러다 우리 아파트 승강기에서 덜컹거리는 소리와 문 긁히는 소리가 나기 시작했습니다. 관리사무소에 물어봐도 뚜렷한 답은 듣지 못했고, 저는 무엇이 얼마나 낡았는지도 모른 채 막연히 불안했습니다.
찾아보니 조회는 이미 되고 있었습니다. 국가승강기정보센터에 번호를 넣으면 설치 정보와 검사 이력이 나옵니다. 공식 사이트이고, 제가 만든 앱에는 없는 정기검사 결과와 관리주체 정보까지 있습니다.
문제는 그 화면을 보고 난 다음이었습니다. "정밀안전검사 유효기간 2026-03-31"이라는 줄을 봤다고 해서 관리사무소에 무슨 말을 해야 하는지는 알 수 없습니다. 좋은 건지 나쁜 건지 아무도 알려주지 않습니다. 저는 결국 아무 말도 못 했습니다.
빠진 것이 하나 더 있었습니다. 그 승강기에 중대한 고장이 언제 있었는지는 공식 화면에서 찾지 못했습니다. 행정안전부가 공공데이터포털에 공개하고 있는데 승강기 번호로 붙여 보여주는 곳이 없었습니다.
시민에게 부족한 것은 정보에 닿는 길이 아니라, 정보를 보고 난 뒤에 할 말이었습니다.
② 어떤 AI를 어떻게 활용했나요?
AI를 두 군데에 썼습니다. 만드는 데 한 번, 만든 것 안에 한 번.
만드는 데는 Claude Code를 썼습니다. 설치 현황 885,648행과 중대고장 158,693행을 붙여야 했는데 인코딩이 서로 다르고 엑셀로는 열리지 않습니다. 파일 두 개를 그대로 주고, 구조와 인코딩부터 확인시켰습니다. 고유번호로 결합해 결합률 99.4%를 확인하고, 88만 대를 한 번에 못 받게 256조각으로 나눠 웹앱을 붙였습니다. 마지막으로 "화면에 나오는 값이 원본과 실제로 맞는지 하나씩 대조해 줘"를 시켰는데, 여기서 오류가 세 개 나왔습니다.
여기까지는 AI가 도구를 대신 다뤄 준 것이지, AI라서 되는 일은 아닙니다. 결합과 조회는 규칙 기반입니다. 전부 합쳐 실제 작업일 기준 7일 만에 끝났습니다.
AI가 실제로 필요했던 자리는 조회 다음이었습니다. 처음엔 그 자리에 실시간으로 LLM을 불러 설명과 질문을 만들게 했는데, 다시 보니 조건 몇 개의 조합이었습니다. "검사기간이 지났는가", "최근 고장이 있는가" 같은 조건마다 문장을 미리 써 두고 코드로 분기하니, AI 없이도 승강기마다 다른 문장이 나왔습니다. 그래서 지금 배포된 앱은 실시간으로 AI를 부르지 않습니다. 서버도 API 키도 필요 없습니다.
③ 활용 결과 어떤 변화가 있었나요?
앱을 만들어 공개했습니다. https://elevator-citizen.vercel.app
전국 885,647대를 번호로 조회할 수 있고 회원가입도 설치도 없습니다.
첫 화면에 "국가승강기정보센터와 무엇이 다른가요"라는 칸을 두었습니다. 공식 조회처를 먼저 안내하고, 그곳에는 있고 제 앱에는 없는 것을 밝힙니다. 감추면 열어 본 사람에게 들킵니다.
번호를 넣으면 확인된 사실(설치일, 검사 유효기간, 공식 화면에서 찾지 못했던 중대고장 발생일)이 뜹니다. 이어서 쉬운 말 설명을 듣거나 관리사무소에 물어볼 질문을 받아 보고, 이상하게 느낀 점을 기록하거나 가족과 나눌 사실 확인 카드를 만들 수 있습니다.
시민이 쓸 것이라 번호를 음성으로 넣거나 설명을 음성으로 들을 수 있고, 글씨도 키울 수 있습니다. '갇혔다', '화재' 같은 말이 입력되면 조회 대신 119와 한국승강기안전공단 1588-6723 안내가 먼저 뜹니다. 이 앱은 긴급 대응 서비스가 아니라고 그 자리에서 말합니다.
실제로 친구 집 승강기를 조회해 설치 20년이 넘었고 과거 부품 교체 이력이 있다는 걸 알았습니다. 그 사실을 갖고 관리사무소에 문의하니, 그냥 물어볼 때보다 더 구체적인 답을 들을 수 있었습니다.
④ 나만의 방식 또는 개선 포인트는 무엇인가요?
AI를 만드는 데보다 맞는지 확인하는 데 썼고, 거기서 오류가 셋 나왔습니다. 설치연수가 2년 넘게 틀렸고(25.3년으로 보여주고 있었는데 실제로는 27.9년), 고장 건수와 발생일 목록이 서로 맞지 않았습니다. 그리고 "최근 1년"을 오늘 기준으로 세면 안 됐습니다. 고장 자료의 마지막 기록은 2025년 7월 31일인데, 파일 이름의 8월 31일은 수록 종료일이 아니라 공개일이었습니다. 그대로 두면 거의 모든 승강기가 "최근 1년 0건"이 되어, 자료 없는 기간이 사고 없던 기간으로 읽힙니다. 셋 다 눈으로는 지나쳤을 오류입니다.
AI가 위험하다, 안전하다고 말하지 못하게 막는 방법도 처음엔 필터였습니다 — 금지 지시, 금칙어 재검사, 걸리면 고정 문장으로 되돌리기의 3단계였습니다. 규칙으로 바꾸면서 필터가 막을 대상 자체가 없어졌습니다. 같은 조건엔 항상 같은 문장이 나오니까요. "AI가 실수하지 않게 감시한다"보다 "AI가 실수할 자리를 없앤다"가 더 강한 보장이었습니다.
할 수 있었지만 하지 않은 것도 있습니다. 위험도 점수를 만들 수 있는 데이터였지만 만들지 않았습니다. 시민에게 위험하다고 말할 자격이 저에게 없고, 그건 검사기관이 하는 일입니다. 안전하다고도 하지 않습니다. 확인할 항목이 없을 때조차 "공개된 자료에서 따로 눈에 띄는 항목은 없습니다"라고만 씁니다. 단독주택의 건물명은 첫 글자만 보여줍니다. 공개자료의 건물명 자리에 사람 이름이나 지번이 들어 있어 개인의 집을 가리키는 경우가 있습니다.
⑤ 다른 사람도 따라 할 수 있나요?
가능합니다. 공공데이터포털 자료는 무료고 승인 절차도 없습니다. AI 도구는 만들 때만 구독이 필요하고, 배포는 무료 플랜, 실행 중엔 서버도 API 키도 필요 없습니다.
순서를 하나 바꾸시길 권합니다. 저는 "이 데이터로 뭘 만들까"부터 시작했다가 이미 있는 조회 서비스를 다시 만들 뻔했습니다.
먼저 그 공공정보에 공식 조회처가 이미 있는지 찾습니다. 대개 있습니다. 그 화면을 열어 보고 "이걸 보고 나면 무엇을 해야 하는가"를 적어 봅니다. 여기가 대부분 비어 있습니다. 그다음 그 화면에 없는 자료를 찾아 붙이고, AI에게 "구조와 인코딩부터 알려 달라"와 "화면 값이 맞는지 대조해 달라"를 시킵니다. 그리고 그 빈칸에 AI가 정말 필요한지 한 번 더 봅니다. 조건 몇 개로 나뉘는 문제라면, 필터로 막는 것보다 처음부터 규칙으로 만드는 편이 더 안전합니다.
공공 조회 서비스는 이미 많지만 대부분 숫자를 보여주고 멈춥니다. 그 자료를 본 시민이 다음에 무엇을 하면 되는지 잇는 일에도 사람이 필요하고, 데이터를 다룰 줄 몰라도 할 수 있습니다. 제가 그랬으니까요.