목록으로
지역사회 문제해결을 위한 AI 활용
파출소로 몰리던 특보·법률 문의, 앱이 먼저 답한다. 현직 해양경찰관이 AI로 만든 해양안전 앱 'SEA:GNAL'
👤 똑똑한부엉이426 📅 2026-10-07 👁 조회 201
현직 해양경찰관이 AI로 직접 만든 해양안전 앱. 정식 홍보 없이 1,862명이 설치했고, 특보 알림 82만 건이 바다 사람들에게 닿았습니다. 10월에는 연안 위험예측과 AI 연안 안전 브리핑을 더했습니다.
① 어떤 상황에서 AI를 활용했나요?

파출소에서 근무할 때, 기상특보가 날 때마다 같은 일이 반복됐습니다.

첫째, 문의 전화입니다. "특보 언제 발효돼요?", "언제 풀려요?", "이 배로 이 시간에 조업해도 돼요?" 같은 전화가 계속 걸려 왔습니다.
둘째, 알림톡 발송입니다. 특보가 발표·발효·해제될 때마다 관내 어선 선장, 레저 업체, 수상레저기구 등록자 같은 바다 종사자들에게 "특보가 발효되었으니 안전에 주의하세요" 하는 안내를 카카오 알림톡으로 일일이 보냈습니다. 특보는 수시로 바뀌니 보내고 또 보내야 했습니다.
여기에 법률 문의도 있었습니다. "이거 처벌 대상이에요?" 같은 질문은 경찰관도 모든 법을 다 알 수 없어서, 찾아본 뒤 다시 연락드려야 했습니다.

모두 꼭 필요한 일이지만, 같은 일을 손으로 반복하는 동안 정작 긴급한 사고 신고 전화를 놓칠 수도 있겠다는 생각이 들었습니다.

이상한 점은 정보가 없어서가 아니었다는 겁니다. 기상청, 국립해양조사원, 국가법령정보센터가 좋은 데이터를 무료로 내놓고 있습니다. 그런데 기관마다 흩어져 있고, 원하는 정보를 찾으려면 7~8번은 눌러야 하고, 법령은 읽어도 해석이 어렵습니다. 특히 바다 사람들이 꼭 알아야 하는 연안바다·평수구역 특보는 찾기가 더 어려웠습니다. 결국 사람들은 가장 가까운 해양경찰에게 전화를 겁니다.

그래서 바닷가 지역사회(어촌·항구·해양레저 현장)가 매일 묻는 세 가지, 특보·바다 날씨·법률을 묻기 전에 먼저 알려 주고, 경찰관이 손으로 보내던 특보 안전 안내도 앱이 자동으로 보내도록 직접 만들기로 했습니다. 개발자는 아니었기 때문에 처음부터 AI와 함께 만들었습니다. 2025년 8월에 시작해 2026년 3월 구글 플레이에 출시했고, 기관 사업이 아닌 개인 개발로 기관 예산 없이 직접 운영하고 있습니다. 국민은 무료로 씁니다.

현장에서 오래 본 문제가 하나 더 있습니다. 제주 판포포구에서는 여름이면 물때와 관계없이 다이빙을 하다가, 물이 빠진 저조 때 다치거나 숨지는 사고가 해마다 되풀이됩니다. 앱에 넣은 자료로 확인해 보니 판포포구는 해양경찰이 지정한 사망사고 발생구역이고, 2020~2024년 사고 4건 중 3건이 8~9월에 났습니다. 사고는 늘 나던 곳에서 납니다. 올해 7월 16일 해양경찰청 하반기 업무보고에서도 "맨날 사고 나던 데서 나잖아요", "인공지능 분석은 기본이니까 … 미리 대비를 한다든지"라는 대통령의 당부가 있었고, 해양경찰청은 "연안사고 인명 피해 최소화"를 하반기 역점 과제로 보고했습니다. SEA:GNAL도 같은 고민에서 위험예측과 AI 연안 안전 브리핑 기능을 만들었습니다.

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

