AI 기사 품질 경고를 탐지에서 멈추지 않고 국소 수정으로 연결한 과정
요약
기사 품질 검사를 단순 탐지(Detection)에 그치지 않고, 국소 수정(Local Correction)까지 연결하는 통합 메커니즘을 설계했습니다. 자동화된 기술적 검사와 AI 기반의 문맥 이해를 결합하여, 발견된 문제점을 사람이 수동으로 고치는 과정을 시스템적으로 대체하는 것이 핵심입니다.
핵심 포인트
- 탐지-수정-재검증의 단일 흐름 구축이 목표입니다.
- 사전 정의된 규칙(Rule)부터 국소 AI 수정까지 단계적 처리를 설계했습니다.
- 제목과 본문의 주제 불일치 등은 부분적으로만 수정하여 안정성을 높였습니다.
- 실패 시 원본으로 되돌리는 안전장치와 재검증 과정을 포함합니다.
자동 품질 검사를 모두 통과한 기사를 확인자가 읽어보면, 여전히 여러 번의 수정이 필요했습니다. 수치나 제목의 조건은 충족했더라도, 내부 용어가 설명 없이 남아 있거나 제목과 본문의 무게 중심이 어긋난 경우였습니다.
검사에서 문제를 발견하는 것과, 그 문제가 실제로 고쳐지는 것은 별개의 문제였습니다. 경고를 기록만 하는 것만으로는, 결국 사람이 본문을 읽고 수동으로 바꿔 쓰는 과정이 사라지지 않습니다. 그래서 탐지부터 수정, 재검증까지를 하나의 흐름으로 만드는 방법을 정리했습니다.
기사 생성에서는 수치나 제목 개수, 중복 등을 확인하는 자동 품질 검사를 사용합니다. 여기에 더해, 내부적으로 통용되는 표현이 독자에게 전달되기 어렵거나, 제목과 본문의 주제가 어긋나는 문제를 찾아내는 검사도 추가했습니다.
하지만 이러한 검사 결과는 기록만 될 뿐, 기사의 합격/불합격을 결정하는 기술적인 판정 메커니즘은 아니었습니다. 따라서 기술적 검사를 통과한 기사가 확인자에게 전달되고, 그곳에서 내부 용어를 바꿔 쓰는 작업이 발생합니다.
탐지 규칙을 늘려도, 고치는 경로가 없으면 수동 작업은 남습니다. 그래서 필요했던 것은 경고를 본문 수정으로 연결하는 메커니즘이었습니다.
수정은 먼저 결정론적으로 처리할 수 있는 것부터 시도하도록 설계했습니다. 예를 들어, 내부 용어와 독자용 표현의 대응 관계가 사전에 등록된 사전이라면, AI를 호출하지 않고 대체합니다. '외부 대상 자동 처리'를 'SNS에 자동으로 게시'로 바꾸는 식입니다. 표현이 미리 정해져 있는 경우까지 생성 AI에게 맡길 필요는 없습니다.
사전에 없는 용어나, 제목과 본문의 무게 중심 차이는 기사 전체를 다시 쓰지 않고 문제 있는 부분에 한정하여 수정합니다. 대상은 문제가 된 섹션 최대 3개와 제목 1개까지이며, AI를 통한 수정은 최대 2회까지로 제한합니다. 기존의 국소 수정 경로를 사용하여 수치를 새로 만들지 않도록 하거나, 변경량을 줄이기 위한 가드(guard)도 활용합니다.
제목과 본문의 차이 역시 양쪽을 한 번에 크게 바꾸지 않도록 했습니다. 본문에 주제어가 없으면 제목 쪽을 고치고, 본문 후반부에 주제어가 있다면 초반부만 고칩니다. 수정할 부분을 분리함으로써 기사 전체가 불필요하게 흔들리는 것을 방지합니다.
국소 수정을 가한 후에는, 수치/제목 개수/의미적 중복 등을 확인하는 기술적 검사를 반드시 재실행합니다. 수정 전보다 문제가 악화된 경우에는 편집 전 상태로 되돌립니다. 글이 읽기 좋아진 것처럼 보여도 사실의 정확성을 훼손했다면 채택하지 않기 위함입니다.
이 메커니즘을 정비하는 과정에서, 모호한 수량 표현이나 '아침에는 작업하고, 그 후에도 작업했다'와 같은 작업 로그 형식의 문장도 과제가 되었습니다. 시간 순서의 단어를 기계적으로 잘라내는 것만으로는 사건의 연결고리까지 끊어버릴 위험이 있습니다. 따라서 중복문 제거처럼 안전하게 기계 처리할 수 있는 범위와, 의미를 재구성하는 국소적인 AI 수정으로 나누고, 어느 쪽을 수정하든 동일한 기술 검사를 통과하도록 했습니다.
또한, 작업 로그 형식의 문제는 기사 전체에서는 눈에 띄더라도, 각 섹션을 개별적으로 보면 경고 조건에 미치지 못하는 경우가 있었습니다. 실제로 기사 전체에는 문제가 있는데 수정 대상 섹션이 0건이 되는 상태를 테스트용 데이터로 확인했습니다. 이 경우에 한해서, 기존 탐지에 사용하던 시간대어(time-related words)나 작업 보고 동사 등의 시그널을 사용하여 문제에 기여도가 가장 높은 섹션을 1개만 수정 대상으로 보강합니다. 기사 전체의 판정과 각 섹션의 판정 양쪽을 모두 볼 필요가 있었습니다.
또 하나 확인된 것은, 본문 섹션 배열 외부에 나중에 추가되는 실적 로그(実績ログ)가 수정 시 사라질 가능성이었습니다. 몇몇 수정 처리는 섹션에서 본문을 다시 만들기 때문에, 섹션에 포함되지 않은 로그는 그 재구축 과정에 포함되지 않습니다. 기존의 수정 처리를 테스트한 결과, 대책이 없는 코드에서는 실적 로그가 본문에서 사라지는 것을 확인했습니다.
그래서 로그를 한 번만 추가하는 것이 아니라, 본문을 저장하기 직전에 일단 제거하고 최신 생성 결과로부터 다시 만드는 방식으로 변경했습니다. 기사를 생성/재생성/수정하는 각 경로에서 저장 전에 이 처리를 거칩니다. 후처리 데이터를 사용하는 설계 자체를 바꾸지 않으면서도, 본문을 저장하는 모든 경로에서 동일한 불변 조건을 유지하는 방법입니다.
자동 품질 검사는 규칙을 추가하는 것만으로는 완성되지 않습니다. 경고를 수정으로 연결하고, 수정 후에 재검증하며, 악화되면 되돌리는 것까지 하나의 흐름으로 설계해야 합니다.
이 과정에서 기계적으로 고칠 수 있는 표현과 의미의 재구성이 필요한 표현을 분리하는 것도 중요했습니다. 안전한 대체는 결정론적으로 수행하고, 그 외는 대상을 좁힌 AI 수정에 한정합니다. 나아가, 기사 전체에서는 문제가 있지만 개별 섹션에서는 탐지할 수 없는 경우나, 본문 재구성으로 후처리 정보가 사라지는 경우까지 고려해야 합니다.
검사를 강화하는 것만으로는 정확하고 읽기 쉬운 기사가 될 수 없습니다. 탐지(Detection)와 국소 수정(Local Correction), 그리고 재검증(Re-verification)을 연결하여, 각 처리 과정을 거치면서도 지켜야 할 조건이 사라지지 않는지까지 확인하는 것이 자동화가 실제적인 손수 작업 감소로 이어지는 핵심 열쇠였습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기