Wiki · Funkce do hloubky
Nástroje a toolsety
Agent umí jen to, na co má nástroj. Tady je, co dostane po instalaci, jak se sady zapínají a vypínají a na co si dát pozor.
Nástroje versus sada nástrojů
Rozdíl je jako mezi nářadím a kufrem: nástroj je jedna věc, sada je kufr, který se bere na stavbu. Vy rozhodujete, jaké kufry agent dostane — a tím i to, co může dělat.
| Pojem | Co to je | Příklad |
|---|---|---|
| Nástroj | Jedna konkrétní schopnost s pevným zadáním a výstupem | web_search, read_file, terminal, delegate_task |
| Sada nástrojů | Skupina nástrojů, která se zapíná nebo vypíná jako celek | web, file, terminal, coding |
| Připojení (MCP) | Cizí program, který si přinese vlastní nástroje | databáze, firemní systém, nástroj třetí strany |
Co agent umí bez nastavování
Po instalaci má agent k dispozici širokou sadu nástrojů. Rozdělení podle oblastí:
| Oblast | Příklady nástrojů | K čemu |
|---|---|---|
| Web | web_search, web_extract | Hledání a čtení stránek |
| Terminál a soubory | terminal, read_file, patch, process | Práce na serveru a v souborech |
| Prohlížeč | browser_navigate, browser_snapshot, browser_exec | Skutečný prohlížeč, kde je potřeba klikat |
| Média | vision_analyze, image_generate, text_to_speech | Podívat se na obrázek, vyrobit obrázek nebo hlas |
| Plánování a rozdělení práce | todo, clarify, execute_code, delegate_task | Rozdělit úkol, zeptat se, spustit skript, poslat práci podagentovi |
| Paměť a historie | memory, session_search | Trvalé poznámky a hledání ve starých rozhovorech |
| Plánované úlohy | cronjob_manage | Úkoly, které běží samy podle času |
Přesný seznam si vypíšete kdykoli: hermes tools.
Zapnutí a vypnutí sady nástrojů
Když chcete, aby agent uměl jen to, co potřebujete, sady omezíte. Méně nástrojů = méně prostoru pro omyl a rychlejší odpovědi.
Trvale se to nastavuje v souboru config.yaml profilu — buď výčtem povolených sad,
nebo naopak seznamem zakázaných:
Pozor: web_search schválně není součástí sady browser,
takže vypnutím prohlížeče nepřijdete o hledání na webu.
Když je nástrojů moc
Se dvěma stovkami zapnutých nástrojů se model ztrácí — popisy všech nástrojů zabírají místo, které by mohlo patřit vašemu zadání. Hermes to řeší hledáním v nástrojích: venku nechá jen pár nejpoužívanějších a ostatní si vyžádá až ve chvíli, kdy je potřebuje.
| Kdy to nastane | Co se stane |
|---|---|
| Nástrojů je hodně (typicky přes 30) | Některé nástroje se schovají za hledání; agent si o ně řekne sám |
| Je to potřeba | Odpovědi jsou rychlejší a levnější, model se nerozptyluje |
| Není to vhodné | Když má agent dělat jednu úzkou věc pořád dokola — pak je lepší zapnout málo sad a hledání vypnout |
Prakticky: když agent na váš dotaz sáhne po nástroji, který jste nečekali, podívejte se,
jestli nemá zapnutých sad víc, než potřebujete. Nastavení se dělá příkazem hermes tools —
bez ručního editování souborů.
Kde nástroje běží (terminálové zázemí)
Dokud agent spouští příkazy na vašem serveru, mluvíme o „místním“ zázemí. Jde to ale i jinam — to se hodí, když mu nechcete dávat přístup do svého systému, nebo naopak když potřebujete jiné prostředí, než máte na serveru.
| Zázemí | Kdy se hodí | Nastavení |
|---|---|---|
local (výchozí) | Vlastní server nebo VPS — nejjednodušší a nejrychlejší | není co nastavovat |
| vzdálený počítač přes SSH | Práce na jiném stroji, který už máte | přihlašovací údaje v nastavení zázemí |
| kontejner (Docker) | Chcete oddělit, co agent smí — vidí jen kontejner | terminal.backend v config.yaml |
| cloudové pískoviště (např. Modal, Vercel Sandbox) | Nemáte vlastní server a chcete, aby běžel jen na dobu úlohy | terminal.backend + přístupové údaje |
Kontejner není bezpečnostní záruka sám o sobě: chrání jen to, co do něj agent nemá jak pustit. O oprávněních a schvalování příkazů je samostatná stránka Bezpečnost.
Dlouhé úlohy a správcovská práva
| Situace | Jak to funguje |
|---|---|
| Úloha běží dlouho (záloha, kopírování, sledování logu) | Agent ji pustí na pozadí a může dělat jinou práci; stav si kdykoli vyžádá |
Příkaz potřebuje sudo | V interaktivním rozhovoru se objeví maskované pole pro heslo (v rámci sezení si ho pamatuje). Do kontejneru nebo na chat se heslo neposílá |
| Příkaz bez hesla, ale s právy | Funguje bez dotazu — není co vyplňovat |
| Úloha v podagentovi | Heslo vyplnit nelze — takový příkaz se musí spustit v hlavním rozhovoru |
Tři pasti z našeho provozu
| Co se stalo | Jak se to pozná a co s tím |
|---|---|
| Nástroj hlásil úspěch, ale nic se nestalo. Volání prošlo, výstup vypadal dobře, změna nikde | Neptejte se nástroje, jestli to udělal — ověřte výsledek jinde: v souboru, dotazem do databáze, HTTP kódem stránky. Do zadání pište, jak má být práce ověřená |
| Připojený nástroj vracel data z jiného projektu. Server odpovídal správně, ale cizí databází (měli jsme dva projekty a jeden nástroj mezi nimi) | U cizích nástrojů si ověřte, na co jsou připojené, a ptejte se na konkrétní řádek, který znáte. Když nesedí, řešte připojení, ne agenta |
Tajné údaje se ve výstupu objevily jako *** | Hermes tajemství ve výstupu maskuje. Nikdy je neověřujte tím, že si je necháte vypsat — výpis vyjde prázdný nebo falešně, i když je údaj správně. Používejte je přímo v příkazu |
Naše tipy
| Tip | Proč |
|---|---|
| Zapínejte jen sady, které opravdu používáte | Méně nástrojů znamená rychlejší a přesnější odpovědi |
| Do zadání pište, čím se má práce ověřit | „Ať stránka vrací 200“ nebo „ukaž mi řádek z databáze“ — pak se nedá nic jen tvrdit |
| Když agent umí všechno, ale nic pořádně, zužte rozsah | Úzké sady + jasné zadání dělají lepší výsledky než hromada nástrojů |
| Nové připojení testujte na tom, co znáte | Jednoduchý dotaz s očekávanou odpovědí odhalí špatné připojení dřív, než na něm postavíte práci |
