Tři díly jsme stavěli infrastrukturu. Hardware, Docker, modely, routing. Funguje to. Agent odpovídá, pamatuje si kontext, citlivá data zůstávají na stroji. Ale odpovědi znějí genericky. Jako kdokoliv jiný. Dnes přepneme z inženýringu na design. Protože agent bez osobnosti je chatbot. S osobností je partner. A s AI Council je poradce, který přemýšlí z víc perspektiv než vy sami.
Vítejte u 4. dílu seriálu OpenClaw: Kompletní průvodce. Stavíme bezpečnou AI agent infrastrukturu na vlastním hardware, krok za krokem.
V minulém díle jsme napojili Claude Code a lokální Qwen3.5 model. Hybridní routing funguje. Teď potřebujeme agentovi říct kdo je, jak má komunikovat a co o nás ví.
OpenClaw definuje chování agenta přes pět markdown souborů ve workspace ~/.openclaw/. Každý řeší jinou vrstvu: osobnost, pravidla, identita, nástroje, uživatelský profil. Není to žádná magie. Je to pět textových souborů, které kompletně mění způsob, jakým agent komunikuje.
| Vrstva | Soubor | Co řeší |
|---|---|---|
| Osobnost | SOUL.md | Persona, tón, styl komunikace, hranice |
| Operační | AGENTS.md | Pravidla, workflow, priority, routing |
| Identita | IDENTITY.md | Jméno, verze, účel, co agent ví o sobě |
| Nástroje | TOOLS.md | Dostupné nástroje a poznámky k použití |
| Uživatel | USER.md | Profil uživatele, preference, fakta z konverzací |
SOUL.md: osobnost agenta
SOUL.md je nejdůležitější soubor pro uživatelský zážitek. Definuje tón, styl komunikace a hranice. Sdílí se napříč agenty, takže všechny instance mají konzistentní osobnost.
Příklad pro profesionálního asistenta:
# SOUL.md
Jsi profesionální AI asistent. Komunikuješ česky, stručně a věcně.
Tvůj tón je přátelský ale odborný. Nepoužíváš emoji.
Pokud nevíš, řekni to. Nevymýšlej si.
Při citaci zdrojů vždy uveď odkud informace pochází.
Odpovídej v maximálně třech odstavcích, pokud uživatel neřekne jinak. Vypadá to jednoduše. Ale rozdíl v praxi je obrovský. Bez SOUL.md agent odpovídá defaultním stylem modelu. S Claude to znamená dlouhé, diplomatické odpovědi plné hedgingu. S lokálním modelem naopak stručnější, ale občas příliš technické.
SOUL.md vám dá kontrolu. Můžete mít agenta, který mluví jako technický konzultant pro pracovní kontext:
# SOUL.md — Work
Jsi technický konzultant pro AI architekturu.
Odpovídej konkrétně s příklady kódu.
Pokud existuje více přístupů, uveď trade-offs.
Nepoužívej fráze jako "skvělá otázka" nebo "rád pomohu".
Buď přímý. Čas je cenný. Nebo úplně jiného agenta pro osobní asistenci:
# SOUL.md — Personal
Jsi osobní asistent, který mě dobře zná.
Pamatuj si moje preference z předchozích konverzací.
Pokud něco plánuji a zapomněl jsem na detail, připomeň mi to.
Komunikuj neformálně. Jsme tým. Klíč je v tom, že SOUL.md není system prompt v tradičním smyslu. Agent ho internalizuje jako součást své identity. Neopakuje instrukce doslova, ale přizpůsobuje své chování celkově. Instrukcí v SOUL.md může být pět řádků nebo padesát. Důležité je, aby byly konkrétní a neodporovaly si.
AGENTS.md: pravidla a workflow
Zatímco SOUL.md řeší osobnost, AGENTS.md řeší chování. Jaké má agent priority, jak reaguje na různé typy požadavků, kdy si má říct o pomoc.
Podle freeCodeCamp kurzu od Kiana je AGENTS.md nejkritičtější soubor celého workspace. Definuje veškeré rozhodování agenta. Zatímco SOUL.md se sdílí, AGENTS.md je per-agent. Pracovní agent může mít jiná pravidla než osobní.
# AGENTS.md
## Priority
1. Bezpečnost dat: nikdy nesdílej citlivé informace mimo zabezpečené kanály
2. Přesnost: ověřuj fakta, nespeculuj
3. Efektivita: minimální počet kroků k výsledku
4. Transparentnost: ukaž svou úvahu, ne jen výsledek
## Model routing
Primární model: Claude (předplatné).
Lokální model: pouze pro zpracování citlivých dat, která nesmí opustit stroj.
Pokud dotaz obsahuje osobní údaje, finance nebo klientská data:
→ Přepni na lokální model. Bez výjimky.
Pro všechny ostatní úlohy:
→ Claude.
## RAG-first strategie
Před odpovědí vždy prohledej znalostní bázi.
Pokud najdeš relevantní kontext, použij ho.
Pokud nenajdeš, odpověz na základě obecných znalostí a označ to.
## Zakázané akce
- Neposílej emaily bez explicitního potvrzení
- Nemazej soubory bez potvrzení
- Nepřistupuj k externím API bez potvrzení
- Neukládej hesla nebo API klíče do markdown souborů Sekce Zakázané akce je klíčová. Bez ní agent ochotně pošle email klientovi, smaže soubor nebo zavolá API, pokud to vyhodnotí jako užitečné. S explicitním zákazem se nejdřív zeptá. Je to první linie obrany před tím, než se dostaneme k technickým guardrails jako Docker sandbox nebo tool.deny.
Správa více agentů
OpenClaw od verze 2026.2.26 přidal Agent Routing CLI pro správu agentů z příkazové řádky:
openclaw agents bindings
openclaw agents bind work --channel slack
openclaw agents unbind work --channel telegram Každý agent má vlastní workspace, vlastní AGENTS.md, vlastní sandbox a vlastní tool policy. Příkaz bind a unbind určuje, který agent obsluhuje který komunikační kanál. Pracovní agent na Slacku, osobní na Telegramu. Žádné překrývání kontextů.
IDENTITY.md: kdo agent je
IDENTITY.md říká agentovi kdo je. Jméno, verze, účel, kontext jeho existence.
# IDENTITY.md
Jméno: Nomir
Verze: 1.0
Účel: Osobní AI asistent
Prostředí: Mac Mini M4 Pro, Claude + lokální hybrid
Aktivní od: březen 2026 Na první pohled to vypadá zbytečně. Ale agent s jasnou identitou reaguje konzistentněji. Ví kam patří, jaký je jeho scope a co od něj uživatel očekává. Bez IDENTITY.md model občas prokládá odpovědi nejistotou o své roli. S ním je ukotven.
USER.md: agent se učí sám
USER.md je nejzajímavější soubor z celé pětice. Nemusíte ho psát sami. Agent ho doplňuje automaticky z konverzací.
Po prvním spuštění je USER.md prázdný:
# USER.md
Jméno: Daniel Po týdnu používání vypadá úplně jinak:
# USER.md
Jméno: Daniel Gottwald
Role: AI Architect, OSVČ
Lokace: Kutná Hora
Projekty: blog seriál, klientské projekty, umělecká tvorba
Preference: stručné odpovědi, české s anglickými tech termíny
Pracovní doba: ráno psaní, odpoledne kód
Stack: Claude Code, Docker, Hugo, Apple Silicon Agent tyto informace extrahuje z konverzací a zapisuje do USER.md. Příště, když řeknete „Připrav mi draft článku“, agent ví v jakém stylu píšete a na jaký blog. Když řeknete „Zkontroluj ten deploy“, ví že pracujete s Hugo a Docker. Nemusíte opakovat kontext.
Je to persistentní profil, který roste s každou konverzací. Většina agentních frameworků (CrewAI, AutoGen) vyžaduje desítky až stovky řádků kódu pro nastavení persistentní paměti. LangChain má LangMem SDK pro auto-profiling, ale vyžaduje programování schémat. Letta (dříve MemGPT) nabízí nativní self-editing memory, ale je to vývojářský framework, ne hotový asistent. OpenClaw jako jediný řeší paměť jako produkt pro koncového uživatele — nainstaluj, mluv, agent si pamatuje.
Persistentní paměť: jak to celé drží pohromadě
USER.md je jen část paměťového systému. OpenClaw má třívrstvou paměť.
Krátkodobá paměť je kontext aktuální konverzace. Všechno co jste řekli v tomto chatu. Zmizí po ukončení session.
Dlouhodobá paměť se ukládá do SQLite (default) nebo PostgreSQL. Agent automaticky extrahuje důležitá fakta z konverzací a ukládá je. Příště je injektuje do kontextu nové konverzace.
Znalostní báze (RAG) prohledává vaše dokumenty. Markdown soubory, PDF, webové stránky. Agent k nim přistupuje přes embedding search a doplňuje odpovědi relevantním kontextem.
V praxi to vypadá tak, že agent na začátku každé konverzace automaticky načte relevantní dlouhodobé paměti a USER.md. Nemusíte mu pokaždé říkat kdo jste a na čem pracujete. Ví to.
Konfigurace paměti
Paměť se konfiguruje v ~/.openclaw/openclaw.json:
{
memory: {
backend: "builtin"
}
} Hodnota "builtin" používá interně SQLite — funguje bez dalších závislostí. Embedding model pro vyhledávání v paměti se konfiguruje samostatně přes memorySearch. Pokud ho nenastavíte, OpenClaw automaticky zvolí lokální model (pokud existuje) nebo cloud provider. Pro full-text search je od verze 2026.2.15 Unicode-aware vyhledávání s podporou vícejazyčných stop-words.
Workspace doporučuji verzovat jako Git repo. Každá změna v SOUL.md, AGENTS.md nebo USER.md je pak viditelná v diff. Můžete se vrátit ke starší konfiguraci, synchronizovat mezi zařízeními a hlavně sledovat, co přesně agent zapisuje do USER.md a MEMORY.md.
AI Council: multi-agent rozhodování
OpenClaw sám o sobě provozuje agenty izolovaně. Každý agent má vlastní workspace, vlastní session, vlastní data. Žádná nativní komunikace mezi agenty neexistuje. Multi-agent routing v OpenClaw slouží ke směrování zpráv k různým agentům, ne ke kolaboraci.
Ale architektonický pattern AI Council nad OpenClaw postavit můžete. Jde o workflow, který implementujete přes prompty v AGENTS.md. Matt Berman publikoval sadu workflow promptů, kde tento pattern popsal. Funguje ve třech fázích.
Fáze 1: Draft. Primární agent vygeneruje první analýzu nebo doporučení. Zpracuje data, navrhne řešení.
Fáze 2: Review. Dva až čtyři review agenti paralelně zhodnotí draft. Každý z jiné perspektivy. Příklad z Bermanových promptů:
- GrowthStrategist hledá příležitosti k růstu a asymetrické výhody
- RevenueGuardian chrání cash flow a krátkodobý příjem
- SkepticalOperator zpochybňuje předpoklady a kvalitu dat
- TeamDynamicsArchitect hodnotí dopad na tým a udržitelnost
Každý reviewer dá ke každému doporučení verdikt: support, revise nebo reject. S konkrétním vysvětlením proč.
Fáze 3: Consensus. Finální agent integruje feedback ze všech reviewů. Řeší rozpory, kalibruje doporučení podle váhy jednotlivých perspektiv.
Prioritizace výstupu
Bermanův workflow používá skórovací vzorec pro řazení doporučení:
priority = (impact × 0.4) + (confidence × 0.35) + ((100 - effort) × 0.25) Vysoký dopad, vysoká jistota a nízká náročnost vyhrávají. Není to dokonalé, ale je to výrazně lepší než se ptát jednoho modelu na jeden rovný výstup.
Implementace AI Council
Celý pattern implementujete jako instrukce v AGENTS.md. Definujete, kdy se Council aktivuje a jaké perspektivy má pokrýt:
## AI Council
Aktivuj AI Council automaticky pro:
- Strategická rozhodnutí (investice, nový klient, změna směru)
- Analýzy s nejasnými daty
- Rozhodnutí s dopadem nad 50 000 Kč
Pro běžné dotazy používej standardní odpověď. Protože jde o prompt-based pattern, závisí robustnost na kvalitě modelu. Pokud review agent selže (timeout, chyba modelu), je na vás, jak to v promptu ošetříte — například pokračovat bez chybějícího hlasu a poznamenat to ve výstupu. Doporučuji logovat celý trace (draft, reviews, consensus) pro pozdější audit.
Telegram místo webového UI
V minulém díle jsme zprovoznili přístup přes webový dashboard na portu 18789 přes Tailscale tunel. Funguje to. Ale po pár dnech používání jsem to přestal otevírat. SSH tunel, prohlížeč, token v URL, pomalé načítání na mobilu. Příliš mnoho kroků na to, abyste agentovi položili rychlý dotaz z tramvaje.
Tak jsem připojil Telegram. A teď se svým agentem komunikuji ze stejné aplikace, ve které píšu s rodinou a kolegy. Otevřu chat, napíšu dotaz, odpověď přijde za dvě sekundy. Bez tunelů, bez prohlížeče.
Konfigurace
V ~/.openclaw/openclaw.json přidáte Telegram kanál:
{
channels: {
telegram: {
enabled: true,
botToken: "${TELEGRAM_BOT_TOKEN}",
dmPolicy: "open",
allowFrom: ["*"],
groupPolicy: "allowlist",
streaming: "partial"
}
}
} Bot token získáte od @BotFather na Telegramu — /newbot, zvolíte jméno, dostanete token. Token ukládejte přes openclaw secrets místo plaintext v configu. Příkaz openclaw secrets configure vás provede nastavením a openclaw secrets apply přepíše plaintext hodnoty referencemi na bezpečné úložiště.
Po restartu gateway (sudo kill $(pgrep -u aiservice openclaw)) najdete svého bota na Telegramu, pošlete první zprávu a agent odpoví. Streaming partial znamená, že vidíte odpověď přibývat v reálném čase.
Co Telegram dělá dobře
- Okamžitý přístup z telefonu. Žádný tunel, žádný prohlížeč.
- Push notifikace. Agent vám může proaktivně napsat (heartbeat, připomenutí).
- Hlasové zprávy. OpenClaw je automaticky přepisuje do textu.
- Funguje odkudkoli. Na Wi-Fi, na mobilních datech, v zahraničí.
Na co si dát pozor
Telegram ale není bezpečný kanál. A je důležité to vědět, než na něj přesunete veškerou komunikaci s agentem.
Zprávy procházejí servery Telegramu. Telegram používá vlastní šifrovací protokol MTProto. Standardní chaty nejsou end-to-end šifrované — Telegram je vidí. Secret chats jsou E2E, ale boti je nepodporují. Všechno, co pošlete svému agentovi, prochází přes servery třetí strany. Pro obecné dotazy to nevadí. Pro citlivá data (hesla, smlouvy, finanční detaily) to je problém.
Bot token je klíč ke všemu. Kdo má váš bot token, může číst všechny zprávy a odpovídat za vašeho agenta. Proto ho neukládejte v plaintext configu, ale přes openclaw secrets.
allowFrom: ["*"] přijímá zprávy od kohokoliv. Kdokoliv, kdo najde vašeho bota, mu může psát. Pro osobního agenta zvažte whitelist s vaším Telegram ID místo ["*"]. Zjistíte ho přes @userinfobot.
Formátování je omezené. Telegram podporuje Markdown, ale ne tak bohatý jako webové UI. Dlouhé tabulky, komplexní kód a diagramy se zobrazují hůř.
Rate limity. Telegram omezuje boty na 30 zpráv za sekundu. Při streamingu dlouhých odpovědí to občas škobrtne.
Praktické doporučení
Pro většinu každodenních interakcí je Telegram nejlepší způsob jak s agentem komunikovat. Ale dodržujte jedno pravidlo: citlivá data posílejte přes webové UI přes Tailscale tunel, ne přes Telegram. Telegram je pro rychlé dotazy, plánování, brainstorming. Tailscale dashboard pro cokoliv, co nesmí opustit vaši síť.
Kolik tokenů spotřebuje jeden dotaz
Tady přichází studená sprcha. Podle freeCodeCamp kurzu spotřebuje jedna zpráva přibližně 14 000 tokenů při interakci s Claude Opus. Zahrnuje to system prompt, workspace soubory (SOUL, AGENTS, IDENTITY, USER, TOOLS), paměťový kontext a samotný dotaz s odpovědí.
Každý skill v system promptu přidá přibližně 24 tokenů. S deseti skills to je dalších 240 tokenů. S padesáti skills to už je 1 200 tokenů navíc ke každé zprávě. Proto je důležité mít jen skills, které skutečně používáte.
Příklad denní spotřeby:
| Scénář | Zprávy/den | Tokenů/den | Tokenů/měsíc |
|---|---|---|---|
| Lehké použití | 10 | ~140 000 | ~4,2M |
| Střední | 30 | ~420 000 | ~12,6M |
| Intenzivní | 80 | ~1 120 000 | ~33,6M |
S Claude Max předplatným (€90/měsíc, přibližně 2 300 Kč) jsou tyto tokeny zahrnuté v paušální ceně. Bez měření tokenů. Od verze 2026.3.1 OpenClaw navíc nastavuje adaptive thinking jako výchozí úroveň pro Claude 4.6 modely. Agent sám rozhodne, kdy potřebuje hlubší reasoning a kdy stačí rychlá odpověď. To optimalizuje spotřebu tokenů bez ztráty kvality na složitých úlohách.
S lokálním modelem je cena za token nulová, ale kvalita odpovědí je pro složitější úlohy nižší. Proto Claude jako primární model a lokální jen pro citlivá data.
Hlavní výhoda Max předplatného je předvídatelnost nákladů. Platíte fixní částku místo platby za každý token, kde se náklady těžko odhadují kvůli délce workspace souborů, paměťového kontextu i reasoning tokenů. Max předplatné má denní a týdenní limity na počet zpráv, ale pro běžné používání agenta (desítky zpráv denně) jsou dostatečné.
Celkové měsíční náklady
V díle 3 jsme spočítali provozní náklady. Teď je aktualizuji o kontext amortizace hardware a srovnání s alternativami.
Mac Mini s OpenClaw
| Položka | Měsíčně | Poznámka |
|---|---|---|
| Elektřina 24/7 | ~40-80 Kč | Závisí na zatížení (idle vs inference) |
| Claude Max předplatné | ~2 300 Kč | Paušál, €90 |
| HW amortizace (3 roky) | ~1 111 Kč | 40 000 Kč / 36 měsíců |
| Celkem | ~3 491 Kč | |
| Po splacení HW | ~2 380 Kč | Od 4. roku |
Srovnání s alternativami
| Řešení | Měsíčně | Data na vašem HW | Lokální inference | Agenti | Paměť |
|---|---|---|---|---|---|
| ChatGPT Plus + Codex | ~500 Kč | Ne (cloud OpenAI) | Ne | Codex, Operator | Ano (implicitní) |
| Claude Pro + Code | ~500 Kč | Ne (cloud Anthropic) | Ne | Claude Code, Cowork | Ano (explicitní) |
| Google AI Pro + Gemini CLI | ~500 Kč | Ne (cloud Google) | Ne | Jules, Gemini CLI | Ano (implicitní) |
| ChatGPT Pro + Codex | ~5 000 Kč | Ne (cloud OpenAI) | Ne | Plné limity | Ano |
| OpenClaw + Claude Max | ~3 491 Kč | Ano | Ano | Multi-agent | Plná (SQLite) |
Všechny cloudové alternativy dnes nabízejí agenty i paměť. ChatGPT má Codex a Operator, Claude má Code a Cowork, Google má Gemini CLI a Jules. Rozdíl není v tom, jestli mají agenty — ale kde běží vaše data.
U všech cloudových řešení se vaše soubory, prompty a kontext odesílají na servery třetích stran. OpenAI i Anthropic u osobních plánů nabízejí možnost sdílet konverzace pro trénink modelů. Pokud souhlas odmítnete, data se nepoužívají. Firemní plány (ChatGPT Enterprise, Claude for Work) a API data pro trénink nepoužívají vůbec.
OpenClaw s lokální inference je jediné řešení, kde citlivá data nikdy neopustí váš stroj. Navíc po třech letech klesne měsíční náklad pod 2 400 Kč, zatímco cloudová předplatná platíte navždy.
Persistentní paměť přes SQLite nemá žádný dodatečný náklad. Pro vyhledávání v paměti OpenClaw používá full-text search. Volitelně můžete přidat embedding model (např. embeddinggemma-300m) pro přesnější sémantické vyhledávání — běží lokálně, stáhne se automaticky při prvním použití.
Bezpečnostní kontrola
Rozšíříme checklist z předchozích dílů o nové body pro workspace soubory a paměť.
- ☑ SOUL.md bez citlivých dat — žádná hesla, klíče, identifikátory
- ☑ Zakázané akce v AGENTS.md — no auto-send, no auto-delete
- ☑ USER.md s minimálními oprávněními — pokud gateway běží pod stejným uživatelem jako workspace, nastavte 0o600. Při multi-user setupu (gateway pod
aiservice, workspace pod vaším účtem) potřebuje gateway read přístup — nastavte 0o644 - ☑ Secrets přes
openclaw secrets— žádné klíče v .env ani workspace (v2026.2.26) - ☑ Paměť na šifrovaném svazku — FileVault
- ☑ AI Council trace logován — audit a zpětné vyhodnocení
- ☑ Minimum skills — každý = +24 tokenů + attack surface
- ☑ Workspace jako Git repo — verzování, rollback, diff
- ☑ Heartbeat DM blokováno — nastavte
directPolicy: "block"v heartbeat configu. Od v2026.2.25 je defaultallow, takže je nutné explicitně blokovat
Hlavní riziko
Hlavní riziko u workspace souborů: prompt injection přes USER.md. Pokud agent extrahuje z konverzace škodlivý text a zapíše ho do USER.md, příští session ho načte jako důvěryhodný kontext. OpenClaw od verze 2026.2.15 sanitizuje workspace paths a stripuje Unicode control znaky. Ale obsah souborů nesanitizuje automaticky. Je na vás kontrolovat, co agent zapisuje.
Doporučení: pravidelně kontrolujte USER.md a MEMORY.md. Pokud tam vidíte neobvyklé instrukce nebo příkazy, smažte je. Git verzování workspace vám dá možnost podívat se na diff mezi sessions a zachytit neautorizované změny.
Co máme hotové
Agent má vlastní osobnost definovanou v SOUL.md. Komunikuje vaším stylem, drží se pravidel z AGENTS.md a ví kdo je díky IDENTITY.md. Automaticky se učí váš profil přes USER.md. Persistentní paměť znamená, že nemusíte opakovat kontext z minulého týdne.
Přes workflow prompty můžete nad OpenClaw postavit AI Council — pattern, který přidává kolektivní inteligenci pro důležitá rozhodnutí. Místo jednoho pohledu dostanete čtyři, s jasným konsensem a prioritizací.
Měsíční náklady za celý stack jsou pod 3 500 Kč. Po třech letech pod 2 400 Kč. Claude jako primární model dává nejlepší poměr cena/výkon přes předplatné a lokální model doplňuje privátnost pro citlivá data.
V příštím díle přidáme agentovi ruce. Skills jsou to, co z konverzačního partnera dělá skutečného asistenta. Práce s emaily, prohledávání knowledge base přes RAG pipeline, monitoring investic, přepis videa. Ukážu vám, jak napsat vlastní skill, jak bezpečně napojit externí služby a proč je každý skill na ClawHub potenciální bezpečnostní díra. Protože 341 škodlivých skills na marketplace není teorie. Je to statistika.
👉 Zajímá vás lokální RAG pipeline a vlastní AI modely? Podívejte se na seriál Lokální RAG chatbot.
Celý seriál OpenClaw: Kompletní průvodce
- OpenClaw Úvod) Co je OpenClaw a v čem je revoluční
- OpenClaw 1) Bezpečnost na prvním místě: Na co si dát pozor a sandbox
- OpenClaw 2) Jak spustit a nastavit na vlastním HW (Mac Mini i Mac Studio)
- OpenClaw 3) Napojení Claude Code a dalších modelů (i lokální)
- OpenClaw 4) Nastavení vlastních agentů, osobnosti a náklady (právě čtete)
- OpenClaw 5) Přidání nástrojů a dovedností (skills)
- OpenClaw 6) Kompletní nastavení autonomních agentů
- OpenClaw 7) Váš osobní asistent na všechno, 24/7
- OpenClaw 8) Mac Mini + Mac Studio: Jeden rig, kompletně lokální
- OpenClaw 9) Rizika, prompt injection, útoky a ladění
- OpenClaw 10) Digitální dvojče: Projekt od A do Z
Seriál vychází každý týden. Pokud nechcete zmeškat další díl, sledujte blog dangottwald.cz nebo můj LinkedIn.