혼자였지만 AI 도구 다섯 가지에 일을 나눠 맡겨 작은 개발팀처럼 일했습니다.

- Antigravity: 가능성 확인. 공공데이터포털 해상특보 API를 불러와 화면에 띄워 보고 "만들 수 있다"를 처음 확인했습니다.
- ChatGPT·Codex: 아이디어와 앱 구조를 다듬었습니다.
- Claude Design: 화면 디자인과 기획서를 만들었습니다.
- Claude Code: 실제 코드 작성, 자동 검사, 법령 지식베이스 구축, 매일의 운영까지 맡았습니다. GitHub를 쓰기 시작한 2026년 2월부터 10월 19일까지 작업 저장 7,384회 중 7,217회를 AI가 작성했고, 작업한 날은 201일입니다.
- Gemini: 위험지형(노출암·간출암·세암·암암·갯바위)과 해양사고 아이콘을 그렸습니다.

사람인 제가 한 일은 현장 문제를 정하고, 우선순위를 정하고, AI가 만든 결과를 확인해 승인하고, 사용자 의견을 받는 것이었습니다.

앱 안에도 AI가 있습니다. 첫째는 해양 법률 질문에 답하는 AI 법률 챗봇입니다. 해양 법령 70개와 시행령 68개·시행규칙 61개·행정규칙 710종, 별표 2,186건·서식 3,105건을 국가법령정보센터 원문에서 직접 모아 지식베이스로 만들었습니다. 이 원문을 AI가 읽기 좋게 정리한 법률 위키(1,288쪽)도 만들었는데, 이때 AI 코딩 원칙을 담은 카파시 가이드라인 스킬(④에서 자세히)을 그대로 적용했습니다. 한꺼번에 키우지 않고 조금씩 넓히며, 매 단계마다 확인할 수 있는 성공 기준을 먼저 정하고 검증했습니다.

챗봇은 인터넷을 아무렇게나 검색해 답하지 않고, 검색 증강 생성(RAG) 방식으로 작동합니다. 질문이 들어오면 먼저 이 위키에서 근거를 찾고, AI는 찾아낸 근거만으로 답을 씁니다. 근거를 찾는 과정도 여러 겹입니다.
- 법령 이름·주제로 찾고, 평소 쓰는 말을 법령 용어로 바꿔 주는 용어 사전(예: 「해루질·맨손어업」이라고 물어도 수산자원관리법 관련 조문으로 연결)으로 한 번 더 찾습니다.
- 찾은 페이지의 본문을 다시 읽어 관련도를 매기고, 위키 안에서 서로 연결된 조문(법률 → 시행령 → 벌칙)을 따라갑니다.
- 위키에서 못 찾으면 법령 원문을 직접 읽어 찾습니다.
- 그래도 모르는 말이 있으면 네이버 검색 API를 씁니다. 한글 자판을 영어로 둔 채 친 오타(예: rlarlgus)는 네이버 오타 변환으로 바로잡고, 속어·현장 말처럼 사전에 없는 낱말은 네이버 지식백과·지식iN·카페 검색으로 뜻을 찾아 사용자에게 "혹시 ○○ 말씀이신가요?" 하고 먼저 확인합니다. 사용자가 맞다고 하면 그 뜻으로 다시 찾습니다. 웹에서 찾은 내용은 낱말의 뜻을 확인하는 데만 쓰고, 법적 근거로는 절대 쓰지 않습니다.
- 조건에 따라 답이 갈리는 질문(어선 톤수, 허가 여부 등)은 근거 조문에 실제로 있는 구분만으로 선택지를 만들어 되묻습니다.

답은 첫머리에서 핵심부터 쉬운 말로 말하고, 근거 조문과 벌칙, 관련 서식까지 보여 줍니다. 원문에 근거가 없으면 지어내지 않고 "확인 안 됨"이라고 답합니다.

