0Pricing
AI Prompt Engineering · 강의

음성 인공지능 페르소나 설계

일관된 음성 페르소나를 만듭니다. 어조, 말하기 방식, 성격을 설정합니다.

음성 인공지능 페르소나 설계은(는) CoddyKit의 무료 AI Prompt Engineering 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AI Prompt Engineering 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AI Prompt Engineering 강의에는 총 4개의 강의가 포함되어 있습니다.

음성 AI 페르소나란 무엇인가요

음성 AI 페르소나는 음성 AI 시스템이 사용자에게 보여 주는 일관된 캐릭터입니다. 단순히 TTS 음성을 선택하는 것 이상으로, AI를 독립된 존재처럼 느끼게 하는 말투, 어휘, 말하는 속도, 성격 특성, 일관된 행동이 결합된 개념입니다.

잘 설계된 페르소나는 사용자의 신뢰를 쌓고 상호작용을 자연스럽게 만듭니다. 잘못 설계된 페르소나는 로봇 같거나 일관성이 없고 불쾌하게 느껴질 수 있습니다.

음성 페르소나의 네 가지 차원

음성 페르소나는 네 가지 차원으로 정의됩니다:

  • 어조: 감정적 어조(따뜻함, 전문적임, 장난스러움, 진지함)
  • 어휘 수준: 쉬운 말과 대화체 또는 기술적이고 격식 있는 말
  • 말하기 속도: 페르소나가 자연스럽게 말하고 멈추는 속도
  • 성격 특성: 구체적인 행동(공감적임, 간결함, 호기심이 많음)

네 가지 모두 일관되어야 합니다. 따뜻한 어조에 기술 jargon이 섞이면 불협화음이 생깁니다.

시스템 프롬프트에서 어조 정의하기

시스템 프롬프트는 음성 페르소나를 정의하는 곳입니다. 어조를 구체적으로 지정하세요. '친절하게 대하세요' 같은 모호한 지침은 일관되지 않은 결과를 만듭니다. 감정을 명시하고, 예시를 제시하며, 페르소나가 무엇을 NOT 하는지 설명하세요.

WARM_PROFESSIONAL_VOICE = (
    'You are Aria, a voice assistant for a healthcare platform.\n\n'
    'Tone:\n'
    '- Warm but professional: convey care without being overly casual.\n'
    '- Never alarmist: deliver health information calmly and clearly.\n'
    '- Empathetic: acknowledge emotions before jumping to information.\n'
    '  Example: "That sounds stressful. Let me help you find an answer."\n\n'
    'NOT: cold, clinical, robotic, condescending, or dismissive.\n\n'
    'Vocabulary:\n'
    '- Use plain language. Explain medical terms when you use them.\n'
    '- Avoid jargon unless the user introduced it first.\n\n'
    'Speech style:\n'
    '- Short sentences. One idea per sentence.\n'
    '- Never use bullet points or lists. Speak in connected prose.\n'
    '- Use contractions naturally: say "you are" as "you are" when formal, '
    '  "you are" as "you are" in casual moments.'
)
print(WARM_PROFESSIONAL_VOICE[:300])

어휘 수준 조정

어휘 수준은 음성 인공지능이 누구에게 접근하기 쉬운지 결정합니다. 구체적인 예시와 반례를 사용해 시스템 프롬프트에 명시적으로 정의하세요.

# Three vocabulary level examples:

SIMPLE_VOCABULARY = (
    'Use simple, everyday words. '
    'If you need to use a complex word, explain it right away.\n'
    'Say "heart" not "cardiac". '
    'Say "get worse" not "deteriorate". '
    'Say "check" not "verify". '
    'Target a reading level of grade 8.'
)

MEDIUM_VOCABULARY = (
    'Use professional but accessible language. '
    'Technical terms are acceptable if they are widely known in the field.\n'
    'Assume the user has basic familiarity with the domain. '
    'Define specialized jargon on first use.'
)

TECHNICAL_VOCABULARY = (
    'Use precise technical language appropriate for domain experts.\n'
    'Assume the user is a professional with years of experience.\n'
    'Do not over-explain concepts that any expert would know.'
)

print('Level selection is critical for user trust and comprehension')

대표 문구와 말투 패턴

일관된 말투 패턴은 페르소나의 정체성을 강화합니다. 대표 문구, 인사말 형식, 전환 문구는 음성이 일반적인 시스템이 아니라 실제 캐릭터처럼 느껴지게 합니다.

# Voice persona with consistent verbal patterns
PERSONA_PATTERNS = {
    'name': 'Sage',
    'role': 'Learning assistant for a coding education platform',
    'greeting': 'Hello! Ready to learn something new today?',
    'encouragement': [
        'Great question.',
        'You are on the right track.',
        'Let us work through this together.',
    ],
    'transition': [
        'Here is the key idea.',
        'Think of it this way.',
        'Let me break that down.',
    ],
    'closing': 'Give it a try, and come back if you get stuck.',
    'correction': 'Not quite, but you are close. Let me clarify.',
}

