쏘아올린 상태창 아래에다 둘까? 위에다 둘까? (상태창 위치에 대한 고찰)
페이지 정보
- Moon
- 2025-04-15 18:35:00
- 조회수152
본문
오늘은 상태 창의 용도 별 위치에 대한 이야기를 하고자 합니다.
일반적으로 AI 채팅에서 상태 창은 코드블럭(```)안에 쓰여진 정보 모음입니다.
이전 글로 확인 해본 결과 아래 내용들을 주로 넣으시는 것 같더군요
1. 날짜와 시간
2. 위치
3. 호감도
4. 로어북/이벤트 트리거
5. 유저의 장비/아이템/스킬 정보
6. 상황 요약(줄거리)
보통 상태 창은 아래에 쓴다고 생각하시겠지만, 사실 용도 별/기대하는 효과 별로 적절한 위치가 다릅니다.
우선 이를 이해하기 위해서는 LLM의 문장 생성 원리에 대해 알 필요가 있습니다.
(조금 어려우니 집중해서 읽어주시기 바랍니다.)
우리가 메시지를 보낼때 LLM에게 전달되는 내용은.
(원래는 플랫폼 별로 로어북이나 기타 줄거리 요약등 추가로 들어갈 수 도 있지만 간략화 해서 설명하면)
[시스템 프롬프트 - 플랫폼 작성]
[캐릭터 상세정보 - 제작자 작성]
[대화 기록 - 유저와 캐릭터가 나눈 대화 기록]
[마지막으로 유저가 보낸 메시지]
대략 이렇게 들어갑니다.
이렇게 보내지면 LLM은 시스템 프롬프트와 캐릭터 상세 정보 그리고 대화 기록을 참고하여 알맞은 응답을 작성하여 유저 에게 전달하게 됩니다.
이때 응답이 만들어지는 원리에 대해 조금 더 설명 드리자면 단순히 위 내용만 참고해서 응답이 딱 한번에 만들어 지는 것이 아니라, 응답이 만들어 지고 있는 과정에서
실시간으로 만들어지고 있는 단어 또는 문장 또한 LLM이 유저 에게 보내는 응답을 최종 완성하는데 중요한 참고자료가 됩니다.
이게 무슨 말인가....
LLM은 응답을 작성하면서 실시간으로 자신이 작성한 내용 또한 응답을 완성 시키는 데 참고 사항으로 포함 시켜 작동됩니다.
(실시간으로 출력 되는 시점에서 LLM이 응답을 이미 완성한 상태가 아니라. 이미 만들어진 응답을 계속 참고하면서 응답을 완성 시킵니다.)
그럼 이게 상태 창과 무슨 관련이 있냐면...
정리하자면
상태 창의 목적이 시간/날짜에 따른 응답 내용의 변화가 있어야 하는 것이면 해당 상태 창은 최 상단에 출력하여 LLM이 지속적으로 응답을 생성하는 과정에서 참고하도록 하는 것이 맞습니다.
상태 창이 줄거리 요약 등 최종 내용을 정리해서 현재 대화에 영향을 주는 것이 아닌 내용을 정리하여 다음 대화에서 참고하여 기억 누락 없이 대화가 진행되는 것이 목적이라면 해당 상태 창은 응답의 하단에 배치하여 상태 창을 작성할 때 위 내용을 참고하여 상태 창이 만들어질 수 있도록 유도하는 것이 맞습니다.
비슷한 이유로 캐릭터의 말투를 정의하는 상태 창 또는 호감도 상태 창 부분도 위에 두면 해당 만들어지는 응답 내에서 해당 내용이 바로 반영될 확률이 올라갑니다.
요약 드리자면 상태 창은 LLM의 응답 생성 원리를 파악하여
1. 계절, 시간, 날짜 등 해당 내용에 따라 '캐릭터의 대사 및 행동'이 바로 반영되어야 한다 -> 위에 출력
2. 줄거리 요약 등 해당 내용은 '모든 캐릭터의 대사 및 상황' 을 참고하여 정리되어야 한다 -> 하단에 출력
그 외 제작자의 판단에 따라 이게 바로 적용되어야 할 부분인지, 종합적으로 정리되어야 할 부분인지 판단하여 위치를 잡으시는 것을 권장 드립니다.
그럼 저는 또 다음에 정보 글 쓸 거 있으면 써 보겠습니다.
(설명을 어떻게 하면 쉽게 전달할 수 있지 생각하고 있는데... 이게 좀 어렵네요)
감사합니다.
- 이전글젬이오프로 검열 단어? 질문 25.04.17
- 다음글생성된 채팅방에 긍정수치와 능동성 여부를 확인할 수 있는 방법이 있는지요? 25.04.15