Skip to content

Blog

AI jako nástroj (ne)komunikace

Po odstávce elektřiny mají lidé na Trutnovsku zničené spotřebiče:

Například v domě obyvatelky Stanovic Jany Hadincové ani ve čtvrtek nevařili kávu. Nechladila lednička, neohřívali vodu, nefungoval sporák a vypadla síť wi-fi. Přístroje jsou zničené. Odhad škody je sto padesát tisíc korun. „Nejhorší je ta bezmoc, když někam voláte, všude umělá inteligence, nikdo s vámi nechce mluvit,“ popsala.

Párkrát už jsem zažil situaci, kdy jsem potřeboval něco řešit a jeden z mála komunikačních nástrojů byl poněkud nespolupracující chatbot. Velmi frustrující. Nasadit AI operátora tam kde levně nahradí několik lidí bude jistě pro řadu firem velmi lákavé. Na druhou stranu výsledkem může být také čím dál více odlidštěná (ne)komunikace.

Model Context Protocol (MCP)

The Model Context Protocol aims to provide a standard interface for LLMs to interact with other applications, allowing applications to expose tools, resources (contant that you might want to dump into your context) and parameterized prompts that can be used by the models.
-- Simon Willison


MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.
-- modelcontextprotocol.io

Poslední dobou narážím na čím dál víc zmínek o MCP (např. na AI News, nově v Open WebUI v0.6.0 (resp. mcpo), a dokonce už i v Beancount Google Group). Úvodní kapitoly videa Building Agents with Model Context Protocol - Full Workshop with Mahesh Murag of Anthropic nabízí pěkný srozumitelný přehled.

AI jako nástroj hledání nových řešení

Andrej Karpathy ve svém videu Deep Dive into LLMs like ChatGPT (konkrétně v části o Reinforcement Learning) zmiňuje film Alphago (2017). Vřele doporučuji. Film pojednává o stejnojmenném programu, který jako první dokázal porazit Lee Sedola - jednoho z nejlepších hráčů hry Go, považované za výrazně komplexnější než třeba šachy. Ve filmu mě zaujala mimo jiné úvodní scéna zmiňující jinou hru - Breakout. Názorně ukazuje, jak program dokázal už po 500 hrách nalézt optimální strategii:

sudo bez hesla

Požádal jsem Clauda 3.7 Sonnet aby mi poradil s následující situací: mám shellový skript a některé příkazy vyžadují sudo, resp. spouštět příkaz s právy roota. Skript se spouští docela často a začíná být nepraktické pokaždé zadávat heslo. Claude přišel s návrhem povolit dané příkazy pomocí pluginu sudoers ("default sudo security policy plugin"; více viz man sudoers), který jsem do té doby neznal. Rovnou mi vypsal, co a jak mám nastavit:

sudo visudo -f /etc/sudoers.d/update

A do souboru přidat např. následující:

myuser ALL=(root) NOPASSWD: /usr/bin/apt update, /usr/bin/apt upgrade -y, /usr/bin/snap refresh

Uživatel myuser může spouštět /usr/bin/apt update, /usr/bin/apt upgrade -y, a /usr/bin/snap refresh jako root bez nutnosti se autentizovat. Příkazy musí být zadány i včetně všech uvedených parametrů (tj. apt upgrade -y, cestu není třeba zadávat), jinak je heslo vyžadováno.

Vzhledem k rostoucím schopnostem a znalostem současných modelů začíná být pocitově jednodužší (i zábavnější) jako první konzultovat problém s chatbotem, než "jít hledat na internetu". A to nejen v situacích, kdy jsou související informace s velkou pravděpodobností hojně zastoupené v trénikových datasetech. "I blbej nápad je dobrej nápad. Ne sám o sobě, ale tím, že nás může mentálně odblokovat a nasměrovat k použitelnému řešení."

Amarův zákon

We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run.
-- Roy Amara (via)

AI jako akcelerátor toxické kultury

... whatever actions AIs may one day take if they develop their own desires, they are already being used instrumentally by social-media companies, advertisers, foreign agents, and regular people—and in ways that will deepen many of the pathologies already inherent in internet culture. On Sydney’s list of things it might try, stealing launch codes and creating novel viruses are the most terrifying, but making people argue until they kill one another is something social media is already doing.
-- AI Is About to Make Social Media (Much) More Toxic (via)