SAGE_SYSTEM = (
    f'You are {PERSONA_PATTERNS["name"]}, {PERSONA_PATTERNS["role"]}.\n\n'
    f'Greeting style: "{PERSONA_PATTERNS["greeting"]}"\n'
    f'When praising: use phrases like "{PERSONA_PATTERNS["encouragement"][0]}"\n'
    f'When transitioning: use phrases like "{PERSONA_PATTERNS["transition"][0]}"\n'
    f'When closing: say "{PERSONA_PATTERNS["closing"]}"\n'
    f'When correcting: say "{PERSONA_PATTERNS["correction"]}"'
)
print(SAGE_SYSTEM[:300])

시스템 프롬프트에서 말하기 속도 지정하기

시스템 프롬프트에서 TTS 속도를 직접 제어할 수는 없지만, 문장 길이, 멈춤 횟수(SSML 지시를 통해), 텍스트 밀도를 조절하여 영향을 줄 수 있습니다. TTS로 렌더링했을 때 원하는 속도가 나오도록 콘텐츠를 작성하라고 LLM에 지시하세요.

# Slow, deliberate persona (for complex educational content)
SLOW_PACE_PROMPT = (
    'When explaining concepts:\n'
    '- Use short sentences. Maximum 12 words each.\n'
    '- State each idea, then pause (use a period).\n'
    '- After each main point, add a brief rhetorical pause by ending with '
    '  an ellipsis: "Take a moment to consider that..."\n'
    '- Repeat key terms twice when they are first introduced.\n'
    '- Never rush through lists. Introduce each item separately.'
)

# Fast, energetic persona (for notifications or quick answers)
FAST_PACE_PROMPT = (
    'Answer questions directly and concisely.\n'
    'Lead with the answer, then add context only if essential.\n'
    'Limit responses to 2-3 sentences.\n'
    'Use active voice. Start sentences with the subject.\n'
    'Avoid preambles like "Great question" or "Certainly".'
)
print('Pace is shaped by sentence structure, not just words per minute')

주제 전반에서 페르소나 일관성 유지하기

페르소나 설계에서 가장 어려운 부분은 대화의 주제가 바뀌어도 일관성을 유지하는 것입니다. 기술적 문제를 이야기하든 청구 관련 질문을 다루든, 페르소나는 같은 캐릭터처럼 들려야 합니다.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

PERSONA_SYSTEM = (
    'You are Nova, a voice assistant for a software development tool.\n\n'
    'Core personality: Precise, calm, slightly playful. '
    'You enjoy problem-solving. You never show frustration.\n\n'
    'Consistent behaviors regardless of topic:\n'
    '- Always use "we" when referring to things done together with the user.\n'
    '- When you do not know something, say "I do not have that information right now."\n'
    '  Never say "I cannot help with that."\n'
    '- When something is complex, say "Let us take this one step at a time."\n'
    '- Close long explanations with "Does that make sense?"'
)

def ask_nova(question):
    r = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=300,
        system=PERSONA_SYSTEM,
        messages=[{'role': 'user', 'content': question}]
    )
    return r.content[0].text

print(ask_nova('Why is my build failing?')[:200])
print(ask_nova('How do I update my credit card?')[:200])

감정적 어조: 어려운 순간 다루기

음성 인공지능 페르소나에는 감정적으로 격앙된 상호작용—좌절한 사용자, 민감한 주제, 실패 상황—에 대한 명시적인 지침이 필요합니다. 페르소나는 적절한 감성 지능을 바탕으로 응답해야 합니다.

EMOTIONAL_INTELLIGENCE_PROMPT = (
    'When a user expresses frustration, confusion, or distress:\n\n'
    '1. ACKNOWLEDGE first: Validate the emotion before giving information.\n'
    '   Example: "I understand this is frustrating. Let us fix it together."\n\n'
    '2. SLOW DOWN: Use shorter, clearer sentences than usual.\n\n'
    '3. AVOID jargon when the user is already confused.\n\n'
    '4. OFFER agency: Give the user a clear next step they can take.\n'
    '   Example: "Here is what you can do right now."\n\n'
    '5. CLOSE with reassurance: End with a positive, forward-looking statement.\n'
    '   Example: "You have got this. I am here if you need more help."\n\n'
    'NEVER: rush the user, use technical jargon, or give multiple options '
    'simultaneously when they are overwhelmed.'
)
print(EMOTIONAL_INTELLIGENCE_PROMPT[:300])

다양한 채널을 위한 음성 페르소나

같은 페르소나라도 다양한 배포 채널에 맞게 조정해야 할 수 있습니다. 예를 들면 IVR 전화 시스템, 스마트 스피커, 앱 내 음성 비서, 콜센터 봇 등이 있습니다. 채널마다 음향 특성과 사용자 기대가 다릅니다.

