====== Graphify ====== //Vytvořeno: **10.6.2026** | Aktualizováno: **~~LASTMOD~~**// [[https://github.com/safishamsi/graphify|Graphify]] je open-source nástroj pro AI coding agenty, který převádí repozitář na dotazovatelný knowledge graph. Prakticky slouží jako mapa projektu pro nástroje jako Claude Code, OpenCode, Codex nebo Cursor, aby agent nemusel při každém dotazu znovu prohledávat soubory. {{youtube>ChskqGovoHg?}} Video [[https://www.youtube.com/watch?v=ChskqGovoHg|This Open Source Repo Just Solved Claude Code's #1 Problem]] ukazuje Graphify hlavně jako řešení problému krátkodobé paměti a vysoké tokenové spotřeby u AI coding agentů. ===== Co Graphify řeší ===== AI coding agent se ve větším repozitáři často orientuje tak, že opakovaně prohledává soubory, čte části kódu a skládá si kontext znovu od začátku. To funguje, ale u větších projektů to stojí hodně tokenů a agent může přehlédnout vazby mezi částmi systému. Graphify místo toho vytvoří knowledge graph projektu: * **uzly** reprezentují části projektu, například soubory, funkce, třídy, dokumenty nebo koncepty, * **hrany** reprezentují vztahy mezi nimi, například volání, importy nebo jiné vazby, * **komunity** seskupují související části projektu, * **god nodes** ukazují nejvíce propojené a architektonicky důležité části. Výsledkem není jen textový index, ale mapa vztahů v projektu. Coding agent se pak může ptát grafu a nemusí pokaždé dělat drahé prohledávání celého repozitáře. ===== Jak Graphify funguje ===== ==== Pass 1: struktura kódu ==== Nejdůležitější část pro běžný softwarový projekt je první průchod. Graphify podle dokumentace a videa používá lokální parsování kódu přes Tree-sitter / AST a vytahuje z něj strukturu projektu. Typicky jde o: * soubory, * třídy, * funkce a metody, * importy, * call graph, * inline komentáře, * vztahy mezi částmi kódu. Tato část je lokální a deterministická. U čistého codebase tedy nejde o embeddingy, vektorovou databázi ani LLM analýzu. Graphify pouze strojově přečte strukturu kódu a zapíše ji do grafu. ==== Pass 2: audio a video ==== Pokud jsou v projektu audio nebo video soubory, Graphify je umí přepsat pomocí Faster Whisper a výsledný text zahrnout do grafu. To dává smysl u repozitářů, kde jsou součástí projektu například nahrávky, školení nebo jiné multimediální podklady. ==== Pass 3: dokumenty, PDF a obrázky ==== Pro nestrukturovaný obsah, jako jsou dokumenty, PDF nebo obrázky, se používá sémantická analýza přes LLM. Tady už Graphify potřebuje model, protože nestačí jen syntakticky přečíst strukturu souboru — je potřeba pochopit význam obsahu a jeho vztah ke zbytku projektu. Prakticky z toho plyne: * čistý projekt se zdrojovým kódem může být zpracovaný lokálně bez AI při tvorbě grafu, * projekt s dokumentací, PDF, obrázky nebo médii může vyžadovat LLM/API, * AI se každopádně používá při následném dotazování přes coding agenta, protože odpověď generuje agent nad připraveným grafem. ===== Graphify vs. RAG ===== Graphify není klasický RAG postavený primárně na embeddingách a vektorové databázi. Klasický RAG typicky funguje takto: text -> embedding -> vektorová databáze -> similarity search -> odpověď LLM Graphify u codebase funguje spíš takto: kód -> AST / tree-sitter -> entity a vztahy -> knowledge graph -> dotazy nad grafem Rozdíl je hlavně v použití: * **Graphify** dává největší smysl pro codebase, architekturu projektu a vztahy mezi částmi systému. * **RAG** dává největší smysl pro velké množství nestrukturovaných dokumentů, například policies, návody nebo znalostní báze. U dokumentů se tyto světy částečně překrývají. Graphify může fungovat jako lehčí varianta znalostního systému nad projektem, ale jeho nejsilnější použití je orientace v kódu. ===== Praktické použití ===== Základní instalace podle dokumentace: uv tool install graphifyy graphify install Poznámka: balíček na PyPI se jmenuje ''graphifyy'', ale příkaz v terminálu je ''graphify''. Základní spuštění v projektu: /graphify . Graphify vytvoří výstupní adresář: graphify-out/ ├── graph.html ├── GRAPH_REPORT.md └── graph.json Význam souborů: * ''graph.html'' — vizuální mapa projektu otevřitelná v prohlížeči, * ''GRAPH_REPORT.md'' — textové shrnutí důležitých konceptů, vazeb a navržených dotazů, * ''graph.json'' — samotný graf pro dotazy a další zpracování. Příklady dotazů: graphify query "jak funguje autentizace?" graphify path "UserService" "DatabasePool" graphify explain "RateLimiter" Graphify lze také integrovat do coding agenta, aby graf používal automaticky jako první zdroj kontextu místo opakovaného prohledávání souborů. ===== Přínos podle videa ===== Ve videu byl Graphify testovaný na větším open-source repozitáři. Po spuštění nad projektem vznikl graf s komunitami a vazbami mezi částmi systému. Autor pak porovnával odpověď Claude Code na architektonický dotaz s Graphify a bez Graphify. Dotaz se týkal toho, jak požadavek projde z webové aplikace k coding agentovi a zpět. Bez Graphify Claude Code spustil explore agenty a spotřeboval přibližně 200 000 tokenů. S Graphify byla podobná odpověď získána přibližně za 80 000 tokenů. Z toho plyne praktický přínos: * Graphify nemusí nutně zlepšit kvalitu každé odpovědi, * může ale výrazně snížit tokenovou spotřebu, * největší přínos má u opakovaných dotazů nad stejným repozitářem, * jednou vytvořený graf funguje jako opakovaně použitelná mapa projektu. Marketingové tvrzení o extrémních úsporách typu desítky násobků je potřeba brát opatrně. V ukázce šlo spíš o výraznou, ale realističtější úsporu v řádu desítek procent. ===== Aktivní vývoj a aktuálnost grafu ===== Hlavní slabina Graphify je stejná jako u každé odvozené znalostní vrstvy: graf může zastarat. Pokud se kód mění a graf se neaktualizuje, agent se může opírat o starou mapu projektu. Pro živý projekt je proto důležité zapojit aktualizaci grafu do workflow: graphify hook install Podle videa tento hook zajistí automatické přebudování grafu po commitu. U změn v kódu by mělo jít hlavně o lokální deterministické zpracování bez API nákladů. U dokumentů, PDF, obrázků nebo jiného nestrukturovaného obsahu se ale může znovu použít LLM. Prakticky: * bez automatické aktualizace je Graphify vhodný hlavně pro jednorázové pochopení projektu, * s hooky může fungovat jako průběžně udržovaná mapa repozitáře, * u týmového vývoje je potřeba počítat s tím, že ''graphify-out/'' se může verzovat a sdílet v repozitáři. ===== Kdy Graphify dává smysl ===== Graphify je nejzajímavější v těchto situacích: * větší nebo hůře známý repozitář, * onboarding do cizího projektu, * legacy systém bez dobré dokumentace, * architektonická analýza, * opakované dotazy na souvislosti v projektu, * práce s AI coding agentem, který jinak často grepuje a čte mnoho souborů, * snaha snížit tokenovou spotřebu při práci s Claude Code, OpenCode nebo podobným nástrojem. Na malém projektu s několika soubory může být Graphify zbytečný overhead. Tam agent obvykle zvládne přečíst relevantní soubory přímo. ===== Limity ===== Důležité limity: * graf je potřeba udržovat aktuální, * vztahy v grafu jsou pomocná reprezentace, ne náhrada čtení konkrétního kódu, * nestrukturovaný obsah může vyžadovat LLM/API, * u malých projektů nemusí úspora stát za režii, * inferred nebo ambiguous vztahy je potřeba ověřovat, * Graphify nenahrazuje testy, statickou analýzu ani review. ===== Shrnutí ===== Graphify je prakticky paměťová a orientační vrstva pro AI coding agenty. U kódu staví hlavně na lokálním parsování a knowledge graphu, ne na embeddingách. Největší přínos má tam, kde agent často potřebuje chápat vztahy napříč větším projektem a kde se stejné architektonické otázky opakují. Pokud je projekt čistě kódový, tvorba grafu může proběhnout bez LLM. AI se pak používá hlavně při dotazování přes coding agenta, který graf využije jako levnější a strukturovanější kontext. ===== Zdroje ===== * [[https://github.com/safishamsi/graphify|Graphify – GitHub repozitář]] * [[https://www.youtube.com/watch?v=ChskqGovoHg|This Open Source Repo Just Solved Claude Code's #1 Problem]]