이 챗봇은 외부 AI의 API 이용료가 질문마다 들어서 평소에는 비공개로 다듬고 있고, 공모전 심사 기간에 일시 공개할 예정이며, AI 정부실험실에서 고성능 VM을 지원받아 로컬 LLM을 탑재해 무료로 사용할 수 있도록 계획하고 있습니다.

둘째는 10월에 공개한 연안사고 예방 기능 두 가지입니다.
- 위험예측: 해안 관광지 1,354곳의 오늘·내일 위험을 4단계로 보여 줍니다. 2020~2024년 연안 인명사고 3,075건을 같은 장소의 다른 날과 비교하는 통계 분석으로, 무엇이 사고를 늘리는지를 사람의 감이 아니라 자료로 정했습니다. 예를 들어 사람이 평소의 2배로 붐비면 사고가 1.96배, 관광지 3km 안에 해양경찰 연안위험구역이 6곳 이상이면 3.34배, 8월은 1.67배였습니다. 사고가 날 확률이 아니라 평소보다 몇 배 많이 날 수 있는 조건인지로 보여 주고, 근거 보고서도 앱에서 공개합니다. 바다 쪽은 해양교통안전공단의 공식 선박 사고위험 예보를 지도에 함께 보여 줍니다.
- AI 연안 안전 브리핑: 전국 파출소 관할 97곳마다 하루 세 번(07:30·17:30·23:00) 그 관할의 연안·해상 위험을 정리합니다. 연안 안전을 맡은 해양경찰관이 교대 직전에 보고 현재 상황을 파악할 수 있도록 시간을 맞췄고, 같은 브리핑을 누구나 관할을 골라 볼 수 있게 공개했습니다. 위험 단계와 권고는 서버가 사고 자료 기준으로 정하고, AI(ChatGPT, 안 되면 Gemini)는 읽기 쉬운 해설 문장만 씁니다. AI가 쓴 문장은 숫자·지명·단계를 입력값과 대조하는 검사기를 통과해야 화면에 나오고, "확률"이나 "안전합니다" 같은 단정, 순찰·배치 같은 업무 지시는 쓰지 못하게 했습니다. 해안 바람이 강하면 튜브·소형 보트의 표류 주의를, 해수욕장의 수온·기온·파도와 개장 일정을 보고 물에 들어가거나 사람이 몰릴 수 있다는 안내를 함께 냅니다. beta로 공개해, 운영하면서 판단 알고리즘을 꾸준히 고도화하고 있습니다.

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

홍보는 해양경찰 내부 홈페이지 게시 두 번이 전부였는데, 1,862명이 설치했습니다(10월 19일 기준). 10월 19일까지 특보 알림을 2,566번 보내 823,412건이 사용자 휴대폰에 닿았고, 5월 말과 비교하면 알림 도달이 약 5.3배로 늘었습니다.

처음에는 동료 해양경찰관이 주로 썼지만, 설문 응답자 중 해양경찰이 아닌 사용자(어업인·낚시객·레저 이용자 등) 비율이 5월 11.2%에서 10월 22.0%로 늘었습니다(응답 980명). 사용자 건의 18건 중 13건을 반영했습니다. "어민분들을 위해 글씨를 키워 달라"는 건의에는 같은 날 글자 크기 설정(작게·보통·크게)을 안내하고, 부족하면 더 키우겠다고 답했습니다.

앱 하나에 국내 공공기관 11곳의 공공데이터 75종과 해외 3개 기관의 태풍 예측이 모였습니다.
- 특보구역 44곳과 연안바다·평수구역 49곳의 특보를 1분마다 확인해, 발표·발효·해제 즉시 푸시로 알림
- 해안 관광지 1,354곳의 오늘·내일 위험예측, 파출소 관할 97곳의 AI 연안 안전 브리핑
- 바다 아무 지점이나 누르면 조석·파고·바람·수온 등 11가지 정보
- 한국·미국·일본·유럽 4개 기관의 태풍 예측을 한 지도에서 비교
- 물에 잠길 바위 경고, 서해·남해 315개 지점 물빠짐 예측, 18년 해양사고 71,492건 분석
- 6개 기관 CCTV 237곳, 금지구역·관제구역·항로를 한 지도에

