← AI 용어집

AI 용어집 · 기초 · 언어 모델

채팅 템플릿 Chat Template

채팅 템플릿은 시스템·사용자·어시스턴트 메시지로 이루어진 대화를, 모델이 학습 때 본 그대로의 문자열 형식(특수 토큰 포함)으로 바꿔 주는 규칙이다.

용어 정보
난이도
기초 · 소식을 읽을 때 자주 만나는 기술 용어
추가
2026-10-12
쉽게 말하면 관공서 서류 양식과 비슷하다. 내용이 같아도 양식 칸에 맞게 쓰지 않으면 담당자가 엉뚱하게 처리한다.

어떻게 작동하나

Instruct 모델은 학습할 때 '여기서부터 사용자 말, 여기서부터 어시스턴트 말'을 특수 토큰으로 표시한 대화를 봤다. 채팅 템플릿은 우리가 보낸 메시지 목록을 바로 그 형식의 긴 문자열로 바꿔 준다. 마지막에 '이제 어시스턴트 차례'라는 표시를 붙여 모델이 답을 쓰기 시작하게 한다. 도구 호출이나 생각 과정을 표시하는 형식도 템플릿에 함께 정해진 경우가 많다.

메시지가 모델에 닿기까지

  1. 1
    메시지 목록시스템·사용자·어시스턴트
  2. 2
    템플릿 적용특수 토큰으로 역할 표시
  3. 3
    차례 표시이제 어시스턴트가 답할 차례
  4. 4
    토큰화토크나이저가 번호로 변환
  5. 5
    모델 생성끝 표시 토큰에서 멈춤
대화 메시지가 채팅 템플릿을 거쳐 모델 입력이 되는 순서다.

어디서 보나

Hugging Face 저장소의 tokenizer_config.json 안 chat_template 항목이나 별도 템플릿 파일에서 볼 수 있으며, Jinja라는 템플릿 문법으로 쓰여 있다. transformers 라이브러리에서는 apply_chat_template 같은 함수가 이를 적용한다. GGUF 파일은 템플릿을 메타데이터에 담기도 하고, 추론 엔진 설정에서 템플릿을 직접 지정할 수도 있다. 클라우드 API는 이 과정을 서버에서 대신 처리해 사용자는 메시지 목록만 보낸다.

알아 둘 점

템플릿이 틀리면 모델은 돌아가지만 답이 엉뚱하거나, 멈추지 않고 사용자 말까지 지어내 계속 쓰는 증상이 흔하다. 모델마다 템플릿이 다르므로 다른 모델의 형식을 그대로 쓰면 안 된다. Base 모델에는 채팅 템플릿이 없거나 의미가 없는 경우가 많다. 파인튜닝할 때도 학습과 서빙에서 같은 템플릿을 써야 성능이 유지된다.

예시

개발자가 새 오픈웨이트 모델을 로컬 추론 엔진에 올렸더니 답이 끝나지 않고 '사용자:'로 시작하는 문장까지 이어 썼다. 모델 카드를 다시 보니 이 모델은 전용 채팅 템플릿을 쓰는데, 엔진이 다른 모델의 템플릿을 적용하고 있었다. 저장소의 tokenizer_config.json에 있는 템플릿을 엔진 설정에 지정하자 대화가 정상으로 돌아왔다.

함께 보면 좋은 용어