LLM은 당연하지만 Whitespace sensitive함.
그러니까...
이것과
이것이 구분됨.
예를들면 <prompt></prompt> 라는 인클로저로 포메팅 가능한 프롬프트 템플릿이 있다고 가정해보자.
이 경우 저 시작 태그 맨 처음 붙은 \n을 스킵하냐 마냐로 갈림.
1. 스킵하지 않는다
이 경우 가독성이 병신이 됨. 아래 예시를 보자.
딱 봐도 거지같음. 가독성도 별로고 실수하기도 딱 좋음.
2. 스킵한다.
이 경우 일관성이 병신이 됨. 사용자는 \n을 앞에 써야할지 말지 햇갈림.
예를들면 엔터가 두번 있는건? 그것도 스킵해야하나?
앞에 엔터를 꼭 붙이고 싶은건 어떻게 해야하나? 이런 문제들이 발생함.
이런식으로 됨. 문제는
이걸 의도하기 힘들어진다는거임.
유저 입장에서 맨 앞에 whitespace가 없어지는지 안 없어지는지 직관적으로 알기 어려움.
그래서 생각해본 아이디어들.
라인 스플리터처럼 만든다. 누가 봐도 저기 부분은 스킵되는게 직관적으로 느껴짐.
문제는 attribute같은걸 표현하기에 적합하지 않음.
그래서 생각해본것들. ini나 toml과 비슷하게 가보는건?
나쁘지 않아 보이는데... 문제는 이 경우에는 끝부분 화이트스페이스가 없어지는지 확인하기 어려움.
이렇게 꼭 해야만 한다면? 직관성이 굉장히 떨어짐. 프롬프트마다 분리할 수 있는게 있으면 좋겠음.
다양한 고민 중인데 좋은 아이디어 있으면 올려야지.
