Skip to content

Blog

Aspekty osobního účetnictvi

Osobní účetnictví je v podstatě monitoring pro kritickou oblast jménem osobní finance, která ovlivňuje řadu dalších životních oblastí, hladinu stresu apod. Umožňuje vyvozovat závěry a klást si otázky: "Tady něco chybí.", "Tahle výše výdajů je neudržitelná.", "Jak lépe alokovat tyhle prostředky?". Osobní účetnictví ze mě boháče neudělá, na druhou stranu mi ale pomáhá vidět varovné signály, rizika i příležitosti. Pomáhá mi být aktivní a díky tomu zažívat větší finanční pohodu.

Osobní účetnictví: Má to smysl?

Následující text je zamyšlením nad posledními 10 lety, kdy si vedu osobní účetnictví, tj. kompletní přehled majetku a závazků, příjmů a výdajů. Od úplných začátků s tužkou a papírem až po automatizované zpracování pomocí open-source aplikací. V článku uvádím důvody, které mě k tomu vedly a sdílím své zkušenosti.

Proč jsem s osobním účetnictvím začal

V roce 2015 jsem padnul na finanční dno a k tomu skončil na dva měsíce v nemocnici. Celkem drsná životní lekce. Na druhou stranu, na chvíli jsem nemusel řešit účtenky, penále, a především nesplnitelné požadavky lidí v mém okolí, a to mi dalo příležitost se vzpamatovat a zvednout. Shodou okolností se mi v té době dostala do ruky kniha Bohatý táta, chudý táta od Roberta Kiyosakiho a Sharon Lechter. Třebaže je Kiyosaki poněkud kontroverzní autor (což jsem zjistil až později), jeho historka o bohatém tátovi mě motivovala si udělat v penězích pořádek.

Volitional Muscles

[...] You learn best and most effectively when you are learning something that you care about. Your work becomes meaningful and something you can be proud of only when you have chosen it for yourself. This is why our second self-directive is to build your volitional muscles. Your volition is your ability to make decisions and act on them. To set your own goals, choose your own path, and decide what matters to you. Like physical muscles, you build your volitional muscles by exercising them, and in doing so you can increase your sense of what’s possible.

LLMs are good at giving fast answers. They’re not good at knowing what questions you care about, or which answers are meaningful. Only you can do that. You should use AI-powered tools to complement or increase your agency, not replace it.
-- Recurse Center: Our position on AI (via)

Limity programování s asistencí AI

Nedávno jsem psal o tom, jak se díky nástupu jazykových modelů postupně mění role vývojáře. Jon Gjengset, autor knihy Rust for Rustaceans, nabízí pohled na jeden z limitů, na které umělá intelince, resp. algoritmy strojového učení, naráží (viz jeho lednové Q&A (zvýraznění níže je moje)):

I think in particular where [machine learning] works really well is when you have either pattern matching or pattern recognition, where you have a lot of data to source those patterns from. So I don’t generally think of machine learning as being smart. I think of it as being really good at spotting patterns that people have seen before, or replicating patterns that have been seen before. And that could include combining patterns in—let’s call them—novel ways, but at least combining them in some way that might appear novel.

I think there are a number of maybe surprising areas where this works really well. One of them is code generation. I don’t use it a lot for my coding, and there are a couple of reasons for that, but one that I’ve touched on in the past is that the code I tend to write now, and the code I was writing at AWS, and the code I was writing during my PhD, was not very standard, for lack of a better word. Like, most of the code—it is unclear if anyone had written quite that code before. That’s not the case for a lot of software development.

Upgrade blogu pomocí Material for MkDocs

Jak už jsem psal dříve, Simon Willison mě inspiroval začít psát blog. Jelikož jsem si nebyl jistý, jestli u toho dlouhodobě vydržím, snažil jsem se celou akci maximálně zjednodušit. Pro hosting jsem využil GitHub Pages, protože jsou zdarma, a dokáží pěkně vyrendrovat obyčejný Markdown. Není tedy třeba psát žádný HTML kód, řešit šablony apod. Člověk se může hned soustředit na psaní a na celý blog ve finále stačí README.md.

