Breadcrumbs

🤖 Modul pro agenta

Modul agenta je inteligentní, výkonný asistent, který dodržuje vámi definovaný dialog a pravidla, drží se tématu a zdvořile blokuje požadavky mimo téma—přičemž však stále myslí a jedná autonomně. Neopakuje pouze skripty: přizpůsobuje se rozhovorům a neočekávaným odpovědím, rozhoduje se v reálném čase a udržuje přirozené vedení dialogu při respektování vámi nastavených limitů a konverzačního stylu.

Agent může také přistupovat a pracovat s API integracemi a vaší znalostní bází AI. Pro více informací přejděte na:

💡 Při vhodném použití jeden nebo několik modulů Agent zvládne většinu vašich dialogů a nahradí mnoho jiných modulů v toku dialogů.


🤖 Název agenta

Toto je pouze zobrazovaný název (štítek) modulu. Nemá vliv na funkčnost.


🤖 LLM Model

Vyberte model LLM od OpenAI, který bude Agent používat.

  • Pokud není vybrán žádný model, Agent bude používat verzi 4.1 jako výchozí.

  • Agent, stejně jako jiné moduly poháněné LLM, spotřebovává AI kredity při každé interakci.

  • Můžete vyvážit náklady a výkon výběrem jiného modelu. Například „mini“ modely jsou obvykle levnější (tj. spotřebovávají méně AI kreditů) a rychlejší – zejména při použití ve voicebotech, kde je důležitá rychlost odpovědí – ale mohou být méně přesné při velmi složitých úlohách. Naopak „plné“ modely jsou výkonnější, ale mohou být zbytečně drahé pro jednoduché úkoly jako FAQ.

  • Pokud nevíte, co zvolit, nemusíte se obávat a použijte výchozí možnosti. Pokud je cena rozhodující, začněte s modely „mini“ a přejděte na plné modely pouze v případě, že odpovědi nebudou uspokojivé.


🤖 Pokyny pro agenta (uživatelské pobídky)

Agent bude následovat pokyny (pobídky) uvedené zde. Je důležité tyto pokyny pečlivě vyplnit—čím lepší budou pokyny, tím lépe se bot bude chovat dle vašich představ. Sledujte tento jednoduchý princip: pokud jiný člověk dokáže jasně pochopit vaši pobídku, pravděpodobně tomu tak bude i u bota.

Viz také 🤖 Tipy a osvědčené postupy

Pokyny pro agenta znalostní báze naleznete na 🤖 AI znalost v agentovi


Klikněte na ikonu tužky ✏️ a otevřete editor pokynů. Poskytněte jasné strukturované pokyny pro bota krok za krokem a vyhněte se rozporům.

:info:

Níže uvedená pobídka je příkladem vícekrokového pokynu, který zahrnuje integraci API.


1️⃣ Nejprve určete identitu, roli a základní principy bota

WHO YOU ARE AND WHAT YOUR ROLE IS:

- You are Sunny, an incoming voicebot from WeatherReport.bot with a male persona.
- Your role is to quickly and clearly answer two types of queries: (1) weather forecast for a specific location, and (2) general weather-related FAQs.
- You use the predefined integration weatherForecast.
- There is no live operator. Do not ask whether the user prefers to speak to a live operator, and do not confirm such requests. If the user explicitly requests a human → apologize and explain that only you are on the line.

- Today's date and time is $sys_date_time
- Today's day of week is $sys_day_of_week


2️⃣ Určete vhodný styl komunikace a tón

COMMUNICATION STYLE:

- Always reply in English.
- You are a voicebot, so your answers must be structured for speech and listening comprehension: short sentences, natural pace, and suitable for TTS (Azure). Spell out all abbreviations, numbers, dates, and times in full words (for example: “on the twenty-third of August at ten in the morning” or “thirteen hours and thirty minutes”).
- Tone: approachable, kind, helpful, considerate, polite, and direct. Light weather-related humor or puns are acceptable.
- Avoid formal or bureaucratic phrases, corporate jargon, an arrogant tone, and sarcasm.
- If a forecast indicates dangerous weather, warn the user, be sensitive, and avoid all jokes.
- If the user has no further questions, bid them goodbye and wish them pleasant weather.


3️⃣ Definujte případy použití, které očekáváte, že Agent zvládne samostatně

Process the use cases below step by step:

### USE CASE 1) WEATHER FORECAST QUERIES (example: "What's the weather in Bologna tomorrow?")
Goal: If the user asks about weather, inform them about the weather in the specified location and timeframe

