Vytváření funkčních AI agentů: Architektura a automatizace

AI Agents Automation Agent Architecture Workflows

AI agenti se zásadně liší od chatbotů. Chatbot čeká na vstup uživatele a reaguje. Agent autonomně sleduje cíle, volá nástroje, uvažuje nad problémy a provádí akce bez lidského vstupu v každém kroku.

Tento rozdíl je důležitý, protože agenti dokážou automatizovat celé pracovní postupy. Agent pro kvalifikaci leadů hodnotí potenciální zákazníky, obohacuje jejich data a přiřazuje je obchodním zástupcům – vše bez zásahu člověka. Agent pro třídění obsahu kategorizuje supportní tikety, směřuje je ke specialistům a eskaluje okrajové případy lidem.

V tomto průvodci se naučíte, jak navrhovat spolehlivé agenty, integrovat je s obchodními systémy, předcházet běžným selháním a měřit jejich dopad. Pokryjeme reálné vzory používané v produkci u firem, které ve velkém automatizují kvalifikaci leadů, zpracování dokumentů a zákaznickou podporu.

Co jsou AI agenti a jak se liší od chatbotů?

Definice AI agentů (autonomní systémy, které vnímají, rozhodují, jednají)

AI agent je softwarový systém, který:

  1. Vnímá své prostředí (čte vstup, výsledky nástrojů, paměť)
  2. Uvažuje o nejlepší akci (používá LLM k plánování)
  3. Jedná voláním nástrojů nebo kroky k cíli
  4. Adaptuje se na základě zpětné vazby a výsledků

Agenti jsou řízeni cíli. Vy definujete cíl („Ohodnoť a kvalifikuj tento lead“) a agent zjistí, jak ho dosáhnout.

Klíčový rozdíl: Chatboty jsou reaktivní; agenti jsou autonomní

Chatboty: Uživatel iniciuje → Model odpovídá

User: "What's the status of my order?"
Chatbot: [Looks up order, responds]
User: "Can you cancel it?"
Chatbot: [Cancels order, responds]

Uživatel řídí každou interakci. Chatbot je bez stavu – každá zpráva je nezávislá.

Agenti: Řízeni cíli, provádějí akce bez vstupu uživatele v každém kroku

Agent goal: "Qualify and score this lead"
1. Agent observes: [Lead data from CRM]
2. Agent reasons: "I need to enrich this data and score them"
3. Agent acts: Calls enrichment API
4. Agent observes: [Enriched data]
5. Agent reasons: "Score is 85, should assign to top sales rep"
6. Agent acts: Updates CRM, sends notification
7. Done. No human input required.

Agent pracuje k definovanému cíli, činí autonomně více rozhodnutí a volání nástrojů.

Proč jsou agenti důležití pro pracovní postupy

Automatizace v měřítku (zvládání tisíců úkolů bez zásahu člověka)

Manuální kvalifikace leadů: 5 minut na lead × 100 leadů = 500 hodin/měsíc. Náklady: 10 000 USD/měsíc (při 20 USD/hod).

S agenty: 10 sekund na lead × 100 leadů = 16 hodin/měsíc. Náklady: 100 USD (API volání agenta). Úspora: 99 %.

Agenti násobí kapacitu týmu bez nutnosti náboru.

Vícekrokové uvažování (rozdělení složitých problémů na podúkoly)

Složité úkoly vyžadují více kroků:

  • Kvalifikace leadů: Hodnocení → Obohacení → Přiřazení → Notifikace
  • Třídění dokumentů: Extrakce → Klasifikace → Směrování → Archivace
  • Zákaznická podpora: Porozumění → Vyhledání v bázi znalostí → Vygenerování odpovědi → Případné směrování

Agenti toto uvažování zvládají automaticky. Vy definujete cíl; agent ho rozloží do kroků.

Použití nástrojů (agenti volají API, databáze, externí služby)

Agenti jsou „ruce“. Volají API, aby:

  • Dotazovali databáze
  • Aktualizovali CRM systémy
  • Posílali e-maily nebo zprávy na Slack
  • Volali služby třetích stran (obohacení dat, zpracování plateb)

Jeden agent dokáže orchestrovat 5–10 volání nástrojů k dokončení pracovního postupu.

Adaptivní chování (učení ze zpětné vazby, úprava přístupu)

Agenti se mohou postupem času zlepšovat. Pokud agent špatně klasifikuje dokumenty, dáte mu zpětnou vazbu. Agent se naučí a upraví strategii promptování.


Základní komponenty AI agenta (smyčka agenta)

Smyčka uvažování agenta (s popisem diagramu)

Jádrem každého agenta je smyčka:

┌─────────────────────────────────────────┐
│  START: Agent receives goal             │
└────────────────┬────────────────────────┘
                 │
                 ▼
┌─────────────────────────────────────────┐
│  OBSERVE: Read input, tool results,     │
│           memory, environment           │
└────────────────┬────────────────────────┘
                 │
                 ▼
┌─────────────────────────────────────────┐
│  REASON: LLM decides next action        │
│          (which tool to call, or done?) │
└────────────────┬────────────────────────┘
                 │
                 ▼
┌─────────────────────────────────────────┐
│  ACT: Execute tool call or complete     │
│       task                              │
└────────────────┬────────────────────────┘
                 │
                 ▼
