AI가 쓴 글의 사실 검증을 형식 검사와 나눈 이유
블로그 6곳에 하루 12편이 올라오면서, 글을 다 쓴 뒤 사람이 처음부터 끝까지 읽는 방식은 오래 가지 못했고, 그래서 블로그별로 검증을 나눠 돌렸습니다. 처음에는 제목, 문단, 금지 표현, 숫자 표기처럼 기계가 확인할 수 있는 항목을 통과하면 꽤 안전하다고 생각했거든요.
그 판단은 틀렸습니다. 형식 검사 24건이 전부 통과한 날에도 사실 지적은 20건 넘게 나왔으니까요. 글의 모양은 멀쩡했죠. 문제는 독자가 그 문장을 따라 실제 선택을 바꿀 수 있다는 데 있었습니다.
먼저 결론부터
- 형식 검사와 사실 검증은 같은 단계가 아니어서 결과를 따로 봤습니다.
- 사실 검증은 법령, 부처, 공단처럼 공식 출처로만 대조했습니다.
- 치명 오류는 대체로 요건을 실제보다 좁게 적은 문장에서 나왔습니다.
- 검증 결과의
확인 불가도 원문에서 다시 확인했습니다. - 숫자 하나가 틀린 경우보다, 받을 수 있는 선택지를 없애는 문장이 더 위험했습니다.
형식 통과와 사실 통과를 분리했습니다
처음 검증을 나눌 때는 기계 검사가 먼저 걸러 주면 사실 확인 범위도 작아질 것으로 봤습니다. 문단 구조가 맞고, 제목과 요약이 정해 둔 틀에 들어가며, 숫자 표기가 깨지지 않으면 검토할 문장이 줄어드는 방식입니다.
하지만 형식 검사는 문장이 그럴듯한지만 봅니다. 법령상 요건을 하나 빼거나, 적용 범위를 줄여 적어도 문장은 자연스럽게 통과하고, 표가 있으면 오히려 더 확신 있게 읽히기도 했습니다.
여기서 역할을 갈랐습니다.
기계 검사는 글의 형태를 봤고, 사실 검증은 주장마다 공식 출처를 찾는 쪽으로 돌렸습니다. 블로그 글이나 커뮤니티 글은 근거로 쓰지 못하게 했는데, 다른 사람이 정리한 글을 다시 인용하면 처음의 오류가 출처처럼 굳는 일이 생겼기 때문입니다.
공식 자료를 찾았다는 표시만으로도 끝나지 않았습니다. 그 자료가 글의 문장을 실제로 뒷받침하는지까지 대조해야 했는데, 같은 제도 설명 안에서도 연령, 기간, 신청 조건은 서로 다른 문장에 흩어져 있었거든요.
요건을 좁힌 문장에서 치명 오류가 나왔습니다
가장 크게 걸린 사례는 퇴직연금 수령 조건이었는데, 초안에는 가입기간 10년이 필요하다고 적혀 있었고, 얼핏 보면 흔히 보던 설명과 비슷했습니다.
그런데 근퇴법 시행령 제18조를 대조하니 IRP에는 55세 요건과 지급기간 5년 요건이 있었고, 가입기간 요건은 없었습니다. 가입기간 7년인 사람이 그 글을 읽으면 자신은 일시금만 가능하다고 받아들일 수 있는 문장입니다.
문제는 단순한 표현 차이가 아니었습니다. 연금으로 받을 수 있는 사람이 세금 감액을 스스로 포기하게 될 수 있었으니까요. 그래서 검증 결과에서 오류를 등급으로 나눌 때도, 숫자가 틀렸는지보다 독자의 선택지를 줄이는지 먼저 봤습니다.
짧은 조건 하나였습니다. 결과는 짧지 않았습니다.
이 사례 뒤로는 “필요하다”, “불가능하다”, “반드시”처럼 자격을 자르는 표현을 따로 모아 공식 근거와 붙였습니다. AI가 이런 문장을 만들 때는 조건을 넓게 쓰는 것보다 좁게 단정하는 쪽이 더 위험하게 남더라고요.
국민연금 표도 같은 방식으로 틀렸습니다
국민연금 임의계속가입 글에서는 표까지 만들어 둔 상태였는데, 지급개시연령 전까지만 보험료를 낼 수 있다고 적혀 있었고, 문장과 표가 서로 맞아서 처음 읽을 때는 더 의심하기 어려웠습니다.
실제 기준은 달랐습니다. 지급개시연령 도달은 자격상실 사유가 아니고, 청구를 미루면 65세까지 낼 수 있었습니다.
표는 틀린 내용을 압축합니다. 긴 설명문 중간에 오류가 있으면 독자가 앞뒤 문맥을 읽다가 멈출 여지가 있지만, 표의 한 칸은 결론처럼 보입니다. 이 글에서는 표에 들어간 기간 표현을 본문보다 먼저 다시 확인하게 됐습니다.
조건을 설명하는 글일수록 표가 많아집니다. 그래서 표를 형식 검사 대상에만 두면 안 됐고, 표 안의 각 문장은 독립된 주장으로 보고 본문과 따로 대조했습니다.
확인 불가도 원문으로 되돌렸습니다
검증 쪽에서 치매 검사비는 공식 자료에 금액이 없다고 적어 온 적도 있었는데, 이 결과를 그대로 받아들이면 글에서는 금액을 빼거나 유보 문장으로 남기게 됩니다.
그런데 공식 자료에는 진단검사 15만원, 감별검사 8만원이 명시돼 있었습니다. 검증이 틀린 이유를 길게 추측할 필요는 없었고, 확인 불가가 사실의 부재를 뜻하지는 않는다는 점만 남았습니다.
이후에는 검증 결과를 세 가지로 읽었습니다. 근거가 맞는 경우, 근거와 문장이 어긋나는 경우, 찾지 못했다고 적힌 경우입니다. 마지막 경우도 글에서 삭제하기 전에 공식 자료를 다시 열었습니다.
검증 도구는 출처를 대신 읽어 주지 않았습니다. 찾은 결과를 정리하는 단계일 뿐이었죠.
검증 결과는 문장보다 선택을 봤습니다
하루 12편을 다루면 빨리 넘기고 싶은 문장이 생깁니다. 표현이 매끄럽고 출처 이름도 붙어 있으며 표까지 있으면 더 그랬는데, 실제로 걸린 오류들이 대체로 그 상태였습니다.
그래서 최종 확인에서는 이 문장이 독자에게 무엇을 못 하게 만드는지 적어 봤습니다. IRP 가입기간 문장은 연금 수령을 포기하게 만들 수 있었고, 국민연금 문장은 더 낼 수 있는 기간을 닫아 버렸고, 치매 검사비 문장은 공식 지원 정보를 없는 것처럼 남길 뻔했습니다.
형식 검사 24건 통과와 사실 지적 20건 이상이 함께 나온 날 이후로, 두 결과를 한 줄의 합격 표시로 묶지 않았습니다. 글이 게시 가능한 모양인지와, 독자가 그 글을 믿고 움직여도 되는지는 다른 질문이었습니다.