Prompt engineering je umenie formulovania inštrukcií pre LLM. Drobná zmena v prompte môže dramaticky zmeniť kvalitu výstupu.

Základné princípy

1. Buďte špecifický

❌ Napíš niečo o Pythone

✅ Napíš 500-slovný tutoriál o list comprehensions v Pythone
   pre stredne pokročilých vývojárov. Zahrň 3 praktické príklady.

2. Poskytnite kontext

❌ Zreviduj tento kód

✅ Si senior Python developer. Zreviduj tento Flask endpoint
   z pohľadu bezpečnosti a výkonu. Projekt používa PostgreSQL
   a beží na AWS Lambda.

3. Definujte formát výstupu

✅ Odpovedz vo formáte JSON:
   {
     "summary": "stručný prehľad",
     "pros": ["výhoda 1", "výhoda 2"],
     "cons": ["nevýhoda 1"],
     "recommendation": "záverečné odporúčanie"
   }

Pokročilé techniky

Chain of Thought (CoT)

Nechajte model "premýšľať" krok za krokom:

Vyrieš tento problém krok za krokom:

Firma má 150 zamestnancov. 40% pracuje remote.
Z remote pracovníkov 25% používa Mac.
Koľko remote zamestnancov používa Mac?

Ukáž svoj myšlienkový postup pred finálnou odpoveďou.

Few-Shot Learning

Poskytnite príklady:

Klasifikuj sentiment recenzií:

Recenzia: "Produkt je úžasný, odporúčam!"
Sentiment: pozitívny

Recenzia: "Kvalita slabá, rýchlo sa pokazilo"
Sentiment: negatívny

Recenzia: "Je to OK, nič špeciálne"
Sentiment: neutrálny

Recenzia: "Nikdy som nebol spokojnejší s nákupom!"
Sentiment:

Role Playing

Zadajte modelu rolu:

Si skúsený DevOps engineer s 10 rokmi praxe.
Máš expertízu v Kubernetes, AWS a Terraform.

Navrhni CI/CD pipeline pre Node.js microservices aplikáciu
s nasledovnými požiadavkami:
- Automatické testy pri každom PR
- Staging a production prostredia
- Blue-green deployment

Self-Consistency

Generujte viac odpovedí a vyberte najčastejšiu:

responses = []
for _ in range(5):
    response = llm.generate(prompt)
    responses.append(response)

# Vyberte najkonzistentnejšiu odpoveď
final = most_common(responses)

System Prompts

Definujte správanie pre celú konverzáciu:

messages = [
    {
        "role": "system",
        "content": """Si technický asistent pre e-commerce platformu.

        Pravidlá:
        - Odpovedaj stručne a technicky presne
        - Pri nejasnostiach sa pýtaj
        - Nikdy neodporúčaj nesúvisiace produkty
        - Používaj slovenčinu
        """
    },
    {
        "role": "user",
        "content": "Ako implementovať platobný gateway?"
    }
]

Čomu sa vyhnúť

Vágne inštrukcie

❌ Napíš dobrý kód
✅ Napíš TypeScript funkciu, ktorá validuje email adresy
   pomocou regex. Pridaj unit testy s Jest.

Príliš veľa naraz

❌ Napíš celú aplikáciu s autentifikáciou, databázou,
   API, frontendom a testami

✅ Rozdeľ úlohu na menšie časti a riešte postupne

Predpoklady bez overenia

✅ "Predpokladám, že používaš React 18. Je to správne?"

Prompt Templates

REVIEW_TEMPLATE = """
Zreviduj nasledujúci {language} kód:

```{language}
{code}

Zameraj sa na:

  1. Bezpečnostné riziká
  2. Performance problémy
  3. Best practices
  4. Čitateľnosť

Formát odpovede:

  • Celkové hodnotenie (1-10)
  • Zoznam problémov s prioritou
  • Konkrétne návrhy na zlepšenie """

## Záver

Prompt engineering je skill, ktorý sa dá naučiť. Experimentujte, iterujte a dokumentujte čo funguje pre váš use case.