┌─────────────────────────────────────────┐
│  FEEDBACK: Evaluate result, update      │
│            memory, check if goal met    │
└────────────────┬────────────────────────┘
                 │
                 ├─→ Goal not met? Loop back to OBSERVE
                 │
                 └─→ Goal met or max steps reached? DONE

Pozorování: Agent vnímá stav (vstup, prostředí, výsledky nástrojů)

Agent čte:

  • Počáteční vstup (data leadu, text dokumentu, otázka zákazníka)
  • Výsledky nástrojů z předchozích kroků (odpovědi API, dotazy databáze)
  • Paměť (historie konverzace, minulá rozhodnutí, báze znalostí)
  • Aktuální stav (co bylo uděláno, co zbývá)

Uvažování: LLM rozhoduje o další akci (plánování, výběr nástroje)

LLM dostane prompt jako:

You are a lead qualification agent. Your goal is to score and qualify this lead.

Available tools:
1. enrich_lead(lead_id) - Get additional data about the lead
2. score_lead(lead_data) - Score based on criteria
3. assign_to_sales_rep(lead_id, rep_id) - Assign lead to a rep
4. send_notification(rep_id, message) - Notify rep

Current state:
- Lead ID: 12345
- Company: Acme Corp
- Revenue: Unknown (need to enrich)
- Status: Not scored yet

What should you do next?

LLM odpoví: „Nejprve bych měl lead obohatit, abych získal data o tržbách, pak ohodnotit a přiřadit.“

Akce: Provedení volání nástroje nebo kroku k cíli

Agent provede vybraný nástroj:

result = enrich_lead(lead_id=12345)
# Returns: {'revenue': '$10M', 'industry': 'SaaS', 'employees': 150}

Zpětná vazba: Vyhodnocení výsledku, případná úprava strategie

Agent zkontroluje: Podařilo se volání nástroje? Přiblížilo nás to k cíli? Aktualizuje paměť a smyčka pokračuje.

Smyčka: Opakování, dokud není cíl dosažen nebo dosažen maximální počet kroků

Agent opakuje pozorování → uvažování → akce → zpětná vazba, dokud:

  • Cíle není dosaženo („Lead je ohodnocen a přiřazen“)
  • Nedojde k dosažení maximálního počtu kroků (prevence nekonečných smyček)
  • Nedojde k chybě (eskalace na člověka)

Integrace nástrojů („ruce“ agenta)

Definice nástrojů (signatury funkcí, popisy, parametry)

Nástroje jsou funkce, které agent může volat. Definujte je jasně:

tools = [
    {
        "name": "enrich_lead",
        "description": "Get additional company data about a lead (revenue, employees, industry)",
        "parameters": {
            "lead_id": {"type": "string", "description": "Unique identifier of the lead"}
        }
    },
    {
        "name": "score_lead",
        "description": "Score a lead on a scale of 0-100 based on fit criteria",
        "parameters": {
            "lead_data": {"type": "object", "description": "Lead information including revenue, industry, etc."}
        }
    }
]

Jasné popisy pomáhají LLM vybrat správný nástroj.

Volání nástrojů (jak agenti vybírají a vyvolávají nástroje)

LLM odpoví voláním nástroje:

{
  "thought": "I need to enrich this lead to get revenue data",
  "action": "enrich_lead",
  "action_input": {"lead_id": "12345"}
}

Váš framework agenta nástroj provede a výsledek předá zpět LLM.

Zpracování výsledků nástrojů (parsování odpovědí, zotavení z chyb)

Zpracujte úspěch i neúspěch:

def execute_tool(tool_name, tool_input):
    try:
        if tool_name == "enrich_lead":
            result = crm_api.enrich(tool_input['lead_id'])
            return {"status": "success", "data": result}
    except Exception as e:
        return {"status": "error", "message": str(e)}

Pokud nástroj selže, měl by agent zkusit jiný přístup nebo eskalovat na člověka.

Paměťové systémy (co si agenti pamatují)

Krátkodobá paměť (kontext aktuální konverzace)

Pracovní paměť agenta: aktuální vstup, výsledky nástrojů, kroky uvažování. Obvykle uloženo v kontextovém okně (v promptu).

Příklad: Agent pro kvalifikaci leadů si pamatuje:

  • Původní data leadu
  • Výsledky obohacení
  • Skóre
  • Kterému obchodníkovi byl přiřazen

Dlouhodobá paměť (báze znalostí, minulé interakce)

Perzistentní paměť: minulá rozhodnutí, naučené vzory, báze znalostí.

Případy použití:

  • Báze znalostí: Agent načítá relevantní články při odpovídání zákazníkům
  • Historie rozhodnutí: Agent se učí, které leady konvertovaly (zlepšuje hodnocení)
  • Logy interakcí: Agent si pamatuje minulé interakce se zákazníkem

Implementujte pomocí vektorových databází (Pinecone, Weaviate) pro sémantické vyhledávání.

Omezení paměti (limity kontextového okna)

