더북(TheBook)

지금까지 사용한 방식을 ChatPromptTemplate으로 개선하면 다음과 같습니다.

from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages(
    [
        ("system", "텍스트 분석 전문가입니다."),
        ("human", "다음 텍스트를 {language}로 요약해줘:\n\n{text}"),
    ]
)
messages = prompt.format_messages(language="한국어", text="AI는...")

{language}와 {text}는 실행할 때 실제 값이 들어갈 템플릿 변수입니다. 중괄호({})로 표기해 나중에 다른 값으로 바뀔 부분임을 나타냅니다. 이렇게 하면 프롬프트 구조는 그대로 두고 입력값만 바꿔 같은 템플릿을 여러 작업에 재사용할 수 있습니다. 이 방식은 이후에 만들 요약, 감성 분석, 재작성 기능에도 그대로 활용합니다. 프롬프트 수가 늘어나더라도 메시지 구조와 입력값을 분리해둘 수 있어 수정하거나 관리할 때도 훨씬 편합니다.

3장에서는 메시지 작성 방식을 더 체계적으로 관리하기 위해 ChatPromptTemplate과 프롬프트 설계 방법을 본격적으로 살펴보겠습니다.