La intel·ligència artificial generativa ha passat en pocs anys de ser un tema de recerca a convertir-se en una eina quotidiana per als equips de desenvolupament. Autocompleció de codi, chatbots capaços de mantenir converses coherents, generació automàtica de documentació... tot plegat es recolza en una mateixa família de tecnologies. En aquesta primera lliçó establirem els fonaments del curs: entendràs què distingeix la IA generativa del machine learning clàssic, com hem arribat fins als grans models de llenguatge (LLMs), quins tipus de contingut poden generar i, sobretot, quins casos d'ús reals tenen per a tu com a desenvolupador. A més, presentarem el fil conductor que ens acompanyarà durant tot el curs: DocuBot, l'assistent de documentació interna que construirem pas a pas per a una empresa fictícia anomenada Nubelia.

Contingut

  1. IA generativa vs. IA discriminativa: dues maneres de fer servir el machine learning
  2. Breu història: del ML clàssic als LLMs
  3. Què genera la IA generativa: text, codi, imatges i més
  4. Casos d'ús reals per a desenvolupadors
  5. El nostre cas de curs: Nubelia i la necessitat de DocuBot
  6. Què pot fer i què no pot fer un LLM (raonament inicial)

IA generativa vs. IA discriminativa: dues maneres de fer servir el machine learning

Durant la major part de la història del machine learning aplicat, els models que fèiem servir en producció eren discriminatius (també anomenats predictius o de classificació). La seva feina consisteix a prendre una entrada i assignar-li una etiqueta, una puntuació o una categoria d'entre un conjunt tancat de possibilitats.

Alguns exemples clàssics:

  • Un filtre de spam: rep un correu i respon spam o no spam.
  • Un model de scoring: rep les dades d'una sol·licitud i retorna una probabilitat.
  • Un classificador d'imatges: rep una foto i respon gat, gos o ocell.

La IA generativa, en canvi, no tria entre opcions predefinides: produeix contingut nou que no existia tal qual a les seves dades d'entrenament. Genera text, codi, imatges o àudio, i l'espai de sortides possibles és pràcticament infinit.

La diferència es veu molt bé en una taula:

Aspecte IA discriminativa (ML clàssic) IA generativa
Objectiu Classificar o predir un valor Crear contingut nou
Sortida Etiqueta, número o categoria d'un conjunt tancat Text, codi, imatge... obert
Exemple típic "Aquest correu és spam?" → sí/no "Redacta una resposta a aquest correu"
Dades d'entrenament Solen requerir etiquetatge manual Grans corpus sense etiquetar (més ajustos posteriors)
Avaluació Mètriques clares (precisió, recall...) Més difusa: qualitat, utilitat, correcció
Interfície habitual Funció que retorna una predicció Conversa o instrucció en llenguatge natural

Un matís important: no són tecnologies enfrontades, sinó complementàries. De fet, molts sistemes moderns combinen totes dues. Un pipeline de moderació de contingut pot fer servir un model generatiu per redactar una resposta i un de discriminatiu per verificar que aquesta resposta no conté llenguatge inapropiat abans de mostrar-la.

Com a desenvolupador, la conseqüència pràctica més rellevant és aquesta: amb el ML clàssic entrenaves (o encarregaves entrenar) un model específic per a cada tasca; amb la IA generativa, un mateix model de propòsit general pot dur a terme centenars de tasques diferents simplement descrivint-les-hi en llenguatge natural. Això canvia radicalment com s'integra la IA al programari, i és el motiu que aquest curs existeixi.

Breu història: del ML clàssic als LLMs

