피드로 돌아가기
Why your LLM tool calls silently break — and a ~10µs fix
Dev.toDev.to
AI/ML

10µs의 오버헤드로 LLM 스트리밍 JSON 절단 문제를 해결하는 Suture 프록시

Why your LLM tool calls silently break — and a ~10µs fix

Wu Jiang2026년 6월 4일5advanced

Context

LLM의 Tool Calls나 Structured Output 스트리밍 시 max_tokens 도달 또는 소켓 연결 끊김으로 인한 JSON 절단 현상 발생. 단순한 괄호 닫기 식의 보정은 trailing comma, partial scalar, UTF-8 멀티바이트 분절 등으로 인해 구문 오류를 유발하는 한계 존재.

Technical Solution

  • Byte-level State Machine 도입을 통한 JSON prefix 상태 추적 및 유효한 닫는 구문 자동 생성
  • Reverse Proxy 구조 설계를 통한 클라이언트 코드 수정 없는 base_url 변경만으로 적용 가능한 투명성 확보
  • Append-only Passthrough 메커니즘을 통해 정상 이벤트는 그대로 전달하고 스트림 종료 시점에만 보정 델타 추가
  • Content-aware 필터링을 적용하여 tool-args 등 JSON 포함 필드만 선별적으로 복구함으로써 일반 텍스트 훼손 방지
  • Gzip, Brotli 등 압축 프로토콜 디코딩 후 복구 및 재인코딩을 수행하는 온더플라이 처리 파이프라인 구축
  • AWS Bedrock의 SigV4 서명 방식을 지원하여 프록시 계층에서의 자격 증명 노출 위험 제거

1. LLM 스트리밍 응답의 JSONDecodeError 빈도 확인

2. 단순 괄호 추가 로직 대신 Byte-level 상태 추적 라이브러리 검토

3. 복구 로직 도입 시 UTF-8 멀티바이트 절단 및 Trailing Comma 처리 여부 검증

4. 인프라 변경 최소화를 위한 Reverse Proxy 패턴 적용 가능성 검토

원문 읽기