Linux Day
Linux come sistema operativo agentico
Talk · Linux Day

Linux come sistema operativo agentico

Dalla shell a Sonia: quando l'AI smette di rispondere e comincia a fare.

demo inclusa Pi Pocket Sonia
zsh — 92×24

me@linuxday:~$

[ok] kernel linux
[ok] shell pronta
[ok] agenti collegati

Il punto di partenza

Tre cose, poi iniziamo.

Tre pretesti per una domanda sola: chi comanda, tu o il modello?

01esperimento

Un clone di Photoshop

Costruito in casa con l'AI. Meglio di GIMP?

Non lo dice il marketing: lo dice il tempo che ci ho messo.

02kernel

300 vulnerabilità

Nel kernel Linux. Trovate, discusse, chiuse. L'AI accelera chi le cerca — e chi le sfrutta.

La sicurezza non è un optional: è il motivo per cui esistono i guardrail.

03demo

Sonia

La mia AI vocale. Gira in locale, sotto i 15 GB di RAM. Le parli, lei usa i tool. Demo alla fine.

Voce dentro, azioni fuori. È l'interfaccia più naturale che abbiamo.

// tre indizi, una direzione: l'AI che tocca il sistema.

Chiarimento

C'è un prima
e c'è un dopo.

La community free e open source è divisa. Come sempre davanti alle cose dirompenti. Ogni tecnologia ha cambiato il lavoro, ha avuto pro e contro, e nessuno è tornato indietro.

1880ElettricitàLa fabbrica cambia forma.
1975ComputerL'ufficio cambia forma.
1995InternetIl commercio cambia forma.
2023AIChi usa il computer cambia forma.
PRO

Meno attrito. Più cose fatte, meno passaggi. Chi non sa programmare costruisce.

CONTRO

Più dipendenza. Errori amplificati, potere concentrato, lavoro che cambia sotto i piedi.

Non si torna indietro. Si sceglie come andare avanti.

La reazione

Qualcuno ha già
messo il cartello.

AURbloccato

Niente contributi AI

Il repository della community Arch ha chiuso la porta al codice generato. Non per paura: per manutenzione.

Qualcuno quei pacchetti li deve leggere, capire, firmare, tenere in vita.

FLATPAKNO AI

Stessa risposta

Anche lì l'AI resta fuori dalla filiera. La fiducia si costruisce riga per riga, non con un prompt.

La community non è contro l'AI. È contro il codice che nessuno ha capito.

E io? Io uso l'AI. Ogni giorno. Ma la uso dove posso controllarla, leggerla e — se serve — spegnerla.

// la manutenzione è un atto di fiducia.

Definizione

Cos'è un OS agentico?

Un sistema dove non scrivi il comando. Chiedi il risultato, e qualcuno i comandi li scrive per te.

01assistente

Risponde

Gli chiedi qualcosa, ti dà un testo. Chiudi la chat: il sistema non è cambiato.

02copilota

Suggerisce

Completa la riga, propone il comando. Decidi tu, premi tu, sbagli tu.

03agente

Agisce

Legge i file, esegue, guarda il risultato, corregge. E torna indietro se qualcosa non torna.

Buzzword? Un po'. Ma la differenza tra 2 e 3 è reale: nel 3 c'è un processo che tocca il tuo sistema.

La domanda giusta

Perché
proprio Linux?

Trent'anni di forum, errori e debugging. Il più grande archivio di "come si risolve" mai scritto dall'umanità.

  • ▸La CLI è già testo. È il formato nativo di un modello linguistico.
  • ▸Tutto è un file, tutto è un log. Ogni azione si può leggere, confrontare, annullare.
  • ▸Ogni errore è già su un forum. Anche quello che stai per fare adesso.

// dal comando scritto a mano al comando delegato: stessa shell.

~/progetti — bash

$ man intro

$ journalctl -xe

… 30 anni di risposte pronte

$ grep -r "strano errore" /usr/share/doc

$ git log --oneline | head

a1f3c2 fix: era il PATH

9d21ab fix: era sempre il PATH

Le obiezioni

Sì, ma…

Le ho sentite tutte. Sono tutte giuste. Nessuna è un buon motivo per non farlo.

01

Fa errori

Certo. Anche tu. Ma lui non si offende quando lo correggi, e lascia un log.

02

Sicurezza

Un agente con sudo è un utente con sudo. Il problema non è l'AI: sono i permessi.

03

Data leak

Se il modello è in cloud, i dati escono. Se è locale, restano. Scegli tu dove.

04

RAM

Pensare consuma. Un agente è un processo in più, non un miracolo gratis.

Nessuna di queste è una ragione per non farlo.
Sono tutte ragioni per farlo bene.

Famous last words

Cosa mai potrà
andare storto?

DOCKERcontainers

$ docker system prune -a --volumes

…e l'ambiente di sviluppo è sparito. In un container, certo.

BTRFSsnapshot

$ btrfs subvolume list /

Snapshot, rollback, e tre ore a capire quale subvolume era quello giusto.

GUARDRAILSbabysitter

$ babysit --agent

Il babysitter che doveva controllare l'agente era un altro agente.

«Tanto è in un container.»

// il container non è un confine morale.

Guardrails

Serve un babysitter.
Non un altro agente.

  • ✓Permessi prima dell'azione. Ogni comando pericoloso si ferma e aspetta un umano.
  • ✓Plan mode. Prima il piano, poi le modifiche. E il piano si legge in trenta secondi.
  • ✓Sandbox. Container, utente senza privilegi, niente chiavi di produzione.
  • ✓Log e diff. Tutto quello che l'agente fa è visibile e reversibile.
