Je bekijkt nu Siftler Python CLI v0.1: nu is de prompt ook code
Photo of a spoonbill by lolame via Pixabay.

Siftler Python CLI v0.1: nu is de prompt ook code

TL;DR:
Siftler Python CLI v0.1 is nu beschikbaar. Het voert hetzelfde collaborative filtering-algoritme uit als Siftler AI Prompt v0.1, maar lokaal op je eigen computer als Python-script. Het is persistent, deterministisch en vrij van AI. Download het op
https://codeberg.org/josschuurmans/siftler-python-cli

En zo lijkt de ontwikkeling van Siftler voor mij ineens in een stroomversnelling te raken. Binnenkort durf ik mezelf misschien zelfs programmeur te noemen. Maar zover is het nog niet.

Ter herinnering: Siftler is mijn poging om technologie te bouwen die mensen en organisaties helpt de regie terug te krijgen over hun informatiestromen; over wat zij monitoren, ontdekken, consumeren en cureren.

Er bestaat een alternatief voor een aandachtseconomie gebouwd op silo-platforms en ondoorzichtige algoritmen die geoptimaliseerd zijn voor kluistering en dataverzameling. Tussen de AI-gegenereerde, geprofileerde doomscrolling-feed en de al te simplistische omgekeerd-chronologische stroom ligt een betere optie: een feed die gepersonaliseerd is zonder profilering, relevant zonder manipulatie, en transparant genoeg voor gebruikers om te begrijpen en te beheersen. Eerder dit jaar heb ik dat betoog gemaakt:

Laten we het algoritme loskoppelen van het platform

Siftler maakt de ontdekking van op maat gemaakte informatie mogelijk op basis van links gedeeld door mensen met vergelijkbare informatiewaarderingspatronen. Het benut de wijsheid van de massa via collaborative filtering.

Van prompt naar code

Een maand geleden bracht ik Siftler AI Prompt v0.1 uit: een prompt die je kunt kopiëren en plakken in een AI-assistent, die vervolgens de collaborative filtering-logica van Siftler stap voor stap uitvoert. Zie:

Hier is Siftler AI-prompt v0.1

Siftler vergelijkt je meest recent ingediende lijst van links (de ‘Benchmark’) met eerder ingediende lijsten (de ‘Ghosts’) en beveelt links aan die voorkomen in Ghosts die het meest lijken op je Benchmark: content die je nog niet hebt gezien, aangedragen door bronnen die dicht bij je huidige interesses liggen. RSS-feeds zijn het ideale invoerformaat, al worden andere formaten ook ondersteund. Je dient een set links in die je heeft aangesproken, en je ontvangt een verse RSS 2.0-feed met suggesties in ruil.

Ik vond het tamelijk fascinerend dat de AI-promptaanpak geen programmeertaal vereiste. Alle instructies zitten verpakt in de prompt zelf. Je zou kunnen zeggen: de prompt ís de software.

Mijn grootmoeder zei wel eens: “Prakizeren komt van arme mensen.” Voor mij was de AI-prompt een uitvinding geboren uit noodzaak. Omdat ik geen softwareontwikkelaar ben, had ik geen andere keus dan in gewone taal te beschrijven wat ik de applicatie wilde laten doen. Opvallend genoeg kan een groot taalmodel zulke instructies begrijpen en uitvoeren zonder ze eerst naar code te vertalen.

Een nieuwe openbaring

De afgelopen weken had ik een nieuwe openbaring: door gedwongen te zijn de logica van Siftler zo precies in mensentaal uit te leggen, had ik onbedoeld een uitstekende specificatie geschreven voor precies het soort deterministische software dat ik oorspronkelijk wilde bouwen.

Het resultaat is Siftler Python CLI v0.1: hetzelfde algoritme, nu als lokaal Python-script op je eigen computer.

De prompt is nu ook code. Je vindt hem hier:

https://codeberg.org/josschuurmans/siftler-python-cli

Het is gelicenseerd onder AGPL-3.0, wat betekent dat je het vrij kunt gebruiken en aanpassen, maar dat afgeleid werk onder dezelfde voorwaarden open moet blijven.

Als het algoritme lokaal draait

Het uitvoeren van Siftler als Python-script in plaats van een AI-prompt opent nieuwe mogelijkheden:

  • Persistentie: linkblokken worden tussen sessies opgeslagen als JSON-bestanden, zodat je Ghosts zich in de loop van de tijd opstapelen zonder ze opnieuw in te dienen.
  • Tags: organiseer je linkblokken op thema, bron, doel of een taxonomie naar keuze, en filter op tag aan het begin van elke sessie.
  • Determinisme: dezelfde invoer levert altijd dezelfde uitvoer, zonder risico op AI-interpretatie of ‘hallucinatie’.
  • RSS-uitvoer: de feed wordt geschreven naar een bestand dat je direct kunt openen in een browser of RSS-reader, of ergens kunt hosten.

Op een dag…

Ik vind het oprecht interessant wat dit proces me heeft onthuld over de relatie tussen natuurlijke taal en code. De AI-prompt en het Python-script drukken dezelfde logica uit. Ze draaien alleen in verschillende omgevingen. Siftler AI Prompt en Siftler Python CLI zullen zich onafhankelijk van elkaar ontwikkelen maar elkaar informeren. Verbeteringen die in het ene bewezen zijn, vloeien door naar het andere.

Mijn doel is het concept helder genoeg te demonstreren dat ontwikkelaars, open web-voorvechters en potentiële partners kunnen herkennen waar we naartoe bouwen: een transparante, deterministische, open-source implementatie die ooit alternatieve feeds kan aandrijven binnen en buiten sociale platforms, en kan draaien op het gedecentraliseerde web.

Als je Siftler Python CLI uitprobeert (of de AI Prompt), hoor ik graag wat je ervan vindt. Dien een issue in op Codeberg, of neem direct contact met me op.

Volg het project op https://josschuurmans.com/en/the-information-stack (in het Engels).

Bereik me via jos.schuurmans@cluetail.com.

Jos Schuurmans

Plan gerust een afspraak met me in, stuur me een e-mail, of leg contact via LinkedIn.

Geef een reactie