定義
チャットテンプレートとは、ユーザーとAIのやり取りをsystem/user/assistantといった役割ごとに整形し、モデルが学習時と同じ形式で入力を受け取れるようにする仕組みのこと。
チャットテンプレート (Chat Template)とは(詳しく解説)
チャットテンプレートは、LLMの事前学習・ファインチューニング時に使われた対話形式(system/user/assistantの区切り文字やロール表記)を再現し、モデルへの入力を統一書式に変換する機能を指す。Hugging Faceのtokenizerが持つchat_template機能や、OpenAI/ClaudeなどのAPIが内部で自動適用する形式が代表例で、モデルごとにテンプレートの仕様が異なるため、同じプロンプトでも出力品質が大きく変わりうるとされる。2026年時点の実運用では、オープンソースモデルを自前でホスティングする現場において、テンプレート不一致による性能劣化や出力崩れが起きやすいことが広く知られており、モデル切り替えやアップデート時にはテンプレート仕様の確認が必須作業になっている。API経由でクローズドモデルを使う場合はテンプレートを意識せずに済むため運用コストが低く、テンプレート管理の手間を避けたいチームはマネージドAPIを選ぶのが相場感として定着しつつある。
チャットテンプレート (Chat Template)の使用例
- Llama系モデルのtokenizerに<|system|>...<|user|>...<|assistant|>形式を適用し入力を整形する例。
- Hugging Face tokenizerのapply_chat_template()でメッセージ配列をモデル指定書式へ変換する例。