Desarrollo de Software con GitHub

Com utilitzar GitHub Copilot i millorar el desenvolupament de software

La propera era en el desenvolupament de programari ha arribat, i es diu GitHub Copilot. Una eina que pots comprar i instal·lar en menys de 10 minuts al teu editor de codi o IDE preferit. És la barreja perfecta entre la potència de la intel·ligència artificial i l’aprenentatge automàtic en el procés d’escriptura.

En aquest article explorarem com treure el màxim profit de GitHub Copilot i potenciar la teva eficiència en el desenvolupament de programari.

Abans de començar amb GitHub Copilot

En aquest cas, ens centrarem en l’ús de GitHub Copilot a Visual Studio Code. Per fer-ho, primer hem de tenir-lo instal·lat, i el podem obtenir des d’aquí. Un cop instal·lat, accedeix al Marketplace d’extensions i cerca la que ens interessa, tal com s’il·lustra a la següent imatge:

¿cómo instalar GitHub?

Un cop trobada, només hem de donar-li al botó d’instal·lar i ja tindrem tot configurat. Es recomana reiniciar l’aplicació després de la instal·lació.

Després d’això, hem de garantir-nos que l’extensió estigui correctament activada. A la cantonada inferior dreta de la finestra de Visual Studio Code podrem veure l’icona de GitHub Copilot. Si cliquem sobre ella, podrem trobar l’error següent:

ejemplo con GitHub Copilot para ilustrar un prompt

Després de prémer el botó, s’obrirà una finestra al navegador per iniciar sessió al nostre compte de GitHub. Perquè això funcioni, el compte de GitHub ha de tenir pagada la subscripció al servei de GitHub Copilot. Pots obtenir informació relacionada amb el pagament des de la pàgina oficial.

Un cop autoritzat l’ús del compte de GitHub en aplicacions externes ja ho tindrem tot configurat. A partir d’aquí, només hem de posar-nos mans a l’obra.

Una eina quasi a mida per a GitHub Copilot

Des de la secció de configuració (Arxiu > Preferències > Configuració) podem accedir a les configuracions de l’extensió. Per exemple, podríem editar una drecera de teclat per activar o desactivar Copilot, modificar la quantitat de suggeriments que ofereix o canviar els idiomes en els quals es pot utilitzar.

ejemplo con GitHub Copilot para ilustrar un prompt
ejemplo con GitHub Copilot para ilustrar un prompt

A mesura que anem corregint el text suggerit per Copilot, aquest aprendrà del codi que anem introduint als diferents fitxers i millorarà futures suggeriments. Com més vegades interactuem amb l’eina, més precisa i adaptada serà la generació de codi.

Si treballem en un equip en què tots utilitzen GitHub Copilot seria interessant establir unes pautes comunes per a l’ús de l’eina amb la finalitat de mantenir certa coherència en l’estil de codificació de l’equip.

Personalitzar les preferències i entrenar a GitHub Copilot és essencial per aprofitar al màxim les seves capacitats i ajustar-lo al nostre estil de desenvolupament. Això augmentarà significativament la qualitat del nostre codi.

Quines són les limitacions de GitHub?

Tot i ser una eina revolucionària no està exempta de limitacions i reptes que hem de tenir en compte. Tot i que GitHub Copilot sigui potent, no sempre genera codi 100% precís. Pot cometre errors o produir solucions poc fiables. És essencial que el desenvolupador revisi i validi el codi generat per evitar problemes. És una eina en mans del desenvolupador, no un substitut.

Ja que es nodreix del codi pujat als servidors de GitHub Copilot, hem de tenir cura en utilitzar l’eina. Especialment, si estem tractant informació sensible o confidencial als arxius del projecte.

L’eina depèn del llenguatge de programació i del concepte del projecte, per la qual cosa poden haver casos en què certs llenguatges o dominis puguin resultar més desafiants per a l’eina.

consultoría programando con GitHub teniendo en cuenta las limitaciones de la herramienta

Començar a utilitzar GitHub

Resposta curta: dins d’un comentari introdueix el que desitgis perquè ho generi l’eina.

ejemplo con GitHub Copilot para ilustrar un prompt

Resposta llarga: GitHub Copilot, com altres eines d’IA del moment, no pot suposar automàticament el que necessitem. En altres paraules, com més informació i context li proporcionem sobre el que estem cercant, més precisa serà la seva resposta. Seguint l’exemple anterior, si desitgem que l’aplicació ens proporcioni alguna cosa específica hem de sol·licitar-ho de manera explícita.

