Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Prompt Engineering — best practices

01. 01. 2024 4 min čtení intermediate

Prompt engineering je klíčová dovednost pro efektivní práci s velkými jazykovými modely a AI agenty. Správně formulované příkazy dokáží dramaticky zlepšit kvalitu a přesnost odpovědí umělé inteligence.

Prompt Engineering: Praktické postupy pro efektivní práci s LLM

Prompt Engineering se stal klíčovou dovedností při práci s Large Language Models. Kvalitně navržený prompt může výrazně zvýšit přesnost, relevanci a užitečnost odpovědí AI systémů. V tomto článku si ukážeme osvědčené postupy a praktické techniky.

Struktura efektivního promptu

Dobře navržený prompt má jasnou strukturu, která AI pomáhá pochopit kontext a očekávání. Základní komponenty zahrnují:

  • Kontext - definice role a situace
  • Instrukce - konkrétní úkol
  • Formát výstupu - specifikace požadované formy odpovědi
  • Omezení - pravidla a limity
# Špatný prompt
"Napiš kód pro API"

# Dobrý prompt
"Jsi senior Python developer. Vytvoř REST API endpoint pro registraci uživatelů.

Požadavky:
- FastAPI framework
- Validace emailu a hesla
- Uložení do PostgreSQL
- Error handling
- Return JSON response

Formát odpovědi: pouze kód s krátkými komentáři"

Chain-of-Thought prompting

Technika Chain-of-Thought (CoT) výrazně zlepšuje kvalitu odpovědí u komplexních úloh tím, že požaduje postupné řešení krok za krokem.

# Bez CoT
"Optimalizuj tento SQL dotaz: SELECT * FROM users WHERE age > 25 AND city = 'Praha'"

# S CoT
"Analyzuj a optimalizuj tento SQL dotaz krok za krokem:
SELECT * FROM users WHERE age > 25 AND city = 'Praha'

1. Identifikuj potenciální problémy
2. Navrhni optimalizace
3. Vysvětli důvody změn
4. Ukaž finální optimalizovaný dotaz"

Few-shot learning

Poskytnutí několika příkladů (few-shot) pomáhá AI pochopit požadovaný styl a formát odpovědi. Tato technika je obzvláště efektivní pro konzistentní výstupy.

"Převeď následující user stories do technických tasks.

Příklad 1:
User Story: Jako uživatel chci resetovat heslo
Task: Implementovat reset password endpoint s email verifikací

Příklad 2:
User Story: Jako admin chci vidět statistiky
Task: Vytvořit dashboard s metrics API a React komponenty

Nyní převeď:
User Story: Jako uživatel chci uploadovat profilový obrázek"

Prompt templating

Pro opakující se úkoly je výhodné vytvářet template systém. Moderní AI knihovny jako LangChain nebo Semantic Kernel nabízí robustní templating mechanismy.

from langchain.prompts import PromptTemplate

code_review_template = PromptTemplate(
    input_variables=["code", "language", "focus_areas"],
    template="""
Proveď code review pro {language} kód.
Zaměř se na: {focus_areas}

Kód:
{code}

Struktura odpovědi:
1. Celkové hodnocení (1-10)
2. Nalezené problémy
3. Návrhy na zlepšení
4. Bezpečnostní rizika
"""
)

Iterativní optimalizace promptů

Prompt Engineering je iterativní proces. Měříme výkonnost a postupně optimalizujeme na základě výsledků.

# Verze 1 - obecný prompt
"Vysvětli tento kód"

# Verze 2 - přidání kontextu
"Jsi senior developer. Vysvětli tento Python kód"

# Verze 3 - specifikace cílové skupiny
"Jsi senior developer. Vysvětli tento Python kód pro junior developera.
Zaměř se na:
- Účel kódu
- Použité návrhové vzory
- Možná zlepšení"

# Verze 4 - optimalizace formátu
"Jsi mentor pro junior developery. Analyzuj tento Python kód:

{code}

Struktura odpovědi:
📋 Účel: Co kód dělá
🔧 Techniky: Použité návrhové vzory a koncepty  
💡 Zlepšení: 2-3 konkrétní návrhy
⚠️ Upozornění: Potenciální problémy"

Handling edge cases

Kvalitní prompt počítá s edge cases a neočekávanými vstupy. Definujeme fallback chování a validace.

system_prompt = """
Jsi AI asistent pro code review.

PRAVIDLA:
- Pokud kód obsahuje méně než 5 řádků, požádej o více kontextu
- Pokud není jazyk rozpoznatelný, zeptej se na upřesnění
- Nezobrazuj kompletní přepsaný kód, pouze fragmenty s vysvětlením
- Při detekci security issues označ je jako CRITICAL

FALLBACK:
Pokud nemůžeš kód analyzovat, vysvětli proč a navrhni alternativní postup.
"""

Testování a validace

Systematické testování promptů je klíčové pro produkční nasazení. Vytváříme test suity s různými scénáři.

import pytest
from typing import List

class PromptTester:
    def __init__(self, llm_client, prompt_template):
        self.client = llm_client
        self.template = prompt_template

    def test_scenarios(self, test_cases: List[dict]):
        results = []
        for case in test_cases:
            prompt = self.template.format(**case['input'])
            response = self.client.generate(prompt)

            # Validace výstupu
            score = self.evaluate_response(
                response, 
                case['expected_criteria']
            )
            results.append({
                'input': case['input'],
                'response': response,
                'score': score
            })

        return results

Performance optimalizace

Efektivní prompty šetří tokeny a tím snižují náklady. Sledujeme poměr kvality výstupu k počtu spotřebovaných tokenů.

# Neefektivní - příliš podrobný
"Jako velmi zkušený senior software engineer s 15+ lety praxe..."

# Efektivní - stejný účinek
"Jsi senior developer."

# Optimalizace pro tokeny
"Role: Senior dev
Task: Code review
Format: Issue → Solution
Limit: Max 200 slov"

Shrnutí

Úspěšný Prompt Engineering kombinuje jasnou strukturu, vhodné techniky (CoT, few-shot), iterativní optimalizaci a systematické testování. Klíčem je pochopit, že prompt je interface mezi lidským záměrem a AI schopnostmi. Investice do kvalitních promptů se vrátí ve formě přesnějších výsledků, nižších nákladů a spolehlivějšího chování AI systémů. V produkčním prostředí je nezbytné implementovat monitoring, A/B testování a průběžnou optimalizaci na základě reálných dat.

prompt engineeringllmbest practices