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

Secció 1: Justificació Crítica de l’ús de la IA i la Documentació

Reflexió sobre la IA com a Copilot: En aquest projecte, la intel·ligència artificial s’ha utilitzat estrictament com un copilot de programació i no com un substitut del pensament crític. Cada bloc de codi generat per la IA ha estat analitzat, comprès línia per línia i adaptat manualment a les necessitats reals de la instal·lació de Can Font. L’ús de l’IA ens ha permès optimitzar el temps de desenvolupament, mitigar errors de sintaxi i implementar bones pràctiques de control de flux (com el tractament d’excepcions try/except i la neteja de cadenes amb .strip()).

Importància de la Documentació Professional: La creació i manteniment dels fitxers README.md, CHANGELOG.md i CONTRIBUTING.md no s’ha plantejat com un simple tràmit acadèmic. S’ha concebut com una eina de comunicació d’enginyeria de programari real, essencial per garantir l’escalabilitat del xatbot, la traçabilitat històrica dels canvis realitzats per l’equip i el manteniment del projecte a llarg termini per part de qualsevol altre desenvolupador.

Secció 2: Explicació Avançada del Codi Font

  • Bloc de Seguretat (from google.colab import userdata): S’utilitza per importar la llibreria nativa de gestió d’entorn de Colab. Mitjançant userdata.get("GOOGLE_API_KEY"), s’extreu la clau de manera encriptada des de l’espai de configuració privada (Secrets del quadern). Això compleix amb la directiva estricta de seguretat de no fer hardcoding de claus privades en repositoris públics.
  • Bloc de Prevenció d’Al·lucinacions (system_instruction): Definim una cadena de text immutable amb les dades reals i crítiques de l’Edifici Can Font (Ubicació, Horaris, Normativa Digital de Residu Zero i configuració de Xarxa DHCP). En injectar aquestes instruccions al model, delimitem el seu comportament a un context tancat, evitant que inventi informació de fora de la instal·lació.
  • Configuració del Model (types.GenerateContentConfig): Definim els paràmetres operatius de l’API. Fixem una temperature=0.7 per aconseguir un equilibri perfecte entre precisió corporativa i naturalesa en la resposta, i limitem max_output_tokens=700 per optimitzar el consum de recursos i evitar respostes innecessàriament llargues.
  • Persistència del Diàleg (client.chats.create): Creem un objecte de xat persistent en lloc d’una crida aïllada. Això permet que l’API de Gemini recordi automàticament els missatges anteriors de la sessió actual (mantenint el fil lògic de la conversa).
  • Filtre i Control d’Entrada (.strip()): Al bucle interactiu, apliquem .strip() a l’entrada de text de l’usuari (Jimmy: ). Això elimina espais en blanc accidentals al principi o al final, evitant crides buides inútils a l’API.
  • Gestió de Fallades (try/except Exception as e): Tot el flux de comunicació extern està encapsulat en blocs de control d’errors per evitar que el programa es col·lapsi (faci un crash) davant d’una caiguda de la xarxa o per haver superat la quota de crides de l’API.

Secció 3: Enllaços Funcionals del Repositori de GitHub

Secció 4: Evidències del Projecte

image

image

image

image

image

image
Translate »