Context Engineering: Praktický sprievodca správou kontextu pre AI agentov

Context engineering je kľúčová disciplína pre budovanie spoľahlivých AI systémov. Naučte sa štyri stratégie — Write, Select, Compress a Isolate — s praktickými príkladmi v Pythone. Pochopte rozdiel medzi context a prompt engineering.

Úvod: Prečo prompt engineering už nestačí

Ak ste čítali naše predchádzajúce články o Agentic RAG pipeline, multi-agentných systémoch alebo Model Context Protocol, asi tušíte, kam tým mierim. Moderné AI systémy nie sú jeden prompt a jedna odpoveď — sú to komplexné zostavy mnohých komponentov. Agent musí pracovať s históriou konverzácie, výsledkami z vektorovej databázy, výstupmi nástrojov, systémovými inštrukciami… a to všetko musí zmestiť do kontextového okna modelu.

A práve tu sa prompt engineering láme.

Andrej Karpathy to vystihol presne: „Context engineering je jemné umenie a veda napĺňania kontextového okna práve tými správnymi informáciami pre ďalší krok." Teda — nejde už len o to, ako sa modelu pýtate. Ide o to, čo všetko model vidí, keď generuje odpoveď. A to je zásadný rozdiel.

V tomto článku si ukážeme, čo context engineering vlastne zahŕňa, prečo je v roku 2026 kľúčovou kompetenciou pre každého, kto buduje AI systémy, a hlavne — ako ho implementovať v praxi s konkrétnymi príkladmi v Pythone.

Čo je context engineering

Context engineering je disciplína navrhovania a optimalizácie celého informačného kontextu, ktorý LLM dostane počas inferenčného volania. Kým prompt engineering sa zameriava na formuláciu jednej otázky, context engineering rieši niečo omnoho širšie — architektúru toku informácií. Odkiaľ dáta prichádzajú, ako sa filtrujú, komprimujú a zoraďujú, než sa vôbec dostanú do kontextového okna.

Mne osobne pomáha táto analógia: LLM je ako CPU a jeho kontextové okno je ako RAM. Rovnako ako operačný systém rozhoduje, čo sa zmestí do RAM, context engineering rozhoduje, čo sa zmestí do kontextového okna — a v akom poradí. Jednoduché, ale vystihujúce.

Čo všetko tvorí „kontext"

  • Systémová inštrukcia — pravidlá správania, tón, obmedzenia
  • Krátkodobá pamäť — história aktuálnej konverzácie
  • Dlhodobá pamäť — uložené fakty a preferencie z predchádzajúcich interakcií
  • Externé znalosti — dokumenty získané cez RAG, API alebo MCP nástroje
  • Definície nástrojov — schémy funkcií, ktoré agent môže volať
  • Výstupy nástrojov — výsledky predchádzajúcich volaní (databáza, web, kalkulátor)

Keď sa nad tým zamyslíte, je toho dosť. A všetko to musí fungovať spoločne.

Context engineering vs. prompt engineering

Toto je asi najčastejšia otázka, ktorú dostávam. Mnoho vývojárov si tieto dva pojmy zamieňa, ale rozdiel je naozaj zásadný.

Prompt engineering sa zameriava na to, ako formulujete otázku — výber slov, štruktúra, few-shot príklady, chain-of-thought inštrukcie. Funguje na úrovni jedného vstupno-výstupného páru.

Context engineering sa zameriava na to, čo model vidí — pamäť, históriu, nástroje, systémové prompty. Funguje na úrovni celého systému, naprieč viacerými krokmi a interakciami.

Inak povedané: prompt engineering je podmnožinou context engineeringu. Aj keď máte všetok správny kontext, spôsob, akým ho zostavíte do promptu, stále záleží. Ale bez správneho kontextu vám ani dokonalý prompt nepomôže. Proste nie.

A tu je možno to najdôležitejšie — podľa výskumov z rokov 2025–2026 väčšina zlyhaní AI agentov nie je zlyhaním modelu. Sú to zlyhania kontextu: nesprávne získané dokumenty, preplnená história, chýbajúce definície nástrojov. Model samotný by to zvládol, keby dostal správne informácie.