No et cal conèixer la història completa de la IA per fer servir un LLM, però entendre les fites principals t'ajudarà a situar la tecnologia i a entendre per què funciona com funciona.

  • Dècades de 1950–1990 — Sistemes basats en regles i ML estadístic primerenc. Els primers chatbots (com ELIZA, als anys 60) funcionaven amb regles escrites a mà: detectaven patrons al text i responien amb plantilles. No "entenien" res, i es notava tan bon punt la conversa sortia del guió.
  • 1990–2010 — Machine learning estadístic. Els models aprenen de dades en lloc de regles manuals: màquines de vectors de suport, arbres de decisió, models n-grama per al llenguatge. El processament de llenguatge natural (NLP) avança, però cada tasca (traduir, resumir, classificar) requereix el seu propi model i el seu propi dataset etiquetat.
  • 2010–2017 — Deep learning i xarxes recurrents. Les xarxes neuronals profundes revolucionen primer la visió per computador i després el llenguatge. Les xarxes recurrents (RNN, LSTM) processen el text seqüencialment, paraula a paraula, però els costa gestionar textos llargs i són lentes d'entrenar perquè no es poden paral·lelitzar bé.
  • 2017 — El transformer. L'article "Attention Is All You Need" introdueix l'arquitectura transformer, que substitueix la recurrència per un mecanisme anomenat atenció. Això permet processar totes les paraules d'un text en paral·lel i capturar relacions entre paraules distants. És la fita tècnica clau que fa possibles els LLMs actuals. (Com funciona per dins ho veurem a la lliçó següent, la 01-02; de moment queda't amb la idea que és l'arquitectura sobre la qual es construeix gairebé tot el que ve a continuació.)
  • 2018–2022 — Escalat i grans models de llenguatge. Es descobreix que, en entrenar transformers cada cop més grans amb cada cop més text, no només milloren gradualment: apareixen capacitats emergents com seguir instruccions, traduir sense haver estat entrenats específicament per fer-ho, o escriure codi. Neixen els LLMs (Large Language Models, grans models de llenguatge).
  • De 2022 en endavant — La IA generativa arriba al gran públic i a les empreses. Els LLMs conversacionals demostren que un model de propòsit general pot ser útil per a tasques reals, i els proveïdors publiquen APIs que permeten integrar-los en qualsevol aplicació. És el moment en què la IA generativa deixa de ser un tema de laboratori i passa a ser una peça més de l'arquitectura de programari, com una base de dades o una cua de missatges.

Aquest darrer punt és el que ens interessa en aquest curs: l'LLM com a component de les teves aplicacions, accessible mitjançant una API, amb les seves capacitats, les seves limitacions i els seus patrons d'integració.

timeline
    title Fites cap als LLMs
    1966 : ELIZA - chatbot basat en regles
    1990s : ML estadístic - un model per tasca
    2012 : El deep learning s'enlaira
    2017 : Transformer - "Attention Is All You Need"
    2020 : LLMs amb capacitats emergents
    2022+ : IA generativa com a component de programari via API

Què genera la IA generativa: text, codi, imatges i més

