Komunikaty systemowe do kontroli zachowania

Wprowadzenie do modeli Claude

Nikhil Rangarajan

Data Scientist

Czym są komunikaty systemowe?

  • Bot obsługi klienta
  • Wymagania:
    • Uprzejmy
    • Zwięzły
    • Kończy każdą odpowiedź słowami: „Czy mogę jeszcze w czymś pomóc?"

A bot

Wprowadzenie do modeli Claude

Czym są komunikaty systemowe?

  • Komunikaty systemowe ustalają globalne reguły zachowania Claude'a
  • Obowiązują przez całą rozmowę, nie tylko dla pojedynczych odpowiedzi
  • Sterują tonem, ograniczeniami, formatem wyjściowym i osobowością

A bot asking "Is there anything else I can help you with today?"

Wprowadzenie do modeli Claude

Jak pisać skuteczne prompty systemowe?

  • Precyzyjnie określaj zachowanie i ograniczenia
  • Zdefiniuj rolę, którą ma przyjąć Claude
system_msg = "Be helpful." # Weak

system_msg = "You are a technical writer. Use active voice, under 100 words, actionable advice only." # Strong
messages = [{"role": "user", "content": "How do I improve documentation?"}] response = client.messages.create(model="claude-sonnet-4-6", max_tokens=150, system=system_msg, messages=messages)
Wprowadzenie do modeli Claude

Typowe wzorce komunikatów systemowych

  • Oparte na roli: określ, kim ma być Claude

$$

  • Oparte na ograniczeniach: ustal limity długości lub formatu

$$

  • Oparte na tonie: kontroluj styl wypowiedzi

$$

  • Zadaniowe: przekaż wyspecjalizowane instrukcje
# Role-based
"You are a customer service rep."

# Constraint-based  
"Respond in exactly 3 bullet points,
max 50 words."

# Tone-based
"Use enthusiastic, encouraging tone."

# Task-specific
"Debug Python code. Always ask for 
error messages first."
Wprowadzenie do modeli Claude

Testowanie i iterowanie komunikatów systemowych

  • Testuj z różnorodnymi danymi wejściowymi, by wykryć przypadki brzegowe
  • Monitoruj niepożądane odpowiedzi i dryf zachowania
  • Doprecyzowuj język, gdy zachowanie jest zbyt ogólne
# System message causing issues
"Be concise and helpful."

# Problem: Responses too short, 
# missing context
"Provide helpful responses in 2-3 
sentences. Include relevant context 
but avoid unnecessary details."

# Test with various prompts 
Wprowadzenie do modeli Claude

Zaawansowane techniki komunikatów systemowych

$$

  • Łącz instrukcje z jasno określonymi priorytetami
  • Stosuj logikę warunkową dla różnych scenariuszy
  • Umieszczaj przykłady w komunikacie systemowym
  • Łącz z promptami few-shot
system_msg = """Code reviewer. 
Priority: 1) Security 2) Performance 
3) Style
If no issues: "Code looks good" 
+ suggest improvement
Example: "Security: No issues. 
Performance: Consider caching here."
"""

messages = [{"role": "system", 
             "content": system_msg},
    {"role": "user", 
     "content": "Review: [code]"}]
Wprowadzenie do modeli Claude

Czas na praktykę!

Wprowadzenie do modeli Claude

Preparing Video For Download...