안녕하세요, 아카타입니다.
저는 이세시마(이세시・토바시・시마시)의 관광 정보 사이트를 운영하고 있습니다. 날씨나 버스 지연 정보를 실시간으로 제공하는 것 외에도 가게나 관광 시설에 대한 게시 정보도 담고 있습니다.
참고로, 이 사이트는 구현 작업의 대부분을 AI에게 맡기는 방식(소위 바이브 코딩)으로 제작되었습니다. 아래에서 소개할 실패 사례는 리뷰를 거치지 않고 실제로 적용했을 때 어떤 일이 벌어지는지에 대한 실례이므로, 누군가에게 도움이 될 것이라 생각하여 있는 그대로 작성합니다.
먼저, 이 사이트에 게재된 가게 소개글에서의 실패 사례입니다.
가게 소개글은 해당 가게의 공식 웹사이트 본문을 AI에게 읽히고 짧은 소개글로 요약하도록 시킨 것입니다.
그런데 이게 또 그럴듯한 거짓말을 합니다. 그것도 마치 실제로 작동하는 것처럼 보여서, 검사를 거치기 전까지는 전혀 알아차리지 못했습니다.
회전 초밥 체인이 '테코네 스시를 제공합니다'라고 함
가장 먼저 발견된 것이 이것입니다. 전국 체인 회전 초밥집 5곳의 소개글에 공통적으로 '테코네 스시를 제공합니다'라고 쓰여 있었습니다.
테코네 스시는 이세시마의 향토 요리입니다. 현지 가게라면 적혀 있어도 이상할 것이 없지만, 이 5개 회전 초밥 체인의 공식 웹사이트에는 한 번도 등장하지 않는 단어였습니다. 물론 메뉴에도 없습니다.
원인은 제가 제공했던 장르명에 있었습니다.
당시의 장르명은 '테코네 스시・초밥'이었습니다. 소개글을 작성하도록 할 때, 공식 웹사이트 본문과 함께 이 라벨을 전달했습니다. AI는 이 라벨을 '이 가게의 특징'으로 받아들여, 본문에 없는 단어를 마치 본문에서 유도된 것처럼 자연스럽게 적어 넣은 것입니다.
거짓말의 출처가 제가 설정한 라벨이었다는 이야기입니다.
'오히자모토'를 '몬젠(門前)'으로 바꿔버림
또 다른 형태의 거짓말 사례입니다.
어떤 일식 요리점 소개글에서 AI는 '신궁의 몬젠'이라고 작성했습니다. 하지만 가게 공식 웹사이트 표기는 '이세 신궁 오히자모토의 노포 일식 요리점'입니다. 실제 주소는 긴테츠 우지야마다역 앞이며, 신궁의 몬젠과는 거리가 있습니다.
요약 작업으로 보면, '오히자모토'를 '몬젠'으로 바꿔 쓰는 것은 나름 자연스럽다고 할 수 있습니다. 확실히 의미도 가깝습니다. 하지만 위치를 나타내는 단어를 바꾸는 순간, 완전히 다른 의미가 되어버렸습니다.
같은 소개글에는 신축 연도도 잘못 쓰여 있었습니다. 공식 웹사이트에는 '2013년 천궁(遷宮) 전년 11월'이라는 표기가 있고 정답은 2012년입니다. AI는 2013년이라고 적었습니다. 다소 혼란스러운 원문이었지만, 완전히 틀렸습니다.
검사를 2가지 만들다
대책으로 생성된 소개글을 기계로 확인하도록 했습니다. 검사 조건은 두 가지입니다.
- 전달한 라벨의 단어가 소개글에 있다면, 그 소개글을 사용하지 않는다
- 공식 웹사이트 본문에 없는 명물을 적었다면, 역시 사용하지 않는다
더불어 장르명에서 명물 관련 키워드를 제외했습니다('테코네 스시・초밥' → '초밥'). 거짓말의 원인이 되는 재료를 주지 않는 것이 가장 확실합니다.
둘 다 단순히 '제거'만 할 뿐, 수정하지는 않습니다. AI에게 수정을 시키면, 수정된 문장의 출처 확인 작업이 또 필요해집니다. 사용하지 않기로 결정하면, 그 가게는 소개글 자체가 없는 것으로 끝납니다.
검사는 생성 전의 내용에는 적용되지 않는다
여기서 깨달은 점은, 이 검사는 소개글을 만들 때에만 작동한다는 것입니다. 즉, 검사를 작성한 날짜보다 이전에 만들어진 소개글에는 단 한 번도 적용된 적이 없습니다.
그래서 기존에 존재하는 소개글에 다시 적용하는 커맨드라인 툴을 별도로 만들었습니다.
공식 웹사이트를 가져왔을 때의 HTML을 캐시해 두었기 때문에, 데이터를 다시 가져오지 않고 재검사가 가능합니다. 상대방 서버에 부담을 주지 않고 여러 번 돌릴 수 있다는 점에서 결과적으로 매우 유용했습니다. 재적용한 첫 시도(2026-09-13)에서 수정 후보가 104건 나왔습니다.
번체자는 일본어 검사를 빠져나간다
이 사이트는 일본어, 영어, 번체자 3개 언어로 제공하고 있습니다. 하지만 검사는 일본어만 보고 있었습니다.
번체자 버전을 확인해 보니, 화과자 가게 4곳의 소개글이 '화과자・떡 전문점'으로 되어 있었습니다. 장르명이 그대로 가게 설명에 들어간 것입니다. 일본어 버전은 검사를 통과했기 때문에, 이 부분은 완전히 사각지대였습니다.
하지만 같은 검사를 그대로 번체자에 적용하면 오검출(誤検出)이 너무 많습니다. 실제 측정 결과 145건 중 134건이 오검출이었습니다. '고기', '초밥'과 같은 단어는 중국어 문장으로 자연스럽게 나올 수 있어 걸려드는 것입니다.
그래서 구분 기호 단위 그대로 복사된 것만을 보도록 변경했습니다. '화과자・떡'처럼, 우리가 만든 라벨의 형태가 남아있는 경우만 포착합니다.
자동 수정은 하지 않는다
이 일련의 과정을 통해 결정한 것이 있습니다. '후보를 제시하는 것까지는 기계의 역할이고, 채택 여부를 결정하는 것은 사람'이라는 선을 지키는 것입니다.
판정(判定)은 스마트폰으로 처리할 수 있도록 했습니다. 각 건마다 문제 없음 / 수정 / 보류 / 삭제를 붙여나가는 형태입니다.
이 네 가지 중 '수정'은 나중에 추가한 것입니다. 처음에는 '문제 없음 / 보류 / 삭제' 세 가지만 만들었기 때문에, 수정할 수 있는 것이 보류되거나 삭제되는 경우가 있었습니다. 삭제하면 소개글 전체가 사라지고 개별 페이지가 검색 대상에서 제외되기 때문에, 의도와 결과가 다르게 나타납니다. 선택지 구성 방식 때문에 결과가 왜곡된다는 것 역시 하나의 실패였습니다.
참고로, 사람이 수정할 때도 삭제만 하도록 했습니다. 공식 웹사이트에 없는 단어를 지우는 것이 목적이며, 사실을 추가하지 않습니다. 사실을 추가하면 다시 검증(裏取り)이 필요하게 되기 때문입니다.
검사가 도달하지 않는 곳
덧붙이자면, 이 시스템은 공식 웹사이트의 본문 내용을 읽을 수 있는 가게에만 사용할 수 있습니다.
공식 웹사이트가 없거나 SNS나 포털 사이트에서만 찾을 수 있는 가게에는 소개글 자체를 만들 수도 없습니다. 실제로 소개글이 비어있는 가게의 대다수가 여기에 해당합니다. 검사도 적용되지 않습니다(적용할 대상이 없기 때문에).
여기는 사람이 직접 채워 넣을 수밖에 없는 부분이라, 편집부 차원의 코멘트 형태로 조금씩 작성하고 있습니다. 기계가 도달하는 범위와 도달하지 못하는 범위가 있고, 도달하지 못하는 범위 쪽이 더 많은 노력이 필요하다는 것은 예상했지만, 실제로 해보기 전까지는 정확하게 견적을 낼 수 없었습니다.
배운 점
돌아보면, AI가 거짓말을 했다기보다는, 우리가 거짓의 재료를 제공하고 있었다는 이야기였습니다. 라벨을 주면 라벨을 사용하고, 바꿔 말하라고 하면 바꿔 말합니다. 빼라고 시키면 틀리게 만듭니다.
그리고 까다로운 점은, 이 모든 것이 작동하고 있었다는 것입니다. 생성은 성공했고, 소개글이 출력되었으며, 페이지가 표시되었습니다. 검사를 넣기 전까지 오류는 단 한 건도 발생하지 않았습니다.
기계가 만든 것은 기계로 검사하고, 사람이 판정하는. 세 가지 모두 필요했습니다.
오늘은 여기까지입니다.
Discussion