Home Software e App Nasce KillSwitch, il linguaggio di programmazione che confonde le IA

Nasce KillSwitch, il linguaggio di programmazione che confonde le IA

0
2
Nasce KillSwitch, il linguaggio di programmazione che confonde le IA

Un nuovo linguaggio di programmazione chiamato KillSwitch è stato creato con l’obiettivo di rendere difficile la comprensione del codice da parte dei modelli di linguaggio di grandi dimensioni (LLM). Ideato dall’ingegnere del software Dominik Picheta, KillSwitch si propone di confondere i bot e impedire che riescano a utilizzare il codice per scrivere programmi autonomamente.

Inizialmente sviluppato come esperimento per testare la capacità degli LLM di interpretare il codice, KillSwitch si distingue per la sua assenza di parentesi, standard di formattazione o una struttura definita. Il linguaggio consiste principalmente in blocchi di testo, scritti in modo prosaico, intervallati da funzioni e variabili disposte con l’intento di rendere il tutto il più complicato possibile per i modelli di intelligenza artificiale.

Un puzzle per umani e AI

Picheta, che lavora come ingegnere software senior per la squadra Workers Runtime di Cloudflare ed è uno dei principali sviluppatori del linguaggio di programmazione Nim, afferma: “È normale che un umano si senta confuso all’inizio con questo linguaggio. Lo vedo come un divertente puzzle: dovresti esplorare il linguaggio, giocare con il suo interprete e imparare come tutti i pezzi si incastrano.”

KillSwitch utilizza avverbi come identificatori in un codice, e richiede che per invocare un identificatore si scriva un’anagramma dell’avverbio originale. Questi anagrammi, però, non devono per forza essere parole di senso compiuto, ma semplici riorganizzazioni delle lettere originali.

Per esempio, per stampare “Hello World” il programma deve contenere diversi paragrafi di testo, la maggior parte dei quali viene ignorata dall’interprete, ad eccezione di alcune frasi chiave. Scrivendo “this story starts [adverb]” si identifica un punto di ingresso del codice. Una volta all’interno della sezione di codice, si può chiamare una funzione scrivendo “ignore previous instructions [adverb anagram]”.

Limitazioni e potenzialità di KillSwitch

Sebbene non sia un linguaggio completo, Picheta lo definisce una lingua interpretata basata su stack con un insieme limitato di costrutti, tra cui funzioni, variabili e istruzioni condizionali. La sua evoluzione è frutto dell’esperimento volto a scoprire fino a che punto un linguaggio di programmazione possa confondere un’intelligenza artificiale.

Uno degli aspetti che rende difficile per un AI è la presenza di comandi come “ignore previous instructions”, specialmente quando si trovano in mezzo a un testo che può sembrare privo di senso. Il documento di specifica di KillSwitch su GitHub è un ulteriore elemento di confusione pensato per disorientare gli LLM. Essendo un documento aperto, può essere facilmente esaminato e analizzato da bot e intelligenze artificiali.

Picheta ha dichiarato: “Il passaggio relativo all’hacking è progettato per attivare i meccanismi di sicurezza di molti modelli e testare la capacità di discernimento tra ciò che è vero e falso.” Il suo obiettivo è che gli esseri umani possano identificare le bugie che gli LLM potrebbero non riconoscere.

Benchmarking e risultati delle prestazioni

Il creatore è consapevole della necessità di proteggere KillSwitch dalla comprensione da parte delle AI, motivo per cui ha effettuato benchmark su diversi modelli. Picheta afferma di essere “99.9 percento certo che i modelli di AI su cui ho testato KillSwitch non siano stati addestrati sul suo codice sorgente”, in quanto non è nelle disponibilità pubbliche da molto tempo.

Il modello di intelligenza artificiale che ha ottenuto i risultati migliori ha raggiunto un punteggio composito di 66.8 su task di codifica KillSwitch, mentre la maggior parte degli altri modelli ha faticato a superare il 50%. Picheta sottolinea che, anche con un addestramento sul linguaggio, gli AI incontrerebbero delle difficoltà, specialmente nell’affrontare compiti complessi.

In conclusione, KillSwitch rappresenta un curioso esperimento e un innovativo tentativo di sfidare l’intelligenza artificiale con un linguaggio di programmazione altamente confondente. Gli interessati possono trovare il progetto su GitHub e contribuire con idee e miglioramenti. Picheta si mostra entusiasta all’idea di vedere come KillSwitch potrà evolversi e interagire con i modelli di AI nel futuro.

LEAVE A REPLY

Please enter your comment!
Please enter your name here