Menu
Přihlásit
Domů / Obsah / Claude / AGENTS.md: jak naučit AI codin...
Claude 12.08.2026 Article

AGENTS.md: jak naučit AI coding agenta tvým pravidlům (praktický návod 2026)

AGENTS.md je otevřený standard, který říká AI coding agentům (Codex, Copilot, Cursor), jak tvůj kód funguje. Nauč se ho psát správně — s příklady, častými chybami a šablonou.

AGENTS.md: jak naučit AI coding agenta tvým pravidlům (praktický návod 2026) - ilustrační obrázek

Používáš AI coding agenta — Codex, Copilot, Cursor, Gemini CLI — a přepadá tě pocit, že už tisíckrát vysvětluješ to samé. Jaký je build příkaz. Které soubory si nesahat. Že testy běží přes pnpm test, ne npm test. Žes zakázal jednu knihovnu, a přesto ji agent pátý pokus po sobě zase nainstaluje.

AGENTS.md je soubor, který tento problém řeší. Je to verzovaný markdown v kořeni repa, který říká agentovi, jak tvůj kód opravdu funguje. V srpnu 2026 ho čte 30+ nástrojů a spravuje ho Agentic AI Foundation pod Linux Foundation. Pojďme si ukázat, jak ho napsat tak, aby agent jeho instrukce skutečně respektoval.

Proč AGENTS.md a ne jen README

README je pro lidi. Agent ho sice taky vidí, ale čte ho stejně jako ostatní soubory — musí si z něj odvodit, co je důležité. AGENTS.md je prediktibilní místo, kam si agent instrukce natáhne na začátku každé session, hned pod systémový prompt. Má jasnou prioritu a agent s ním pracuje jako se základním kontextem, ne jako s jedním z mnoha souborů.

Druhý důvod je portabilita. Doteď jsi možná udržoval CLAUDE.md pro Claude Code, .cursorrules pro Cursor a .github/copilot-instructions.md pro Copilot. Tři soubory, které si odporují, jakmile jeden zapomeneš aktualizovat. AGENTS.md je vendor-neutralní: jeden soubor, který funguje napříč. Nástrojům, které ho nečtou nativně (hlavně Claude Code), dáš jednoduchý symlink nebo import.

Co do něj patří — a co ne

Nejčastější chyba je nacpat do AGENTS.md všechno. Výzkum ukazuje, že redundance s informacemi, které agent už má z kódu a dokumentace, zvyšuje náklady na tokenu o zhruba 23 % a zároveň ztěžuje agentovi rozpoznat, co je vlastně důležité. Codex má výchozí limit 32 KiB, ale praktická hranice užitečnosti je mnohem níž — kolem 150–200 řádků.

Do souboru patří pouze to, co agent nemůže získat z kódu, manifestů ani existující dokumentace:

Patří sem Nepatří sem Proč
Pravidla, která se odchylují od defaultů Standardní jazykové konvence (PEP 8, Prettier) Agent je už zná
Architektonické omezení ("neměň vrstvu X") Plná API dokumentace Odkáži, nezabudovávat
Projekt-specific gotchas ("nesahat na legacy/") Bývalé postupy ("piš čistý kód") Zbytečné, agent se o to snaží už defaultně
Přesné build/test příkazy To, co je už v README Duplikace snižuje výkon

Jak ho napsat: čtyři pravidla, která fungují

1. Používej přesné, kopírovatelné příkazy

Slabé: "spusť testy". Lepší: "spusť pnpm test". Nejlepší: "spusť pnpm test --filter web pro testování jen web appky". Agent pak nepátrá, který test runner používáš — prostě to udělá.

2. Tvrdá omezení buď explicitní

Neřikej "čistý kód" nebo "idiomatický" — to se na chování agenta nepřeloží. Místo toho: "Neimportuj z internal/legacy/. Používej const, nikdy var. Nová funkce maximálně 40 řádků." Agent poslouchá konkrétní zákazy mnohem spolehlivěji než adjektiva.

3. Rozděl na "always / ask first / never"

Tento pattern převzal například Sanity ve svém veřejném AGENTS.md a funguje skvěle:

  • Always — věci, které agent dělá automaticky (po změně spusť pnpm lint)
  • Ask first — věci, které vyžadují potvrzení (instalace nové závislosti, úprava migrace)
  • Never — netlaktné zákazy (nesmaž produkční data, nedělej force-push, neupravuj lock soubor ručně)

Autonomní agent se chová mnohem prediktabilněji, když jsou rizika napsaná jako přímé příkazy, ne jako společenské narážky.

4. Drž to krátké pomocí progresivního odkrytí

Máš jazykově-specific pravidla pro TypeScript, Python i SQL? Nedávej je všechna do kořenového souboru. Místo toho:

Pro TypeScript konvence viz docs/TYPESCRIPT.md
Pro SQL migrace viz docs/MIGRATIONS.md

