게시 2026-10-28 · 6 분

모델이 표 셀에 글자 하나를 더했습니다. 스키마 검증으로는 잡히지 않았습니다.

테스트 중 표 전사를 요청받은 모델이 循環貸款을 循環貸款等으로 바꿨습니다. 한 글자가 늘었고, 훑어보면 보이지 않지만 틀렸습니다. 그래서 원문과 셀 단위로 대조합니다.

표 전사를 요청받은 모델은 때때로 그것을 "개선"합니다. 악의적이지도, 자주 일어나지도 않습니다. 하지만 충분히 꾸준히 일어나서 전용 검사를 만들어야 했습니다.

그 검사를 만들게 한 사례는 작았습니다. 대출 문서의 한 셀은 循環貸款(회전 대출)이었습니다. 모델은 循環貸款等을 반환했습니다. 같은 단어 뒤에 "등"이 붙어 특정 금융 상품이 "회전 대출 등"이 되었습니다. 한 글자입니다. 출력을 스캔과 나란히 훑어봐도 보이지 않습니다.

일반적인 검증이 놓치는 이유

대부분의 표 추출은 스키마로 검증됩니다. 열이 있는가, 타입이 맞는가, 행 수가 그럴듯한가. 스키마는 이 셋에 답하고 성공을 보고합니다. 열은 여전히 그 열이고 타입은 여전히 문자열이기 때문입니다. 오류는 어떤 구조 검증도 표현할 수 없는 곳에 있습니다.

그것을 잡을 수 있는 유일한 검사는 원문과의 비교입니다. 그래서 모델이 셀을 만든 뒤 검증기는 더 좁은 질문을 합니다. 이 정확한 문자열이 이 표가 나온 페이지의 텍스트 레이어에 존재하는가. "그럴듯한 값인가"가 아닙니다. 그 질문이 오류를 만들었습니다.

출력에서 어떻게 보이는가

문서가 확인한 셀은 정상 값으로 전달됩니다. 확인할 수 없는 셀은 표시되고, 납품 전체가 깨끗한 성공이 아니라 경고 포함으로 분류됩니다. 매니페스트는 구체를 기록합니다.

{
  "outcome": "succeeded_with_warnings",
  "warnings": [
    "extra_fields:2",
    "unconfirmed_cells:个人关键信息"
  ],
  "source_pages": 7
}

이 사이트의 실제 매니페스트에서 식별자를 제거한 것입니다. 세 가지를 말합니다. 추출은 사용 가능하고, 스키마가 요구하지 않은 필드 두 개가 생성되었고, 한 열은 원문과 전혀 대조할 수 없었습니다. 이 파일을 받은 사람은 어느 열을 손으로 확인해야 하는지 정확히 압니다.

운영 기록이 보여주는 것

이 사이트에 기록된 표 납품 중 14건 가운데 13건이 깨끗한 성공이 아니라 경고 포함으로 표시되었습니다. 4건은 미확인 셀을 담고 있었습니다. 이것을 "문제"라고 제시하기는 쉽습니다. 정직한 해석은 검사가 설계대로 작동하고 있다는 것이며, 다른 선택지—14건 모두를 성공으로 보고하는 것—은 최소 4건에서 거짓말이 됩니다.

교훈은 표를 넘어 일반화됩니다. 문서에 이미 존재하는 것을 모델이 재현하도록 할 때, 구조 검증은 모양이 맞다는 것만 알려주고 내용이 맞는지에 대해서는 아무 말도 하지 않습니다. 내용이 중요하다면 원문과 비교해야 합니다.

그래서 어떻게 할 것인가

  1. "미확인"을 실패가 아니라 질문으로 다루세요. 그 셀은 사람이 볼 필요가 있고, 시트의 나머지 99%는 그렇지 않습니다.
  2. 문서에 없는 값을 요구하지 마세요. 빈칸을 채우라고 요청받은 모델은 반드시 채웁니다.
  3. 경고 수와 정의한 열 수를 맞춰 보세요. 여분 필드는 모델이 조용히 범위를 넓힌 흔적입니다.

자신의 문서에서 이 동작을 보고 싶다면 구조 미리보기는 무료입니다. 크레딧을 쓰기 전에 감지된 표와 열을 반환합니다.