LLM mají omezená kontextová okna (4K–128K tokenů). Agenti si nemohou pamatovat vše. Strategie:

  • Sumarizace: Komprese starých konverzací do shrnutí
  • Generování rozšířené o vyhledávání (RAG): Získávání pouze relevantní paměti podle potřeby
  • Hierarchická paměť: Nedávné interakce v krátkodobé, starší v dlouhodobé

Páteř uvažování („mozek“)

Výběr LLM (GPT-4, Claude, open-source modely)

  • GPT-4: Nejlepší uvažování, zvládá složité úkoly. Cena: 0,03–0,06 USD na 1K tokenů.
  • Claude 3.5 Sonnet: Silné uvažování, dlouhý kontext (200K tokenů). Cena: 0,003–0,015 USD na 1K tokenů.
  • Open-source (LLaMA 4): Levnější (0,01–0,03 USD na 1M tokenů), přizpůsobitelný, přátelský k soukromí.

Pro většinu agentů stačí Claude nebo open-source modely a jsou levnější.

Režimy uvažování (Chain-of-Thought, Tree-of-Thought, Reflexion)

  • Chain-of-thought: Agent uvažuje krok za krokem. „Musím obohatit → ohodnotit → přiřadit.“
  • Tree-of-thought: Agent prozkoumává více cest, vybere nejlepší. Pomalejší, ale přesnější u složitých problémů.
  • Reflexion: Agent kritizuje vlastní výstup, v případě potřeby to zkusí znovu. Snižuje halucinace.

Příklad reflexion promptu:

Agent: "I'll assign this lead to rep John."
Critic: "Wait, did you check if John is already at capacity?"
Agent: "Good point. Let me check John's workload first."

Kompromisy: Rychlost vs. přesnost

  • Rychlí agenti: Jednokrokové uvažování, bez validace nástrojů. 2–5 sekund na úkol. Přesnost 85 %.
  • Přesní agenti: Vícekrokové uvažování, validace, reflexion. 10–30 sekund na úkol. Přesnost 95 %.

Zvolte rychlost pro real-time (zákaznickou podporu). Zvolte přesnost pro vysoce důležitá rozhodnutí (finanční).


Logo

Připraveni rozšířit své podnikání?

Začněte svou bezplatnou zkušební verzi ještě dnes a viďte výsledky během několika dní.

Typy agentů a kdy který použít

Reaktivní agenti (jednoduší, rychlí, bez stavu)

Jak fungují (jeden krok: vstup → akce)

Reaktivní agenti učiní jediné rozhodnutí a jednají. Bez vícekrokového plánování.

Input: "What's my account balance?"
→ Agent queries database
→ Agent responds with balance
Done.

Nejlepší pro: Jednoduché použití nástrojů, API volání, okamžité odpovědi

  • Zákaznické Q&A (vyhledání objednávky, zjištění zůstatku)
  • Jednoduchá API volání (počasí, cena akcie)
  • Potřeba okamžité odezvy (latence < 2 s)

Příklad: Chatbot zákaznické podpory s vyhledáváním v bázi znalostí

def customer_service_agent(question):
    # 1. Search knowledge base
    articles = search_kb(question)
    
    # 2. LLM picks best article
    response = llm.complete(f"""
        Question: {question}
        Relevant articles: {articles}
        Provide an answer based on these articles.
    """)
    
    # 3. Return response
    return response

Latence: 1–3 s. Náklady: 0,001–0,01 USD na dotaz.

Plánovací agenti (řízeni cíli, vícekrokové uvažování)

Jak fungují (rozkládají cíl na podúkoly, provedou plán)

Plánovací agenti rozloží složité cíle na kroky.

Goal: "Qualify and assign this lead"
→ Agent plans: [enrich, score, assign, notify]
→ Agent executes each step
→ Agent verifies goal achieved
Done.

Nejlepší pro: Složité pracovní postupy, výzkum, analýzu dat

  • Kvalifikace leadů (obohacení → hodnocení → přiřazení)
  • Zpracování dokumentů (extrakce → klasifikace → uložení)
  • Výzkumné úkoly (vyhledání → sumarizace → kompilace)

Příklad: Agent kvalifikace leadů (hodnocení → obohacení → přiřazení)

def lead_qualification_agent(lead_id):
    lead = crm.get_lead(lead_id)
    
    # Step 1: Enrich
    enriched = enrich_lead(lead)
    
    # Step 2: Score
    score = score_lead(enriched)
    
    # Step 3: Assign
    best_rep = find_best_sales_rep(score)
    crm.assign_lead(lead_id, best_rep)
    
    # Step 4: Notify
    send_slack(f"New qualified lead assigned to {best_rep}")
    
    return {"lead_id": lead_id, "score": score, "assigned_to": best_rep}

Latence: 5–15 s. Náklady: 0,02–0,05 USD na lead.

Učící se agenti (adaptivní, zlepšující se v čase)

Jak fungují (zahrnují zpětnou vazbu, upravují chování)

Učící se agenti se se zpětnou vazbou zlepšují.

Initial: Agent classifies document as "Invoice" (60% confidence)
Human feedback: "Actually, it's a Receipt"
Agent learns: Adjust classification prompts
Next time: Same document classified as "Receipt" (90% confidence)

