Open WebUI v0.12.4는 스킬 지침을 매번 보내지 않고 필요할 때 불러오도록 바꾸고, 긴 대화의 압축 과정을 채팅에서 확인할 수 있게 했다. 여러 스킬을 쓰는 사용자와 긴 대화를 이어가는 개발자는 불필요한 지침 전송을 줄이고, 어떤 대화가 요약됐는지 살펴볼 수 있다.

1. 스킬 전체 지침은 필요할 때 전송

스킬은 모델이 작업에 활용하는 지침 묶음이다. 기존에는 채팅에서 고르거나 모델에 연결한 스킬의 전체 지침을 매 메시지에 함께 보냈다. 지연 로딩을 켜면 우선 목록만 전달하고, 모델이 필요할 때 전체 지침을 불러온다. 안내서 전체를 매번 건네는 대신 목록을 보고 필요한 안내서를 꺼내는 방식이다.

관리자는 관리자 설정의 일반 항목에서 선택한 스킬을 필요할 때 불러오는 설정을 켜거나 환경 변수를 설정해 이 방식을 활성화할 수 있다. 사용자는 채팅에서 스킬을 선택해 두되, 당장 적용할 스킬은 메시지에 직접 언급할 수 있다. 메시지에 언급한 스킬은 기다리지 않고 곧바로 로드된다.

이 기능은 기본적으로 꺼져 있으며 내장 스킬 도구가 필요하다. 설정을 켜지 않으면 기존처럼 스킬 지침 전체가 매 메시지에 함께 전송된다. 관련 환경 변수 이름은 다음과 같다.

ENABLE_SKILL_LAZY_LOADING

2. 압축된 메시지와 요약 내용 표시

문맥 압축은 앞선 메시지를 요약해 이후 대화에 활용하는 방식이다. 압축이 실행되면 대화에서 요약이 이뤄진 지점에 압축 표시가 붙는다. 사용자는 표시를 펼쳐 요약 내용을 볼 수 있고, 채팅 제어의 개요 화면에서도 표시된 메시지를 찾을 수 있다.

답변을 만드는 과정에서 도구 호출 사이에 압축이 실행된 경우에는 답변 안에도 표시가 남는다. 사용자는 대화가 끝난 뒤 별도 화면만 찾아보는 대신, 답변을 읽는 흐름 안에서 압축이 끼어든 지점을 확인할 수 있다.

압축이 진행 중이거나 오류가 발생하면 팝업 대신 대화 안에 상태가 나타난다. 따라서 긴 대화에서 어느 시점의 메시지가 요약됐는지, 압축이 정상적으로 진행되는지 채팅을 벗어나지 않고 살필 수 있다.

3. 임시 대화와 이미 초과한 문맥도 압축

문맥 압축은 이제 임시 대화에도 적용된다. 질문 하나와 도구 출력이 많은 답변만 있는 짧은 대화처럼, 이미 압축 임계치를 넘긴 경우에도 압축이 실행돼 후속 질문이나 답변 재생성·편집이 문맥 길이 오류로 실패하던 문제를 막는다.

사용량 게이지는 압축을 시작하도록 정한 기준에 맞춰 표시된다. 개별 모델이나 기본 모델 매개변수에 설정한 압축 임계치가 그 기준이다. 이전에는 모델에 더 낮게 설정한 임계치를 게이지가 반영하지 않아 실제 압축 시점보다 여유가 큰 것처럼 보일 수 있었다.

이제 게이지와 실제 압축에 같은 기준이 쓰이므로, 사용자는 표시를 보고 압축 시점이 얼마나 가까운지 파악하기 쉬워진다. 압축 기능을 끄면 적용되지 않는 임계치 설정도 화면에서 숨겨진다.

4. 반복 전송은 줄고, 요약으로 대화 이력은 바뀐다

두 기능은 모델에 보내는 내용을 줄이는 방법이 다르다. 지연 로딩은 반복 전송하던 스킬 지침을 필요한 순간에 불러오는 절차로 옮긴다. 문맥 압축은 긴 대화를 이어가도록 돕는 대신, 이후 대화에 쓰는 앞선 메시지의 내용을 원문 전체가 아닌 요약으로 바꾼다.

도구 서버의 도구가 재시작 뒤에도 같은 형태로 모델에 전달되도록 바뀌어 제공자의 프롬프트 캐시, 입력을 재사용하도록 저장하는 기능이 유지되고 긴 대화를 처음부터 다시 처리하지 않도록 했다. 다만 이 변경으로 절감되는 토큰이나 처리 시간의 수치는 릴리스 노트에 제시되지 않았다.

이번 업데이트의 핵심은 스킬 지침과 긴 대화의 처리 시점을 조절하고, 압축 결과를 사용자가 직접 확인하게 한 데 있다.