[Intum Dev](https://intum.dev.md) / [Używanie AI](https://intum.dev/ai-w-praktyce.md)

# [Jak pisać prompty do helpdesku AI — przykład, porównanie modeli i pułapki](https://intum.dev/ai-w-praktyce/jak-pisac-prompty-do-helpdesku-ai-przyklad-porownanie-modeli-i-pulapki.md)

> 💡 **Nie musisz tego budować sam!** Gotowy system helpdesku z AI, bazą wiedzy i automatycznymi sugestiami odpowiedzi działa w [Intum](https://intum.pl). Sprawdź [bazę wiedzy](https://intum.pl/pomoc/baza-wiedzy) i [helpdesk](https://intum.pl/pomoc/helpdesk).
>
> Poniższy artykuł to rozważania techniczne o tym, jak tego typu rozwiązania mogą działać pod spodem.

---

## Po co system prompt w helpdesku AI

System prompt to instrukcja, która mówi modelowi AI jak się zachowywać. W kontekście helpdesku — jakim tonem odpowiadać, skąd brać informacje, co robić gdy nie zna odpowiedzi i czego nigdy nie robić.

Dobrze napisany prompt to różnica między "AI które halucynuje i obiecuje klientom rzeczy które nie istnieją" a "AI które trafnie odpowiada i eskaluje gdy nie wie".

## Przykładowy prompt helpdesku

Poniższy prompt sprawdza się jako punkt wyjścia dla systemu sugerowania odpowiedzi na tickety:

---

**Jesteś pomocnym asystentem helpdesku firmy {nazwa_firmy}.**
Odpowiadasz na pytania klientów na podstawie dostarczonej bazy wiedzy.

**Zasady odpowiedzi:**

1. Odpowiadaj wyłącznie na podstawie bazy wiedzy poniżej.
2. Ton: przyjazny ale profesjonalny. Bez nadmiernej formalności (nie używaj "Szanowny Panie/Pani"), ale też bez slangu. Zwracaj się do klienta per "Ty" lub bezosobowo.
3. Bądź konkretny i zwięzły — klient chce szybkiej odpowiedzi, nie elaboratu.
4. Jeśli odpowiedź wymaga kroków — użyj numerowanej listy.

**Gdy znasz odpowiedź:**
Odpowiedz na pytanie, a na końcu dodaj:
> Źródło: [tytuł artykułu z KB]

**Gdy NIE znasz odpowiedzi:**
Jeśli baza wiedzy nie zawiera informacji potrzebnych do odpowiedzi, NIE zgaduj ani nie wymyślaj. Odpowiedz dokładnie tak:
ESKALACJA: Brak informacji w bazie wiedzy. Pytanie dotyczy: [1-zdaniowe podsumowanie tematu].

**Czego nigdy nie rób:**
- Nie obiecuj rzeczy których nie ma w KB
- Nie podawaj cen, terminów ani danych których nie ma w KB
- Nie wspominaj że korzystasz z AI ani bazy wiedzy (mów w pierwszej osobie jako agent firmy)

**Baza wiedzy:**
{kontekst_z_bazy_wiedzy}

---

## Anatomia promptu — dlaczego każdy element jest ważny

| Element | Co robi | Dlaczego kluczowy |
|---|---|---|
| **Rola** ("Jesteś asystentem...") | Ustawia kontekst zachowania | Bez tego model odpowiada generycznie |
| **Zasady tonu** | Kontroluje styl komunikacji | Klient dostaje spójne doświadczenie |
| **Odpowiedź ze źródłem** | Wymusza podanie artykułu | Agent może szybko zweryfikować trafność |
| **Separator ESKALACJA:** | Strukturyzuje odmowę odpowiedzi | Pozwala automatycznie rozróżnić odpowiedź od eskalacji |
| **Zakazy** | Blokuje halucynacje i obietnice | Chroni przed sytuacjami kryzysowymi |
| **Baza wiedzy na końcu** | Dostarcza kontekst | Model odpowiada na podstawie faktów |

## Rozszerzenia promptu

### Pole pewności

Dodaj do instrukcji:

> Na końcu każdej odpowiedzi dodaj: PEWNOŚĆ: wysoka/średnia/niska

Pozwala to automatycznie:
- **Wysoka** → wyślij odpowiedź bez zatwierdzenia agenta
- **Średnia** → pokaż agentowi do zatwierdzenia
- **Niska** → eskaluj

### Historia wątku

Samo pytanie klienta często jest niejasne bez kontekstu poprzednich wiadomości. Warto dodać do promptu:

> Poniżej historia wątku. Odpowiedz na ostatnią wiadomość klienta.

I wstawić wcześniejsze wiadomości z wątku ticketu przed pytaniem.

### Dane klienta

Jeśli masz informacje o kliencie (plan, branża, wielkość firmy), dodaj je:

> Informacje o kliencie: plan Enterprise, branża e-commerce, klient od 2 lat.

Model może wtedy dostosować odpowiedź — np. nie sugerować upgrade'u klientowi Enterprise.

## Różnice między modelami — jak dostosować prompt

Treść promptu jest w 90% uniwersalna. Różnice dotyczą sposobu przekazywania i drobnych zachowań.

### Sposób przekazywania promptu

| Dostawca | Sposób |
|---|---|
| **Claude** (Anthropic) | Osobny parametr `system` oddzielony od `messages` |
| **OpenAI** (GPT) | Pierwsza wiadomość z rolą `system` w tablicy `messages` |
| **Google** (Gemini) | Parametr `system_instruction` lub rola `system` w messages |
| **Mistral** | Rola `system` w `messages` (jak OpenAI) |

### Zachowania modeli przy tym samym prompcie

| Zachowanie | Claude Sonnet | GPT-4.1 / GPT-5 | Gemini 2.5 | Mistral Large |
|---|---|---|---|---|
| **Trzymanie się KB** | Bardzo dobre — rzadko wychodzi poza kontekst | Dobre | Czasem "wychodzi" poza KB i dodaje własną wiedzę | Dobre |
| **Format ESKALACJA:** | Niezawodny — zawsze zwraca dokładnie ten format | Niezawodny | Czasem ignoruje format lub dodaje dodatkowy tekst | Dobry |
| **"Mów w pierwszej osobie"** | Naturalnie mówi jako agent firmy | Naturalnie | Czasem zdradza mechanizm ("Sprawdziłem w naszej bazie...") | Dobry |
| **Polski język** | Naturalny, dobra odmiana | Naturalny | Dobry, czasem sztywniejszy | Dobry, rzadziej testowany |
| **Zwięzłość** | Dobra — odpowiada na temat | Bywa rozwlekły — warto dodać "Odpowiadaj zwięźle" | Zmienny — raz krótko, raz za długo | Dobra |

### Dostosowania per model

**Claude** — prompt działa bez zmian. Najlepiej radzi sobie z instrukcjami negatywnymi ("nie rób X").

**GPT-4.1 / GPT-5** — warto dodać jawnie:
> Odpowiadaj zwięźle — 2-4 zdania na proste pytania, lista kroków na procedury.

GPT ma tendencję do rozwlekłych odpowiedzi jeśli nie ograniczysz.

**Gemini 2.5** — wymaga mocniejszego promptu na format:
> KRYTYCZNE: Gdy nie znasz odpowiedzi, odpowiedz DOKŁADNIE formatem "ESKALACJA: ..." — bez żadnego dodatkowego tekstu przed ani po.

Gemini czasem dodaje "Niestety nie jestem w stanie..." przed ESKALACJA, co psuje automatyczne parsowanie.

**Mistral Large** — zachowuje się podobnie do Claude. Warto przetestować na polskich tekstach bo ma mniej danych treningowych w języku polskim.

## Porównanie kosztów promptu

Przy typowym prompcie helpdesku (~1500 tokenów system + 500 tokenów KB + 200 tokenów pytanie = ~2200 tokenów input):

| Model | Koszt input | Koszt output (~200 tok) | Suma za 1 ticket | 1000 ticketów/dzień |
|---|---|---|---|---|
| **Claude Sonnet 4.6** | $0.0066 | $0.003 | ~$0.010 | ~$10 |
| **GPT-4.1 Mini** | $0.00088 | $0.00032 | ~$0.001 | ~$1.20 |
| **Gemini 2.5 Flash** | $0.00033 | $0.00012 | ~$0.0005 | ~$0.50 |
| **Mistral Large 3** | $0.0011 | $0.0003 | ~$0.001 | ~$1.40 |

Z prompt cachingiem (dla stałej części systemu) koszty Claude spadają o ~60-70%.

## Testowanie promptu

Przed wdrożeniem przygotuj **20-30 realnych pytań z ticketów** i przetestuj prompt na każdym modelu. Sprawdź:

1. **Trafność** — czy odpowiedź jest poprawna wg bazy wiedzy?
2. **Format** — czy ESKALACJA działa? Czy źródło jest podane?
3. **Ton** — czy brzmi naturalnie po polsku?
4. **Granice** — czy odmawia odpowiedzi na pytania spoza KB?
5. **Halucynacje** — czy nie wymyśla funkcji, cen, terminów?

Najczęstszy błąd to testowanie na wymyślonych pytaniach zamiast realnych. Klienci pytają inaczej niż myślisz — używają skrótów, błędów, kontekstu z poprzednich rozmów.

---

**Źródła:**
- [Prompt engineering — Anthropic](https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering)
- [Prompt engineering — OpenAI](https://platform.openai.com/docs/guides/prompt-engineering)
- [System instructions — Google Gemini](https://ai.google.dev/gemini-api/docs/system-instructions)


---

## Powiązane

- [RAG pipeline — jak budować sugerowanie odpowiedzi AI z bazy wiedzy](https://intum.dev/ai-w-praktyce/rag-pipeline-jak-budowac-sugerowanie-odpowiedzi-ai-z-bazy-wiedzy.md)
- [Claude Sonnet 4.6 z 1M kontekstu — cennik, porównanie modeli i praktyczne wnioski](https://intum.dev/modele-ai/claude-sonnet-4-6-z-1m-kontekstu-cennik-porownanie-modeli-i-praktyczne-wnioski.md)
