Actions
이슈 #376
진행중
RL
RL
이슈 #235: 5-2. 사용자 프롬프트 전처리 함수
사용자 입력 특수문자·제어문자 이스케이프 처리
이슈 #376:
사용자 입력 특수문자·제어문자 이스케이프 처리
설명
작업 내용¶
-
wrapUserInput()가 쓰는 구분 마커([사용자 입력],[/사용자 입력])가 사용자 본문에 포함될 때 프롬프트 구조가 깨지는 문제 방지- 래핑 전 마커 문자열을 이스케이프하거나 unique 토큰으로 치환
- 제어/불가시 문자 정리:
- BOM (U+FEFF), zero-width chars (U+200B~D), null byte (U+0000)
- RTL/LTR override 계열 (U+202A
E, U+20669) — 허용 정책 결정 필요
- 최대 입력 길이 제한 정책 수립 (max_tokens 64k 기준 입력 허용 범위)
수용 기준¶
-
사용자가 입력에
[/사용자 입력]문자열을 포함해도 시스템 프롬프트 구조가 깨지지 않고 LLM이 해당 내용을 일반 텍스트로 처리한다 - zero-width character가 포함된 입력이 의도치 않은 렌더링 이상 없이 처리된다
- 제어 문자는 전송 전 제거되고, 로그에 제거 개수가 표기된다 (dev)
- 과도하게 긴 입력은 사전 경고 또는 잘림 처리된다
의존성 / 참고¶
Actions