Truncated JSON from a streaming model: 21 parsers, 25 truncated cases, 12 score 0/25
개요
21개의 JSON 파서가 스트리밍 모델에서 발생하는 잘린(truncated) JSON 출력에 대해 얼마나 잘 복구하는지 평가하며, 25개의 잘린 사례에서 12개의 파서가 0점을 기록했음을 분석합니다.
주요 내용
* MALFORMED-300이라는 공개 데이터셋의 '잘린(truncated)' 카테고리, 즉 유효한 접두사 뒤에 내용이 누락된 25가지 사례를 대상으로 평가를 수행했습니다.
* Python 3.12.3 및 Node.js v25.8.2 환경에서 각각 21개의 JSON 파서를 사용하여 동일한 코퍼스에 대해 테스트를 진행했습니다.
* '잘린' 사례 복구율에서 json-repair와 Toolkit Labs의 jsonshim이 25개 중 23개를 복구하여 가장 높은 점수를 기록했습니다.
* json5, hjson, commentjson 등 다이어렉트 파서들은 문법적 문제에 유연하지만, 스트림이 잘리는 상황에서는 복구 성능이 낮은 경향을 보였습니다.
* 전체 275개의 복구 가능한 사례를 대상으로 한 평가에서는 jsonshim이 262개를 복구하여 높은 성능을 보였으며, json-repair는 264개를 복구했습니다.
* 평가 결과는 Toolkit Labs에서 구축하고 파이프라인을 통해 자동으로 생성 및 게시되었으며, 모든 수치는 leaderboard.json 및 leaderboard_js.json 파일에서 가져왔습니다.
시사점
본 분석은 스트리밍 LLM 모델에서 자주 발생하는 JSON 출력 잘림 현상에 대한 다양한 파서의 복구 성능을 객관적으로 비교함으로써, 실무에서 예측 불가능한 데이터 손실에 대한 견고성을 갖춘 파서 선택에 대한 가이드라인을 제공합니다.
댓글
GitHub Discussions