Štyri stratégie context engineeringu

LangChain identifikoval štyri kľúčové stratégie pre správu kontextu AI agentov: Write, Select, Compress a Isolate. Poďme si ich rozobrať — každú s praktickým príkladom, pretože teória bez kódu je len teória.

1. Write — uložiť kontext mimo kontextového okna

Stratégia „Write" je v podstate jednoduchý princíp: informácie, ktoré teraz nepotrebujete, si uložte niekam inam. Agent si uloží plán, medzivýsledky alebo dlhé výstupy nástrojov do súboru alebo databázy a v kontexte si ponechá len odkaz alebo zhrnutie.

from langgraph.graph import StateGraph
from typing import TypedDict, Annotated

class AgentState(TypedDict):
    messages: list
    scratchpad: str  # externy kontext mimo kontextoveho okna
    plan: str

def save_to_scratchpad(state: AgentState) -> AgentState:
    """Ulozi dlhy vystup nastroja do scratchpadu namiesto historie sprav."""
    last_message = state["messages"][-1]

    if len(last_message.content) > 2000:
        # Dlhy vystup presunieme do scratchpadu
        state["scratchpad"] += f"\n\n--- Vystup nastroja ---\n{last_message.content}"
        # V historii ponechame len zhrnutie
        last_message.content = "[Vystup ulozeny do scratchpadu - vid kontext]"

    return state

Tento prístup používa napríklad Anthropic pri svojom multi-agentnom výskumníkovi — LeadResearcher ukladá plán do Memory, pretože pri prekročení 200 000 tokenov by bol kontext jednoducho orezaný. Lepšie si to uložiť bokom, než o to prísť.

2. Select — vybrať relevantný kontext

Stratégia „Select" znamená dynamické sťahovanie informácií relevantných pre aktuálny krok agenta. V praxi sa to najčastejšie implementuje cez RAG — teda vektorové vyhľadávanie v znalostnej báze.

from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import Qdrant

embeddings = OpenAIEmbeddings(model="text-embedding-3-large")

vectorstore = Qdrant.from_documents(
    documents=docs,
    embedding=embeddings,
    url="http://localhost:6333",
    collection_name="knowledge_base"
)

def select_context(query: str, k: int = 5) -> str:
    """Vyberie k najrelevantnejsich dokumentov pre danu otazku."""
    results = vectorstore.similarity_search_with_score(query, k=k)

    # Filtrujeme len dokumenty s dostatocnou relevantnostou
    relevant = [(doc, score) for doc, score in results if score > 0.75]

    context = "\n\n".join([
        f"[Zdroj: {doc.metadata.get('source', 'neznamy')}]\n{doc.page_content}"
        for doc, score in relevant
    ])

    return context

Kľúčové je nepreplniť kontext irelevantným materiálom. Vždy filtrujte podľa skóre podobnosti a nastavte rozumný limit na počet vrátených dokumentov. Z vlastnej skúsenosti viem, že 3–5 dokumentov je zvyčajne sweet spot — viac už začne viac škodiť než pomáhať.

3. Compress — komprimovať kontext

Komprimácia kontextu je o tom zachovať len tie tokeny, ktoré sú naozaj nevyhnutné. A výsledky sú často prekvapivé — inteligentná komprimácia dokáže znížiť spotrebu tokenov o 40–60 % bez výrazného dopadu na kvalitu.

from langchain.memory import ConversationSummaryBufferMemory
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)

memory = ConversationSummaryBufferMemory(
    llm=llm,
    max_token_limit=4000,  # po prekroceni sa starsie spravy sumarizuju
    return_messages=True
)

# Komprimacia vystupov nastrojov
def compress_tool_output(output: str, max_tokens: int = 1000) -> str:
    """Komprimuje dlhy vystup nastroja na zvladnutelnu velkost."""
    if len(output.split()) < max_tokens:
        return output

    response = llm.invoke(
        f"Sumarizuj nasledujuci vystup nastroja. Zachovaj vsetky klucove "
        f"fakty, cisla a zavery. Vynechaj opakovania a nepodstatne detaily:\n\n"
        f"{output}"
    )
    return response.content