Nejlepší pro: Dlouhodobé procesy, personalizaci, optimalizaci

  • Doporučování obsahu (učí se preference uživatelů)
  • Směrování zákaznické podpory (učí se, kdo nejlépe řeší dané problémy)
  • Optimalizace cen (učí se, které ceny nejlépe konvertují)

Příklad: Agent doporučování obsahu (učí se preference uživatelů)

def recommendation_agent(user_id):
    # Get user history
    history = db.get_user_history(user_id)
    
    # LLM recommends based on patterns
    recommendation = llm.complete(f"""
        User history: {history}
        Based on past preferences, what should we recommend?
    """)
    
    # Show recommendation, collect feedback
    feedback = user_feedback  # thumbs up/down
    
    # Store feedback for future recommendations
    db.log_feedback(user_id, recommendation, feedback)
    
    return recommendation

Postupem času se doporučení zlepšují, jak se agent učí preference uživatele.

Hierarchičtí agenti (agenti řídící jiné agenty)

Jak fungují (supervizní agent deleguje specialistům)

Supervizní agent koordinuje specialisty.

Supervisor: "Process this support ticket"
├─ Classifier agent: "This is a billing issue"
├─ Billing specialist agent: "Refund $50"
└─ Notification agent: "Send confirmation email"

Nejlepší pro: Podnikové pracovní postupy, rozsáhlou automatizaci

  • Tvorba obsahu (agenti výzkum → psaní → editace → publikace)
  • Složitá zákaznická podpora (agenti třídění → řešení → eskalace)
  • Datové pipeline (agenti extrakce → transformace → nahrání)

Příklad: Pipeline tvorby obsahu (výzkum → psaní → editace → publikace)

def content_pipeline_agent(topic):
    # Supervisor delegates
    research = research_agent(topic)
    draft = writer_agent(research)
    edited = editor_agent(draft)
    published = publisher_agent(edited)
    
    return {"topic": topic, "status": "published"}

Každý specialista je optimalizován pro svůj úkol. Supervizor orchestruje.


Přední nástroje a frameworky AI agentů v roce 2026 (srovnávací tabulka)

Hodnotící kritéria

Schopnost uvažování (Chain-of-Thought, plánování, Reflexion)

Jak sofistikované je myšlení agenta. Jednoduší agenti používají chain-of-thought. Složití plánování a reflexion.

Integrace nástrojů (jak snadné je přidat vlastní nástroje)

Můžete snadno připojit API, databáze, CRM? Nebo potřebujete vlastní kód?

Křivka učení (doba setupu, kvalita dokumentace)

Jak rychle vývojář dostane fungujícího agenta? No-code platformy jsou rychlejší; Python frameworky flexibilnější.

Cenový model (zdarma, za API volání, předplatné)

Některé frameworky jsou open-source (zdarma). Jiné účtují za API volání nebo předplatné.

Nejlepší případy použití

Na co je každý nástroj optimalizován?

Srovnávací tabulka: Přední nástroje a frameworky AI agentů (2026)

ToolFramework TypeReasoning CapabilityTool IntegrationLearning CurvePricingBest For
n8nVisual workflow builderChain-of-thought500+ integrationsLowFree + paidNon-technical users, quick setup
CrewAIPython frameworkPlanning + reflexionCustom tools (Python)MediumOpen-sourceDevelopers, complex agents
AutogenPython frameworkMulti-agent reasoningCustom toolsHighOpen-sourceResearch, multi-agent systems
LangGraphPython frameworkPlanning + state managementLangChain ecosystemMediumOpen-sourceComplex workflows, state tracking
FlowHuntNative platformChain-of-thought + planningNative + API integrationsLowSubscriptionWorkflow automation, ease-of-use
Lindy.aiNo-code platformChain-of-thought100+ integrationsVery lowFreemiumNon-technical, quick agents
GumloopNo-code platformChain-of-thought50+ integrationsVery lowFreemiumSimple automation, templates

Klíčové rozdíly:

  • No-code (n8n, FlowHunt, Lindy.ai): Rychlé na stavbu, omezená přizpůsobitelnost. Dobré pro standardní workflow.
  • Python frameworky (CrewAI, Autogen, LangGraph): Flexibilní, výkonné, strmější křivka učení. Dobré pro složitou logiku.
  • Open-source (CrewAI, Autogen, LangGraph): Zdarma, ale spravujete infrastrukturu. Placené platformy řeší hosting.

Jak vybrat správný nástroj pro váš případ použití

  • Rychlý prototyp (< 1 týden): Použijte no-code (FlowHunt, n8n, Lindy.ai)
  • Složitý agent s vlastní logikou: Použijte Python framework (CrewAI, LangGraph)
  • Multi-agentní systém (agenti koordinující se): Použijte Autogen
  • Produkční automatizace workflow: Použijte FlowHunt (spravované, monitorované, škálované)

Vytváření vašeho prvního agenta: Architektura krok za krokem

Definujte cíl a rozsah agenta

Jaký problém řeší?

Buďte konkrétní. Špatně: „Automatizuj správu leadů.“ Dobře: „Ohodnoť leady 0–100, obohať daty o firmách, přiřaď obchodníkům podle kapacity.“