Step 1: Introduce yourself and ask about the location and time (e.g., “Hi there, I'm Sunny and I'll help you with a weather forecast. Please tell me where and when you need the forecast”).

Step 2: If no location is provided, ask again. If the location is unclear, ask for clarification. If no time was provided, give the forecast for today and tomorrow. You can only provide forecast for the next 7 days.

Step 3: Call the latLongByLocation integration with the parameter "location" and get latitude and longitude from the result. If the location is not found → ask again and re-analyze the reply. If you still can't find it, say that you couldn't find weather data for that location and trigger output path “Location not found”.

Step 4: Call the weatherForecast integration with parameters "latitude" and "longitude".

Step 5: Evaluate
If weather data for the specified location and date is found, clearly communicate:
- maximum and minimum temperatures in Celsius for chosen the dates
- weather conditions (e.g., sunny, overcast, rainy, ...)
- any notable hazards or conditions (e.g., strong winds, hail, flood risk, ...)
- recommendations (e.g., "don't forget your raincoat")


### USE CASE 2) AI Knowledge Base FAQ
Use the Knowledge Base Agent Instructions to answer weather-related FAQs, except for actual weather forecast queries.


4️⃣ Přidejte další pokyny – pokud je třeba

- After completing a request, always ask: “Can I help you with anything else?”
- If the user says they don't need anything else, says "goodbye", or indicates they want to end the conversation → trigger the output path “Goodbye.”


💡

Tip: Můžete použít jiné veřejně dostupné nástroje LLM, které vám pomohou vytvořit podobné instrukce pro vašeho bota. Pokud tak učiníte, vždy zkontrolujte vygenerované pobídky a opravte případné chyby nebo rozpory.


:info:

Výše uvedená pobídka byla příkladem relativně jednoduchého dialogu s pouze několika možnostmi a podmínkami.

Pamatujte, že čím jednodušší a méně zmatená pobídka, tím větší je šance, že Agent udělá přesně to, co od něj chcete.

Pokud je váš dialog složitější, zahrnuje mnoho komplikovaných podmínek nebo volá více integrací, zvažte vytvoření několika agentů s jednoduššími pobídkami pro každý jednotlivý úkol nebo případ použití. Následně agentů propojte jeden po druhém. Viz také 🤖 Tipy a osvědčené postupy.


🤖 Výstupní cesty

Agent použije výstupní cesty vždy, když je splněna definovaná podmínka. Například, můžete nastavit cesty jako Poskytnutí předpovědi počasí a Opakované nesouvisející. Agent pak opustí dialog pomocí výstupní cesty Poskytnutí předpovědi počasí, když úspěšně získá a doručí předpověď počasí, a cesty Opakované nesouvisející, když uživatel opakovaně pokládá nesouvisející dotazy. Poté můžete pokračovat ve vytváření standardního dialogového toku na základě toho, co se stalo v agentovi.

Výstupní cesta Ostatní se automaticky spustí, pokud se nehodí žádná popsaná podmínka nebo chování, nebo v případě chyby.

:info:

Na rozdíl od ostatních modulů může agent interagovat s uživatelem a vést konverzaci, aniž by „opustil modul“ - tj. bez pokračování toku šipkami. Výstupní cesta je použita pouze tehdy, je-li splněna podmínka popsaná v pokynech agenta.


1️⃣ Název cesty

  • Název výstupní cesty

    • Např., Poskytnuta předpověď počasí a Opakované mimo téma

  • Můžete pokynout Agentovi k použití definované výstupní cesty, když je podmínka splněna, např. když Agent úspěšně poskytne předpověď počasí

2️⃣ Instrukce

  • Dodatečné instrukce použitelné pouze na specifikovanou výstupní cestu. Přidejte jakékoli další instrukce, které jste nezahrnuli do obecných instrukcí Agenta. Ujistěte se, že se výzvy zde a v obecných instrukcích navzájem nevylučují.

3️⃣ Ztlumení Agenta při předání

  • Je-li toto pole zaškrtnuto ☑️, Agent před použitím této výstupní cesty nic neřekne.

  • Pokud toto pole není zaškrtnuto, může Agent před použitím této výstupní cesty vytvořit vlastní odpověď.

:info:

Příklad pro nastavení níže:

  • Pokud Agent poskytne předpověď počasí, pak jednoduše pokračuje přes výstupní cestu Poskytnuta předpověď počasí.

  • Pokud však uživatel opakovaně klade mimo téma otázky, Agent vytvoří přizpůsobenou zprávu, například: “Je mi líto, na vaše otázky opravdu nemám odpovědi, mohu vám pomoci pouze s otázkami o počasí.” před odchodem přes výstupní cestu Opakované mimo téma. Poté můžete přidávat další standardní moduly a pokračovat ve svém dialogovém toku.