Pekný príklad z praxe: Claude Code implementuje „auto-compact" — keď kontextové okno dosiahne 95 % kapacity, automaticky sumarizuje celú trajektóriu interakcií. Uvoľní si tak miesto pre ďalšie kroky bez straty dôležitého kontextu. Elegantné riešenie.

4. Isolate — izolovať kontext medzi agentmi

Izolácia kontextu znamená rozdelenie úlohy medzi viacerých agentov, z ktorých každý má vlastné kontextové okno. Tým zabránite nekontrolovanému rastu kontextu a — čo je nemenej dôležité — každý agent sa môže sústrediť na svoju špecifickú rolu.

from langgraph.graph import StateGraph, END

def research_agent(state):
    """Agent so samostatnym kontextom pre vyskum."""
    # Tento agent vidi len svoju cast kontextu
    research_query = state["current_task"]
    results = web_search(research_query)
    # Vrati len zhrnutie, nie cely kontext
    return {"research_summary": summarize(results)}

def analysis_agent(state):
    """Agent so samostatnym kontextom pre analyzu."""
    # Dostane len zhrnutie vyskumu, nie surove data
    summary = state["research_summary"]
    analysis = analyze(summary)
    return {"analysis_result": analysis}

# Kazdy agent pracuje v izolovanom kontexte
workflow = StateGraph(AgentState)
workflow.add_node("researcher", research_agent)
workflow.add_node("analyst", analysis_agent)
workflow.add_edge("researcher", "analyst")
workflow.add_edge("analyst", END)

Výskum od Anthropic potvrdil, že viacero agentov s izolovanými kontextami dosahuje lepšie výsledky ako jeden agent s monolitickým kontextom. Dáva to zmysel — každý subagent má celé kontextové okno pridelené úzko špecifickej podúlohe, takže sa nestráca v mori irelevantných informácií.

Bežné problémy a ako sa im vyhnúť

Aj pri správnej architektúre sa môžete stretnúť s problémami. Tu sú tri najčastejšie, na ktoré narazíte (a verťe mi, narazíte):

Context Poisoning — otrávenie kontextu

Nastáva, keď sa halucinácia alebo chybná informácia dostane do kontextu a ovplyvňuje všetky nasledujúce kroky agenta. Je to ako snehová guľa — jedna chyba sa propaguje ďalej a ďalej. Riešenie? Validujte výstupy nástrojov pred ich uložením do kontextu a implementujte kontrolné body, kde agent overuje konzistentnosť informácií.

Context Distraction — rozptýlenie kontextu

Keď je kontextové okno preplnené irelevantným materiálom, model jednoducho nedokáže identifikovať, čo je dôležité. Súvisí to s javom „lost in the middle" — LLM modely majú tendenciu klásť väčší dôraz na začiatok a koniec kontextu, zatiaľ čo informácie v strede podceňujú. Takže aj keď tam tá správna informácia je, model ju môže prehliadnuť.

Context Confusion — zmätenie kontextu

Keď nadbytočný alebo protichodný kontext ovplyvňuje odpoveď neočakávaným spôsobom. Riešenie: jasne oddeľujte rôzne typy kontextu (systémové inštrukcie, história, externé dáta) a udržiavajte konzistentný formát. Štruktúra tu naozaj pomáha.

Praktické odporúčania pre produkciu