ESEMPIO REALEPi Pocket

Lancet Guard

La chiamata pericolosa non parte: si apre una richiesta di approvazione. Puoi dire sì, no, o fermare tutto.

Anche da telefono. Anche a metà run.

Non serve un agente perfetto.
Serve un agente interrompibile.

Progetto · Sonia

Parla.
E il sistema risponde.

Sonia è un assistente vocale LLM + STT + TTS che gira tutto in locale. Niente GPU dedicata, meno di 15 GB di RAM. Italiano e inglese.

FULL-DUPLEXlive

Il microfono resta aperto

Puoi interromperla mentre parla: mette in pausa, riprende o annulla. Come una persona.

TUTTO IN CASAlocale

La voce non esce

ASR, TTS, VAD e turn detection girano sulla tua macchina. L'unico pezzo esterno al progetto è il modello LLM: un llama-server sulla stessa macchina.

TOOL GATEpermessi

Ogni tool passa un cancello

Timer, note, shell. La chiamata viene ricontrollata contro le tue parole. Un modello da 4B non spara comandi a caso.

sonia — avvio

$ bun run models-download # ASR, TTS, turn, VAD · ~3,3 GiB

$ systemctl --user start llama-server

$ bun run start # http://127.0.0.1:8095/

// comandi come il tuo utente, con CMD_MODE=off | ask | auto per la shell.

Progetto · sandbox-bwrap-nix

Contenere l'agente.
Non solo pregarlo.

Un sandbox leggero con bubblewrap e Nix. Niente Docker, niente demone, niente sudo: solo namespace e bind mount.

DENTROisolato

Vede solo ciò che gli mostri

Il vero $HOME, /etc e /root sono invisibili. I processi dell'host non esistono. Un rm -rf sbagliato resta qui.

FUORIdichiarato

Resta condiviso, per scelta

Rete, store Nix in scrittura, directory corrente, stesso utente. Non è un confine per codice ostile: è riduzione del danno.

sandbox

$ ./start-sandbox.sh

=== sandbox-bwrap-nix development shell ===

nix · git · bun · uv · opencode · pi-coding-agent · jcode · codex

Il guardrail migliore è quello
che non dipende dal modello.

La parte divertente

Pi Pocket.
Il tuo agente in tasca.

Un'app web durable e multiplayer per agenti Pi. Gira sulla tua macchina, o sul tuo telefono. Nessuna VM in cloud.

DURABLE

Ogni chiamata è salvata mentre accade. Riavvii il server? Il lavoro continua.

MULTIPLAYER

Più persone nella stessa sessione: presenza, chat, note, turni.

PIP

L'assistente che guarda le altre sessioni, le segue e ti dice com'è andata.

WATCH

«Quando la CI su main fallisce, sistemala e dimmelo.» Repository, PR, webhook.

VOCE

Detta nel messaggio, o parla con PiP. La voce è già un'interfaccia.

ESTENDIBILE

Estensioni e temi: il tuo agente, le tue regole, il tuo aspetto.

installazione

$ git clone https://github.com/TannerMidd/pi-pocket

$ cd pi-pocket && npm install && npm start

Node ≥ 22.19 · Linux, macOS, Windows, Android (Termux) · MIT

Il collegamento

Un OS agentico
non ha bisogno di un cloud.
Ha bisogno di una shell.

01casa

Gira dove vuoi

Server in salotto, Raspberry, un vecchio portatile, Termux sul telefono. Stessa app, stesso agente.

02mattoni

I pezzi ci sono già

systemd, SSH, container, log, permessi. Un agente non deve inventare il sistema: lo usa.

03tuo

È tuo

Puoi leggere il codice, rompere tutto, aggiustarlo. E nessuno può cambiarti le regole da remoto.

La differenza tra "un'AI che mi risponde" e "un agente che lavora per me" è tutta qui: il controllo della macchina.

// il sistema operativo è il corpo dell'agente.

Demo

Da una frase
a un'azione.

Guarda tre cose: il piano, l'approvazione, il diff. Il resto è contorno.

01
Tu parliitaliano, normale
→
02
SoniaASR + LLM + tool
→
03
Pi Pocketapre la sessione
→
04
Agente Pilegge, esegue, verifica
→
05
Guardrailsandbox · ask
→
06
Fattocon il log

Se la demo fallisce,
è Linux. Non l'AI. (forse)

Quindi

Tre cose da portare
a casa.

01

Linux è già pronto

Testuale, scriptabile, osservabile. È il terreno naturale per un agente.

02

L'agente non è magia

È un processo con permessi, log e un piano. Trattalo come tale.

03

La domanda è "come"

Non se l'AI entrerà nel sistema. Con quali guardrail, quali dati, quali mani.

Non si torna indietro.
Si torna a scegliere.

Fine · Linux Day

Grazie.

Domande? Demo? Oppure parlate direttamente con Sonia: è qui fuori.

github.com/TannerMidd/pi-pocket github.com/grigio/sonia-assistant github.com/grigio/sandbox-bwrap-nix Sonia, live

Queste slide sono HTML, fatte con un agente. Le trovate nel repo.

Sonia e sandbox-bwrap-nix sono progetti di grigio. Pi Pocket è di TannerMidd.

Note del relatore