Agent si tyto soubory načte jen tehdy, když píše TypeScript nebo sahá na migrace. Ostatní úkoly neztrácejí tokeny na kontext, který zrovna nepotřebují.

Jak nástroje soubor načítají

Rozdíly v načítání nejsou detail — ovlivňují, kam soubor umístíš a jak strukturuješ:

  • Codex (OpenAI): vrstvení shora dolů — globální ~/.codex/AGENTS.md → kořen repa → aktuální adresář. Soubor AGENTS.override.md má přednost. Zastaví se při 32 KiB.
  • Copilot (GitHub): "nejbližší soubor vyhrává". Můžeš dát AGENTS.md kdekoli v repu, ten nejblíž upravovanému souboru má přednost.
  • Kilo: načítá kořen + podadresáře, podadresář přepisuje kořen. Defaultně je soubor chráněný proti přepsání, aby ho agent sám neupravoval.
  • Claude Code: AGENTS.md nečte nativně, čte CLAUDE.md. Řešení je jednoduché — symlink nebo import.

Kompatibilita: jeden zdroj pravdy

Praktický pattern, který zavedou dospělé týmy: jeden autoritativní AGENTS.md, ostatní soubory z něj derivuj.

# Claude Code: symlink
ln -s AGENTS.md CLAUDE.md
git add CLAUDE.md

Pro Cursor a Gemini analogicky. Tím máš jeden soubor k údržbě a instrukce se nikdy nerozjedou. Pokud používáš jen jeden nástroj, klidně zůstaň u jeho nativního formátu — AGENTS.md se vyplatí, až když přepínáš mezi agenty nebo máš v týmu lidé s různými preferencemi.

Šablona, kterou můžeš zkopírovat

# AGENTS.md

## Projekt
Krátký popis (2–3 věty). Technologický stack: PHP 8.2, Symfony 7, MySQL 8.

## Build a testy
- Build: `docker compose up -d`
- Testy (jedna třída): `bin/phpunit tests/Entity/UserTest.php`
- Testy (vše): `bin/phpunit`
- Statická analýza: `bin/phpstan analyse src --level=6`

## Architektura
- Tenké controllery, logika do service vrstvy
- Entity používají constructor property promotion
- Příkazy přes Symfony Messenger (async transport)

## Always
- Po změně entity spusť `bin/console doctrine:schema:validate`
- Dodržuj `declare(strict_types=1)` v každém souboru

## Ask first
- Přidání nové závislosti do composer.json
- Úprava databázové migrace, která už je v produkci

## Never
- Nesahat na `config/services_prod.yaml`
- Nedělat `git push --force` na main
- Nevypisovat do kódu API klíče ani hesla

Tato šablona má 25 řádků. Agent ji načte celou, pochopí ji a bude se jí řídit. Kdyby měla 500 řádků, polovinu by ignoroval.

Bezpečnost: co do souboru nikdy nedávat

AGENTS.md je agent-visible kontext. Cokoli do něj napíšeš, může skončit v promptu, který agent pošle modelu. Nikdy tam nedávej:

  • API klíče, tokeny, hesla
  • Zákaznická data
  • Skryté provozní předpoklady, které nechceš vidět v logu

Tajemství patří do .env (který je v .gitignore) nebo do CI/CD secretů. AGENTS.md je verzovaný soubor — představ si, že ho přímo uvidí každý, kdo má přístup k repu.

Kdy stojí za to přidat podadresářový AGENTS.md

Monorepo s několika subprojekty? Codex jich v hlavním repu OpenAI má 88. Pravidlo je jednoduché: kořenový AGENTS.md obsahuje pravidla platná všude, podadresářové soubory přidávají specifika pro daný subtree. Frontend appka pak má vlastní pravidla pro React konvence, backend pro databázové migrace. Agent si načte jen to relevantní.

Shrnutí

AGENTS.md není další soubor k údržbě — je to jedna z nejlevnějších, nejvyšších-leverage investic, které můžeš udělat pro práci s AI agenty. Začni krátkým souborem (50 řádků), sleduj co agent dělá špatně, postupně přidávej konkrétní pravidla. Za měsíc se divíš, že už agenta nemusíš opravovat stokrát denně.

Klíčové principy: přesné příkazy místo adjektiv, explicitní zákazy místo narážek, progresivní odkrytí místo jednoho obřího souboru, a nikdy tajemství. Pokud používáš více nástrojů, drž jeden autoritativní AGENTS.md a ostatní z něj symlinkuj. Tvůj agent (i ty sám) to oceníš.

Začínáte s AI?

Navštivte zacinamsai.cz — průvodce světem AI pro úplné začátečníky.

Přejít na Začínáme s AI →

// Další články, které by tě mohly zajímat

Potřebujete pomoct s AI automatizací?

Domluvte si nezávaznou konzultaci →