솔직하게 밝힐 점도 있습니다. 파출소 민원 전화가 실제로 얼마나 줄었는지는 아직 재지 않았습니다. 아이폰은 아직 지원하지 않습니다.

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

<법률 챗봇 분야>
AI는 빠르지만 그럴듯하게 틀립니다. 그래서 "AI에게 맡기되, 확인 없이는 넘어가지 않는다"를 원칙으로 장치를 만들었습니다.
- 규칙 파일(CLAUDE.md, 법률 챗봇 쪽 규칙집 _RULES.md): 모든 AI 작업이 시작 전에 읽는 규칙집. 첫 규칙은 "추측 금지 — 코드와 데이터로 확인한 것만 말한다"입니다.
- 인수인계 문서(HANDOFF.md)와 기억 노트(MEMORY.md): 여러 AI 계정이 번갈아 작업해도 끊기지 않게, 시작할 때 읽고 끝나면 무엇을 했는지 적게 했습니다.
- 자동 검사 59종과 테스트 묶음 126개(verify_all.sh): 저장하기 전에 돌리고, 실패 목록이 비어 있을 때만 통과로 봅니다.
- 다른 AI의 교차 검토: 특보 알림을 만든 AI가 테스트 314건을 모두 통과시켰는데, 다른 AI에게 검토를 맡기자 결함 4건이 나왔습니다. 그 뒤로 사용자에게 바로 드러나는 변경은 다른 AI 검토를 기본 절차로 했습니다.
- 시행착오 기록 413건(_LESSONS.md): 틀린 일과 고친 방법을 적어 두고, 작업 전에 읽게 합니다.
- AI 작업 방식 스킬: 앱 코드와 법률 위키를 만들 때 코딩 AI가 지켜야 할 작업 원칙을 담은 공개 스킬 "카파시 가이드라인(karpathy-guidelines, AI 연구자 안드레이 카파시가 짚은 AI 코딩의 흔한 실수를 바탕으로 한 MIT 라이선스 스킬)"을 저장소 전체에 적용했습니다. 코딩 전에 먼저 생각하기, 시킨 것만 단순하게, 고칠 곳만 고치기, 확인할 수 있는 성공 기준부터 정하기의 네 가지입니다. 반대로 더 무거운 개발 방법론 플러그인(Superpowers)은 검토해 보고 지금 단계에는 과하다고 판단해 넣지 않았습니다.
- 규칙을 기계로 지키게 하는 장치(git 범위 가드 훅): 규칙을 적어 두기만 해서는 같은 실수가 반복됐습니다. 그래서 다른 AI의 작업까지 한꺼번에 지울 수 있는 위험한 명령은 실행 직전에 자동으로 막도록 했습니다.

<특보 알림 분야>
가장 오래 고생한 건 특보 알림이었습니다. 8개월 넘게 데이터 출처 네 가지를 시도했습니다. 처음 쓴 기상청 API허브로는 연안바다·평수구역 특보를 받을 수 없었습니다. 기상청 통보문을 읽어 오는 방식으로 바꾸고 5년치 통보문 약 6,200건을 분석해 해제 표현 10가지까지 읽도록 보강했습니다. 그래도 비슷한 문제가 계속 나왔습니다. 통보문은 사람이 쓰는 글이라 표현이 해마다 조금씩 달라지고, 연안바다·평수구역은 본문 끝 참고사항에 글로만 적혀 있으며, 시각도 "23일 3시~6시"처럼 범위로만 나와 정확한 알림을 보내기 어려웠습니다. 기상청 화면 갱신이 몇 분씩 늦는 문제도 남았습니다. 글을 읽어 해석하는 방식으로는 한계가 있다고 판단해, 특보가 항목별로 정리된 해양기상정보포털 자료로 다시 바꿨습니다. 연안바다·평수구역까지 정확한 시각으로 받게 됐지만, 이번에는 발효 중인 특보가 잠깐 사라졌다 돌아오는 "깜빡임"이 문제였고, 사라져도 바로 해제하지 않고 3분 지켜보는 장치를 넣었습니다. 9월 7일에는 45초짜리 깜빡임 때문에 해제 알림과 재발효 알림이 잘못 나간 일이 있었습니다. 원인을 그날 찾아 막고, 그 사고를 그대로 재현하는 테스트 30건을 남겼습니다.