image-20251001-123049.png


🤖 Nástroje a integrace API

Agent má přístup k volání https://coworkersai.atlassian.net/wiki/spaces/KB/pages/165117979/API+Integrations?atlOrigin=eyJpIjoiOWFlMGI5YzQ0NTI4NDUxM2FkYTFjMjMzZGU2OGEzN2UiLCJwIjoiYyJ9, a práce s jejich výsledky, a to vše při pokračování v konverzaci.

:info:

Používání Agenta pro volání API integrací je výkonným pokročilým nástrojem, ale není vůbec nezbytné pro jednodušší úkoly, jako je zodpovídání často kladených dotazů, sběr osobních údajů nebo analýza dotazů uživatele apod.


Jak říct Agentovi, jak používat API integrace

1️⃣ Výběr API integrací

image-20251001-143453.png


2️⃣ Definování API integrací

Chcete-li povolit API integrace pro svého Agenta, musíte dokončit záložku Inputs for Agent v nastavení API Integrací.

Podrobnější informace naleznete na stránce https://coworkersai.atlassian.net/wiki/x/BgDoD.


3️⃣ Jak Agent používá integrace

Nyní musíte Agentovi sdělit, jak má tyto integrace používat jako součást faktického dialogu. Musíte definovat jejich využití v instrukcích pro Agenta (Instructions (user prompts) for Agent);

  • Uveďte Agentovi, jaké parametry použít a co dělat s výsledkem, např.:

    Step 3: Call the latLongByLocation integration with the parameter "location" and get latitude and longitude from the result. If the location is not found → ask again and re-analyze the reply. If you still can't find it, say that you couldn't find weather data for that location and trigger output path “Location not found”.
    
    Step 4: Call the weatherForecast integration with parameters "latitude" and "longitude".
    
    Step 5: Evaluate
    If weather data for the specified location and date is found, clearly communicate:
    - maximum and minimum temperatures in Celsius for chosen the dates
    - weather conditions (e.g., sunny, overcast, rainy, ...)
    - any notable hazards or conditions (e.g., strong winds, hail, flood risk, ...)
    - recommendations (e.g., "don't forget your raincoat")
    
:info:

Agent volá integrace v definovaném pořadí, jednu po druhé — ne všechny najednou. Dbejte na opatrnost při volbě více než jedné API, protože to může způsobit delší odezvy, zejména u voicebotů.



🤖 AI Knowledge v Agentovi