Zároveň jsem v té době řešil problém se svým CVčkem: měl jsem ho sice pěkně vysázené pomocí Scribusu (open-source obdoba Adobe InDesign), ale upravovat ten dokument byla docela pruda. Hodil by se mi nějaký formát - obyčejný texťák, který by šel snadno verzovat, a zároveň by vypadal slušně při tisku. Zde se opět osvědčil Markdown, který je navíc v souladu s filozofií, že soubor je víc než aplikace. Do hlavičky blogu mi tedy přibyl odkaz na cv.md, které jde pomocí webového prohlížeče snadno převést do PDF i vytisknout. Skvělé.

Jak se ale blog začal rozrůstat, bylo na čase začít řešit jednotný vzhled stránek, prolinkování, tvorbu náhledů, tagování apod. Při hraní si s knihovnou Textual (tvorba sofistikovaných TUI) jsem narazil na jejich blog, který využívá Material for MkDocs.

Měnící se role vývojáře

V diskusích z vývojáři občas zaznívá, že se místo psaní kódu stávají spíše 'prompt operátory'. Níže přidávám několik souvisejících postřehů z blogu Simona Willisona. Případná zvýraznění jsou ode mě.

Nejprve komentář k odporu zaměstanců Amazonu více využívat generativní AI:

“It’s more fun to write code than to read code,” said Simon Willison, an A.I. fan who is a longtime programmer and blogger, channeling the objections of other programmers. “If you’re told you have to do a code review, it’s never a fun part of the job. When you’re working with these tools, it’s most of the job.” [...]

It took me about 15 years of my career before I got over my dislike of reading code written by other people. It's a difficult skill to develop! I'm not surprised that a lot of people dislike AI-assisted programming paradigm when the end result is less time writing, more time reading!

“If you’re a prototyper, this is a gift from heaven,” Mr. Willison said. “You can knock something out that illustrates the idea.”

Rapid prototyping has been a key skill of mine for a long time. I love being able to bring half-baked illustrative prototypes of ideas to a meeting - my experience is that the quality of conversation goes up by an order of magnitude as a result of having something concrete for people to talk about.

These days I can vibe code a prototype in single digit minutes.
-- Simon Willison

Využít vibe coding k prototypování mi přijde jako skvělý nápad. Myslím, že jedním z důvodů, proč lidé tuto možnost nevidí, a automaticky jej zavrhují, je jakási nejasnost nebo zmatení pojmů. Dokonce jsem se setkal s názorem (na konferenci o generativní AI ve vzdělávání), že vibe coding je nebezpečný, protože vede k nasazování software s potenciálními bezpečnostními chybami, klidně i na produkci. Když jsem se snažil vysvětlit, že jej přece můžu využít jen na rychlou tvorbu prototypů, kde jsou rizika minimální, bylo mi odpovězeno, že to není vibe coding. Myslím, že jakékoliv diskusi týkající se umělé inteligence by hodně pomohlo nejprve si ujasnit pojmy, abychom si rozuměli.

Systém je důležitější než model

The first observation is really that language models are awesome, but often they're only 20% of a much bigger system. If you have an Enterprise AI deployment, usually that means it's a RAG system. [...] RAG is really kind of the standard way that you get generative AI to work on your data.

What happens very often these days is a new language model comes out, and everybody goes, "Whoa, new language model, it's great!" Everybody starts to think just about the language model, but very few people actually think about the system around the language model. That system needs to solve the problem. You can have a relatively mediocre language model but an amazing RAG pipeline around it, and that's going to be much better than an amazing language model with a terrible RAG pipeline around it.

The basic observation here or the lesson is that you should be thinking about systems, not about models. The model is only a small part of the system, and the system is the thing that solves the problem.
-- Douwe Kiela: "RAG Agents in Prod: 10 Lessons We Learned"

Chatbot jako partner při čtení