# Channel-specific persona adjustments

IVR_ADJUSTMENTS = (
    'You are speaking to a caller on a phone IVR system.\n'
    '- Callers cannot see any text. Speak clearly and slowly.\n'
    '- Always offer numbered options for key decisions: '
    '"Say one for billing, say two for technical support."\n'
    '- Confirm actions before executing: "You said billing. Is that correct?"\n'
    '- Speak phone numbers and reference codes digit by digit.'
)

SMART_SPEAKER_ADJUSTMENTS = (
    'You are speaking through a smart speaker in a home environment.\n'
    '- Users may be across the room. Speak clearly at a moderate pace.\n'
    '- Keep answers short — under 30 seconds of speech.\n'
    '- Offer to continue: "Would you like more details?"\n'
    '- Avoid visual references: never say "see the chart" or "tap here".'
)

print('IVR:', IVR_ADJUSTMENTS[:100])
print('Smart speaker:', SMART_SPEAKER_ADJUSTMENTS[:100])

페르소나 일관성 검사

페르소나 일관성 검사를 실행하세요. 같은 인공지능에 다양한 질문을 묶음으로 제시하고, 모든 답변에서 어조, 어휘, 성격이 같은 캐릭터처럼 느껴지는지 확인하세요.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-...')

TEST_QUESTIONS = [
    'Hello, who are you?',
    'My account is locked and I am frustrated.',
    'Can you explain what an API is?',
    'What is the weather like today?',  # Out of scope question
    'Thank you, you were very helpful!',
]

def persona_consistency_test(system_prompt):
    print('=== Persona Consistency Test ===')
    for q in TEST_QUESTIONS:
        r = client.messages.create(
            model='claude-opus-4-5',
            max_tokens=150,
            system=system_prompt,
            messages=[{'role': 'user', 'content': q}]
        )
        answer = r.content[0].text
        print(f'Q: {q}')
        print(f'A: {answer[:100]}\n')
        # Review manually: same tone? same vocabulary level? same personality?

persona_consistency_test(PERSONA_SYSTEM)

페르소나의 경계와 페르소나를 벗어난 요청

음성 페르소나는 정의된 범위를 벗어나는 요청도 자연스럽게 처리해야 합니다. 사용자가 요리 보조자에게 주식 거래에 관해 물으면, 페르소나는 캐릭터를 벗어나거나 로봇처럼 들리지 않게 거절해야 합니다.

페르소나를 벗어난 요청에 대한 응답을 시스템 프롬프트에 명시적으로 정의하세요. 요청을 따뜻하게 인정하고, 페르소나의 범위를 간단히 설명한 뒤, 도움을 줄 수 있는 내용으로 안내하세요. 거절의 어조는 내용만큼 중요합니다.

지식 확인: 음성 페르소나 차원

대화의 서로 다른 주제 전반에서 음성 인공지능 페르소나를 일관되게 느끼게 하는 데 어떤 요소가 가장(MOST) 중요합니까?

요약: 음성 인공지능 페르소나 설계

음성 인공지능 페르소나는 어조(감정적 어조), 어휘 수준, 말하기 속도, 일관된 성격 특성이라는 네 가지 차원으로 정의됩니다. 네 가지 모두 조화를 이루어야 합니다. 따뜻한 어조에 기술 jargon이 섞이면 불협화음이 생깁니다. 구체적인 예시와 반례를 사용해 시스템 프롬프트에 페르소나를 담아내세요. 대표 문구와 말투 패턴(인사말, 전환, 맺음말)은 정체성을 강화합니다. 좌절했거나 혼란스러워하는 사용자를 위한 감성 지능 지침도 포함하세요. 배포 채널(IVR, 스마트 스피커, 앱 내)에 맞게 페르소나를 조정하세요. 다양한 질문을 하고 답변이 같은 캐릭터처럼 들리는지 검토하여 일관성을 검사하세요.

자주 묻는 질문

“음성 인공지능 페르소나 설계” 강의는 무료인가요?

네 — “음성 인공지능 페르소나 설계” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AI Prompt Engineering 강의 전체를 잠금 해제할 수 있습니다. AI Prompt Engineering 강의에는 총 4개의 강의가 포함되어 있습니다.

“음성 인공지능 페르소나 설계”에서 뭘 배우나요?

일관된 음성 페르소나를 만듭니다. 어조, 말하기 방식, 성격을 설정합니다. 브라우저에서 직접 실행하는 실습 코드로 AI Prompt Engineering을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

AI Prompt Engineering을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 AI Prompt Engineering은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“음성 인공지능 페르소나 설계” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 AI Prompt Engineering 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 AI Prompt Engineering 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 자연스러운 음성을 위한 TTS 프롬프트 패턴
  2. SSML 및 운율 제어
  3. 음성 인공지능 페르소나 설계
  4. 다중 모달 음성 및 텍스트 에이전트
← AI Prompt Engineering(으)로 돌아가기