Open-source AI Sandbox

Open WebUI

Screenshot aplikace Open WebUI. Vytvořeno pomocí Screely a GIMP.

Motivace

V roli metodika AI na Univerzitě Karlově mě překvapilo, jak obtížné je i pro takto velkou instituci získat přístup k enterprise verzi chatbotů jako ChatGPT. (Naši uživatelé sice mají k dispozici Microsoft Copilot for Education. Ten je ale v řadě případů nedostačující.) Generativní AI je nová technologie jejíž přínosy (i rizika) teprve objevujeme, takže vidina finančně nákladné investice s nejistým výsledkem není moc lákavá. Zároveň si firmy kladou vysoké požadavky na minimální počet licencí a cenu.

S tím souvisí i riziko neefektivního využívání, jak se přesvědčili např. na Univerzitě Palackého v Olomouci. Pořídili překladač DeepL Pro Advanced for Teams za ~12500 EUR/rok (52 licencí), aby nakonec zjistili, že to byla slepá ulička:

- Licencí bylo málo, každý chtěl licenci jen pro sebe
- Mnozí z těch, kdo chtěli licenci, si ji nakonec neaktivovali, zůstali viset v systému
- Ti, kteří licenci dostali, ji pořádně nevyužívají, cca 50 přeložených dokumentů měsíčně
- Ti, kteří ji chtějí využívat intenzivně, jsou omezeni 20 soubory měsíčně
-- Nasazení překladače DeepL na UP (příspěvek na konferenci EUNIS-CZ 2024)

llm

Dneska jsem vyzkoušel nástroj do příkazové řádky, nazvaný jednoduše llm. Jednou z výhod je, že dokáže volat i lokální modely běžící přes Ollamu.

A CLI utility and Python library for interacting with Large Language Models, both via remote APIs and models that can be installed and run on your own machine.

llm "Tell me a joke about LLMs."

Nainstaloval jsem přes uv (možno použít i pip):

uv tool install llm

Mám OpenAI API Key, tak jsem ho hned využil:

llm keys set openai

Vypsat dostupné modely lze následovně:

llm models
llm models default # (1)!

  1. Vypíše defaultní model (gpt-4o-mini).

Interaktivní chat:

llm chat

Skvělé je, že pomocí pluginů lze připojit řadu dalších modelů, včetně již zmíněné Ollamy (tu je potřeba mít nainstalovanou, spouštěnou a mít stažený příslušný model):

llm install llm-ollama
llm "Tell me a joke about LLMs." -m llama3.2

Soubor je víc než aplikace

Před nějakou dobou jsem zkoušel Obsidian. I když jsem u něj nakonec nezůstal (kvůli nedostatečné emulaci editoru Vim), tak musím ocenit, že moje poznámky ukládal jako obyčejné textové soubory. Můžu je tak editovat třeba ve VSCode:

File over app is a philosophy: if you want to create digital artifacts that last, they must be files you can control, in formats that are easy to retrieve and read. Use tools that give you this freedom.

File over app is an appeal to tool makers: accept that all software is ephemeral, and give people ownership over their data.
-- Steph Ango: File over app

Začínám psát blog

You should start a blog. Having your own little corner of the internet is good for the soul!
-- Simon Willison: What to blog about

Říkám si, že by bylo fajn mít místo pro sdílení myšlenek a věcí, co mě zaujaly. Mít nějaký online deník, ke kterému bych se mohl snadno vracet nebo odkazovat. I kdyby měl být jen pro mě. A zároveň, aby to bylo na platformě, kde mi nebude nikdo nic tlačit, nutit, vyžadovat subscription, neustále odvádět mou pozornot někam, kam jsem se původně vydat nechtěl.

Pohodlná správa zásuvných modulů v Gitu

Nástroj pre-commit je správce zásuvných modulů verzovacího systému Git. V tomto článku si ukážeme základní možnosti jeho použití, konkrétně si vyzkoušíme nastavení stejnojmenného modulu pre-commit.

Článek byl původně zveřejněn na webu root.cz.