Come ho utilizzato ChatGPT per scansionare 170.000 righe di codice in pochi secondi e risparmiarmi ore di lavoro investigativo
Scrivere questo articolo sul problema che ho risolto mi ha richiesto alcune ore. L'effettivo processo di analisi dell'intelligenza artificiale, dall'inizio alla fine, mi ha richiesto meno di 10 minuti. Questa è una produttività seria proprio lì.
Questo è un articolo sull'utilizzo dell'intelligenza artificiale (AI) come strumento e su come applicarla alle tue esigenze specifiche e specializzate. Fornisce alcune lezioni interessanti per tutti.
Imparerai che puoi utilizzare uno strumento come ChatGPT per risolvere rapidamente problemi complessi, purché tu abbia i suggerimenti giusti e un pizzico di scetticismo.
Innanzitutto, una breve tana del coniglio stampata in 3D
Il nostro contesto per questa lezione è la stampa 3D. Un test speciale nella stampa 3D chiamato 3DBenchy controlla le prestazioni della stampante. Aiuta gli utenti di stampanti 3D a testare la velocità e varie misure di qualità di stampa. La Benchy impiega un'ora o due per stampare la maggior parte delle stampanti.
Recentemente ho testato una nuova stampante che dovrebbe essere più veloce di molte altre. Su questa stampante, la Benchy ha impiegato 42 minuti, mentre su altre stampanti 3D del Fab Lab ci sono voluti dai 60 ai 70 minuti. Ma ecco il punto: la versione di prova fornita dall'azienda che produce la stampante ha richiesto 16 minuti. Questa è una differenza enorme.
Le stampanti 3D sono controllate con il codice G, un programma generato su misura da uno strumento chiamato affettatrice che controlla il modo in cui la stampante muove la testina di stampa e la piattaforma di stampa, si riscalda, alimenta e ritrae il filamento fuso.
Il codice G pretagliato fornito dalla fabbrica per la stampante che stavo testando ha prodotto una stampa di 16 minuti. Il codice G che ho generato utilizzando l'affettatrice dell'azienda ha prodotto una stampa di 42 minuti. Volevo sapere perché.
Sfortunatamente, nessuno del team di supporto dell'azienda ha potuto rispondere alla mia domanda. Nonostante i numerosi tentativi, non sono riuscito a ottenere una risposta su quali impostazioni dello slicer modificare per far sì che il codice G che ho prodotto utilizzando il loro slicer funzionasse così come il codice G generato utilizzando il loro slicer.
Dopo molte ricerche sul Web e dopo aver letto post frustrati su Reddit, era chiaro che altri clienti avevano lo stesso problema. Ecco una macchina capace di più del doppio delle prestazioni, ma nessuno di noi potrebbe riprodurre quelle prestazioni con successo.
L’intelligenza artificiale può aiutare?
È qui che entra in gioco ChatGPT. Il codice G è composto da migliaia di righe simili a queste:
G1 X122.473 Y140.422 E4.23368
G1 X122.222 Y140.6 E4.24443
G0 F14400 X122.703 Y140.773
G1 F3600 X122.117 Y141.251 E4.27083
G1 X121.767 Y141.66 E4.28963
G1 X121.415 Y142.139 E4.31039
G1 X121.105 Y142.641 E4.33099Insieme, entrambi i file G-code di Benchy avevano oltre 170.000 righe di codice. Non avevo intenzione di passare un sabato pomeriggio a vagliare manualmente quella roba. Ma ho pensato che forse l’intelligenza artificiale avrebbe potuto aiutare.
Avevo il codice G che ho generato utilizzando l'affettatrice. Potrei anche esportare e salvare il codice G fornito dalla fabbrica. Utilizzando ChatGPT Plus, ho inserito entrambi i file nell'intelligenza artificiale.
Ho iniziato confermando che ChatGPT poteva leggere i file. Dopo aver caricato ciascun file, ho chiesto:
Puoi leggere questo?
ChatGPT ha confermato, affermando: "Posso leggere il contenuto del file. Sembra essere un file G-code, tipicamente utilizzato per controllare le stampanti 3D." È stato un buon inizio.
Per assicurarci di essere chiari su quale file fosse, ho assegnato a ChatGPT alcune etichette per i file:
Chiameremo il primo file caricato "stampa normale" e il secondo file caricato "stampa veloce". Va bene?
L'IA ha acconsentito, quindi gli ho detto:
Descrivi come differiscono i file.
Oltre a nominare uno dei file "stampa veloce", non ho fornito a ChatGPT alcuna indicazione su cosa stavo cercando. Anche così, il bot ha identificato che una stampa aveva velocità di stampa più elevate, sebbene le impostazioni di temperatura fossero le stesse.
Ho quindi chiesto all'IA:
Perché la "stampa veloce" è molto più veloce?
È stato a questo punto che ChatGPT ha iniziato a infastidirmi. Invece di fornirmi i dettagli del codice che ho fornito, ha ipotizzato. L'intelligenza artificiale ha utilizzato frasi contenenti "probabile", "può" e "potrebbe" per descrivere il motivo per cui la stampa era più veloce.
Ma gli avevo fornito dei file G-code che descrivevano esattamente cosa stava facendo la stampante, quindi volevo una risposta esatta su cosa stava facendo la stampante. Come spesso accade con ChatGPT, la conversazione è stata molto simile a parlare con un brillante studente laureato che è un po' testardo e poco collaborativo.
Perché il suggerimento giusto fa la differenza
Alla fine sono arrivato a questo suggerimento, che ha fornito risposte praticabili:
Il codice G fornito in entrambi i file è l'unica cosa diversa per queste stampe. Utilizzando esclusivamente il codice G fornito come confronto, quali impostazioni dell'affettatrice sarebbero diverse? Non speculare su quali potrebbero essere le altre impostazioni. Basa la tua analisi solo sul codice fornito.
ChatGPT ha identificato tre fattori chiave:
- Il codice G di stampa normale mostra velocità di avanzamento generalmente comprese tra 2400 mm/min e 3400 mm/min. Il codice G di stampa veloce mostra velocità di avanzamento molto più elevate, con alcuni comandi che raggiungono fino a 14400 mm/min. Questa velocità rappresenta un aumento significativo della velocità, contribuendo direttamente alla riduzione del tempo di stampa.
- Rispetto all'altezza dello strato di 0,2 mm per la stampa normale, la stampa veloce imposta l'altezza dello strato a 0,25 mm, riducendo il numero di strati necessari per completare la stampa.
- Il codice G per la stampa veloce include impostazioni di accelerazione molto più aggressive, che consentono alla stampante di raggiungere velocità più elevate più rapidamente e di mantenerle, contribuendo a una stampa più rapida.
Questo risultato è stato interessante. Volevo però sapere se l'azienda ha ottimizzato manualmente il codice G o lo ha generato direttamente nello slicer. Quindi ho chiesto a ChatGPT:
Puoi dire se la stampa veloce è stata codificata manualmente o è stata generata da un'affettatrice? Forse cerca comandi incoerenti o commenti non standard.
L’IA ha risposto con tre considerazioni interessanti:
- Le variazioni nei comandi del codice G come i cambiamenti nelle velocità di avanzamento, il passaggio tra diversi comandi di movimento e le alterazioni di altri parametri sono tipiche del codice generato dallo slicer. Queste modifiche sono progettate per ottimizzare il processo di stampa e sono coerenti con il comportamento di un'affettatrice.
- Se il codice G fosse codificato manualmente, ci aspetteremmo di vedere modelli più irregolari e imprevedibili, ma queste transizioni seguono una sequenza logica, caratteristica del processo di ottimizzazione di uno slicer.
- Pertanto, la presenza di questi comandi non indica la codifica manuale; piuttosto, supporta la conclusione che questo codice G è stato generato da uno slicer.
Ciò che questi risultati mi dicono è che probabilmente è possibile per gli utenti modificare le impostazioni dello slicer per ottenere prestazioni simili.
Cosa abbiamo imparato?
Abbiamo appreso che ChatGPT comprende il codice G. Ciò non sorprende perché, nei miei primi test, abbiamo appreso che ChatGPT ha una padronanza abbastanza buona anche dei linguaggi di programmazione più oscuri.
Abbiamo anche appreso che ChatGPT può esaminare e confrontare oltre 170.000 righe di istruzioni macchina e raggiungere conclusioni utilizzabili in pochi secondi.
Infine, abbiamo imparato che possiamo utilizzare IA come ChatGPT per esplorare problemi complessi da diverse angolazioni. ChatGPT non solo ha spiegato l'enorme differenza di velocità tra i due file, ma è stato anche in grado di verificare se il file fornito in fabbrica fosse stato modificato manualmente o meno.
In conclusione, non accettare ciò che ti dice l'IA come verità assoluta. Non prendere decisioni critiche in base alle sue risposte. E ricorda che a volte devi negoziare con l'IA prima che sia disposta a darti risposte utili.
Questo test è l'ennesimo caso in cui sono riuscito a rivolgermi all'intelligenza artificiale e a trovare una risposta a una domanda molto specifica per me senza scrivere codice in pochi minuti.
Se hai una domanda che richiede molto testo o analisi numeriche, valuta la possibilità di eseguirla tramite ChatGPT o uno degli altri IA. Potresti ottenere una risposta utile in pochi minuti.
Scrivere questo articolo sul problema mi ha richiesto alcune ore. L'effettivo processo di analisi, dall'inizio alla fine, mi ha richiesto meno di 10 minuti. Questa è una produttività seria, proprio lì.
Puoi seguire gli aggiornamenti quotidiani sui miei progetti sui social media. Assicurati di iscriverti alla mia newsletter di aggiornamento settimanale e seguimi su Twitter/X su @DavidGewirtz, su Facebook su Facebook.com/DavidGewirtz, su Instagram su Instagram.com/DavidGewirtz e su YouTube su YouTube.com/DavidGewirtzTV.