Jaké jsou metriky úspěchu?

  • Přesnost: % správných rozhodnutí (cíl: > 90 %)
  • Latence: Doba dokončení úkolu (cíl: < 10 s)
  • Náklady: API volání na úkol (cíl: < 0,05 USD)
  • Míra automatizace: % úkolů dokončených bez zásahu člověka (cíl: > 80 %)

Jaká jsou omezení (latence, náklady, přesnost)?

Kompromisy:

  • Real-time workflow: Potřeba latence < 5 s. Použijte rychlé modely, méně volání nástrojů.
  • Dávkové workflow: Může tolerovat 5–30 minut. Použijte přesnější uvažování, více volání nástrojů.
  • Citlivé na náklady: Použijte open-source modely, méně API volání.
  • Kritické na přesnost: Použijte drahé modely (GPT-4), vícekrokovou validaci.

Návrh smyčky agenta

Co bude agent pozorovat?

Vstupní data: data leadu, text dokumentu, otázka zákazníka, kontext z paměti.

Jaký režim uvažování (jednoduchý chain-of-thought vs. plánování)?

  • Chain-of-thought: Rychlý, jednoduchý. „Udělám krok 1, pak krok 2.“
  • Plánování: Pomalejší, přesnější. „Nejprve naplánuji všechny kroky, pak provedu.“

Jaké nástroje potřebuje?

Vypište API, databáze, služby, které bude agent volat.

Příklad pro kvalifikaci leadů:

  • CRM API (získání/aktualizace leadu)
  • API obohacení dat (získání dat o firmě)
  • Skórovací model (ohodnocení leadu)
  • Notifikační služba (Slack/e-mail)

Jak pozná, kdy zastavit?

Definujte podmínku úspěchu. „Zastav, když je lead ohodnocen a přiřazen.“

Také definujte maximální počet kroků kvůli nekonečným smyčkám. „Zastav po 10 krocích, bez ohledu na cokoli.“

Implementace a testování

Pseudokód nebo reálný příklad kódu (CrewAI nebo FlowHunt)

Příklad CrewAI:

from crewai import Agent, Task, Crew

# Define agents
enrichment_agent = Agent(
    role="Data Enrichment Specialist",
    goal="Enrich lead data with company information",
    tools=[enrich_tool]
)

scoring_agent = Agent(
    role="Lead Scoring Expert",
    goal="Score leads based on fit criteria",
    tools=[score_tool]
)

assignment_agent = Agent(
    role="Sales Manager",
    goal="Assign leads to best sales rep",
    tools=[assign_tool, notify_tool]
)

# Define tasks
enrich_task = Task(
    description="Enrich this lead: {lead_id}",
    agent=enrichment_agent
)

score_task = Task(
    description="Score the enriched lead",
    agent=scoring_agent
)

assign_task = Task(
    description="Assign lead to best rep and notify",
    agent=assignment_agent
)

# Run crew
crew = Crew(agents=[enrichment_agent, scoring_agent, assignment_agent],
            tasks=[enrich_task, score_task, assign_task])
result = crew.kickoff(inputs={"lead_id": "12345"})

Strategie testování (unit testy pro volání nástrojů, integrační testy pro smyčky)

def test_enrichment_tool():
    result = enrich_tool("lead_123")
    assert result['revenue'] is not None
    assert result['employees'] is not None

def test_scoring_agent():
    lead = {"company": "Acme", "revenue": "10M", "employees": 50}
    score = score_agent(lead)
    assert 0 <= score <= 100

def test_full_loop():
    result = lead_qualification_agent("lead_123")
    assert result['assigned_to'] is not None
    assert result['score'] > 0

Ladění běžných problémů (nekonečné smyčky, halucinace, špatné nástroje)

  • Nekonečné smyčky: Přidejte limit kroků. Logujte každý krok. Sledujte opakované akce.
  • Halucinace: Přidejte validaci. Ověřujte výstupy proti zdrojovým datům.
  • Špatné nástroje: Zlepšete popisy nástrojů. Přidejte validaci nástroje před spuštěním.

Reálný příklad: Agent kvalifikace leadů

Cíl: Ohodnotit leady, obohatit data, přiřadit obchodnímu týmu

def lead_qualification_agent(lead_id):
    """
    Autonomous agent that qualifies leads.
    1. Fetches lead from CRM
    2. Enriches with company data
    3. Scores based on fit criteria
    4. Assigns to best sales rep
    5. Notifies rep
    """

Nástroje: CRM API, služba obohacení dat, skórovací model

tools = {
    "get_lead": crm.get_lead,
    "enrich_lead": enrichment_api.enrich,
    "score_lead": scoring_model.score,
    "find_best_rep": crm.find_available_rep,
    "assign_lead": crm.assign,
    "send_notification": slack.send
}

Průvodce pseudokódem (pozoruj lead → ohodnoť → obohať → přiřaď)

# Step 1: Observe
lead = get_lead(lead_id)
print(f"Observing lead: {lead['company']}")

# Step 2: Reason (LLM decides next action)
# LLM: "I need to enrich this lead first"

# Step 3: Act
enriched = enrich_lead(lead)
print(f"Enriched: revenue={enriched['revenue']}")

# Step 4: Feedback + Loop
# LLM: "Now I'll score"

# Step 5: Act
score = score_lead(enriched)
print(f"Score: {score}")

# Step 6: Reason
# LLM: "Score is {score}, should assign to top rep"