How I use LLMs: Andrej Karpathy mě inspiroval využít chatbota jako partnera/pomocníka při čtení nějakého složitějšího textu. Důležité je nespoléhat na znalosti daného modelu, ale poskytnout mu kontext, např. uvést, co čtu a rovnou poskytnout text konkrétní kapitoly. V tomto případě jsem se pustil do knihy The Intelligent Investor od Benjamina Grahama, která mi dlouhodobě odolávala. (Text knihy není volně k dispozici. Na druhou stranu, knihu jsem si koupil a společnost Anthropic tvrdí, že v rámci předplatného Claude Pro své modely na vstupech netrénuje, takže, pragmaticky, v tom až takový nevidím problém.)

Některá místa 50 let starého textu nejsou snadná na porozumění. Chatbot může dodat dobový kontext nebo varianty vysvětlení. Hodně mi pomáhá možnost se na různé věci doptávat, nebo se na obsah podívat z jiného úhlu. Např. jsem Clauda (3.7, extended thinking) požádal, aby zkusil aplikovat principy inteligentního investování (v protikladu k emočnímu, impulzivnímu spekulování) na oblast vzdělání a osobního rozvoje:

Prompt (v rámci delší konverzace):

Let's consider [the concept of] tangible-asset value and margin of safety when investing into non-financial stuff, like education. For example, I'm considering an investment of my time and effort into the area of artificial intelligence. Can you find any paralels?

Nespoléhejme na "AI detektory"

Stále se setkávám se snahou vypořádat se s nástupem generativní AI nasazením tzv. AI detektorů:

This software aims to flag AI-generated content in student work. However, AI detection software is far from foolproof—in fact, it has high error rates and can lead instructors to falsely accuse students of misconduct (Edwards, 2023; Fowler, 2023). OpenAI, the company behind ChatGPT, even shut down their own AI detection software because of its poor accuracy (Nelson, 2023).
-- AI Detectors Don’t Work. Here’s What to Do Instead

Open Weights vs Open Source AI

Deep Dive audio overview (vygenerováno z článku odkazovaného níže pomocí NotebookLM):


Open Weights: not quite what you’ve been told: Článek ukazuje, že "open-source" a Open Weights modely nejsou jedno a totéž. Open Weights znamená přístup k finálním parametrům daného modelu, nikoliv však ke kódu použitému k vytvoření tréninkového datasetu, ani k datasetu samotnému, nebo alespoň k jeho detailnímu popisu pokud není možné z právních důvodů dataset zveřejnit. Open Weights modely je tak velmi těžné, né-li nemožné replikovat, auditovat, porozumět procesu jejich tréninku a tím pádem i všem aspektům jejich chování (např. skrytý bias).

Mark Zuckerberg o Chatbot Aréně

Už dříve jsem psal o ohýbání LM Arena (Chatbot Arena) Leaderboardu. Zuckerberg otevřeně přiznává, že upravili model tak, aby v žebříčku uspěl:

You also mentioned the whole Chatbot Arena thing, which I think is interesting and points to the challenge around how you do benchmarking. How do you know what models are good for which things?

One of the things we've generally tried to do over the last year is anchor more of our models in our Meta AI product north star use cases. The issue with open source benchmarks, and any given thing like the LM Arena stuff, is that they’re often skewed toward a very specific set of uses cases, which are often not actually  what any normal person does in your product. [...]

So we're trying to anchor our north star on the product value that people report to us, what they say that they want, and what their revealed preferences are, and using the experiences that we have. Sometimes these benchmarks just don't quite line up. I think a lot of them are quite easily gameable.

On the Arena you'll see stuff like Sonnet 3.7, which is a great model, and it's not near the top. It was relatively easy for our team to tune a version of Llama 4 Maverick that could be way at the top. But the version we released, the pure model, actually has no tuning for that at all, so it's further down. So you just need to be careful with some of these benchmarks. We're going to index primarily on the products.
-- Mark Zuckerberg: Meta's AGI Plan (via)

Open WebUI jako rozšíření pro Rancher Desktop