Sota el paraigua de la "IA generativa" hi conviuen models que generen diferents tipus de contingut (el que s'anomena diferents modalitats):

Modalitat Què genera Exemples d'ús
Text Prosa, respostes, resums, traduccions Chatbots, redacció, anàlisi de documents
Codi Programes, tests, scripts, consultes SQL Assistents de programació, generació de tests
Imatges Il·lustracions, fotos sintètiques, dissenys Màrqueting, prototipatge visual
Àudio Veu sintètica, música Locucions, accessibilitat
Vídeo Clips generats a partir de descripcions Contingut audiovisual

Aquest curs se centra en text i codi, per dues raons:

  1. Són les modalitats on els LLMs estan més madurs i on hi ha més experiència d'integració en aplicacions reals.
  2. Són les que un desenvolupador de backend, frontend o full-stack integrarà amb més freqüència: chatbots, assistents, processament de documents, automatització.

Un detall que sorprèn molta gent: per a un LLM, el codi és text. El mateix model que redacta un correu pot escriure una funció en Python, perquè durant el seu entrenament va veure quantitats enormes de tots dos. No hi ha un "mòdul de codi" separat; hi ha un model de llenguatge que ha après els patrons del llenguatge natural i dels llenguatges de programació.

Casos d'ús reals per a desenvolupadors

Vegem on està aportant valor la IA generativa en equips de desenvolupament reals. No és una llista exhaustiva, però cobreix les categories principals.

  1. Assistents de codi

És probablement el cas d'ús que ja coneixes: eines integrades a l'editor que autocompleten codi, expliquen fragments, proposen refactoritzacions o generen tests. Aquí tu ets l'usuari de la IA generativa.

  1. Chatbots i assistents conversacionals

Aplicacions que responen preguntes d'usuaris o empleats en llenguatge natural: suport al client, assistents interns, FAQ intel·ligents. Aquí tu ets el constructor: integres un LLM a la teva aplicació. Aquest és el cas d'ús central d'aquest curs.

  1. Generació i manteniment de documentació

Generar documentació a partir de codi, resumir documents llargs, mantenir changelogs, redactar descripcions d'endpoints a partir d'una especificació OpenAPI.

  1. Processament de text no estructurat

Extreure dades estructurades de correus, tiquets o PDFs; classificar incidències; normalitzar text lliure a un format processable (per exemple, JSON). És una categoria poc vistosa però enormement rendible: converteix problemes que abans requerien expressions regulars fràgils o feina manual en una crida a un model.

  1. Automatització de fluxos de treball

Encadenar l'LLM amb altres eines: llegir un tiquet, cercar informació rellevant, redactar una proposta de resposta i deixar-la a punt per a revisió humana. En la seva forma més avançada, això porta als agents (els veurem al mòdul 5).

Cas d'ús Tu ets... Exemple concret
Assistent de codi Usuari Autocompletar una funció a l'editor
Chatbot / assistent Constructor Bot de suport intern (el nostre DocuBot)
Documentació Constructor / usuari Generar docs a partir del codi
Text no estructurat Constructor Extreure camps de tiquets en JSON
Automatització Constructor Classificar i pre-respondre incidències

Fixa't en un patró que es repeteix en els casos de "constructor": l'LLM no substitueix la teva aplicació, sinó que es converteix en un component més que rep text i retorna text, orquestrat pel teu codi.

El nostre cas de curs: Nubelia i la necessitat de DocuBot

Perquè el curs no es quedi en teoria, tot el que aprenguis ho aplicarem a un cas concret que anirem construint mòdul a mòdul.

Nubelia és una empresa fictícia de SaaS que ofereix una plataforma de gestió de projectes: taulers, tasques, informes, integracions amb altres eines i una API pública per als seus clients. Com qualsevol empresa de programari amb uns quants anys de recorregut, Nubelia acumula una quantitat considerable de documentació interna:

  • Documentació tècnica de la seva API i de l'arquitectura de la plataforma.
  • Guies d'operacions i runbooks de desplegament.
  • Articles de la base de coneixement de l'equip de suport.
  • Actes de decisions tècniques i convencions de l'equip de desenvolupament.

I aquí hi ha el problema: aquesta documentació està repartida entre una wiki, repositoris i carpetes compartides, i trobar la resposta correcta requereix massa temps. Un desenvolupador nou triga setmanes a saber on ha de buscar. L'equip de suport escala preguntes a enginyeria que ja estaven respostes a la wiki. Preguntes com "quin és el límit de peticions de l'API pública?" o "com es reinicia el servei d'informes?" es responen un cop i un altre pel xat.

La proposta que estudiarem i construirem al llarg del curs és DocuBot: un assistent intern al qual els desenvolupadors i el personal de suport de Nubelia puguin preguntar en llenguatge natural, i que respongui basant-se en la documentació interna de l'empresa.

En aquest primer mòdul encara no escriurem codi d'integració (això arriba al mòdul 3). Però DocuBot ja ens serveix per a una cosa molt valuosa: raonar sobre què pot fer i què no pot fer un LLM, que és exactament el que farem tot seguit.

Què pot fer i què no pot fer un LLM (raonament inicial)

Imagina que avui mateix, sense més infraestructura, connectéssim un LLM genèric a un xat intern de Nubelia i l'anomenéssim DocuBot. Què passaria?

El que faria bé des del primer dia:

  • Respondre preguntes generals de programació ("com faig una petició HTTP en Python?").
  • Explicar conceptes tècnics, redactar i resumir textos, traduir.
  • Mantenir una conversa coherent i adaptar el to.

El que faria malament o directament no podria fer:

  • Respondre "quin és el límit de peticions de l'API de Nubelia?" — el model no ha vist mai la documentació interna de Nubelia, perquè Nubelia no existeix a les seves dades d'entrenament. I el que és preocupant: és possible que en lloc de dir "no ho sé", inventi una resposta plausible (una xifra raonable però falsa). Aquest fenomen s'anomena al·lucinació i l'estudiarem a fons a la lliçó 01-04.
  • Conèixer canvis recents: encara que li donéssim documentació durant l'entrenament, quedaria desactualitzada.
  • Executar accions: consultar l'estat real d'un servei, obrir un tiquet. Un LLM, per si sol, només genera text.

Podem resumir aquest raonament en pseudocodi, que reflecteix la idea central de tot el curs:

# El que un LLM "sap" té dues fonts:

coneixement_del_model = allò après durant el seu entrenament
                        (general, ampli, però congelat en el temps
                         i sense dades privades de la teva empresa)

context_de_la_peticio = el que la teva aplicació li passa a cada crida
                        (instruccions, documents, historial...)

resposta = model(coneixement_del_model + context_de_la_peticio)

La segona font, context_de_la_peticio, és la que controlem com a desenvolupadors, i és la clau de gairebé tot el que farem en aquest curs: aprendre a donar al model el context adequat (mòdul 2, prompting), passar-l'hi des de la nostra aplicació (mòdul 3, integració) i recuperar automàticament els documents rellevants de Nubelia per a cada pregunta (mòdul 4, RAG). Amb això, DocuBot deixarà d'inventar i començarà a respondre amb la documentació real al davant.

Errors Comuns i Consells

  • Confondre "el model sembla que entén" amb "el model sap". Un LLM genera text plausible; que la resposta soni segura no vol dir que sigui correcta. Adopta des d'ara el costum de preguntar-te: d'on trauria el model aquesta informació? Si la resposta és "d'enlloc" (com passa amb la documentació interna de Nubelia), desconfia'n.
  • Pensar que la IA generativa substitueix el ML clàssic. Per classificar transaccions o predir demanda, un model discriminatiu específic sol ser més barat, ràpid i fiable. Fes servir IA generativa quan la tasca impliqui produir o transformar llenguatge o codi.
  • Creure que cal ser expert en matemàtiques o en deep learning. Per integrar LLMs en aplicacions necessites entendre'n el comportament (tokens, context, limitacions), no el seu càlcul intern. És anàleg a fer servir una base de dades sense haver implementat mai un motor d'emmagatzematge.
  • Començar per la tecnologia en lloc del problema. "Vull posar IA al meu producte" és un mal punt de partida. "Suport perd hores buscant a la wiki" (el problema de Nubelia) és un bon punt de partida: defineix el problema, i després avalua si un LLM és l'eina adequada.
  • Consell: durant el curs, mantén una llista de tasques de la teva feina real que encaixin en les cinc categories de casos d'ús. Et servirà per aterrar cada mòdul en el teu context.

Exercicis

Exercici 1: Generativa o discriminativa?

Classifica cadascuna d'aquestes tasques com a més adequada per a un enfocament generatiu, discriminatiu o una combinació de tots dos, i justifica breument per què:

  1. Detectar si una ressenya de producte és positiva o negativa.
  2. Redactar una resposta personalitzada a cada ressenya de producte.
  3. Decidir si un tiquet de suport de Nubelia és urgent i, si ho és, redactar un primer esborrany de resposta.
  4. Predir quants usuaris es connectaran a la plataforma de Nubelia el pròxim dilluns.

Exercici 2: DocuBot sense context

Un company de Nubelia proposa llançar DocuBot demà mateix connectant el xat intern directament a un LLM genèric, sense donar-li accés a cap documentació. Escriu una llista de tres preguntes reals que els empleats li podrien fer i per a les quals aquest DocuBot "ingenu" donaria un mal resultat, indicant en cada cas quin tipus de fallada esperaries (resposta inventada, coneixement desactualitzat, o incapacitat d'actuar).

Exercici 3: Detectar el cas d'ús

Pensa en el teu propi equip o en un projecte en què hagis treballat. Identifica una tasca que encaixi en alguna de les cinc categories de casos d'ús d'aquesta lliçó (assistent de codi, chatbot, documentació, text no estructurat, automatització). Descriu: la tasca, la categoria, quin text rebria l'LLM com a entrada i quin text hauria de produir com a sortida.

Solucions

Solució 1:

  1. Discriminativa. És una classificació binària clàssica (positiva/negativa); un model específic és més barat i el seu rendiment és fàcil de mesurar. (Un LLM també ho pot fer, però seria com fer servir un camió per portar una carta.)
  2. Generativa. La sortida és text nou i personalitzat; no hi ha un conjunt tancat de respostes possibles.
  3. Combinació. La decisió d'urgència és una classificació (discriminativa o un LLM classificant); l'esborrany de resposta és generació. És el patró híbrid que hem esmentat: classificar primer, generar després, amb revisió humana abans d'enviar.
  4. Cap de les dues en sentit generatiu: és predicció numèrica, terreny del ML clàssic (sèries temporals / regressió). Un LLM no és l'eina adequada per predir una xifra a partir de dades històriques.

Solució 2 (exemple de resposta vàlida; les teves poden variar):

  1. "Quin és el límit de peticions per minut de l'API pública de Nubelia?"Resposta inventada (al·lucinació): el model no coneix Nubelia, però pot generar una xifra plausible i falsa.
  2. "Què va canviar a l'última versió de la plataforma?"Coneixement desactualitzat / inexistent: encara que el model sabés alguna cosa de Nubelia, no coneix els canvis posteriors al seu entrenament.
  3. "Reinicia el servei d'informes de l'entorn de proves."Incapacitat d'actuar: un LLM només genera text; no pot executar accions sobre sistemes (connectar-lo amb eines es veurà al mòdul 5).

Qualsevol pregunta sobre informació interna, recent o que requereixi executar accions és una bona resposta a aquest exercici.

Solució 3 (exemple):

  • Tasca: l'equip rep correus de clients que reporten errors, amb format lliure.
  • Categoria: processament de text no estructurat.
  • Entrada: el cos del correu del client.
  • Sortida: un JSON amb camps com producte, severitat_estimada, resum i passos_per_reproduir, a punt per crear un tiquet automàticament.

L'important és que hagis identificat amb claredat l'entrada i la sortida en forma de text: aquest és el contracte bàsic de qualsevol integració amb un LLM.

Conclusió

En aquesta lliçó hem delimitat el terreny de joc: la IA generativa crea contingut nou (a diferència del ML clàssic, que classifica o prediu), és el resultat d'una evolució la fita clau de la qual va ser l'arquitectura transformer el 2017, i avui és accessible per a qualsevol desenvolupador com un component més de les seves aplicacions. Hem vist els casos d'ús principals per a desenvolupadors i hem presentat el problema que ens acompanyarà tot el curs: la documentació dispersa de Nubelia i la proposta de resoldre-ho amb DocuBot. També hem fet un primer raonament honest sobre què pot fer i què no pot fer un LLM sense ajuda: molt coneixement general, zero coneixement de la teva empresa, i tendència a inventar quan no sap.

Fins ara hem tractat l'LLM com una caixa negra que rep text i retorna text. A la pròxima lliçó, "Com funciona un LLM: tokens, embeddings i atenció", obrirem aquesta caixa just el que cal: entendràs què són els tokens (i per què determinen els límits i el cost de cada crida), com els embeddings capturen el significat del text i què fa realment el famós mecanisme d'atenció. No caldrà ni una sola equació, però en sortiràs entenent per què el model es comporta com es comporta.

© Copyright 2026. Tots els drets reservats