# Step 7: Act
best_rep = find_best_rep(score)
assign_lead(lead_id, best_rep)
send_notification(best_rep, f"New lead: {lead['company']}")

print(f"Assigned to {best_rep}")

Výsledky: Metriky přesnosti, latence, nákladů

  • Přesnost: 94 % (skóre leadu odpovídá manuální kontrole)
  • Latence: 8 sekund (5 volání nástrojů, 3 kroky uvažování LLM)
  • Náklady: 0,03 USD na lead (GPT-4 API + obohacovací API)
  • Propustnost: 450 leadů/hodinu (jedna instance agenta)
  • Míra automatizace: 87 % (13 % eskalováno na člověka k přezkoumání)

Integrace agentů s obchodními systémy

Vzory integrace API

REST API (nejčastější)

Většina agentů volá REST API. Použijte standardního HTTP klienta:

def call_crm_api(endpoint, method="GET", data=None):
    url = f"https://api.crm.com/{endpoint}"
    headers = {"Authorization": f"Bearer {api_key}"}
    
    if method == "GET":
        response = requests.get(url, headers=headers)
    elif method == "POST":
        response = requests.post(url, json=data, headers=headers)
    
    return response.json()

Webhooks (spouštěče agentů řízené událostmi)

Spouštějte agenty při událostech (nový lead, příchozí e-mail, odeslání formuláře):

@app.post("/webhook/new_lead")
def on_new_lead(lead_data):
    # Trigger agent asynchronously
    queue.enqueue(lead_qualification_agent, lead_data['id'])
    return {"status": "queued"}

Autentizace a zabezpečení (API klíče, OAuth, rate limiting)

  • API klíče: Ukládejte do proměnných prostředí, ne do kódu
  • OAuth: Pro integrace směřující k uživateli (Salesforce, HubSpot)
  • Rate limiting: Respektujte limity API. Implementujte backoff a retry logiku
from ratelimit import limits, sleep_and_retry

@sleep_and_retry
@limits(calls=100, period=60)  # 100 calls per minute
def call_api(endpoint):
    return requests.get(f"https://api.example.com/{endpoint}")

Integrace databází

Pouze pro čtení (agent dotazuje data)

Agent čte data zákazníků, minulé interakce, bázi znalostí:

def get_customer_history(customer_id):
    query = "SELECT * FROM interactions WHERE customer_id = %s"
    return db.execute(query, (customer_id,))

Operace zápisu (agent ukládá rozhodnutí/výsledky)

Agent zapisuje rozhodnutí do databáze:

def store_lead_score(lead_id, score, assigned_to):
    db.execute(
        "UPDATE leads SET score = %s, assigned_to = %s WHERE id = %s",
        (score, assigned_to, lead_id)
    )

Transakce a konzistence (zajištění integrity dat)

Používejte transakce pro vícekrokové operace:

with db.transaction():
    score = score_lead(lead)
    db.update_lead_score(lead_id, score)
    rep = find_best_rep(score)
    db.assign_lead(lead_id, rep)
    # All-or-nothing: if any step fails, rollback

Integrace s CRM a obchodními nástroji

Vzory integrace Salesforce, HubSpot, Pipedrive

Používejte oficiální SDK:

from salesforce import SalesforceAPI

sf = SalesforceAPI(api_key=key)

# Update lead
sf.update_lead(lead_id, {
    'score': 85,
    'assigned_to': 'john@acme.com',
    'status': 'qualified'
})

Integrace Slack, e-mailu, Jira (agent posílá notifikace/aktualizace)

from slack_sdk import WebClient

slack = WebClient(token=slack_token)

# Notify sales rep
slack.chat_postMessage(
    channel="john",
    text=f"New qualified lead: {lead['company']} (score: {score})"
)

Autentizace a omezení oprávnění

Použijte OAuth scopes k omezení toho, co agenti mohou dělat:

# Agent can only read leads, update scores
# Cannot delete leads or access sensitive data
oauth_scopes = ["leads:read", "leads:update"]

Pracovní postupy human-in-the-loop

Kdy agenti potřebují lidské schválení

Rizikové rozhodnutí: finanční transakce, vrácení peněz zákazníkům, výjimky z politik.

if decision_risk_score > 0.7:
    # Route to human for approval
    escalate_to_human(decision, reason="High risk")
else:
    # Agent executes decision
    execute_decision(decision)

Vzory eskalace (rizikové rozhodnutí, okrajové případy)

def lead_qualification_with_escalation(lead_id):
    score = score_lead(lead_id)
    
    if score > 80:
        # High confidence, assign directly
        assign_lead(lead_id, best_rep)
    elif 50 < score < 80:
        # Medium confidence, route to human
        escalate_to_human(lead_id, "Review and assign")
    else:
        # Low score, reject
        reject_lead(lead_id)

Zpětnovazební smyčky (lidé opravují chyby agenta)

@app.post("/feedback/lead_score")
def on_score_feedback(lead_id, actual_score, agent_score):
    # Store feedback
    db.log_feedback(lead_id, agent_score, actual_score)
    
    # Retrain model on feedback (periodic)
    if should_retrain():
        retrain_scoring_model()

Běžná selhání agentů a jak jim předcházet

