Blog

Note sull'harness, sui modelli che ci girano sotto e su cosa cambia quando ne arriva uno nuovo.

Sincronizzare la memoria senza che vinca l'ultima scrittura

Due macchine, un solo insieme di note, una modificata mentre l'altra era in standby. Ogni sistema di sincronizzazione risponde a questa situazione, e la maggior parte lo fa con un confronto di timestamp che scarta in silenzio uno dei due lati. Va bene per una bozza che puoi riscrivere. Non va bene per il file che un agente legge prima di ogni turno, perché ciò che viene scartato è la riga che hai scritto perché qualcosa non si ripetesse.

Gli id dei modelli non vanno nel codice TypeScript

L'id di un modello è il dato che cambia più in fretta in tutto questo sistema. I fornitori li rinominano, li ritirano, rilasciano una variante datata, cambiano in silenzio ciò a cui punta l'alias senza data e ne vincolano metà all'account che fa la richiesta. Compila tutto questo in un pacchetto e hai la garanzia che il pacchetto sarà sbagliato nel giro di settimane — non rotto in modo evidente, che almeno sarebbe una segnalazione di bug, ma sbagliato in quel modo specifico in cui un selettore offre a qualcuno un modello che la sua chiave non può chiamare.

Una regola deny è l'unico confine che hai

Tutto il resto che un harness per agenti chiama permesso è una valutazione di costo. Vale la pena dirlo chiaramente, perché l'interfaccia non lo dice: una richiesta di approvazione, una modalità chiamata Auto e un'impostazione delle radici scrivibili sembrano tutte lo stesso tipo di cosa, e solo una di esse è un limite che il sistema manterrà in ogni caso.

Cambiare modello a metà sessione non costa nulla

Ed è una scelta di progettazione, non una funzionalità. La maggior parte degli strumenti per agenti nasce attorno a un solo fornitore e viene adattata agli altri in un secondo momento. L'ordine sembra un dettaglio di implementazione. È tutto.