ai
- Terwijl ik met iemand praatte over adventskalenders, vroeg ik me af of het domein AIdventskalender.nl nog vrij zou zijn. Ja dus.
- Mijn oude blog Digging the Digital draait nog altijd op WordPress, maar liever wil ik die omzetten in een statische site, zodat het minder resources kost. En eenvoudiger ergens is te hosten. Ik wil daarom kijken hoe ik die site in Hugo kan omzetten, een framework voor statische sites
- In POKI, de Podcast over Kunstmatige Intelligentie, hoorde ik Wietse praten over manieren om programmeerwerk over te laten nemen door AI.
- Ik moest sowieso een hoop troubleshooten rondom de lokale installatie van Hugo. Tenminste, dat dacht ik. Maar Claude ging in een rabbit-hole van versies en plugins die uiteindelijk niet nodig bleek te zijn. Door zelf goed op te letten wat er aan antwoorden kwam en tussentijds ook wat bij te lezen via de good old zoekmachine.
- Wat me brengt bij: Enige kennis is wel handig. Zowel van programmeren in het algemeen als van verschillende pakketten. De code die ik kreeg was soms verouderd, soms besloot Claude andere variabelen te gebruiken. Of het vergat hele stukken opnieuw aan te bieden. Als je de basisprincipes van programmeren enigszins herkent, kun je al snel aangeven waar de chatbot beter zijn best moet doen.
- Een systeem prompt is zeker handig. Daarmee geef je basis instructies aan de chatsessie. Hier kon ik steeds mee tweaken zoals de opdracht om altijd de volledige code plus eventuele aanpassingen terug te geven.
- Claude is heel vriendelijk. Aan de hand van de code en de werking had het al snel door dat ik een adventskalender maakte. Daarop kwam het met suggesties om de kalender wat meer aan te kleden. Niet alle suggesties waren even waardevol, maar er zat soms wat aardigs tussen wat me op nieuwe richtingen bracht.
- Met logisch nadenken kom je best ver. Als ik zelf het idee had dat we onnodige code maakte, dan vroeg ik dat, stelde een alternatief voor en hoe Claude dat zou oppakken. Soms gingen we dan de goede kant op, soms gaf Claude aan waarom het wel handig is om een bepaalde keuze te maken.
- Je eigen creativiteit helpt. Bijvoorbeeld, ik wilde een Javascript om de deur van elke dag echt als deur te openen en sluiten. Na wat iteraties met Claude had ik een versie waar ik tevreden over ben. Claude had dit zelf (nog) niet bedacht.
- Ik liet Claude een eenvoudig Bash-script schrijven om direct 24 dagen aan ideeën rondom Kerstmis en AI te genereren. En om deze direct in het juiste bestandsformat op te slaan. Om eerlijk te zijn, de teksten waren allemaal te generiek. Voor elk deurtje heb ik de tekst zelf herschreven en er eigen links bij gezocht. Dus eigenlijk is de content is van mij, de code van Claude.
- Er zaten steeds een paar dagen tussen de sessies dat ik met Claude werkte. Ik kon soms met de bestaande chatsessie doorgaan. Maar door de populariteit van Claude, kreeg ik meldingen dat chatsessies niet té lang moesten worden en ik beter een nieuwe sessie kon beginnen. Dat betekende dat ik weer allerlei kennis moest overhevelen, zoals bestanden en afspraken.
- Sowieso helpt het om bestanden te uploaden met je code. HTML, Javascript, CSS, Claude eet alles en kan je dan veel gerichter helpen. Zelfs screenshots van mijn browser-console met debug-berichten konden Claude de goede kant op sturen.
Het is nu mogelijk om Deep Research te gebruiken in ChatGPT. Waar je eerst een maandabonnement van $200 nodig had, kun je nu met het $20 abonnement 10 queries per maand doen. Ik zie het als een interessante manier om een LLM schaduw te laten draaien op strategisch en marktonderzoek dat we doen bij Kaliber. Vooral om te zien wat de resultaten zijn en hoe ze zijn te interpreteren. Ik geloof er nog niet in dat Deep Research volledig zelfstandig is in te zetten, want de resultaten zijn nog altijd niet te vertrouwen. Zo laat Benedict Evans zien aan de hand van zijn eigen kennisgebied, smartphones.
LLMs are not databases: they do not do precise, deterministic, predictable data retrieval, and it’s irrelevant to test them as though they could. But that’s not quite what we’re trying to do here - this is a rather more complex and interesting test.
Benedict koppelt de belofte van LLM’s en onderzoek wel aan een befaamde quote van Steve Jobs
[…] these things are useful. If someone asks you to produce a 20 page report on a topic where you have deep domain expertise, but you don’t already have 20 pages sitting in a folder somewhere, then this would turn a couple of days’ work into a couple of hours, and you can fix all the mistakes. I always call AI ‘infinite interns’, and there are a lot of teachable moments in what I’ve just written for any intern, but there’s also Steve Jobs’ line that a computer is ‘a bicycle for the mind’ - it lets you go further and faster for much less effort, but it can’t go anywhere by itself.
Hier zit de belofte van mens-machine interactie. Een machine alleen kan niet alles wat we verwachten als mens dat een machine zou kunnen. Zeker niet als het om LLM’s gaat. Maar de machine kan je, mits goed geïnstrueerd, wel verder helpen in je denken. Nieuwe wegen vinden, andere denkpatronen. Kritische AI geletterdheid is een essentiële volgende stap. En dat terwijl de digitale geletterdheid vaak nog op een laag niveau is.
Zie ook “Met je familie draken verslaan” als voorbeeld.
Samenvattingen bij blogposts
Sinds mijn verhuizing van zelf-geïnstalleerde en -onderhouden WordPress naar hier-heb-je-geld-regel-het Micro.blog hosting, ben ik best tevreden over de laatstgenoemde service. Het is gewoon heel eenvoudig. Ik schrijf, ik publiceer, ik ga verder. Ik hoef me niet per sé bezig te houden met nieuwe functionaliteiten, met updates, met gedoe. Want eerlijk is eerlijk, WordPress was best wel vaak gedoe. Of eigenlijk, het uitgangspunt dat ik alles in eigen beheer had, leidde er toe dat ik van alles bedacht omdat het kon. Niet dat het altijd zo handig was om te maken of te onderhouden.
Maar goed. Ik ben dus blij met Micro.blog. Niet in de minste plaats omdat eigenaar/helpdesk/programmeur/man-met-mening Manton in een constant tempo vernieuwingen en updates doorvoert. Zo is het nu mogelijk om samenvattingen van een post te maken. Dat klinkt voor menig WordPress-adept als een “pffffff…gast! Dat kunnen we al jáááren!” en dat klopt. Ik maakte er soms wel eens gebruik van. Zeker bij langere posts is het handig om een samenvatting in een feed of social post aan te bieden. Je schrijft de samenvatting zelf, maar zoals Manton het in bovenstaande link zegt, je kunt het ook door AI laten genereren. Mja, zou kunnen. Als ik gebruik maak van de web-interface van Micro.blog. Maar dat doe ik niet. Vrijwel al mijn posts zijn geschreven in Drafts of Obsidian, via een koppeling met de Micro.blog API. Ik gebruik plugin voor Drafts en plugin voor Obsidian. Nu is het dus wachten tot deze plugins updates hebben waarmee ik eventuele samenvattingen kan toevoegen aan langere posts.
Want no way dat ik zelf die plugins ga aanpassen omdat ik niet kan wachten… toch? Tóch?
PS: Om het effect van de samenvatting wel te zien, heb ik voor deze ene keer de post geschreven in Drafts, maar daarna gepubliceerd via de officiële webinterface. Vooruit dan. En de samenvatting via AI is gewoon slecht. Sorry Manton.
Stichting Brein en 1984
De laatste weken is AI-land in rep en roer over Deepseek, het Chinese model dat volgens de overlevering met minder geld meer gedaan krijgt. Je moet wel op de koop toe nemen dat de online versie het niet zo nauw neemt met jouw gegevens, maar er is een offline en open source model. Daarmee kun je je eigen versie van Deepseek gebruiken, zonder dat de Chinese overheid meekijkt.
Ik vroeg de online versie naar moderne voorbeelden die geïnspireerd zijn op The Ministry of Truth, uit de klassieker 1984. Je raadt nooit hoe Deepseek daar mee om ging…
Dus iedereen aan de open source, lokale modellen? Niet zo snel… Kijk eens wat gebeurde met het Nederlandse taalmodel GEITje van Edwin Rijgersberg. Een succesvol open source project om een Nederlands taalmodel te ontwikkelen. Een LLM dat werd gebruikt door hobbyisten en wetenschappers. Helaas steekt Stichting Brein (weer) een stokje voor verder ontwikkeling en moet Rijgersberg het model offline halen. In het persbericht van de Stichting:
BREIN heeft de aanbieder o.m. aangesproken omdat het model getraind was op tienduizenden kopieën van Nederlandstalige boeken uit illegale bron.
Natuurlijk zijn er genoeg kopieën van GEITje in omloop, aangezien je het model kon downloaden en lokaal gebruiken. Dus het is niet écht offline. Maar het gaat hier (weer) om de auteursrechten discussie. Zoals Brein die in de muziekindustrie gebruikte om P2P delen de kop in te drukken. Maar goed, terwijl China en de Verenigde Staten lekker doorontwikkelen, zien we hier in Europa al weer een vertraging ontstaan door dit soort praktijken. Het is alles of niets volgens Stichting Brein. Je gebruikt auteursrechtelijk materiaal dus alles moet offline. Terwijl je volgens mij je tijd beter kunt besteden aan het afstemmen van de juiste vergoedingen en het eenvoudiger maken van de afhandeling.
De discussie is complex en ik ben er zelf ook nog altijd niet uit, wat nu dé weg is. Enerzijds ben ik verschrikkelijk enthousiast over AI en de achtbaan van innovatie die nu plaatsvindt, anderzijds geloof ik in een maatschappij waar kennis open en zonder restricties moet rondwaren, open source en bereikbaar. Maar zonder daar voorbij te gaan aan ethische, sociale en maatschappelijke normen. Zoals vergoedingen, beschikbaarheid, energieverbruik en privacy.
Taken in ChatGPT. Waarom dan
Het is vroeg, mijn hersenen werken nog niet op volle toeren, dus zie dit als wat eerste losse gedachten. ChatGPT start met een beta versie van Taken in hun chat-assistent.
Waarom?
Taken zijn namelijk discrete, duidelijk omlijnde acties die je doet om verder te komen in een project. Een puzzelstukje in de productiviteitspuzzel. “Haal de bestelling op”, “Bel je moeder”, “Brainstorm over de zomervakantie”. Waarom zou een generative AI model dit willen integreren in hun systeem?
Het kan zijn omdat ze willen uitbreiden in het dagelijks gebruik van de app. Zodat mensen er meer gebruik van maken en dus minder van de competitie. Dat maakt OpenAI als bedrijf weer interessanter voor aandeelhouders.
Het kan zijn dat het een beta is om te leren van ons gedrag en zo op een later moment de taken te integreren in de API. Zodat taakmanagers als Things of Todoist er gebruik van kunnen maken in hun eigen app.
Het kan zijn om te leren van ons dagelijks, repeterende gedrag. Welke taken doen we en masse en zijn dus interessant om te gebruiken voor meer omzet. Zodat “Brainstorm over vakantie” als taak, in ChatGPT direct een canvas wordt met vakantie-ideeën, gesponsord door TUI of Sunweb.
Ik gebruik dagelijks Claude en ChatGPT. Maar voor mijn todo-lijst blijf ik vooralsnog trouw aan een aparte app.
Ik liet AI een adventskalender maken
De afgelopen weken had ik losse ideeën die nu samen zijn gekomen in een klein project wat ik zojuist live zette. De AIdventskalender 2024. Een persoonlijk project om AI en programmeren samen te brengen. Een adventskalender die elke dag een tip geeft om de feestmaand door te komen met behulp van AI diensten. Voor playlists, gedichten en films. Wat bracht me tot dit project? Drie losse momenten.
Breng dat allemaal bij elkaar in mijn hoofd… en ik heb weer een projectje!
De route
In een aantal avonden maakte ik de AIdventskalender. Ik heb echter geen letter code zelf geschreven. Alles is door AI gegenereerd, ik heb het eenvoudigweg steeds geknipt en geplakt in een code-editor. Krijg ik een foutmelding? Dan geef ik de foutmelding aan de chatbot (Claude Pro in dit geval) en die ging aan de slag voor me om het te verbeteren. Ik heb wel meer dan alleen Claude gebruikt. De allereerste versie van de site kwam uit Open Hands, een open source platform met software development agents. Met behulp van AI kun je een eerste ruwe versie van een app laten maken. Die versie heb ik overgenomen in VSCode en ben daarna met behulp van de chatbot Claude stap voor stap alles gaan verbeteren.
Je kunt een groot deel meelezen in het chatverslag dat ik op Github heb gepubliceerd.
Notities
Het hele traject ging zeker niet van een leien dakje. We zijn er nog echt niet om AI zelfstandig aan de slag te zetten voor een project als dit. Wat me zoal opviel in het hele proces:
Ik had nog geen ervaring met Github Actions, een manier om automatisch taken en workflows uit te voeren in Github repositories. Met behulp van Claude kreeg ik alle uitleg, achtergrondinformatie en stappenplan. Toegepast op mijn situatie. Door iets nieuws te leren (Github Actions in dit geval) en het direct in een lopend project toe te passen, geeft mij meer voldoening dan eerst alle achtergronden te kennen en het stapje voor stapje via een Hello World voorbeeld te leren. Zo ook met het werken in Hugo templates, de projectstructuur en hoe content en templates samen tot een site leiden.
Creativiteit is een vereiste
Ik ben over de afgelopen 2 weken zo’n 6 uur met dit project bezig geweest. Van registratie van de domeinnaam tot publicatie van de huidige versie. Leuk om hier eens mee bezig te zijn. Ik heb geen ambitie om software engineer te worden, of een full stack developer. Maar soms heb je van die ideeën die je wel zelf tot leven wil brengen. De code die ik door Claude heb laten maken zal door menselijke intelligentie en kennis zeker sneller, compacter en efficiënter kunnen. Goede creatieve developers zijn echt nog altijd nodig. Hun kennis, levenservaring en creatief vermogen brengt een project veel verder dan wat AI nu kan. Als dit een proof of concept is, dan zou ik het vervolg zeker door een creatieve developer verder laten oppakken.
Geniet de komende maand van de AIdventskalender! Alles is statisch gehost, je kunt de broncode zelf bekijken en verbeteren als je wilt.
Wat vind je er van?