Ús de la IA en la programació i comentaris al codi. Documentació del repositori actualitzada (README, CHANGELOG, CONTRIBUTING)

Per què hem usat la IA?

Hem utilitzat Google Gemini com a copilot de programació per agilitzar el desenvolupament del chatbot. En lloc de partir de zero, hem usat la IA per generar la base del codi, entendre cada bloc i millorar-lo progressivament. La IA també ens ha ajudat a documentar el projecte: comentaris al codi, README i CHANGELOG actualitzats.

El CHANGELOG i el README serveixen com a eina professional: permeten veure l’evolució del projecte, faciliten la traçabilitat dels canvis i garanteixen que qualsevol persona pugui entendre i mantenir el codi a llarg termini.

Procés d’iteració amb la IA

Iteració 1 – Primer prompt

Li vam demanar a la IA:

“Crea un chatbot en Python per a Google Colab que usi l’API de Gemini per respondre preguntes sobre una LAN Party. Ha de tenir un servidor Flask per connectar-lo amb un HTML.”

La IA va generar un codi bàsic amb Flask i l’API de Gemini, però sense gestió d’errors, sense CORS i amb la clau API exposada directament al codi. El FrontEnd no podia connectar-se al servidor.

Iteració 2 – Solució dels errors de connexió

Li vam demanar:

“El codi té errors de CORS quan el FrontEnd intenta connectar-se. Afegeix flask-cors per solucionar-ho. També necessito que el servidor sigui accessible des d’Internet usant ngrok. Afegeix gestió d’errors amb try-except.”

Millores obtingudes:

  • Afegida la llibreria flask-cors per permetre peticions del FrontEnd
  • Integrat pyngrok per crear un túnel públic HTTPS automàticament
  • Afegit bloc try-except per gestionar errors sense que el servidor caigui

Iteració 3 – Millora de la seguretat

Li vam demanar:

“Com puc evitar posar la clau API directament al codi? I com puc fer que el codi seleccioni automàticament el model Gemini més recent?”

Millores obtingudes:

  • La IA va explicar com usar userdata.get() de Google Colab per guardar les claus com a Secrets (icona de la clau a Colab), evitant que apareguin al codi públic
  • Va afegir un bucle que selecciona automàticament el model Flash més recent disponible

Iteració 4 – Comentaris al codi

Li vam demanar:

“Afegeix comentaris explicatius a cada bloc del codi perquè sigui fàcil d’entendre per a algú que no el coneix.”

El codi final té comentaris detallats a cada secció: instal·lació de llibreries, configuració de l’API, selecció del model, instruccions del bot, servidor Flask i configuració de ngrok.

Qualitat del codi

El codi final segueix aquests criteris de qualitat:

  • Variables descriptives: model_name, instruccions, user_input, public_url
  • Comentaris a cada bloc: expliquen el propòsit de cada secció
  • Gestió d’errors: try-except a l’endpoint i a la selecció del model
  • Seguretat: les claus API es guarden com a Secrets de Colab, mai al codi

El CHANGELOG.md del repositori recull tots els canvis amb dates i descripcions clares.

Evidències