"관련 법령에 따라…"라고 쓰는 순간, 그 문장은 기관의 공식 입장이 됩니다. 그런데 AI는 그럴듯한 조문 번호를 자신 있게 지어냅니다. 이 안내서는 법령 근거를 쓰기 전에 공식 원문 링크·확인일·조문 후보·사람 검토자를 한 표로 묶어, 확인 누락을 줄이는 방법입니다.
- AI가 제시한 조문 후보와 공식 원문에서 확인한 근거를 구분할 수 있습니다.
- 출처 등록표와 질문표를 연결해 확인 이력을 기록할 수 있습니다.
- 확인일·업무 맥락·사람 검토자를 기준으로 재확인 대상을 분리할 수 있습니다.
- 법령 확인 브리프에서 원문 확인과 해석·처분 판단의 경계를 설명할 수 있습니다.
왜 출처를 먼저 고정하는가
법정에서 증거는 채택된 뒤에야 변론에 쓸 수 있습니다. "제 기억으로는 그런 법이 있었습니다"는 증거가 아닙니다. 법령 인용도 같습니다 — 기억나는 대로 쓰는 게 아니라, 원문을 펴 놓고 옮겨 적어야 합니다.
기술적으로 보면 AI 언어모델은 그럴듯한 다음 말을 확률로 잇는 도구입니다(프롬프트 작성 기초에서 다룬 원리입니다). "○○법 몇 조가 근거냐"라고 물으면, 실제 조문을 펼쳐 보는 게 아니라 조문처럼 보이는 문자열을 지어냅니다. 번호도 매끄럽고 말투도 단정적이라, 진짜 조문과 겉으로는 구별되지 않습니다.
그래서 해결책은 더 똑똑한 프롬프트가 아니라 일의 성격을 바꾸는 것입니다. "알려 줘"(기억을 캐묻기)에서 "이 원문을 정리해 줘"(주어진 것을 옮기기)로 바꾸면, AI가 지어낼 여지가 사라집니다. 이 안내서의 표는 그 "주어진 원문"을 AI에게 넘기기 전에, 사람이 공식 출처를 먼저 확정해 두는 장치입니다.
동작 원리
브리프의 핵심은 답을 생성하는 데 있지 않고 출처와 질문을 추적 가능한 한 행으로 결합하는 데 있습니다. 먼저 source_register.csv에서 source_id에 해당하는 공식 출처, URL, 확인일을 찾습니다. 질문표의 같은 source_id와 연결되지 않으면 조문 후보를 만들지 않고 누락으로 남깁니다. 연결되면 업무 맥락과 조문 힌트를 붙여 사람이 원문에서 확인할 한 행을 만듭니다.
그 다음에는 행의 상태를 나눕니다. 확인일이 비어 있거나 기준일과 맞지 않으면 재확인 대상으로, 단정 위험이 큰 질문이면 사람 검토 대상으로 보냅니다. 이 분기는 법률적 정답을 판정하는 것이 아니라 어떤 확인 절차를 먼저 밟을지 정하는 작업 대기열입니다. 같은 출처라도 교육자료의 배경 설명과 의무·처분 문구는 검토 강도가 달라질 수 있습니다.
마지막 출력은 근거 후보 표와 사람 검토 과제를 함께 냅니다. 표의 링크와 확인일은 근거를 재현하는 단서이고, 브리프 문장은 그 단서를 읽기 쉽게 묶은 파생물입니다. 둘이 다르면 문장이 아니라 공식 원문과 등록표를 기준으로 되돌아갑니다.
가상 상황: 안내문에 조문 한 줄
가상의 상황을 하나 들어 보겠습니다. 예방 담당자가 자체점검 안내문을 마무리하다가, "○○법 제△조에 따라 기한 내 보고해야 합니다"라는 한 줄을 넣어야 합니다. 마침 바빠서 AI에게 "이거 근거 조문이 뭐야?"라고 물었더니, AI는 망설임 없이 "○○법 제△조 제□항입니다"라고 답합니다. (조문 번호는 자리표시자이며 실제 법령이 아닙니다.)
그럴듯해 보여 그대로 넣으면 어떻게 될까요? 안내문은 기관 명의로 나가고, 조문 번호가 틀렸다면 민원인은 잘못된 근거로 안내받은 셈이 됩니다. 문제는 그 조문이 맞는지 틀렸는지 문장만 봐서는 알 수 없다는 데 있습니다 — AI는 맞을 때도 틀릴 때도 똑같이 자신 있게 말하기 때문입니다.
이 안내서의 표는 바로 이 지점에 끼어듭니다. 조문을 문장에 넣기 전에, 그 조문의 공식 출처 링크·확인일·검토자를 먼저 한 줄로 묶어 두는 것입니다. 그러면 "확인했다"는 말이 기억이 아니라 기록으로 남습니다.
가상 사례: 교육 담당자의 교재 개정 확인
다음은 앞의 안내문 사례와 다른 가상 사례입니다. 교육 담당자가 기존 교재의 법령 배경 문장을 새 교육 과정에 다시 쓰려 합니다. 입력은 과거 교재 문장, 당시 기록된 출처 제목, 현재 다시 확인할 공식 원문입니다. 목적은 옛 문장을 그대로 복사하는 것이 아니라 현재 원문과 맞는지 확인할 질문 목록을 만드는 것입니다.
담당자는 과거 교재의 조문 표현을 정답으로 등록하지 않고 article_hint에 후보로 둡니다. 공식 출처를 다시 열어 문구와 시행 시점을 확인해야 하는 행은 사람 검토 과제로 남기고, 브리프에는 "재확인 전 인용 금지" 상태를 표시합니다. AI에는 등록된 원문 범위 안에서 차이를 정리하게 하되, 개정의 법적 효과를 판단하게 하지 않습니다.
실패 가능성은 교재가 이전에 승인됐다는 이유로 현재도 유효하다고 간주하는 것입니다. 사람은 원문 확인일과 교재 사용 시점을 대조하고, 필요한 내부 검토가 끝난 문장만 교육자료 후보로 승인합니다. 이 사례의 성공 기준은 빠른 문장 생성보다 과거 근거와 현재 확인을 섞지 않는 것입니다.
해석이 아니라 "확인 목록"
이 도구는 법령을 해석하는 자동화가 아닙니다. AI가 제시한 조문은 결론이 아니라 출처를 고르는 발판입니다. 최종 해석·처분 판단은 사람이 국가법령정보센터 원문을 보고 합니다.
'확인 목록'과 '해석'은 다릅니다. 확인 목록은 "이 조문을 원문에서 확인하라"는 할 일 목록이고, 해석은 "이 상황은 위반이다"라는 판단입니다. 이 도구는 앞의 것만 만들고, 뒤의 것은 사람 몫으로 남깁니다. 이 선을 흐리면 "확인했다"가 "판단했다"로 슬며시 넘어가고, 그 순간 기관이 책임질 수 없는 문장이 나갑니다.
입력 — 출처 등록표와 질문
두 개의 CSV로 시작합니다. 둘 다 공개 공식 출처(국가법령정보센터, 찾기쉬운 생활법령정보)만 씁니다.
source_register.csv—source_id, title, url, source_owner, source_type, checked_on, update_check_methodlaw_questions.csv—issue_id, work_context, question, source_id, article_hint, risk_level, review_owner
왜 표를 둘로 나눌까요? 출처와 질문의 수명이 다르기 때문입니다. 출처는 한 번 확인해 두면 여러 질문이 함께 참조하고, 확인일만 갱신하면 됩니다. 질문은 업무가 생길 때마다 늘어납니다. 둘을 한 표에 섞으면 같은 출처를 매번 다시 적게 되고, 어느 확인일이 최신인지 흐트러집니다. 질문의 source_id가 출처 표의 한 행을 가리키게 해, 근거와 질문을 느슨하게 묶습니다.
핵심 칸은 세 개입니다. checked_on은 "언제 원문을 확인했는지"를 박아 두는 확인일이고(법령은 개정되므로 이게 없으면 오늘도 유효한지 알 수 없습니다), risk_level은 처분·과태료·의무처럼 단정이 위험한 정도이며, review_owner는 그 행을 끝까지 책임질 사람입니다.
선택지와 트레이드오프
자료의 편리함과 최종 근거로 쓸 수 있는지는 같은 기준이 아닙니다. 용도에 따라 다음처럼 역할을 나눕니다.
| 선택지 | 적합한 용도 | 장점 | 한계와 확인 |
|---|---|---|---|
| 공식 원문 직접 확인 | 안내문·민원·교육자료에 실제 근거를 인용할 때 | 현재 확인한 문구와 시행 정보를 직접 대조 가능 | 사람이 해당 업무 맥락과 적용 범위를 검토해야 함 |
| 공식 출처를 가리키는 내부 등록표 | 반복 질문에서 출처·확인일을 재사용할 때 | 질문마다 URL을 다시 적는 오류를 줄임 | 등록표가 원문을 대체하지 않으며 확인일 갱신 필요 |
| 생활법령 요약 등 길잡이 | 관련 원문을 찾기 위한 탐색 시작점 | 비전문가가 주제와 용어를 찾기 쉬움 | 최종 인용 전 공식 원문과 대조 필요 |
| AI가 제시한 조문 후보 | 확인할 검색어·질문을 넓힐 때 | 누락 가능성을 살피는 보조 단서 | 근거로 사용하지 않고 원문에서 존재·내용을 확인 |
실행과 결과
python script.py --as-of 2026-06-12
출처 확인을 더 엄격히 하려면 --max-age-days 30을 붙입니다.
[입력] 질문 5건, 공식 출처 4건, 기준일 2026-06-12 [검산] 근거 후보 5건, 사람 검토 과제 2건 [주의] 이 결과는 법령 해석이 아니라 원문 확인 목록입니다. [OK] 저장 output/law_reference_matrix.csv [OK] 저장 output/human_review_tasks.csv [OK] 저장 output/law_reference_brief.md
근거 확인표는 이렇게 나옵니다
law_reference_matrix.csv를 표로 보면 대략 이런 모양입니다. 조문 번호는 모두 자리표시자이며 실제 법령이 아닙니다 — 실제 작업에서는 국가법령정보센터 원문에서 확인한 조문으로 채웁니다.
| 업무 맥락 | 조문 후보 | 공식 출처 | 확인일 | 위험도 | 처리 |
|---|---|---|---|---|---|
| 자체점검 보고 기한 안내 | ○○법 제△조(가상) | 국가법령정보센터 링크 | 2026-06-12 | high | 사람 검토 |
| 소화기 비치 기준 문구 | ○○법 시행령 제□조(가상) | 국가법령정보센터 링크 | 2026-06-12 | medium | 후보 확정 |
| 교육자료 배경 설명 | ○○ 생활법령 요약 | 생활법령정보 링크 | 2026-04-30 | low | 확인일 오래됨 → 재확인 |
표의 어느 칸도 "이게 정답이다"라고 말하지 않습니다. high 위험 행과 확인일이 오래된 행은 자동으로 사람 검토로 빠지고, 남은 행도 "후보"일 뿐입니다. 같은 조문이라도 다루는 방식이 이렇게 달라집니다.
- 표를 거치지 않으면(위험): AI가 준 "○○법 제△조입니다" 한 줄이 출처도 확인일도 없이 곧장 안내문에 들어갑니다.
- 표를 거치면(안전): 같은 조문이 "후보"로 표에 올라가고, 공식 출처 링크와 확인일이 붙고, 사람이 원문과 대조하기 전에는 안내문에 넣지 않습니다.
사람 검토로 분리되는 기준
스크립트는 두 경우를 자동으로 사람 검토 과제로 분리합니다.
- 고위험 질문 —
risk_level이 high (행정처분·과태료·의무 발생 같은 단정 위험) - 출처 확인일이 오래됨 — 확인일이 기준일보다 미래이거나, 허용 기간(기본 120일)을 넘김
그리고 표의 모든 행에는 같은 가드가 박힙니다: "근거 후보 표와 확인 질문만 작성한다 / 최신 법령 해석·처분 가능성·의무 여부는 단정하지 않는다." 이 문구가 없으면 브리프를 공유하지 않습니다.
AI에 전달할 안전 프롬프트
아래 표의 공식 출처와 조문 후보만 사용해 내부 검토용 근거 확인표를 작성해 달라고 요청합니다. 최신 법령 해석, 의무 여부, 행정처분 가능성은 단정하지 않도록 요청합니다. 각 문장에는 출처 제목과 확인일을 붙이고, 원문 확인이 필요한 부분은 "사람 검토 필요"로 표시해 달라고 요청합니다. [근거 후보 표] <law_reference_matrix.csv 내용 붙여넣기>
자주 하는 실수
- 생활법령 요약을 원문으로 착각 — 요약은 출처가 아니라 길잡이입니다. 반드시 국가법령정보센터 원문 조문과 대조하세요.
- 확인일을 비워 둠 — 법령은 개정됩니다. "언제 확인했는지" 없는 근거는 오늘도 유효한지 알 수 없습니다.
- 위험도를 낮게 잡음 — 과태료·처분·의무가 걸리면 high입니다. 애매하면 낮추지 말고 높이세요. 잘못 통과시킨 단정 한 줄의 대가가 큽니다.
- 조문 번호만 맞으면 됐다고 여김 — 시행일·개정 여부까지 봐야 합니다. 번호가 같아도 옛 조문이 개정·삭제됐을 수 있습니다.
문제 해결
| 증상 | 가능한 원인 | 처방 | 확인 |
|---|---|---|---|
| 질문 행에 공식 출처가 붙지 않음 | source_id 오타 또는 등록표 누락 | 후보 생성을 멈추고 등록표의 식별자를 먼저 바로잡음 | 모든 질문의 source_id가 정확히 한 출처와 연결되는지 확인 |
| 확인일이 있는데 계속 재확인으로 분류됨 | 날짜 형식 오류·미래 날짜·허용 기간 초과 | 원문을 다시 열어 실제 확인일을 승인된 형식으로 기록 | 기준일과 확인일의 순서 및 재확인 사유 확인 |
| AI 요약에 표에 없는 조문이 추가됨 | 프롬프트 범위가 넓거나 원문 밖 생성을 허용 | 등록표와 후보 표의 내용만 사용하도록 다시 제한 | 출력의 조문·출처가 입력 행과 일대일로 대조되는지 확인 |
| 브리프가 곧 법령 해석처럼 읽힘 | 후보·확인·판단 상태가 문장에서 섞임 | 각 행의 상태와 사람 검토 필요를 명시하고 단정 문장 제거 | 검토자가 원문 확인 전 결론으로 오해할 문장이 없는지 확인 |
자주 묻는 질문
Q. AI가 공식 출처 링크를 함께 주면 확인된 근거인가요?
아닙니다. 링크가 실제 공식 원문을 가리키는지, 해당 조문이 존재하고 질문 맥락과 관련되는지를 사람이 직접 확인해야 합니다. 링크 문자열도 후보의 일부입니다.
Q. 확인일이 최근이면 사람 검토를 생략해도 되나요?
확인일은 원문을 언제 열어 봤는지 보여 줄 뿐, 적용과 해석이 맞다는 승인이 아닙니다. 의무·처분·민원 답변처럼 단정 위험이 있는 문장은 별도 검토가 필요합니다.
Q. 생활법령 요약 문장을 그대로 인용해도 되나요?
이 안내서에서는 관련 원문을 찾는 길잡이로 사용합니다. 최종 근거 문구는 공식 원문과 대조하고, 요약과 원문의 역할을 문서에서 구분합니다.
Q. 같은 출처를 여러 질문이 참조해도 되나요?
가능합니다. 그래서 출처표와 질문표를 분리합니다. 다만 질문마다 업무 맥락과 조문 후보가 다르므로 각 행의 사람 검토 상태는 따로 관리합니다.
핵심 정리
- AI가 내놓은 조문과 링크는 근거가 아니라 원문에서 확인할 후보입니다.
- 출처 등록표는 URL·확인일을, 질문표는 업무 맥락·후보·검토 책임을 관리합니다.
- 재확인 분류는 법적 결론이 아니라 확인 작업의 우선순위를 정하는 절차입니다.
- 최종 문장은 공식 원문과 사람 검토 기록으로 되돌아갈 수 있어야 합니다.
다음 단계
질문이 몇 건이면 이 표로 충분합니다. 반복 질의나 외부 제출로 이어질 때는 다음 순서로 확장합니다.
- 소방 법령·SOP, RAG로 근거 있게 답하기 — 민원·SOP 질의가 반복될 때 원문 검색을 자동화하면서 근거 표시를 유지하는 다음 단계입니다.
- AI 결과, 제출 전 1분 점검 — 확인한 근거를 실제 안내문·보고서에 넣어 내보내기 직전 거치는 마지막 관문입니다.
사람 검토 체크리스트
- [ ] 국가법령정보센터 원문에서 시행일, 개정일, 조문 번호를 확인했습니다. - [ ] 생활법령정보 요약은 원문 법령과 대조했습니다. - [ ] 행정처분, 과태료, 의무 발생 여부를 AI가 단정하지 않았습니다. - [ ] 민원인, 시설명, 상세주소, 내부 점검 결과를 공개 프롬프트에 넣지 않았습니다. - [ ] 기관 내부 기준, 소속 법무·감사·예방 담당 검토가 필요한 항목을 분리했습니다.