<모델 사용 토큰 분야>
AI 비용도 일에 맞게 골라 씁니다. 처음에는 단순한 일에도 가장 비싼 모델을 써서 사용 한도를 다 써 버린 적이 있습니다. 그 뒤로 최상위·중간·경량 모델을 일의 성격에 따라 나눠 씁니다. 법률 챗봇의 답변 모델도 중간 등급으로 바꿔 단가를 입력 6.7배·출력 4.8배 낮췄고, 바꾸기 전 대표 질문 6개로 지어낸 내용이 없는지 원문과 대조해 확인했습니다.

⑤ 다른 사람도 따라 할 수 있나요?

SEA:GNAL도 공공데이터포털 API 하나를 화면에 띄워 보는 데서 시작했습니다. 이렇게 따라 할 수 있습니다.

1. 현장 문제 하나 고르기: 나와 동료가 매일 반복하는 불편 하나(저는 파출소로 몰리던 특보 문의 전화였습니다)
2. 무료 공공데이터 찾기: 공공데이터포털에서 그 문제와 관련된 API를 찾아 이용 신청
3. AI로 작은 시제품 만들기: 데이터 하나, 화면 하나로 "되는지"부터 확인
4. 규칙을 정하고 AI 팀에게 맡기기: 도구별로 역할을 나누고, 규칙 파일·자동 검사·교차 검토를 처음부터 둠
5. 현장에 내놓고 계속 고치기: 사용자 의견을 받고, 고친 내용을 알림

준비물은 공공데이터 API 이용 신청, AI 도구 월 구독, 서비스를 올릴 서버 정도입니다. 하나만 팁을 드리면, AI가 "없다", "안 된다"고 말할 때는 직접 확인해 보세요. 제 시행착오 기록에도 그런 말을 그대로 믿었다가 틀린 사례가 여럿 있습니다.

법률 챗봇은 지금 외부 AI의 API 요금 때문에 비공개로 운영하고 있습니다. 정부 AI 실험실의 고성능 가상서버(VM)를 지원받게 되면, 외부 API 대신 그 서버에서 직접 돌리는 AI(로컬 LLM)로 바꾸고 무료로 상시 공개할 예정입니다. 어업인은 출입항 신고로, 수상레저 이용자는 조종면허로 해양경찰을 만납니다. 그 현장 창구를 통해 바다를 이용하는 모든 국민에게 바다의 신호를 먼저 전하는 앱으로 키우겠습니다.

※ 2026 해양경찰청 AI 경진대회 개발·활용 부문 2등 수상
(직원 AI 활용 역량을 확인하는 내부 경진대회로, 상금·포상이 없는 대회)

구글 플레이: https://play.google.com/store/apps/details?id=com.seagnal.app
웹 페이지 : https://seagnal-server.fly.dev/

★ AI 연안 안전 브리핑 중 전남지역 연안 브리핑이 제공되지 않는 것 관련, 최근 전남광주통합특별시 출범에 따른 조직개편으로 한국관광공사 API에서 제공하는 전남지역 데이터가 준비되지 않았다는 것을 한국관광공사 담당자로부터 확인하였으며, 올해 말 정상화 될 것이라는 점을 확인하였습니다. 관련하여 정상화 시 서비스 정상 제공 예정임을 참고부탁드립니다.★
← 목록