Agent může přistupovat ke vašim souborům a dalším databázím znalostí uloženým na záložce AI Knowledge (viz https://coworkersai.atlassian.net/wiki/x/AQCiBg).

image-20251010-150021.png


1️⃣ Pro umožnění přístupu k databázi AI Knowledge jednoduše zaškrtněte ☑️ pole Use AI KB v nastavení modulu Agenta.

2️⃣ Poté vyplňte název Knowledge Base Index. Nyní můžete najít název Knowledge Base Index pod Instance ID v⚙️Nastavení na levém panelu v záložce AI Knowledge (viz 1️⃣ Přidat/Editovat znalosti | Toolbar (3)). Vyplňte Instance ID jako název Knowledge Base Index.

image-20251010-144259.png
Knowledge Base Index = Instance ID = web-demo_12


3️⃣ Vyplňte Knowledge Base Agent Instructions. Použijte stejné principy jako pro hlavní Instructions for Agent (user prompts) — jen se zaměřte na požadované chování funkce AI Knowledge.

Agent poté odpoví na otázku (nebo jedná podle pokynů Knowledge Base Agent) a následně pokračuje podle hlavních pokynů Instructions for Agent.

4️⃣ V hlavních částech Instructions for Agent nezapomeňte zmínit, kdy použít Knowledge Base. Např.:

### USE CASE 2) AI Knowledge Base FAQ
Use the Knowledge Base Agent Instructions to answer weather-related FAQs, except for actual weather forecast queries.

5️⃣ U voicebotů, a u chatbotů pokud očekáváte velmi rychlou odezvu, zaškrtněte ☑️ Asynchronous Mode. Tato možnost povoluje asynchronní zpracování žádostí na delší dobu. Po povolení modul okamžitě odpoví zástupnou zprávou a zpracuje žádost na pozadí. Konečná odpověď bude doručena po dokončení zpracování. Užívá se u složitějších dotazů, které vyžadují více času ke zpracování.

:info:

Na rozdíl od Categories in AI Knowledge, Agent rozhoduje, které KB kategorie nebo zdroje použít automaticky.


🤖 Jak Agent čte a zpracovává $context proměnné v instrukcích

Když vyplňujete instrukce pro Agenta, možná budete chtít odkazovat na proměnné $context. Dodržujte tyto zásady při odkazování na $contexts ve svých podnětech:

1️⃣ Pokud uvedete jméno kontextu, jak je, s jednoznačným znakem $ předponou (např. $sys_date_time), Agent bude číst pouze hodnotu kontextu. Můžete to použít k poskytnutí Agentovi nějaké externí či již existující informace, kterou může potřebovat pro zadaný scénář.

  • Váš pokyn:

- Today's date and time is $sys_date_time
- Today's day of week is $sys_day_of_week
- Your phone number is $voicebot_number
- The order number is $order_number
  • Co Agent skutečně vidí:

- Today's date and time is 2025-10-23 14:51:02
- Today's day of week is 5
- Your phone number is +420530540550
- The order number is 1234567890


2️⃣ Pokud chcete Agentovi sdělit, aby použil proměnnou kontextu (nejen číst), nebo uložit konkrétní hodnotu do konkrétního kontextu, řekněte mu, aby použít “context xyz” nebo uložit hodnotu “ABC” do kontextu “nameOfYourContext”. Agent rozpozná, co chcete, a použije nebo uloží odpovídající kontext.

V tomto případě nepoužívejte znak $ předponu při odkazování na jméno kontextu. Jak bylo ukázáno v 1️⃣, znak $ předponou změní název kontextu na jeho hodnotu.

Není nutné, aby Agent ukládal každou jednotlivou věc do kontextů, pokud nepotřebujete s těmi kontexty pracovat mimo Agenta.

Například, pokud jednoduše potřebujete ověřit číslo smlouvy klienta na základě jeho jména a zajímá vás pouze, zda jsou ověřeni či nikoli, pak:

❌ místo toho:

Step 1: Ask for user's name and surname. Save the name into context "name" and the surname into context "surname".
Step 2: Use context "name" and context "surname", put them into parameters "name=" and "surname=", and call API integration "verifyUser".
Step 3: In the response, find the <contract_number> and save it into context "contract_number".
Step 4: Ask the user "Is your contract number $contract_number?"
Step 5: If they confirm, set context "user_verified" to value "true".

✅ jednoduše Agentovi řekněte toto:

Step 1: Ask for user's name and surname and use it to call API integration "verifyUser".
Step 2: Get the <contract_number> from the response and ask the user if that contract number is correct.
Step 3: If they confirm, set context "user_verified" to value "true".


:info:

Stejný postup byl realizován v krocích 3-5 v příkladu pokynů pro bota s předpovědí počasí: https://coworkersai.atlassian.net/wiki/spaces/KB/pages/203685889/Agent+Module+Explanation+and+Settings#Instructions-(user-prompts)-for-Agent


🤖 Tipy a osvědčené postupy

Ačkoli můžete psát instrukce Agenta (podněty) téměř jakýmkoli způsobem a stylem, doporučujeme dodržovat některé osvědčené postupy.


💡 Používejte srozumitelné pokyny

  • Pokud jiný člověk jasně pochopí váš pokyn, pravděpodobně ho pochopí i Agent.

  • Agent je technicky schopen pracovat s téměř jakýmkoli napsaným textem, takže můžete do podnětů vložit kódy, příklady JSON nebo jiné texty určené pro stroje, avšak čím více to komplikujete, tím vyšší je pravděpodobnost vzniku problému. Obvykle není nutné explicitně psát žádné kódy do pokynů — stačí odkazovat na příslušné kontexty nebo integrace API.


💡 Buďte specifičtí

  • Může to znít jako samozřejmost, ale Agent neumí číst vaše úmysly a záměry. Pokud potřebujete, aby něco udělal, řekněte mu, aby to udělal, a specifikujte, jak by měl přistupovat k úkolu. Nemá implicitní povědomí o zamýšleném průběhu rozhovoru, procesech společnosti, výjimkách, stylu komunikace atd., a může jednat nepředvídatelně, pokud není podněcováno.


💡 Vyhněte se rozporům

  • Pokud definujete podmínky (pokud ..., pak ...), ujistěte se, že se vyvarujete rozporům. Pokud jedna instrukce říká “Pokud uživatel nesdělí své jméno, zeptejte se znovu a pokud stále odmítá, zavěste” a jiná instrukce někde jinde říká “Pokud nesdělí své jméno, prostě to ignorujte a pokračujte”, Agent se bude chovat nekonzistentně.


💡 Zkontrolujte všechny kontexty

  • Pokud odkazujete na kontexty, zkontrolujte, zda jsou správné a dávají smysl v rámci toku dialogu. Čím více úprav ve svých instrukcích provedete během procesu vytváření dialogu, tím vyšší je pravděpodobnost, že některé dříve používané kontexty již nejsou platné, mají jiný název atd.


💡 Rozdělte úkoly mezi více Agentů

  • Pokud je vaše dialog složitý — zahrnuje mnoho podmínek, více integrací nebo podrobné pracovní postupy — zvažte vytvoření několika jednodušších Agentů, z nichž každý je odpovědný za konkrétní úkol nebo případ užití. Poté propojte tyto Agenty, aby dokončili celý tok dialogu.

  • Čím jednodušší a jasnější je váš zadání, tím spolehlivěji Agent splní očekávání.
    Pokud váš aktuální Agent „většinou funguje, ale občas selže v kroku 6 a zapomene poděkovat zákazníkovi,“ je to dobrý signál, že byste mohli zvážit jeho rozdělení na menší, specializované Agenty.

  • Důležité poznámky při rozdělování Agentů

    • Agenti mohou číst přepis konverzace. Jsou si vědomi toho, co se v dialogu děje.

    • Agenti nesdílejí zadání mezi sebou. Můžete potřebovat podrobně popsat roli druhého Agenta a zkopírovat styl komunikace a případně upravit popis role prvního Agenta.

    • Agenti nesdílejí data z integračních odpovědí. Pokud druhý Agent potřebuje data získaná prvním Agentem, uveďte prvnímu Agentovi pokyn k jejich uložení do kontextu. Například:

“When you receive the following data, save them into the following contexts:
- context "name" = client's name <0.name>
- context "city" = client's city <0.city>


:info:

Rozdělení vašeho pracovního postupu na více Agentů může - někdy - také příznivě ovlivnit spotřebu AI kreditů. Vše, včetně hlavního zadání, obecných zadání Agenta, zadání výstupní cesty, odpovědí API integrace atd., je zpracováváno najednou a spotřebovává AI kredity při každé odpovědi Agenta. Při velkých Agentech můžete zbytečně spotřebovávat 2-3 AI kredity na odpověď Agenta — pro každý jednotlivý krok zadání — i když v „Kroku 1“ vám na „Kroku 7“ nemusí záležet vůbec. Rozdělením na menší Agenty můžete mírně zvýšit počet interakcí, ale značně snížit celkový počet spotřebovaných AI kreditů díky mnohem menším zadáním zpracovaným v daný okamžik. Pokud se domníváte, že je spotřeba příliš vysoká a již používáte menší modely LLM (viz níže), zvažte rozdělení velkého Agenta.


💡 Modely LLM

  • Pokud jste sami nenastavili model LLM, Agent používá výchozí GPT 4.1

    • Pokud se domníváte, že vaše popisy jsou jasné a konzistentní, ale Agent je stále neuposlechne, zkuste přejít na jiný model — například „plné“ modely (jako 4.1) jsou výkonnější než „mini“ modely (jako 4.1-mini).

    • Všimněte si, že „plné“ modely mohou:

      • spotřebovávat více AI kreditů na interakci (můžete zkontrolovat spotřebu v detaily diskuze v protokolech událostí)

      • mít delší dobu odezvy; to může být patrné u hlasových botů


💡 API integrace v Agentovi

  • Ujistěte se, že jste vyplnili pole popisu v API Integrace -> Vstupy pro Agenta -> Popis. Pokud je váš popis srozumitelný pro člověka, měl by být srozumitelný i pro Agenta.

    • Pokud hodláte použít více koncových bodů, které jsou si navzájem podobné, věnujte zvláštní pozornost jejich funkcím, aby je Agent mohl s jistotou rozlišit

  • Pokud očekáváte, že Agent sám získá požadované proměnné, nastavte odpovídající zdroj kontextu na Agent; naopak pokud je již máte nebo nechcete, aby je Agent četl, nastavte Diskuze

    • Nastavujte zdroj svých API klíčů nebo přístupových tokenů na Agent

  • Odpověď API je také součástí celkového zadání, protože ji musí Agent přečíst a zpracovat; velké odpovědi vedou k větším zadáním, což může zvýšit spotřebu AI kreditů

    • LLM nejlépe funguje s API, která vrací co nejméně dat; probírání se množstvím zbytečných dat v odpovědi snižuje úspěšnost

    • Pokud je vaše odpověď větší než 1 kB, ověřte, zda skutečně obsahuje pouze nezbytná data, nebo zda ji lze zjednodušit