Nozioni di base e procedure consigliate per la progettazione delle richieste
In questa unità tratteremo quanto segue:
- Che cos'è la progettazione delle richieste?
- Nozioni di base per la progettazione delle richieste
- Procedure consigliate per la progettazione delle richieste
- Modalità di apprendimento dalle richieste di Copilot
Che cos'è la progettazione delle richieste?
La progettazione delle richieste è il processo di creazione di istruzioni chiare per guidare i sistemi di intelligenza artificiale, come GitHub Copilot, per generare codice appropriato per il contesto in base alle esigenze specifiche del progetto. Ciò garantisce che il codice sia sintatticamente, funzionalmente e contestualmente corretto.
Ora che si sa che cos'è la progettazione delle richieste, è possibile apprendere alcuni dei principi correlati.
Principi della progettazione delle richieste
Prima di esplorare strategie specifiche, è necessario comprendere i principi di base della progettazione delle richieste, riepilogati tramite le 4 caratteristiche riportate di seguito. Queste regole principali sono la base per la creazione di richieste efficaci.
- Singolarità: fare sempre in modo che la richiesta sia incentrata su una singola attività o domanda ben definita. Questa chiarezza è fondamentale per ottenere risposte accurate e utili da Copilot.
- Specificità: assicurarsi che le istruzioni siano esplicite e dettagliate. La specificità porta a suggerimenti di codice più applicabili e precisi.
- Brevità: le richieste devono essere specifiche ma anche concise e concrete. Questo equilibrio garantisce chiarezza senza sovraccaricare Copilot o complicare l'interazione.
- Inclusione: utilizzare nomi file descrittivi e mantenere aperti i file correlati. Questo approccio offre a Copilot un contesto avanzato, che consente di ottenere suggerimenti di codice più personalizzati.
Questi principi fondamentali costituiscono la base per creare richieste efficienti ed efficaci. Tenendo presente queste 4 caratteristiche, è ora possibile esaminare nel dettaglio le procedure consigliate avanzate che garantiscono l'ottimizzazione di ogni interazione con GitHub Copilot.
Procedure consigliate per la progettazione delle richieste
Le procedure avanzate seguenti, basate sulle 4 caratteristiche, affinano e migliorano l'engagement con Copilot, assicurando che il codice generato non sia solo accurato ma perfettamente allineato alle esigenze e ai contesti specifici del progetto.
Fornire una chiarezza sufficiente
Basandosi sui principi "Singolarità" e "Specificità", mirare sempre alla chiarezza nelle richieste. Ad esempio, una richiesta come "Scrivi una funzione Python per filtrare e restituire numeri pari da un determinato elenco" è sia incentrato su un aspetto singolo che specifico.
Fornire un contesto sufficiente con i dettagli
Arricchire la comprensione di Copilot con il contesto, seguendo il principio "Inclusione". Più informazioni contestuali vengono fornite, più appropriati saranno suggerimenti di codice generati. Ad esempio, aggiungendo alcuni commenti nella parte superiore del codice per fornire altri dettagli a ciò che si vuole, è possibile fornire più contesto a Copilot per comprendere la richiesta e fornire suggerimenti di codice migliori.
Nell'esempio precedente sono stati usati i passaggi per fornire altri dettagli, pur mantenendo la brevità della richiesta. Questa procedura segue il principio "Brevità", bilanciando i dettagli con concisione per garantire chiarezza e precisione nella comunicazione.
Nota
Copilot usa anche schede aperte parallele nell'editor di codice per ottenere più contesto sui requisiti del codice.
Fornire esempi per l'apprendimento
L'uso di esempi può chiarire i requisiti e le aspettative, illustrando i concetti astratti e rendendo le richieste più tangibili per Copilot.
Asserzione e iterazione
Una delle chiavi per sbloccare il potenziale completo di GitHub Copilot è la procedura dell'iterazione. È possibile che la prima richiesta non produca sempre il codice ottimale e questo è perfettamente normale. Se il primo output non è proprio quello che si sta cercando, occorre considerarlo come un passaggio in un dialogo. Cancellare il codice suggerito, arricchire il commento iniziale con dettagli ed esempi aggiuntivi e creare una nuova richiesta per Copilot.
Ora che sono state apprese le procedure consigliate per migliorare le competenze a livello di richiesta, è possibile esaminare in modo più approfondito come è possibile fornire esempi da cui Copilot può apprendere.
Modalità di apprendimento dalle richieste di Copilot
GitHub Copilot opera in base ai modelli di intelligenza artificiale sottoposti a training su grandi quantità di dati. Per migliorare la comprensione di contesti di codice specifici, i tecnici spesso forniscono esempi a Copilot. Questa procedura, comunemente presente nell'apprendimento automatico, ha portato a diversi approcci di training, ad esempio:
Apprendimento "zero-shot"
In questo caso GitHub Copilot genera codice senza esempi specifici, basandosi esclusivamente sul training di base. Si supponga, ad esempio, di voler creare una funzione per convertire le temperature tra Celsius e Fahrenheit. È possibile iniziare scrivendo solo un commento che descrive ciò che si vuole ottenere e Copilot potrebbe essere in grado di generare automaticamente il codice, in base al training precedente, senza altri esempi.
Apprendimento "one-shot"
Con questo approccio viene fornito un singolo esempio, consentendo al modello di generare una risposta più compatibile con il contesto. Basandosi sull'esempio "zero-shot" precedente, è possibile fornire un esempio di una funzione di conversione della temperatura e quindi chiedere a Copilot di creare un'altra funzione simile. Potrebbe avere un aspetto analogo al seguente:
Few-shot learning
In questo metodo vengono forniti a Copilot diversi esempi, in modo da trovare un equilibrio tra l'imprevedibilità dell'approccio "zero-shot" e la precisione dell'ottimizzazione. Si supponga di voler generare codice che invii un messaggio di saluto a seconda dell'ora del giorno. Ecco una versione "few-shot" di tale richiesta:
Ora che si conosce il modo in cui Copilot usa le richieste per apprendere, si esaminerà nel dettaglio il modo in cui usa effettivamente la richiesta per suggerire il codice.