Přeskočit na obsah
O podcastuSessionsEpizodyHostsOdebírat
[#18]

Kontext jako základ

52 min

Kontextové okno je limit, do kterého se musí vejít všechno, co jazykový model při odpovědi vidí — a právě práce s ním rozhoduje o kvalitě výstupu víc než volba samotného modelu. Filip a Jindřich rozebírají context engineering: jak skládat data do promptu, proč je strukturovaný markdown a JSON pro model čitelnější než volný text a proč je „paměť” asistentů jen útržky přilepené do kontextu. Druhá půlka patří organizaci knowledge base — od jednoduché složky s markdowny přes propojení s Notionem a Obsidianem až po vektorové databáze, RAG a koncept LLM wiki od Andreje Karpathyho. Řeč přijde i na skilly, soubory CLAUDE.md a AGENTS.md a na Anthropic funkci dreaming, kterou si lze ve vlastní bázi částečně replikovat.

Raději čteš?

Přečti si tuhle epizodu jako článek

Shrnutí a klíčové myšlenky v psané podobě na našem Substacku.

Číst článek ↗

Souhrn

Kontextové okno je limit, do kterého se musí vejít všechno, co jazykový model při odpovědi vidí — a právě práce s ním rozhoduje o kvalitě výstupu víc než volba samotného modelu. Filip a Jindřich rozebírají context engineering: jak skládat data do promptu, proč je strukturovaný markdown a JSON pro model čitelnější než volný text a proč je „paměť" asistentů jen útržky přilepené do kontextu. Druhá půlka patří organizaci knowledge base — od jednoduché složky s markdowny přes propojení s Notionem a Obsidianem až po vektorové databáze, RAG a koncept LLM wiki od Andreje Karpathyho. Řeč přijde i na skilly, soubory CLAUDE.md a AGENTS.md a na Anthropic funkci dreaming, kterou si lze ve vlastní bázi částečně replikovat.

Transcript

Filip: vemte si to jako člověka, kterej jakmile skončí konverzaci, tak hnedka zapomene jako úplně všechno, co jste si řekli.

Jindřich: ruku na srdce, kdo z nás každej den dělá něco originálního,

Filip: ten kontext, kterej si budujete, to je za mě to zlato, který vy vlastníte a který vám jako zefektivní to vaše fungování

Jindřich: ten agent jako neodmlouvá. No jasně, on samozřejmě nejezdí ani na dovolenou, že jo? Dobre čau, eh, vítaju dalšího dílu podcastu Deeplink Show. Stejně tak zdravím naše posluchače. Pojďme si dneska něco říct ke kontextu, protože přece jenom, eh, každej trochu pokročilejší uživatel umělý inte-inteligence tak řeší kontext, Řeší, co posílá za informace do, eh, toho samotnýho, ať už chatovacího asistenta nebo jakýhokoliv jinýho agenta. A nejen co tam posílá, ale samozřejmě i jak si to organizuje, že jo, jako v jakym to má formátu, kde to má uložený, jak s nim pracuje, tak aby to zkrátka bylo pro toho agenta co možná nejefektivnější. Pojďme to trošku rozebrat. Eh, pojď mi říct, jak k tomu přistupuješ ty a pojďme se případně pokusit i, eh, dát nějaký tipy třeba našim posluchačům

Filip: Ahoj Jindro, zdravím tebe, zdravím i naše posluchače. Kontext za mě je poslední měsíce ta alfa omega, to, co se řeší. Ono to má jako jasnej důvod, protože modely máme dneska nechci říct stejně dobrý, ale prostě ta výkonnost těch modelů i napříč těma firmama tak jako bývá poměrně srovnatelná. Máme různý nástroje, jako jsou ty různý agentic harnesses, což jsou, já nevím, Claude, Co:t, Cursor. Zkrátka takový ten obal kolem těch, eh, modelů. Eh, a zkrátka to používání je vlastně jako dosti podobný a to základní nebo zásadní, co ti odlišuje ty výstupy, je, jakej máš kontext, jak s ním pracuješ. Protože ten rozdíl mezi tím, když tomu agentovi musíš pořád něco dokola znova vysvětlovat a říkat mu, kdo seš, co děláš, eh, kam ty data má uložit, jak si to představuješ atd., tak je jako strašně otravná věc. Kdežto když ty už máš ty kontexty dobře poukládaný, tak vlastně ten agent se ti třeba chová, jak chceš ty. Nebo se umí dostat k datům, který ty máš. A zkrátka ale není to tak jednoduchý, že bys to všechno vzal, naházel do toho modelu a vlastně jako dostal odpověď. Protože úplně taková jako základní věc tak je takzvaný kontextový okno. To si myslím, že si tady musíme vlastně jako vysvětlit, co, co je. Mnozí z vás to určitě budou znát, ale pro ty, který třeba jenom tuší, tak kontextový okno je jako vlastně velikost toho textu, kterej vy můžete vzít a poslat do toho modelu. Protože extrémně důležitý uvě-si je uvědomit to, že jazykovej model, to LLM, tak je vlastně jenom, já tomu vždycky říkám, je to nějaká černá krabička. Posílám do ní nějaký data na vstupu a ty data musej obsahovat úplně všechno. Ten model si totiž sám o sobě ta černá krabička si vůbec nic nepamatuje a vy všechno musíte poskládat, poslat to do toho modelu a on vám dá nějaký výsledek, což je třeba ta odpověď na ty data, co jste mu poslali. A v těch datech, co mu posíláte, tak je váš prompt. To znamená ten váš požadavek. Je tam nějaký systémový prompt, to je to, co tam ta aplikace, vlastně třeba to ChatGPT přilepuje ještě nad tím. Pokud jste s tím modelem předtím měli nějakou konverzaci, tak je tam celá tahle konverzace. Je tam třeba to PDFko, co jste tam dali a tak dál. A všechno tohle se musí vejít do toho vstupu. A ten, ta velikost toho vstupu, kde je ten limit, tak je takzvaný kontextový okno. A dneska se budem bavit tady o tom, jak tady to kontextový okno co nejvíc optimalizovat, jak si ty data ukládat, jak s nim pracovat a obecně ten context engineering, abyste z těch, eh, modelů agentů dostali ty nejlepší výsledky

Jindřich: Si myslím, že jsi dost popsal tu, tu podstatu toho kontextovýho okna, že jo. Nebo respektive toho okna, eh, kterej je nějak omezenej. Eh, není samozřejmě nekonečnej. Každej model, každej, eh, nástroj to může mít trochu

Filip: Mhm.

Jindřich: ale důležitý je si vlastně říct, co je to ten kontext, že jo. A to není nic jinýho než, eh, data. Jako velmi pravděpodobně asi budou jako nějak strukturovaný a budou jako textový, ale jako ne nutně, že jo. Protože ten kontext může bejt i PDFka, můžou to bejt

Filip: Mhm.

Jindřich: obrázky, můžou to bejt tabulky a může to bejt celá řada jako dalších souborů, se kterýma já potřebuju pracovat. Ale jasně, eh, zase, eh, je to téma, na který my tady narážíme často a ta multimodalita má jako odlišnou velikost toho kontextu nebo respektive těch, eh, větší počet tokenů, řekněme. A když já to chci poslat do toho jako jazykovýho asistenta, tak pro mě asi logicky jako bude nejlepší mít ty data jako strukturovaný v nějaký strojově dobře čitelný podobě, abych já to dokázal ta-tenhleten kontext, ty data dostat v co možná nejmenší velikosti do toho chatovacího asistenta. Jo, takže, eh, to kontextový okno asi není jenom o tom vysvětlení, co to tak, co to je to daný okno nebo ten, to okno toho chatovacího asistenta, agenta či jakkoliv. Tak ale je důležitý zmínit, že ten kontext jsou to data. Může to být multimodalita, ale samozřejmě každá, každej formát těch dat má své výhody a nevýhody.

Filip: Rozhodně. A ty kontextový okna, ty velikosti, tak jsou různý, že jo. Nějaký modely mají třeba sto dvacet pět tisíc tokenů. Zase token můžete si představit hrubě jako tři čtvrtě slova, nula celá sedmdesát pět slova. Samozřejmě obrázky, tak těch tokenů sežerou jako dramaticky víc než klasickej text. Dneska máme, eh, modely, který mají dvě stě padesát tisíc, eh, vlastně tokenů to vstupní okno, to kontextový okno nebo třeba i milion. Novej Opus 4.7, Opus 4.8. Oba mají milionový kontextový okno, ale to neznamená, že teďka můžu využít to milionový kontextový okno jak chci a ono to všechno bude fungovat dobře. Celý nás to vlastně vede k jedný disciplíně, který se říká context engineering. A já jsem jako vždycky přemýšlel, jak to jako jednoduše popsat, ale vlastně v jedný větě, tak by se to dalo popsat tak, že context engineering je naše snaha o to do toho kontextového okna dát dostatečný množství informací, aby ten model byl schopnej udělat kvalitní výsledek, ale ne příliš mnoho, abysme ten model vlastně nezahltili. To znamená, my si hrajem s tím, co do toho vstupu do té černé krabičky vlastně posíláme a jaký ty data to jsou, protože ty jsi to zmiňoval. Jsou to i ty PDFka, obrázky a další věci. Tak co ty vstupní data jsou, abysme dostali co ten nejkvalitnější výsledek a sekundárně se samozřejmě jako vešli i do tý velikosti.

Jindřich: A tahle disciplína, tak to je ten context engineering, že jo. Ale myslím si, že i v rámci těch, v rámci tý potřeby pro náš jako aktuální díl, naši aktuální epizodu, tak je důležitý si odlišit, co je to ten prompt engineering.

Filip: Mhm.

Jindřich: jenom našem kontextu to půjde jako vhodný odlišovat. Ale samozřejmě lze říct, že ten kontext je všechno, co já tam jako posílám. Ale ten prompt, tak to je ten, který já píšu třeba v tom jako chatovacím asistentovi. Zatímco ten celej kontext, tak je to, co já můžu poslat i příklad v tom jako systémovým promptu, kterej já často samozřejmě můžu jako ovlivnit. Ne vždy. Zase záleží jako na nástroji a na použití, ale pro zjednodušení řekněme, že můžu. A stejně tak ten kontext, tak to jsou právě ty data, který tam budou mimo ten můj prompt, kterej napíšu sám. Takže pokud bych to měl jako hodně zjednodušit, můj osobní příklad z praxe. Měl jsem různý statistiky z mejch hodinek, nějaký jako zdravotní data anonymizovaný. Poslal jsem je do kontextu toho chatovacího asistenta a poslal jsem mu nějakej dotaz jako v tom promptu a on mi odpověděl, protože zpracoval ty data a odpověděl mi na tu mou otázku. Takže otázka prompt, kontext, moje data, který jsem mu poskytl.

Filip: Jasně. Takže ten prompt engineering je vlastně jako ta snaha udělat co nejlepší prompt. Ale o tom to vlastně jenom není, protože tam musíš poskytnout ty data, musíš tam dát ty další věci a celý týdle tý disciplíně se vlastně jako říká ten context engineering. A my už jsme to tady několikrát zmínili, co do toho kontextu, do toho zadání vlastně jako patří a je fakt dobrý a nutný podle mě nad tím přemýšlet tak, že je tam do toho kontextu fakt musí jít všechno, co ten model musí vědět. Protože já už jsem to říkal na začátku, ten model je bezstavovej. To znamená, že cokoliv nejde na tom vstupu v rámci toho kontextového okna, tak on s tím nemůže pracovat. A jenom rychlá odbočka, protože vím, že spoustu lidí třeba který používají různý asistenty, tak řeknou: „No jo, ale ten můj model si o mně něco pamatuje, že jo. Vždyť on ví, kdo jsem, co já dělám a tak.“ Tak celý tohle kouzlo je dělaný tak, že ta aplikace si z vašich historických konverzací ukládá zase nějaký malý soubory, útržky vlastně toho, co vy jste si řekli a co přijde tý aplikaci zajímavý. A potom, když vy zadáte novej chat, novej dotaz, tak v ra- na základě toho dotazu, co vy jste dali, tak se navrch do toho kontextového okna, tady je ta černá krabička do toho vstupu přilepí i tady ty útržky z té paměti a i ty se započítají do toho kontextového okna, když to jde vlastně jako dovnitř. Takže to je za mě jako důležitý si uvědomit, že veškerý paměti těch modelů, takže paměti v uvozovkách, tak jsou realizovaný jenom tak, že to jsou jako nějaký útržky těch dat, který je pak nutný vzít a přilepit vlastně do toho kontextu, aby ten model s tím mohl eh, vlastně jako pracovat. A tím se vlastně jako dostáváme k různejm typem pamětí a tomu, jak si ten model vlastně v uvozovkách pamatuje, ale nepamatuje. Protože já vždycky říkám pro takovou jako jednoduchou představu je to, vemte si to jako člověka, kterej jakmile skončí konverzaci, tak hnedka zapomene jako úplně všechno, co jste si řekli. Jako vůbec nic neví a jediný, jakým způsobem on si může něco zapamatovat je, že si to napíše na papír a potom se na to při tý delší konverzaci podívá a přečte si to, aby vlastně věděl, co se stalo. To znamená, že nemá tu krátkodobou paměť, má tu dlouhodobou. To je to, co si ten model pamatuje o těch faktech, na čem byl natrénovanej, ale nemá tudletu krátkodobou paměť. A mimochodem je to i jako nemoc, že jo, kterou člověk může mít nebo nějakou poruchu. A to musí bejt teda šílený. Ale no zkrátka takhle mně docela funguje to jako vysvětlovat, aby se to dalo představit.

Jindřich: Já si myslím, že tady je možná ještě důležitý jako oddělit, co to vlastně je ten jazykový model a co je to ta aplikace před tím. Jo, ty jsi to tady, eh, párkrát, eh, nastínil. No ten jazykový model, to je ta, jak ty nazýváš černou krabičkou

Filip: Mozaik.

Jindřich: tím, eh,

Filip: Jo

Jindřich: tak. A předtím je vlastně ta aplikace, která třeba má tu paměť nebo má nějakej soubor, kam si zapisuje ty věci. Ale já když za, když přes tuhletu aplikaci, přes toho chatovacího asistenta pošlu dotaz, tak společně s tím tam jde i ta jeho paměť, protože jak už tady několikrát padlo, ten model je bezstavovej, ten si nic nepamatuje. No a stejně tak to je vlastně v delší konverzaci. Já můžu, jo, tady vést v-- opravdu hodně moc dlouhou, eh, konverzaci a ten model sám jako neví, o čem byla ta poslední zpráva. Ale ví to v tom kontextu, že, eh, ta aplikace, ten čot-chatovací asistent posílá celý to kontextový okno včetně celý ty předchozí, eh, konverzace a na základě toho ten model potom ví, o čem jsme se vlastně bavili předtím. Takže on vždycky musí projít celou tu konverzaci zpátky, aby teda pochopil, o čem jsme se bavili a aby pochopil tu moji jako navazující otázku. eh, vlastně může bejt někdy relativně extrémní, že jo, že já se můžu

Filip: Hm.

Jindřich: na úplně na konci na úplně jako triviální otázku, ale ten model si musí nastudovat, co jsme řešili dosud. to kontextový okno je omezený, takže kolikrát se asi každýmu z nás, eh, stalo to, že najednou Claude nebo ChatGPT nebo někdo řekl: „Hej, počkej, vydrž, já si to tady musím nejdřív jako sumarizovat, eh, abych potom tu sumarizace mohl použít jako to kontextový okno a odeslat to do toho jazykovýho modelu, protože už to kontextový okno aktuálně je příliš velký a já nemůžu pracovat dál.“ Eh, trošku jsem to samozřejmě jako zjednodušil, ale asi se, eh, rozumí, co jsem tím chtěl říct.

Filip: Jo, ta sumarizace prostě není nic jinýho než jedna z technik vlastně toho context engineeringu. Když ti dojde ten, ten zásobník toho vstupu, no tak prostě ten model se na to celý koukne a řekne: „Super, tak já z toho udělám jako třetí nový zápis nebo po, nevím, čtvrtý nový zápis a prostě vyházím věci, který nejsou potřeba a udělá tu sumarizaci, jak jsi vlastně, eh, říkal. No a když jsme u těch ještě pamětí, tak, eh, vlastně ono to nejsou paměti nebo záleží, jak to jako vlastně popisovat. Ty záznamy zkušeností, co jsem říkal, ty údržky, tak tomu se říká někde jak zadá jako episodic memory, kdy vlastně ten model si dává tady ty, tady ty záznamy. Vy to můžete najít, mrkněte třeba do ChatGPT nebo Clouda, tam v nastavení je memory a uvidíte, co ten model si vlastně jako o vás uložil, abyste získali představu, co si vlastně jako o vás pamatuje. Další věc je, že může třeba koukat do těch historických chatů a zase to jako nefunguje jinak, než že vy dáte požadavek a ten model vyhodnotí: „Aha, Filip se tady ptá na, nevím, tvorbu titulků k YouTube videu. A to už jsme řešili tady v tom chatu, protože titulek, to klíčový slovo se použilo tady i tam. Nebo jako sémanticky to dává smysl. No a tak si načtu nějaký třeba summary, to znamená nějaký jako shrnutí tohodle celýho, eh, vlastně jako chatu. Takže zase je to nějakej konstrukt, kterej se k tomu vytvořil, aby ty asistenti byli schopný fungovat líp. No a potom to už není, jako já tomu neříkám paměť, ale vlastně do toho kontextu to taky jde. Tak jsou ty systémový instrukce. Když používáte projekty, tak to, co si zadáte jako ty instrukce, tak to je vlastně jako součást celýho toho kontextu, co jde do toho jazykovýho modelu. A zase je to něco, co se přilepí do toho vstupního kontextovýho okna. Nebo když si nastavíte v ChatGPT osobnost, úplně stejný. Zase se to přilepí jako nějakej kontext neboli prompt vlastně jako na začátek. Takže celý ten context engineering není nic jinýho než co nejchytřejší skládání těch informací do toho kontextovýho okna.

Jindřich: Takže ono mnohdy, když já mám třeba pocit, že jeden chatovací asistent je lepší než druhej, tak to vlastně ve skutečnosti tak jako být nemusí, ale může to být

Filip: Mhm.

Jindřich: na tom systémovém promptu, třeba jeden používám lí-- jinak nebo, nebo víc nebo něco a zkrátka má třeba víc informací u mě uloženo v paměti. Takže ví,

Filip: Jasně

Jindřich: já preferuju, ví, kdo jsem, ví, zná třeba jaký moje záliby, eh, zná, co já dělám, zná mou jako náplň práce a podobně. A tohle je vždycky dobrý asi nepodcenit a podívat se minimálně, co tam je, aby člověk jako měl třeba přehled, protože tam někdy můžou bejt věci třeba, který nejsou úplně pravdivý, že jo, nebo nejsou

Filip: Mhm.

Jindřich: protože můžou pocházet z nějakejch historickejch chatů. A pokud já nechci, aby v rámci toho kontextu vždycky chodil s tím každým mým promptem, kterej já posílám do toho jazykovýho asistenta, tak je dobrý si tohleto jako odladit. Takže třeba smazat to, co mi přijde nerelevantní, anebo naopak přidat to, co, eh, to, co mi tam chybí. Takže tohle už může bejt nějakej takovej jako základní tip, jak přistupovat k práci s tím kontextem

Filip: Rozhodně. Eh, protože zase, jak jsem říkal, není to o ničem jiným, než poskytnout tomu agentovi co nejvíc kontextu, ale toho relevantního a nemít tam ten balast. Takže jakoby každá věta, kterou máte v tý paměti a není správná, je třeba-- nej-nejhorší je, když používáte ten účet s jinejma lidma a vlastně třeba v rodině, že jo. Když chcete ušetřit peníze, tak to prostě sdílíte s, já nevím, s manželkou, s dětma a-a jako je to super, ušetříte peníze, ale ta vaše paměť tak pak vlastně jako pokulhává u toho modelu, protože najednou se kombinuje paměť pro čtyři lidi. Ono to do jistý míry bude fungovat. Neznamená to, že to nebude jako vůbec fungovat, ale možná v tomhletom případě bych doporučoval i někdy tu paměť vypnout nebo ji aspoň řídit a promazávat, protože nebude to tak personalizovaný na vás, jako když byste toho asistenta používali vlastně jako sami. Tak to je asi k těm pamětem všechno. Co se týče toho kontextu, aby AI vlastně jako chápala, co po ní chcete, tak vy ty věci můžete zadávat v různých formátech. Eh, jedna věc je prostě klasickej prompt, prostě text. To funguje skvěle na nějaký jako instrukce nebo prostě vyjádření toho, co vy potřebujete. To standardní prompt. Ale vy nemusíte vlastně jako používat jenom tadycto zadání, ale můžete třeba pomocí takzvaných markdown souborů dávat důraz na nějaký slova, že něco je nadpis, něco je zvýrazněný, něco je podnadpis, je to rozčleněný do nějakejch sekcí. A tohle opět, byť je to jako vlastně nuance, tak tomu modelu pomáhá líp pochopit ten text. Podobný věci jsou třeba u JSONu. Pokud JSON neznáte, tak je to jenom jako strojově čitelnej formát nějakýho zápisu dat, jo, že prostě, nevím, vymyslím si, mám seznam lidí a mám tam vždycky jméno a e-mail. Tak JSON vypadá tak, že to jsou tak jako složené závorky. Pak je tam name Filip, email info Filip Oborný cz, čárka, Jind-Jindřich nebo name Jindřich, eh, email DDD Jindřich mail. A jako velmi zjednodušeně řečeno, když se hodíte do Googlu, uvidíte, jak vypadá JSON, ale je to nějakej strukturovanej formát a opět je třeba míň efektivní než ten markdown, protože to už vidíte, že se tam opakujou ty názvy těch, hm, položek, ten name, email a tak dál. Ale zase mnohem líp dokáže vyjádřit nějakou strukturu. Takže vždycky to není jenom o minimalizaci tokenů, ale je to i o tom předat vlastně význam a kontext toho, těch informací, co já se snažím tomu modelu vlastně sdělit.

Jindřich: Tam asi jako hodně záleží. Em, no takhle, důležitý je samozřejmě si uvědomit, že z podstaty věci, tak ten jazykový model vždycky bude mít radši jako strukturovanej vstup, data, což znamená přesně JSON soubory a Markdown soubory a podobně. Em, tudíž my se asi pomalu dostáváme jako k tý hlavní pointě toho jako našeho sdělení a to je nějaká organizace vlastně tý knowledge base a celýho toho

Filip: Hm.

Jindřich: kterej může být opravdu velkej a vždycky ten jazykovej asistent na základě konkrétního tématu může pracovat třeba jenom s konkrétní částí. Ale, em, kam jsem se chtěl já dostat v tenhle okamžik, tak je, že já osobně bych třeba volil, em, Markdown soubor na nějaký vysvětlení, řekněme popis něčeho, popis, podpis

Filip: Mhm.

Jindřich: práce, cokoliv. A ten JSON spíš na nějaký jako databázový jako delší seznamy a podobně. Ty jsi dal dobrou otázku s tím, eh, jméno, příjmení a email. Takže kdybych měl nějakej list třeba sto tisíce lidí a podobně, eh, se kterým bych já potřeboval pracovat, tak samozřejmě asi lepší to mít jako v JSONu než tohle to dávat do toho Markdownu

Filip: Jo jo, rozhodně jakože Markdown super na nestrukturovaný data, prostě jako texty a JSON, XMLko, CSVčka, Excely, cokoliv prakticky Excel je ve výsledku taky nějakej strukturovanej formát. Tak, eh, no tak na to použij ten strukturovanej formát. No a ty už jsi to naznačil. Tohle celý vlastně jako směřuje k nějaký organizaci tý Knowledge Base, Knowledge Base. Když bych měl vysvětlit, co to ta Knowledge Base vlastně je, tak to je vlastně asi nejvíc jedno-zjednodušeně řečeno, může to být nějaká složka, kam vy si budete organizovat tady ty Markdown soubory, XMLka, JSONy a tak dál. Zkrátka budete to mít jako na jednom místě. Ony jsou pak různý řešení pro ty Knowledge Base, který nejsou založený jenom na tý složce, ale ta složka je taková vlastně nejjednodušší pro tu představu. Opravdu, představte si to tak, že máte jako složku v počítači a teďka máte tam nějaké podsložky a do nich si logicky dáváte ty vlastně jako Markdown soubory, aby ten agent byl schopnej se v tom vlastně jako orientovat a číst ty data. A tam je pak strašně důležitá ta struktura, jak si to ukládat, aby, aby se v tom ten agent vlastně zorientoval

Jindřich: Je asi důležitý jako primárně říct to, že já například můžu pracovat na jako hodně projektech. Tím pádem

Filip: Mhm.

Jindřich: mít jako oddělený, že jo, ten

Filip: Jo

Jindřich: Já nechci mít jednu hromadu jako informací, kde bude úplně, úplně všechno. Jak jsme si třeba naznačili, že to v tý paměti toho chatovacího asistentu je, tak tam to je samozřejmě hodně stručně. Ale já si můžu jako postupem času budovat nějakou base, například tady na náš podcast, pak nějakou pracovní, že jo, pak nějaký side projecty tak dál. No a zkrátka jako podstatou je mít strukturovaný informace na jedný hromadě, se kterýma já budu pracovat. A ty tady často jsi vlastně říkal, že můžete si organizovat, můžete si vytvářet. Ale já bych spíš jako řekl, že to vlastně vytváří ten agent za mě, že jo. Jo, že,

Filip: Jasně

Jindřich: destiluje ty moje chaty nebo mám nastavený nějaký workflow, kdy on jako získává informace v našem případě třeba z toho transkriptu, že jo, z toho vytahá další informace, dohledává nám je tak dál. Takže asi není to úplně o tom, že jako já bych jako uživatel psal tu moji knowledge base a po

Filip: Já se

Jindřich: chatu si dělal poznámky. Byť samozřejmě můžu, jasně, můžu do něj jako jakkoliv ručně zasahovat, ale pravděpodobně jako ta podstata věci toho kontextu je spíš asi postupem času mít automatizovaný nějaký workflow, který mě udržuje a hlavně aktualizuje, vytváří novou a aktualizuje tu moji knowledge base.

Filip: Jo, to, to jsi zmínil dobře. Já když jsem myslel jako to, že si tvoříš knowledge base, tak já už dneska nepředpokládám, že jako lidi píšou textový soubory ručně, že prostě to tvoří ten agent jako do jisté míry, sem tam si něco jako upravuješ, takže

Jindřich: je to Filipe tvoje sociální bublina, věř

Filip: Jo, jo, ano, to, to je dobrý zmínit, takže dobře, že jsi na to poukázal. Takže ano, dělá to ten agent. Já ještě možná jenom rychlá odbočka, proč vlastně tohleto dělat? Proč to nenarvat do toho kontextovýho okna? Řeknete si milion tokenů, to je super, mně se tam všechno vejde, tak to tam prostě dám a bude. Ale ten problém zaprvý je, že jednoho dne vám to jako přeteče. To je jako první věc. Ale druhá věc je, že čím víc toho kontextu tam zaplníte, tak jsou jako grafy u těch modelů, kdy vlastně ten model je nejvíc efektivní, to znamená, že nejlíp chápe ty informace, když máte třeba to kontextový okno zaplněný, teď si jako vymyslím, pro každej model je to jiný, ale třeba kolem dvě stě nebo tři sta tisíc těch tokenů. A i přesto, že to kontextový okno je milion, tak ale ta efektivita pak u toho čtyři sta tisícího, pět seti tisícího a tak dál tokenu už jako klesá. A vy chcete vlastně mít tu knowledge base, kdy vlastně vy to nechcete rvát ty vaše informace do toho kontextovýho okna. Chcete je mít uložený třeba na tom disku v té složce a aby ten agent si chytře dokázal sám sáhnout po těch věcech, který vlastně on potřebuje. A tam je důležitá právě ta organizace, aby ten agent jako věděl, kdy po čem má sáhnout. Jindřich už jako naznačil to, že je fajn si to rozdělovat po jednotlivých projektech třeba. To je jako super, protože my třeba máme přesně knowledge base na Deep Link Show podcast. Já mám knowledge base pro svoje podnikání, pak mám knowledge base pro youtubovej kanál AI s rozumem a vždycky ten agent je kdyžtak schopnej přeběhnout mezi těma knowledge basema, ale v základu jsou oddělený. A to, co jsem myslel tím, že si ji jako tvoříme my, tak podle mě i přesto, že ten agent je jako velmi schopnej to navrhnout za vás, tak je dobrý nad tím trošku uvažovat i třeba dopředu, co tam budete chtít mít za data uložený a vlastně v tom návrhu mu pomoct, vlastně jako instruovat ho tím, vysvětlit mu, jaký data tam budete chtít ukládat, co je tím vaším cílem, aby on si ty data zorganizoval vlastně správně. Protože zase pro příklad, jak máme my tu knowledge base na Deep Link Show, tak úplně jako jednoduchá věc by byla: budu mít jenom transkripty těch videí uložených ve složkách. Aha, teďka jsme začali dělat sessions, což jsou vlastně pozvaní hosti. Je to trošku jinej formát a ten agent třeba se na to bude chtít kouknout někdy jindy. Tak je fajn to třeba rozdělit do dvou složek nebo aspoň tam mít nějakej identifikátor, že epizoda je E, session je S. Zkrátka je to stejný, jako kdybyste to pak předávali nějakýmu člověku, aby se v tom orientoval. Tak i ten agent musí mít něco, čeho se jako chytit. No a potom na základě tohodle vy jste schopný si tvořit jako pokročilejší a pokročilejší věci, ale k tomu se možná dostanem ke konci nějakou LLM wiki a další věci, který jsou za mě jako skvělý, ale to nepatří ještě do těch základů teďka.

Jindřich: Ve svý podstatě, eh, jako ta samotná podstata jako týhlety problematiky je, že já vlastně do toho jako jazykovýho modelu chci poslat co možná nejmíň, co možná nejvíc efektivních informací. Takže já hledám takový to golden ratio mezi tím,

Filip: Mhm.

Jindřich: abych mu opravdu dal ty informace proto, aby on nejlíp a nejefektivnějc udělal ten úkol, kterej já po něm požaduju zároveň abych mu jich nedal jako příliš mnoho takovejch, který nejsou třeba relevantní pro něj, že jo.

Filip: Jasně

Jindřich: já to potřebuju nějak organizovat. A přece jenom to jako kontextový okno jako není nekonečný. A sám jsi tady jako naznačil, že čím je větší, tím pádem teoreticky ta jako efektivita těch dat může klesat. Takže tohleto, ta podstata věci zkrátka je mít to dobře zorganizovaný pro to, aby ten agent si vždycky vzal jen ty data, který a ty informace, který on skutečně potřebuje k vykonání toho konkrétního úkolu a aby nemusel načítat úplně všechny nebo respektive celou knowledge base, kterou já mám k dispozici, protože ta samozřejmě jako s postupem času může nabrat velkejch rozměrů

Filip: Rozhodně. Co je dobrý říct, tak ta knowledge base, tak vlastně nemusej bejt vždycky jenom Markdown soubory. Jasně, můžou tam bejt JSONy, XMLka a další věci. To je jako jasné, ale já třeba u svejch knowledge basí, tak někdy používám i propojení na Notion. Notion, poznámkovej blok, prostě online nástroj, kam si můžeš zapisovat poznámky, tvořit si tam i různý databáze. A já třeba pro knowledge base o svým vlastně jako podnikání, tak mám tyhlety záznamy třeba o klientech v Notionu, v databázi, kde prostě mám popsaný ty lidi, ale v tý lokální knowledge base, to je to, co je v té složce, tak mám jenom v Markdownech vlastně jako založený jméno těch lidí, nějaký jednoduchý informace a odkaz na ten Notion. A byť je to trošku asi jako pokročilejší věc, tak ale proč todleto dělám, je to, že ty agenti jsou naprosto skvělí v procházení dat ve složkách na vašem počítači. To znamená, máte ty data uložený v těch složkách. Ten agent je schopnej se podívat: „Aha, tady jsou tydle data. Aha, tady jsou tady té.“ Jen tak si naťuknout a zjistit, jaký data kde jsou. My se pak dostanem k tomu, jak těm agentům pomoct, aby věděli, kde co najít. Ale jako v základu ten agent si to takhle umí poťukat. No a vy, když to ale celou tu knowledge base dostanete třeba, že byste ji celou měli v Notionu, tak jako ten agent si s tím poradí, ale bude mu to trošku dýl trvat, protože tady to naťukávání těch lokálních souborů, co máte u sebe v počítači, tak je pro něj zkrátka jako rychlejší, než se vždycky připojovat na ten online nástroj, protože to je vždycky komunikace, že jo. Počítač, server prostě přes internet a je to jako pomalý. Takže někdy může dávat smysl i tady ty dva přístupy kombinovat a v knowledge base v těch Markdown souborech mít něco a z nich se třeba pak odkazovat na nějaký větší detaily do nějakýho jinýho poznámkovýho bloku na Google Disk, do Notionu atd.

Jindřich: Což asi předpokládám, že nebo jeden z těch jako benefitů, proč ty to máš takhle udělaný, tak je i to, že, eh, v Notionu je to zkrátka, líp se s tím pracuje, že jo, líp s tím pracuje jako člověk. Takže ty když do toho potřebuješ zasahovat, třeba dělat si jako vlastní poznámky nebo z nich třeba potřebuješ jako z jakéhokoliv důvodu čerpat ty a ne ten agent, tak to může být takový jeden z důvodů, proč to máš asi takhle nastavený, předpokládám.

Filip: Jo, zároveň tam můžu spolupracovat s více lidma. To se v těch lokálních knowledge basích dělá jako hůř. Můžu tam přistupovat z telefonu, mám to MCP do Notion napojený i do tý chatovací apky, protože třeba tady tu knowledge base, když to máte jenom v těch markdownech, tak se to jako hůř napojuje. Jako jsou způsoby, jak to udělat, ale hůř se to napojuje do nějakejch jinejch klientů, než je ten váš agent na tom počítači. Už to vyžaduje trošku víc engineeringu, prostě jako nastavení. No a tak pro mě ten jednoduchej hack je, že ty data mám i v Notionu. No a když se v Cloudovi připojím Notion normálně jako v mobilní apce, že? A prostě se ho zeptám, tak on mi je schopnej odpovědět, protože on se do toho Notionu dostane. Nemá ty data, co jsou v těch markdownech, ale pro nějaký rychlý dotazy třeba: „Hele, co jsme řešili s tímhletím klientem?“ Tak to vlastně jako dostačuje. A za mě to zvažování, co kam dát, je o tom, že co je potřeba pro agenta rychle vyhledat, tak mám v tom lokálním v těch markdown souborech. A co už jsou nějaký detaily. Třeba jako zjisti mi víc o tomhle klientovi, tak mně nevadí, že to bude trvat o půl vteřiny nebo o vteřinu dýl, než on si to natáhne z toho Notionu, protože to už jdu po tý jako jedný jasný věci. Samozřejmě ta hranice je vždycky jako dosti individuální a je to o tom si to vyzkoušet.

Jindřich: Co, co mi přijde, já jsem to teda nezkoušel, ale, ale mám pocit, že na LinkedInu a na Twitteru teď o tom mluví jako hodně lidí, že je dobrý, eh, využívat Obsidian pro tu knowledge base, což vlastně bude taková kombinace trochu toho, co jsi říkal ty. Mám tady takový markdown soubory, mám odkazy do Notionu s tím, že Obsidian tak je taková open source alternativa Notionu. Takže o-- takže ten Obsidian ty si vlastně můžeš rozjet lokálně jako na tom tvým devicu a ty markdown soubory nebo ta tvoje knowledge base, kterou máš, tak můžou komunikovat s tím, Obsidianem, kterej máš u sebe jako lokálně rozjetej. Takže možná to může bejt taková alternativa, o který mi přijde, že se docela poslední dobou mluví

Filip: Ale ono o tom Obsidianu se podle mě mluví ze dvou důvodů, možná ze třech. No jako jeden z nich je, že ty si tam můžeš zaplatit ten jejich Vault a máš pak synchronizaci právě třeba jako s telefonem, s jiným počítačem. Máš to prostě někde na internetu, to je jako super. Zároveň ten Obsidian umí jako velmi efektivně propojovat ty Markdown soubory mezi sebou, takže ti pak tvoří takzvaně jako knowledge mapu. To je vlastně jako jeden ze zajímavých benefitů. No a třetí je, že ty třeba když tam chceš mít nějaký databáze, to znamená třeba výpis těch kontaktů, tak oni mají funkci Bases. To znamená, že ti udělají tady ty databáze. Co ale já u Obsidianu pořád jako extrémně poskládám, je ta kolaborace s více lidma, protože já často třeba potřebuju udělat to, že klientovi nasdílím nějakou page. Jo a tam, tam už prostě ten Obsidian pokulhává. Takže já paradoxně i ten Obsidian používám, protože vlastně jako složková struktura Markdownu, tak se dá otevřít v Obsidianu. To je vlastně jako editor plus pár logiky nad tím. Takže vy můžete mít tohle a ještě klidně k tomu můžete mít napojení do, do toho Notionu

Jindřich: Jako nevím, jestli úplně sp-- jako nevím, jestli říct jako pokulhává, že je to prostě něco jinýho. Je to jako asi určený, je trochu lehce něco

Filip: jo, já jsem spíš reagoval, jak jsi říkal, že to je jako alternativa, tak jako tam je to takové jako jo i ne

Jindřich: Tak je to self hosted, že jo, takže teoreticky pro někoho to může být jako levnější. Může to někoho dávat větší smysl, protože ten Notion přece jen je jakoby dost drahej nástroj potom, pokud v

Filip: Hm.

Jindřich: je třeba jako polovina firmy, tak, eh, pro někoho to může dávat, eh, jako třeba jako větší smysl. No a pro, pro podobnej use case zkrátka. Okej, ehm, no nic, ehm, kam asi jako pokračovat? si teda řekli, že, hm, je vhodný ten kontext, že jo řešit nebo respektive tu knowledge base obecně dělit jako na nějaký projekty, že tam mám nějaký asi markdown soubory, že tam mám i nějaký strukturovaný data, což jako ideálně můžu tam mít jako logicky i jako nestrukturovaný data. Ale jako co-- tady se asi nabízí otázka, co se stane s tím, když ta knowledge base bude jako příliš velká? Jak s tím

Filip: Mhm.

Jindřich: budeš pracovat třeba ty, když knowledge base jako našeho podcastu už bude větší než milion tokenů? jako může bejt, že jo. Ono jako milion tokenů přece jako není zas tak mnoho

Filip: No to je vlastně jako dobrá otázka, ale to je přesně to uvědomění toho, ten agent si to nikdy nenačte celý. Takže jako úplně jednoduše ta Knowledge Base může bejt jako mnohem větší, než je milion tokenů, ale on s tím bude pracovat dobře. Ta challenge, ta výzva nepřichází s velikostí kontextovýho okna, ale spíš s tím, jak ten agent se v tom pak zorientuje. On, já už jsem to říkal, on je jako velmi dobrej ve vyhledávání v těch souborech, v těch markdownech. Takže já když mu řeknu: „Hele, v jakých dílech jsme vlastně jako mluvili o ChatGPT?“ On je schopný si vyhledat ty zmínky v těch jednotlivých souborech. No ale čím víc to bude růst a růst, tak todleto vyhledávání bude složitější. Bude to stát víc tokenů, rovná se víc peněz, bude to zabírat víc času a je několik technik, jak todleto řešit. Ta- Vlastně jako nejstarší, nejjednodušší, ale vlastně nevím, jestli nejlepší, tak jsou takzvaný jako vektorový indexy, vektorový databáze. Zase není třeba se toho úplně jako děsit, ale je to něco, co já si nainstaluju. Je to nějaký nástroj, který vlastně mi vedle těch mejch Markdown souborů vytvoří takzvaný indexy, který vlastně jako vezmou ty Markdowny a rozseká je na vektory. A ty pak, když se zeptáš, ve kterém díle jsme mluvili o ChatGPT, tak on je takzvaně sémanticky schopný vyhledat, v jakých asi Markdownech se o tom mluvilo, v jakých částech a vlastně toho agenta líp nasměrovat. Je to taková berlička, aby on s tím jako líp vyhledával. Tak to je jako jeden způsob, tyhlety vektorový databáze. Často se tomu pak říká i, i vlastně jako RAG, ale ten RAG, to je tak jako umbrella pojem pro vyhledávání nebo získávání nějakejch jako informací. A druhou alternativou, velmi zajímavou, kterou já teďka používám, tak je koncept LLM wiki od Andreje Karpatyho. A ono to není žádnej nástroj, je to jenom myšlenka, jak si vlastně jako organizovat ty data. A já to dělám tak, že vlastně my vždycky natočíme podcast, udělá se ten přepis a já ho nechám agentem zpracovat, aby mi vytahal veškerý firmy, který jsme zmínili, veškerý lidi, veškerý nástroje, veškerý koncepty, vytahal to zvlášť a založil na to nový Markdown soubory. Takže pro příklad budem mít tady tu epizodu o context engineeringu, kontextovým okně, tak on mi vytahá pojmy jako kontextové okno, pojem context engineering a založí na to novej Markdown a tam vysvětlí, jak my o tom mluvíme, o čem to je a dá tam odkaz: „A zmiňovali jste to v téhle epizodě." No a když za čtrnáct dní vyjde nová epizoda, která bude třeba o vibe codingu a budem tam zmiňovat kontextový okno a já ji nechám zpracovat, tak ten agent řekne: „Aha, já už tady ten termín kontextového okna znám. Jenom tady doplním zápis, že ještě o tom mluvíte v kontextu vibe codingu." Takže tam přidá tudle větičku a ještě tam přidá odkaz vlastně na ten novej díl. A příště, když já řeknu tomu agentovi: „Hele, potřebuju prostě informace o kontextovým okně, jdeme psát článek o tom, zjisti mi, v jakejch dílech a jak o tom mluvíme," tak on nemusí procházet nejdřív všechny ty díly, ale on si najde tady ten pojem, vidí kontextové okno, hnedka vidí vysvětlení, jak my o něm mluvíme a v jakejch dílech a až na základě toho si načte ty informace, třeba celej přepis toho dílu. Takže vlastně jako opačně vyhledává ty data. A za mě todle je vlastně jako super způsob, kdy vy vlastně toho agenta necháváte si přechroustávat tu, tu znalostní bázi, aby si tyhlety spojení logický dělal v tom vlastně on sám. Možná to zní složitě, kdyžtak se mě doptají. Nevím, jestli jsem to vysvětlil správně, ale tohle je ten jako princip tý LLM wiki

Jindřich: Myslím, že jo. Ale co mi tam jako ještě trochu chybělo, tak velmi pravděpodobně ty sis, jak jsi zmiňoval, že máš toho agenta, že jo, kterýmu ty dáš ten transcript a on ti z toho vytahá jako veškerý ty, ty potřebný data. Tak velmi pravděpodobně jako toho agenta máš řešený nějakým skillem, že jo, kde ty máš jako definovaný, co teda

Filip: Jo

Jindřich: on má dělat. Korekt. No a tohleto vlastně není nic jinýho, než že se oklikou vracíme zpátky od, eh, k tomu, o čem my vlastně mluvíme. A je to ten kontext, jo. Takže ty tomu jazykovýmu modelu pošleš tady skill, ve kterým je přesně napsáno: „Hele, vytahkej mi, o čem mluvíme, vytahuj mi témata, vytahuj mi, eh, společnosti, jména a to mi doplň sem a sem." A k tomu ty mu tam pošleš ten transcript z tý naší vlastně aktuální epizody. Takže ono

Filip: Já vím

Jindřich: tohleto, celá tejhleta cesta vlastně krásně ilustruje to, jak vlastně kontext je alfa omega toho celýho jazykovýho modelu,

Filip: já možná tady ještě jenom, jo, já tady jenom doplním k tomu skillu, protože jsme to tak jako přeběhli, ne třeba všichni jako vědí. Skill si představte jako šablonu promptu. Hodně zjednodušeně řečeno jo, je to prostě něco. Já bych tohleto samý, co teďka Jindřich říkal, že můžu mít v tom skillu, aby jako mi z toho vytvořil ty entity a to, co jsem zmiňoval, tak já bych tohle mu všechno mohl napsat v tom promptu a ten agent to udělá. Jenomže já nezpracovávám jednu epizodu. Za týden budu dělat další a za týden budu dělat další a za další týden další. A abych pokaždý ten prompt někde musel psát nebo si ho ukládal někam a pak ho kopíroval, tak je to zbytečný a dají se na to právě v těch agentech tvořit takzvaný skilly, což prostě je uložení tadyctý šablony toho promptu a vy pak jenom řeknete: „Zpracuj mi tady tu epizodu, tady máš přepis.“ A ten agent ví, že zpracování epizody vypadá podle zadání tady v tom skillu, použije ho a řídí se vlastně těma instrukcema.

Jindřich: A zase to není o tom, že byste ten skill psali, že jo. My se vlastně odladíme s tím chatovacím asistentem nebo s

Filip: Jasně

Jindřich: kterýmu řekneme: „Hele, chcem todle, máš tady todleto na vstupu, je ten list base, chci, aby byla v takovým AMACO formátu a vytvoř mi z toho skill, kterej já můžu, eh, příště, eh, vlastně použít znovu. Eh, ten Claude rovnou vytvoří skill. Já tam akorát kliknu uložit a on se mi uloží pod nějakým názvem, kterej já potom v tom chatovacím okně volám přes lomítko. No a když dostanu nějakej výstup, se kterým nejsem spokojenej, tak mu akorát řeknu: „Hele, uprav tohleto v tom skillu," abych se vždycky dostal vlastně do toho výsledku, kterej je, eh, pro mě kýženej

Filip: Jo a ty skilly vlastně jako řešej tady tu znovupoužitelnost tady těch promptů by se dalo říct. No a pak je ještě jedna věc, která je v různých agentech poměrně důležitá. Možná už jste to slyšeli. Soubory jako Claude MD nebo Agents MD je to markdown soubor, nic jinýho. Je to textová informace, ale ten rozdíl je, že ten agent ji načte vždycky, když s ním začnete nějakou konverzaci. Takže tam v tady těch souborech je jako dobrý jenom pro kontext Claude MD pro Claude Coda Agents MD pro všechny ostatní, protože Anthropic musí bejt jedinečnej. To je jedno. A taky je dobrý tady v těch souborech vlastně jako popsat, co v tý znalostní bázi máte, jak to funguje, co jsou třeba ty entity, že někam si ukládáte zmínky o lidech, někam ty celý přepisy. Zkrátka vysvětlit tomu agentovi, co kde najde, aby on to nemusel pokaždý poznávat znova. Protože zase, jak jsme říkali, když začne nová konverzace, agent si pamatuje tužku. Prostě vůbec nic a vy mu všechno musíte znova vysvětlit. A tady tím souborem, ten se vždycky načte do toho kontextu, tak mu dáte vlastně takovej jako, jako tahák, jak ta vaše znalostní báze vypadá. A opět, jak říkal Jindra, nepíšete si to sami, necháte to třeba toho agenta pak vygenerovat nebo to společně vymyslíte. Není potřeba to psát prostě ručně.

Jindřich: Pokud nepletu, tak my jsme tohle vlastně možná nezmiňovali v epizodě o, o vibe codingu, ale velmi úzce s tím, to s tím souvisí, že jo. Protože když já mám

Filip: Hm.

Jindřich: software aj projekt, tak taky tam mám pravděpodobně, pokud to, eh, tvořím s nástrojem od Anthropicu, tak tam mám code MD file a taky ten, že jo, ten obsahuje nějakej technologickej stack, o čem ten projekt je, jaká je jeho struktura, eh, kdy, jak se spouští, že jo, jak se spouští cesty a, a tak podobně. určitě zase, eh, byť to opakuju už poněkolikrát, code MD je to zase něco, co se posílá tomu agentovi. Je to kontext a je to, eh, samozřejmě důležitý a vlastně z-značně mi to zvyšuje efektivitu celýho toho mýho procesu, abych se dostal k tomu výsledku, kterýmu chci

Filip: Jo a o tom to celý vlastně je. Oni jsou pak různý další pokročilejší techniky, jak, eh, s tou znalostní bází pracovat. Nejenom skilly, ale jsou pak různý rule, hooky, eh, komandy a, a tak dál. Ale to si troufnu tvrdit, že už jsou jako pokročilejší věci. Pojďme si možná říct, eh, jak, eh, vlastně jako začít tvořit tu knowledge base, tu znalostní bázi, protože to si myslím, že může bejt pro spoustu lidí problematický. Jakože mám nějaké informace, chci to začít tvořit, ale kde jako začít, že jo? Nemám žádnou strukturu složek, nemám prostě nic. A za mě ten jako začátek nejlepší je prostě vytvořit si složku a začít tam načítat nějaký informace. Nevím. Máte přepisy z jednání? Super, tak si vytvořte složku Knowledge base, Znalostní báze, v ní si slo-vytvořte složku Jednání a stáhněte si tam veškerý ty přepisy. První krok. Potom začněte přemejšlet, že co by se vám asi tak hodilo. Tak jako který jednání je s jakým člověkem spojený? Řeknete agentovi: „Hele, na základě tady těch jednání zkus mi někam vypsat ty lidi, se kterýma jsme se bavili.“ Aha, super, tak možná bysme si na to mohli udělat složku Lidé a tam si zapisovat ty informace o těch lidech. A takhle jako postupně půjdete inkrementálně a budete to jako zlepšovat. A zase nevím, jestli jsme to říkali v tomhle díle, ale o tom díle o wipe codingu určitě. Nenechte se jako paralyzovat tím, že nevíte, kde začít, protože vy nic nebudete upravovat ručně potom. Vy vždycky tomu agentovi můžete říct: „Hele a víš co? Mně tahleta struktura nevyhovuje. Pojďme ji celou předělat.“ Ono mu to zabere jako půlku večera. Bude vás to stát nějaký tokeny, ale pokud jste na předplatným, tak vás to zas tolik jako nebolí a můžete přejít mezi těma formátama. Takže já třeba svoji znalostní bázi jsem změnil snad pětkrát. Jako chvilku jsem měl všechno v markdownech, pak všechno v Notionu, pak jsem zkoušel ten hybrid. Různě jsem to jako přelíval, než jsem doiteroval k něčemu, co mi vyhovuje. Ale tím, že máte agenty, tak vy se jako nemusíte bát. To, že tam je jako tisíc záznamů. No jéje, no tak řeknu agentovi: „Prosím, uprav to prostě jinak, než jsem to chtěl předtím. Já jdu na oběd nebo na večeři, vrátím se a je to hotový.“ Takže jenom tím chci říct, nebojte se jako s tou znalostní bází experimentovat.

Jindřich: To si myslím, že pro leckoho může bejt jako trochu složitej kognitivní switch, že jo, protože my přece jenom historicky jsme zvyklí

Filip: No jasně

Jindřich: s těma dokumentama. My jsme zvyklí pracovat s jako s nějak s jako s nadpisema, že jo, s nějakou strukturou a zkrátka tak, jak to vyhovuje mně, abych já věděl, kde co mám, abych já věděl, kam šáhnout a podobně. Ale teď ten přístup se mění a my potřebujeme hlavně, aby to pro tu agenda bylo jako optimální, že jo. Takže jasně, my můžeme dát nějaký vstupy, jako že hele, pravděpodobně tak, jak já s tím budu chtít pracovat, tak bude vhodný, aby ty jsi měl přehled třeba o tématech, který se tam řešej, nebo abys měl chronologickej přehled. Třeba co

Filip: Mhm.

Jindřich: řešilo minulej tejden, co se řešilo před půl rokem, že jo a podobně. Abys to mohl nějak jako prioritizovat a tak dál. myslím si, že opravdu pro řadu z nás, než uděláme ten kognitivní switch a než si zvykneme na to, že my vlastně tu strukturu připravujeme spíš pro ty agenty, aby oni s ní pracovali a dávali nám pak až ten výsledek, tak bude trochu odlišnej, protože

Filip: Mhm.

Jindřich: jenom když já to jako hodně zjednoduším, tak mně by mohlo bejt ukradený, jak ta struktura složek vypadá, jo. Jenom já

Filip: Jasně

Jindřich: dobře pracovat a vždycky mi ten výsledek dal ideálně za co možná nejmenší počet tokenů samozřejmě, ale

Filip: Že?

Jindřich: s velmi vysokou přesností.

Filip: Jo, to je jako velmi dobrá poznámka. I pro mě to je někdy strašně složitý, že mám tendenci, já to musím vymyslet na začátku, co nejlíp to půjde, protože pak to bude peklo změnit a ono to jako peklo bude, ale ne pro mě, pro toho agenta. On neodmlouvá a jako bude mě to stát nějaký tokeny, ale prostě to udělá. Takže to je jako obrovská výhoda. Eh, teď jsem chtěl říct nějakou myšlenku a samozřejmě jsem ji zapomněl. Ehm, no, sakra

Jindřich: říkal, že ten agent jako neodmlouvá. No jasně, on samozřejmě nejezdí ani na dovolenou, že jo?

Filip: Jasně

Jindřich: On udělá to, co po něm chceš. Jasně, občas samozřejmě vypadne, občas nefunguje, což se nám jako u Anthropicu stává relativně často. Pak si člověk vypadá jak bez ruky a musí někdy tu složku teda otevřít a proklikat se tam teda, kam vlastně potřebuje. Ale

Filip: agenta od jiný firmy, ne?

Jindřich: přesně tak no, používají, pou-použiješ i jinýho agenta ad jedna eh, zkrátka jako budoucnost je pravděpodobně jako taková, že jo, že, eh,

Filip: Jo jo

Jindřich: víc a nebo že budou dostupnější a dostupnější

Filip: Jo, už jsem si vzpomněl, co jsem chtěl, co jsem chtěl říct. A to je taková, ale to jako je i není nová věc. A možná jste zaregistrovali, že Anthropic mluvil o něčem, čemu říká dreaming, snění těch agentů. No a to je něco, co vy si můžete udělat vlastně sami v tý vaší znalostní bázi, kterou když teďka máte, tak vy vlastně, jak jsem zmiňoval jo, tvoříte si nějaký ty vztahy, jo. Třeba my v tom Dimple Show si děláme ty nástroje, lidi, zmínky a tak dál. No a vy třeba v noci můžete nechat pustit toho agenta a zase může to bejt nějakej skill nebo něco a necháte ho vlastně jako procházet tu znalostní bázi a hledat třeba ještě souvislosti, na který při tom prvním zpracování zapomněl. Propojovat ty data, tvořit nějaký pomocný soubory a vlastně necháte ho přemýšlet hodně v uvozovkách nad tím, jak ty data ještě líp strukturovat, abyste se v nich vyznali. Nebo třeba hledat nějaký nelogický věci, že třeba v jednom díle jste tvrdili tohle a v jiným tamto, tak aby on to našel a našel tudle nekonzistence a upozornil vás na to. Zkrátka můžete nechat toho agenta i jako, já nechci říct navolno, ale jako procházet tu knowledge base a hledat tam tady ty delší vztahy a nejenom vlastně jako vkládat nový informace dovnitř. Takže to bysme zabíhali už jako na hodně pokročilých věcí, ale pokud vás jako zajímá, mrkněte od Anthropicu na funkci Dreaming a případně určitě bude spousta článků, jak si ji třeba do jisté míry implementovat sami.

Jindřich: Ano, potom co se člověk už dostane jako do nějakýho workflow, tak ani vlastně nemusí mnohdy tomu jako agentovi říkat, co chce, že jo. Protože ten agent už i z toho obsahu toho souboru třeba, které já mu dám, tak dokáže zjistit, jako o co se jedná. že on už teď zná třeba tu naši workflow, jak děláme tu knowledge base my. Takže my teď když mu dáme jako ten transkript, tak on už ví: „Aha, jasně, ok, tady Filip s Jindřichem další díl podcastu Deep Link Show. Fajn, jdu teda zpracovat, co je potřeba. Jdu jim z toho vytahat veškerý

Filip: No jasně

Jindřich: se podívat, v jakejch dalších epizodách o těchhle tématech mluvili a tak podobně. Takže vlastně tenhle proces do jisté míry jde jako hodně automatizovat, protože jako přece jenom ruku na srdce, kdo z nás každej den dělá něco originálního, že jo? Moc ne, přece

Filip: Jasně

Jindřich: je to rutina a dřív nebo později se ty jednotlivý jako fragmenty naší práce jako opakují a jsou podobný. Takže spoustu věcí nepochybně lze automatizovat.

Filip: Rozhodně. Je to pak jenom o tom zvážit, jestli ta automatizace je vlastně jako worth it, jestli se vyplatí. Ale minimální věc, co můžete udělat, jsou právě ty komandy a skilly, protože ty vás jako nestojej prakticky nic a ušetří vám to dlouhodobý nebo sáhodlouhý vysvětlování toho, co chcete. Vy jenom prostě řeknete: „Tak Lentoji udělej tohle,“ nebo zavoláte lomítko a ten příkaz a ono se to stane, protože ty repetitivní věci prostě nechcete vysvětlovat dokola. Eh, napadaj tě, Jindřichu, ještě nějaký tipy na knowledge base obecně, jak s ním třeba pracovat ty?

Jindřich: se mi teď jako honilo hlavou, jo, ještě jak jsi o tom mluvil

Filip: Hm.

Jindřich: že mě by vlastně zajímalo, eh, jak to mají jako i ostatní, protože já vlastně moc nevím. já jasně, s někým jsem se sice jako o tom bavil, ale tak nějak ty myšlenky, který jsem jako získal, jsme tak jako tady jako rekapli.

Filip: Mhm.

Jindřich: Ale jako řada lidí to může mít určitě jako diametrálně odlišně, že jo. Já si čas od času přečtu něco na jako na LinkedInu, kde někdo říká, že přišel s nějakou absolutně jako revoluční myšlenkou. Pak si přečtu komentáře, kde mu to zase x lidí jako zhejtí, že to vlastně jako není správně. A ono je to i na druhou stranu jako krásný na tý době, že jo, že nikdo neví, co je

Filip: Hm,

Jindřich: Eh, řada lidí něco

Filip: jasně.

Jindřich: používá to, všechno to je nejlepší na světě, pak za týden používají něco jinýho, řada lidí to zase jako vyhejtí a ta, a jako tak dál no. Takže mě by i jako zajímalo, jak to, eh, zkrátka používá někdo jinej, abych se třeba jako taky mohl inspirovat. A, eh, jsem přesvědčenej, že i byť to máme my teď nějak, aby nám to splnilo jako ten cíl, tak to zdaleka jako nemusí bejt, že jo, ta nejlepší možná cesta

Filip: Jasně, těch cest je jako extrémní množství. Jsou takový ty paměti jako Memzero a podobně, který se tohle snaží řešit vlastně jako za lidi, aby nad tím nemuseli takhle uvažovat složitě. Takže určitě dejte nám vědět do komentářů, co vy používáte, jak to řešíte a jakej problém to vám to hlavně řeší, protože to si myslím, že je to důležitý jako neříct jenom, co používám, ale k čemu to používám. Protože na každej problém může bejt lepší trošku jiný řešení. Ale za mě je základ začněte s tou knowledge base, protože ten kontext, kterej si budujete, to je za mě to zlato, který vy vlastníte a který vám jako zefektivní to vaše fungování

Jindřich: No a koneckonců přesně jak říkáš, jo, jako cokoliv my řešíme, tak by nám to mělo řešit nějakej problém.

Filip: Jasně.

Jindřich: už někdo se začne za-zaobírat tou jako knowledge base, tak by tam měla bejt ta vyšší myšlenka, jako v čem mu to pomůže, že jo? Co mu to

Filip: Jasně

Jindřich: Neměli bychom to řešit jenom kvůli tomu, že kluci z Deep Link Show říkali, že je to fajn, že jo. Ale mělo by za tím bejt právě něco, s čím mi ta knowledge base pomůže, protože ta knowledge base je nástroj jako každej jinej, že jo. Není to ten výsledek tý práce.

Filip: Krásně řečeno. Ale co byste naopak mohli udělat, když to kluci z Deep Link Show říkají, tak je to, že nám můžete dát odběr na YouTubu, Spotify a třeba follow na Instagramu, kde sdílíme i nějaký další backstageový věci o točení nových dílů, věci, co chystáme. Takže určitě budeme rádi, když nám tam dáte taky follow. Anebo právě třeba tady na YouTube, Spotify, záleží, kde posloucháte. No a to je pro tenhle díl asi všechno, že?

Jindřich: Rozhodně, eh, řekl jsi to pěkně. Eh, určitě jsme rádi, že nás posloucháte a pokud vás to baví, hodně nás, hodně nám pomůže, nás podpoříte, eh, tak jak zmínil Filip. Tak díky moc a slyšíme se příště.

Filip: Díky tobě, Jindro. Díky i vám, že jste se dívali nebo poslouchali a uslyšíme se příště. Mějte se krásně a ahoj

Jindřich: Jé čau