Na záver niekoľko overených tipov, ktoré vám ušetria hodiny ladenia:

  1. Token budgeting — pred každým volaním odhadnite počet tokenov a aplikujte politiky: zahoďte položky s nízkou prioritou, opätovne sumarizujte alebo požiadajte používateľa o zúženie rozsahu. Nechcete, aby vám na polceste došli tokeny.
  2. Efektívny kontext ≠ maximálny kontext — výskumy ukazujú, že efektívna kapacita je zvyčajne len 60–70 % inzerovanej veľkosti kontextového okna. Model s 200 000 tokenmi začne strácať spoľahlivosť okolo 130 000. To je dobrá informácia, ktorú mať na pamäti.
  3. Prioritizácia kontextu — najdôležitejšie informácie umiestnite na začiatok a koniec kontextu, menej kritické do stredu (spomínate si na „lost in the middle"?)
  4. Iteratívne eval pipeline — merajte, či vaše stratégie context engineeringu skutočne fungujú. Nastavte metriky na presnosť odpovedí, využitie tokenov a latenciu
  5. Model routing — menšie požiadavky smerujte na lacnejší model s menším oknom, väčšie na modely s veľkým kontextom (Claude 4 s 200K, Gemini s 2M tokenmi). Nie každá úloha potrebuje najväčší model.

Nástroje a frameworky pre context engineering

V roku 2026 máte k dispozícii viacero frameworkov, ktoré context engineering výrazne uľahčujú. Tu je prehľad tých najdôležitejších:

  • LangGraph — stavový graf pre agentov s natívnou podporou všetkých štyroch stratégií (write, select, compress, isolate). Ponúka aj sandbox prostredia pre izoláciu kontextu
  • LangChain Deep Agents SDK — open-source harness pre dlhobežiacich agentov s automatickou komprimáciou kontextu, offloadingom veľkých výstupov nástrojov a sumarizáciou
  • DSPy — framework pre algoritmickú optimalizáciu promptov a kontextu. Automaticky objavuje lepšie prompty, než by napísal človek (čo je trochu pokora, ale je to tak)
  • LlamaIndex — špecializovaný na správu znalostných bází a RAG pipeline s pokročilými stratégiami selekcie kontextu
  • Weaviate / Qdrant — vektorové databázy s natívnou podporou hybridného vyhľadávania a metadátového filtrovania pre presný výber kontextu

Často kladené otázky (FAQ)

Aký je rozdiel medzi context engineering a prompt engineering?

Prompt engineering sa zameriava na formuláciu jednej otázky — výber slov, štruktúru a techniky ako few-shot alebo chain-of-thought. Context engineering je širšia disciplína, ktorá rieši celú architektúru informácií, ktoré model vidí — pamäť, RAG, nástroje, históriu a systémové inštrukcie. Zjednodušene: prompt engineering je podmnožinou context engineeringu.

Potrebujem context engineering, ak používam model s veľkým kontextovým oknom?

Jednoznačne áno. Väčšie kontextové okno neodstraňuje potrebu context engineeringu — práve naopak. Výskumy ukazujú, že modely s 200K tokenmi strácajú spoľahlivosť už okolo 130K tokenov. A navyše — čím viac tokenov pošlete, tým vyššie sú náklady a latencia. Cieľom nie je naplniť okno na maximum, ale poskytnúť presne tie správne informácie.

Ako meriať efektivitu context engineeringu?

Sledujte tri kľúčové metriky: presnosť odpovedí agenta (správnosť a relevantnosť), efektivitu tokenov (pomer užitočného obsahu k celkovému počtu tokenov) a latenciu. Implementujte eval pipeline, ktorý tieto metriky systematicky meria pri každej zmene v stratégii kontextu. Bez merania len tipujete.

Ktorý framework je najlepší na context engineering v roku 2026?

Závisí to od vášho use case. Pre komplexných agentov s dlhým behom je LangGraph s Deep Agents SDK momentálne najkomplexnejšie riešenie. Pre algoritmickú optimalizáciu promptov a kontextu je DSPy výborná voľba. Pre RAG-centrické aplikácie siahnite po LlamaIndex. Väčšina produkčných systémov v praxi kombinuje viacero frameworkov.

Ako začať s context engineering, ak som začiatočník?

Začnite jednoducho — implementujte ConversationSummaryBufferMemory v LangChaine a hneď uvidíte komprimáciu kontextu v akcii. Potom pridajte RAG pre selekciu kontextu a postupne experimentujte s izoláciou cez multi-agentné systémy. Kľúčové je merať dopad každej zmeny na kvalitu výstupov agenta. Krok za krokom.

O Autorovi Editorial Team

Our team of expert writers and editors.