Amb aquest exemple hem aconseguit generar una interfície en llenguatge natural sense haver-nos de preocupar pel tipus de nomenclatura a utilitzar.

Pot també generar mètodes amb més o menys lògica? Per descomptat, sempre que proporcionem una indicació específica a l’encapçalament del mètode per informar-lo sobre el que desitgem. Un exemple senzill seria el següent:

ejemplo con GitHub Copilot para ilustrar un prompt

També podem afegir-li un nivell de complexitat addicional:

ejemplo con GitHub Copilot para ilustrar un prompt

Aquest exemple és perfecte per il·lustrar que aquesta eina pot no tenir en compte tots els aspectes del nostre prompt. Amb un nom compost, com podria ser “Juan Alberto”, si l’usuari ho escriu en minúscules l’eina retornaria el seu nom com “Juan Alberto”. Per evitar-ho, podríem afegir un simple recordatori al codi en forma de comentari:

Una bona manera d’entrenar a l’eina és eliminar la proposta que no ens encaixa i tornar-la a crear fins trobar una solució satisfactòria. Una altra manera d’entrenar a la GitHub és escriure part del codi i permetre que l’eina ho completi. De manera que es vagi “acostumant” al nostre estil de desenvolupament de programari.

Com millorar els prompts a GitHub Copilot?

En realitat, el prompt és la part més important a l’hora d’utilitzar qualsevol IA, fins i tot més que la pròpia eina. En ell resideix la responsabilitat d’obtenir resultats precisos i útils. Diversos consells que es poden utilitzar són els següents:

1. Res ambiguïtats

GitHub Copilot és una IA, no el nostre company de treball, per la qual cosa necessita que li diguem exactament el que necessitem; per tant, cal ser el més específic possible. Per exemple, en lloc de “Genera’m un gràfic de barres per a un objecte”, es pot introduir “Genera un gràfic de barres per a l’objecte chartData, ordenant els ítems de menor a major segons el valor de la variable measure“.

2. Un exemple val més que mil paraules

Incloure un exemple del context que estàs abordant pot ajudar l’IA a comprendre millor el que estàs esperant. En cas que el codi generat no sigui el desitjat, pots afegir un comentari que digui: “No és el que necessito. Si us plau, genera el codi seguint aquestes indicacions”, juntament amb una llista de les coses que necessites. Seguint l’exemple anterior, podem afegir el prompt: “Genera el gràfic de barres prenent com a exemple aquest conjunt de dades, que té la mateixa estructura que l’entrada: [exemple de dades fent servir un JSON]”.

3. Provar, refer i refer

Ja hem vist que és una eina imperfecta. Si no ens agrada el que ens generi l’IA, podem refinar la sortida de l’IA proporcionant un feedback precís. Per exemple, si no ens convenç el gràfic de barres generat, podem sol·licitar que ens el generi en una llibreria concreta, introduint un nou comentari que digui: “Necessito que el gràfic de barres el generis utilitzant la llibreria Kendo”.

La comunitat, una gran font de coneixement

Hi ha comunitats actives d’usuaris d’eines d’IA, com pot ser el r/OpenAI de Reddit, on sempre hi ha altres desenvolupadors que comparteixen els seus consells sobre com fan ells els seus prompts i com els han millorat. Participa en fòrums d’usuaris, grups de desenvolupament de projectes open-source i xarxes socials com LinkedIn per compartir i aprendre noves estratègies d’enginyeria de prompts.

Al llarg de l’article hem pogut comprovar que GitHub Copilot és més que un simple assistent de codi. És un company de desenvolupament que t’entén, et suggereix solucions i et estalvia temps. Amb GitHub Copilot, pots crear aplicacions increïbles amb menys esforç. Vols saber més sobre aquesta revolucionària tecnologia? T’animem a llegir el nostre article “GitHub Copilot: Millora la velocitat de desenvolupament“, on et expliquem com funciona, quines avantatges té i com pots començar a utilitzar-lo avui mateix.

No deixis passar aquesta oportunitat de millorar la teva productivitat i creativitat amb GitHub Copilot. Contacta’ns ara i descobreix tot el que podem fer per tu!

Elio San Martín Gallart – Software developer at Iteq