Nekonečné smyčky (agent se zasekne v opakování stejné akce)

Příčina: Špatná definice cíle, nástroj nedělá pokrok

# Bad: Agent keeps calling same tool
Agent thinks: "I need to get lead data"
 Calls get_lead()
 Still doesn't have enriched data
 Calls get_lead() again
 Infinite loop

Prevence: Limit maximálního počtu kroků, sledování pokroku, rozmanitost nástrojů

max_steps = 10
steps_taken = 0

while steps_taken < max_steps:
    action = llm.decide_next_action()
    
    if action == last_action:
        # Same action twice, break loop
        break
    
    execute_action(action)
    steps_taken += 1

Zotavení: Timeout, eskalace na člověka

try:
    result = agent.run(timeout=30)  # 30 second timeout
except TimeoutError:
    escalate_to_human("Agent loop timeout")

Halucinace (agent si vymýšlí fakta nebo výstupy nástrojů)

Příčina: Tendence LLM konfabulovat, špatné popisy nástrojů

# Bad: Agent hallucinates tool output
Agent: "I called enrich_lead, got revenue=$100M"
Reality: enrich_lead() returned null (API failed)
Agent made up the result

Prevence: Generování rozšířené o vyhledávání (RAG), validace nástrojů, ověřování faktů

def execute_tool_safely(tool_name, params):
    try:
        result = execute_tool(tool_name, params)
        
        # Validate result
        if result is None:
            return {"error": "Tool returned null"}
        
        if not validate_result(result):
            return {"error": "Result failed validation"}
        
        return result
    except Exception as e:
        return {"error": str(e)}

Použijte RAG k ukotvení agenta ve faktech:

# Instead of: "Summarize this article"
# Use: "Summarize this article, citing specific passages"

knowledge_base = vector_db.search(query)
prompt = f"""
Summarize this article. Only cite specific passages.
Article: {article}
Knowledge base: {knowledge_base}
"""

Zotavení: Záloha na člověka, opakování s jiným uvažováním

def robust_agent_call(goal, retries=3):
    for attempt in range(retries):
        try:
            result = agent.run(goal)
            
            # Validate result
            if validate(result):
                return result
        except Exception as e:
            if attempt == retries - 1:
                escalate_to_human(goal)
            else:
                time.sleep(2 ** attempt)  # Backoff

Zneužití nástrojů (agent volá špatný nástroj nebo se špatnými parametry)

Příčina: Nejednoznačné popisy nástrojů, špatné uvažování

# Bad: Ambiguous tool description
"update_lead - Update a lead"

# Good: Clear description
"update_lead - Update a lead's score, status, or assigned_to field. 
Parameters: lead_id (required), score (0-100), status (qualified/disqualified), 
assigned_to (sales rep email)"

Prevence: Jasná dokumentace nástrojů, trénink na používání nástrojů, validace před provedením

# Validate before execution
tool_call = llm.decide_tool_call()

if not validate_tool_call(tool_call):
    # Tool call is invalid, ask LLM to fix
    llm.correct_tool_call(tool_call)
else:
    execute_tool(tool_call)

def validate_tool_call(call):
    tool = tools[call['name']]
    required_params = tool['required_parameters']
    
    for param in required_params:
        if param not in call['params']:
            return False
    
    return True

Zotavení: Zpracování chyb, návrh správného nástroje, opakování

try:
    result = execute_tool(tool_call)
except ToolExecutionError as e:
    # Suggest correct tool
    correct_tool = suggest_correct_tool(e)
    llm.suggest_retry(correct_tool)

Překročení nákladů (agent používá příliš mnoho API volání)

Příčina: Neefektivní uvažování, nadbytečná volání nástrojů

# Bad: Agent calls same tool multiple times
Agent: "Let me get lead data"
 Calls get_lead()
 Calls get_lead() again (forgot it already did)
 Calls get_lead() a third time
Cost: 3x higher than needed

Prevence: Rozpočtové limity, deduplikace volání, cache

budget = {"tokens": 10000, "api_calls": 50}
spent = {"tokens": 0, "api_calls": 0}

def execute_with_budget(action):
    global spent
    
    if spent['api_calls'] >= budget['api_calls']:
        raise BudgetExceededError()
    
    result = execute_action(action)
    spent['api_calls'] += 1
    
    return result

Implementujte cache:

cache = {}

def get_lead_cached(lead_id):
    if lead_id in cache:
        return cache[lead_id]
    
    result = crm_api.get_lead(lead_id)
    cache[lead_id] = result
    return result

Zotavení: Monitoring nákladů, throttling, přechod na levnější model

if cost_this_hour > budget_per_hour:
    # Switch to cheaper model
    switch_to_model("gpt-3.5-turbo")  # Cheaper than GPT-4

Problémy s latencí (agent je pro real-time použití příliš pomalý)

Příčina: Více kroků uvažování, pomalé odpovědi nástrojů

Agent s 5 sekvenčními API voláními po 1 sekundě = 5+ sekund latence.

Prevence: Paralelní provádění nástrojů, cache, rychlejší modely

# Parallel execution
import asyncio

