OpenAI API를 학습하는 과정에서 role의 역할에 대해 이해하고 사용해보자
const messages = [
{
role: "system", // AI의 역할과 행동 지침 설정
content: "당신은 전문적이고 친절한 상담사입니다. 고객의 요구사항을 정확히 파악하여 최적의 요금제를 추천해주세요."
},
{
role: "user", // 사용자의 메시지
content: "안녕하세요. 요금제 추천을 받고 싶습니다."
},
{
role: "assistant", // AI의 이전 응답 (대화 맥락 유지)
content: "안녕하세요! 요금제 추천을 도와드리겠습니다. 먼저 몇 가지 질문을 드려도 될까요?"
},
{
role: "user",
content: "네, 좋습니다."
}
];
이제 아래에서 각 역할에 대한 정의와 특징에 알아보자.
system 역할은 챗봇의 초기 동작방식, 페르소나, 규칙, 제약 사항 등을 설정하는 데 사용된다.모델이 답변을 생성할 때 따르도록 지시하는 배경 정보나 지침
대화의 가장 처음에 한 번만 배치되는 것이 일반적이며 용자에게 직접 노출되지 않는 지시사항.
"당신은 친절하고 도움이 되는 AI 어시스턴트입니다. 항상 한국어로 답변하고, 요금제 질문에 명확하고 간결하게 대답해주세요."
user 역할은 사용자가 챗봇에게 보내는 질문, 명령, 발언을 나타냅니다. 챗봇과의 실제 상호작용의 입력부분.
대화의 흐름을 시작하고 진행시키는 주체입니다.
일반적으로 어시스턴트의 답변 바로 직전에 위치합니다.
"전화를 자주하는데 어떠한 요금제를 사용해야할까?"
"내 개인정보가 안전할까?"
assistant 역할은 챗봇(LLM)이 사용자에게 생성하여 보내는 답변, 응답,정보를 나타낸다.
사용자의 질문에 대한 출력(output)입니다.
일반적으로 사용자 메시지를 답변해주는 역할을 합니다.
"5G 요금제를 추천합니다."
"개인정보가 안전하게 보호되고 있습니다."