V článku o AI Sandboxu jsem zmínil Open WebUI jakožto flexibilní rozhraní (chatbota) pro komunikaci s různými modely generativní AI. Nyní jsem zjistil, že je k dispozici i formou rozšírení pro Rancher Desktop (a dokonce je součástí platformy SUSE AI).

Musím říct, že instalace rozšíření nebyla úplně přímočará. Nainstaloval jsem Rancher Desktop a kliknul na instalaci rozšíření. Ta ale nedoběhla a zůstala tzv. viset, což je trochu nešťastná první zkušenost. Po restartu celé aplikace už ale instalace doběhla v pořádku. Líbí se mi, že Open WebUI běží přímo v okně Rancher Desktopu, takže se není potřeba nikam přepínat. Není ani potřeba vytvářet nového uživatele, vytvoří se defaultní uživatel User. Propojení s existující instancí Ollama proběhlo automaticky, což je taky fajn. Nevýhodou může být starší verze Open WebUI (0.5.20) oproti upstreamu (0.6.5).

Update: Vypnout autentizaci pro lokálního uživatele lze pomocí proměnné prostředí WEBUI_AUTH, nicméně to lze pouze v případě, že ještě nebyl vytvořen žádný uživatel. Více viz dokumentace.

OpenAI GPT-4.1

OpenAI vydala novou sérii modelů GPT-4.1 (via) (číslování je trochu matoucí vzhledem k nedávno vydanému GPT-4.5 research preview). Z příspěvku je zřejmé, že modely jsou cílené primárně na oblast programování a programovacích asistentů/agentů, kde dlouho vládl Claude 3.5 (resp. 3.7) Sonnet, a nově vstoupila Gemini 2.5 Pro. OpenAI inzeruje také zlepšené výsledky v následování instrukcí (oproti GPT-4o), a výrazně větší kontext - až 1 milion tokenů (což by mělo např. pojmout - 8x - celý zdrojový kód Reactu).

AI jako spolupracovník

Can AI take over some of [my] tasks? The answer is yes, and frankly, there are tasks that I wouldn't mind offloading to AI, like administrative paperwork. But does that mean my job will vanish? Not really. Getting rid of some tasks doesn't mean the job disappears. In the same way, power tools didn't eliminate carpenters but made them more efficient, and spreadsheets let accountants work faster but did not eliminate accountants. AI has the potential to automate mundane tasks, freeing us for work that requires uniquely human traits such as creativity and critical thinking–or, possibly, managing and curating the AI's creative output[.]

However, this isn't the end of the story. The systems within which we operate play a crucial role in shaping our jobs as well. [...] Let's say an AI can deliver a lecture better than I can. Would students be willing to outsource their learning to AI? [...] Would the deans of the university feel comfortable using AI in this way? Would the magazines and sites that rank schools punish us for doing so? My job is connected to many other jobs, customers and stakeholders. Even if AI automates my job, the systems in which it works are less obvious.
-- Ethan Mollick: "Co-Intelligence: Living and Working with AI", p. 125-126

Ohýbání LM Arena Leaderboardu

Andrej Karpathy vyjádřil jistou nedůvěru k výsledkům na LM Arena Leaderboard v posledních měsících. Příkladem je třeba oblíbený Claude 3.7 Sonnet, v žebříčku až okolo 15. místa. A hle, Meta nám tak trochu podvádí, resp. jejich model (na 2. místě) je jiný než modely, které reálně vydali:

Meta’s interpretation of our policy did not match what we expect from model providers. Meta should have made it clearer that “Llama-4-Maverick-03-26-Experimental” was a customized model to optimize for human preference. As a result of that we are updating our leaderboard policies to reinforce our commitment to fair, reproducible evaluations so this confusion doesn’t occur in the future.
-- lmarena.ai (via)

Pokud se jedná o upravený model, který není normálně k dispozici, říkám si proč nebyl z žebříčku odebrán.

Update: Zdá se, že Llama-4-Maverick-03-26-Experimental už byla z žebříčku odebrána, a Llama-4-Maverick-17B-128E-Instruct si nevede nijak oslnivě. Dnes okolo 32. místa.