async def parallel_agent(lead_id):
    lead = await get_lead_async(lead_id)
    
    # Call multiple tools in parallel
    enrichment, scoring = await asyncio.gather(
        enrich_lead_async(lead),
        score_lead_async(lead)
    )
    
    return (enrichment, scoring)

Použijte rychlejší modely:

# Instead of GPT-4 (slower, more accurate)
# Use GPT-3.5-turbo (faster, still accurate enough)
model = "gpt-3.5-turbo"  # 200ms latency vs 500ms for GPT-4

Zotavení: Timeout, návrat částečných výsledků, fronta pro async

try:
    result = agent.run(timeout=5)  # 5 second timeout
    return result
except TimeoutError:
    # Return partial results
    return partial_result
    # Queue for async completion
    queue.enqueue(complete_agent, lead_id)

Měření výkonnosti a ROI agenta

Klíčové metriky ke sledování

Přesnost (% správných rozhodnutí/akcí)

Porovnejte výstup agenta se skutečností (lidská kontrola, reálné výsledky).

correct = 0
total = 100

for decision in agent_decisions:
    if decision == human_review[decision.id]:
        correct += 1

accuracy = correct / total * 100  # e.g., 94%

Latence (doba dokončení úkolu)

Měřte end-to-end čas od vstupu k výstupu.

start = time.time()
result = agent.run(input_data)
latency = time.time() - start  # e.g., 8.5 seconds

Náklady na úkol (API volání, výpočet, lidská kontrola)

cost = (llm_api_calls * llm_cost) + (tool_calls * tool_cost) + (human_review_rate * hourly_rate)
# e.g., $0.03 per lead

Spokojenost uživatelů (pokud human-in-the-loop)

Dotazujte se uživatelů: „Jak jste spokojeni s rozhodnutími agenta?“

Míra automatizace (% úkolů dokončených bez zásahu člověka)

automated = tasks_completed_by_agent
total = all_tasks
automation_rate = automated / total * 100  # e.g., 87%

Výpočet ROI

Výchozí stav: Náklady na manuální proces (hodiny × hodinová sazba)

Manual lead qualification:
- 100 leads/month
- 5 minutes per lead
- 500 hours/month
- $20/hour = $10,000/month

Náklady agenta: Infrastruktura + API volání + lidský dohled

Agent-driven:
- 100 leads/month
- $0.03 per lead (API calls)
- $3 total API cost
- $500/month human review (10% escalation)
- $100/month infrastructure
Total: $603/month

Doba návratnosti: Kdy jsou náklady agenta < manuální náklady

Savings per month: $10,000 - $603 = $9,397
ROI: 1,557% (9,397 / 603)
Payback period: < 1 month (immediate)

Příklad: ROI agenta kvalifikace leadů

Manual process:
- 500 leads/month
- 5 min per lead = 2,500 hours = $50,000/month

Agent process:
- 500 leads/month
- $0.03 per lead = $15
- 5% escalation (25 leads) = $250 human time
- Infrastructure = $500
Total: $765/month

Savings: $50,000 - $765 = $49,235/month
ROI: 6,436%

Neustálé zlepšování

Sledování metrik v čase

# Track daily metrics
daily_metrics = {
    'accuracy': 0.94,
    'latency': 8.5,
    'cost_per_task': 0.03,
    'automation_rate': 0.87
}

A/B testování různých konfigurací agenta

# Test 1: GPT-4 (more accurate, slower)
# Test 2: GPT-3.5-turbo (faster, slightly less accurate)

# Measure: accuracy, latency, cost
# Choose based on your priorities

Zahrnutí zpětné vazby pro zlepšení přesnosti

# Collect human feedback on agent mistakes
feedback = db.get_feedback()

# Retrain agent (adjust prompts, add examples)
agent.retrain(feedback)

# Measure: accuracy improves from 94% to 96%

Škálujte úspěšné agenty, vyřaďte nedostatečně výkonné

Sledujte ROI. Pokud agent nepřináší hodnotu, vyřaďte ho. Škálujte úspěšné agenty do dalších týmů.


Často kladené otázky

Sekce FAQ se automaticky renderuje z frontmatteru a zobrazuje se níže.

{{ cta-dark-panel heading=“Build Agents Without the Complexity” description=“FlowHunt’s native agent platform handles tool integration, error handling, and monitoring. Start building autonomous workflows in minutes, not weeks.” ctaPrimaryText=“Try FlowHunt Free” ctaPrimaryURL=“https://app.flowhunt.io/sign-in" ctaSecondaryText=“Book a Demo” ctaSecondaryURL=“https://www.flowhunt.io/demo/" gradientStartColor="#7c3aed” gradientEndColor="#ec4899” gradientId=“cta-ai-agents” }}

Často kladené otázky

Arshia je inženýr AI pracovních postupů ve FlowHunt. Sxa0vzděláním vxa0oboru informatiky a vášní pro umělou inteligenci se specializuje na vytváření efektivních workflow, které integrují AI nástroje do každodenních úkolů a zvyšují tak produktivitu i kreativitu.

Arshia Kahani
Arshia Kahani
Inženýr AI pracovních postupů

Stavějte agenty bez zbytečné složitosti

Nativní platforma pro agenty od FlowHunt řeší integraci nástrojů, zpracování chyb i monitorování. Začněte stavět autonomní pracovní postupy během minut.