23 · Agents: un model que fa coses
Un model de llenguatge, sol, només escriu text. Un agent és un model que, a més, pot fer coses: buscar a internet, llegir un fitxer, executar un programa, enviar un correu. Se'n parla com si fos una tecnologia nova i misteriosa, i la idea de base és sorprenentment simple. Aquest capítol explica aquesta idea, per què els agents fallen tant com fallen i què es fa perquè fallin menys.
1. Pensar, actuar, mirar#
La definició que fa servir el camí matemàtic és operativa: un agent és un model que crida eines en bucle fins a acabar una tasca, decidint ell mateix els passos. Tota la resta (plans, memòria, equips d'agents) són millores d'aquest bucle.
Un agent és un bucle: pensar, actuar, mirar
1/6La tasca
El model rep la conversa i la llista d'eines que pot fer servir. Aquí, una calculadora.
Mira-ho com un cuiner que segueix una recepta que no té escrita. Pensa què toca ara, ho fa, mira com ha quedat i torna a pensar. El model fa el mateix, amb una diferència important: no fa res ell mateix. Escriu una petició («crida la calculadora amb aquests números»), i és el programa que l'envolta qui l'executa i li torna el resultat enganxat a la conversa. Per això tot el que l'agent sap a cada volta és el que hi ha a la conversa.
Tres coses decideixen si un agent funciona: les eines (què pot fer), el context (què sap a cada pas) i el criteri d'aturada (quan considera que ha acabat). Aquest últim és més delicat del que sembla: el bucle s'atura quan el model respon sense demanar res. Si una eina falla sempre i el model hi torna sempre, el bucle no acaba mai. Al camí matemàtic, un model petit que ha après a fer servir una calculadora fa una cosa encara pitjor: després de quatre errors seguits, que és el màxim que havia vist durant l'entrenament, comença a copiar malament la crida i acaba inventant-se una resposta. Un límit de passos converteix les dues coses en el mateix missatge honest: «no ho he pogut fer».
2. Les eines: el model només sap el que diu l'etiqueta#
Imagina que et donen una caixa d'eines on cada eina té una etiqueta, i que no pots veure les eines: només les etiquetes. Triaràs bé si les etiquetes són bones. Això és, literalment, la situació del model. Cada eina té un nom, una descripció i la llista de coses que se li han de passar, i el model no en sap res més.
El model només sap el que diu l'etiqueta
Mesurat al camí matemàtic amb un triador que compara les paraules de la tasca amb les de cada descripció: no és un LLM, però falla pel mateix motiu. Amb més eines al catàleg, l'encert baixa amb totes tres descripcions.
El camí matemàtic recull els principis que fan bones les eines, i tots surten d'aquí:
- Poques eines i bones, millor que moltes de petites. Amb desenes d'eines, la tria empitjora, i a més les descripcions ocupen l'escriptori del capítol 21 a cada crida: cinquanta eines ben descrites són unes 6.600 peces (els tokens del capítol 10, que és com es compta i es paga el text). Si en calen moltes, es fa servir una cerca d'eines: només es carreguen les que s'assemblen a la tasca.
- Noms i descripcions sense ambigüitat, amb un exemple de quan fer-la servir i, sobretot, de quan no.
- Respostes curtes i útils. El que torna una eina entra a la conversa, es paga i distreu. No cal abocar deu mil peces de dades; cal filtrar i resumir.
- Errors que expliquin què passa. «Falta la data, en format any-mes-dia» permet al model corregir-se; «error 400» l'obliga a endevinar. En una simulació del camí matemàtic, amb un error que ho explica, el model se'n surt moltes més vegades.
- Que tornar-ho a provar no faci mal, i confirmació abans de fer res que no es pugui desfer.
Hi ha un patró que ha guanyat en les tasques de dades: en comptes de vint eines, donar al model un lloc on executar codi. Si ha de sumar vint factures, en comptes de fer vint crides, cadascuna amb el seu resultat entrant a la conversa, escriu tres línies que fan les vint crides i només li tornen el total. Gasta moltes menys peces i pot fer coses que cap eina no havia previst.
3. MCP: un endoll comú#
Fins fa poc, cada aplicació que volia fer servir una eina havia d'escriure el seu propi connector, i cada eina havia de tenir un connector per a cada aplicació. És el que passaria si cada electrodomèstic tingués un endoll diferent.
Un endoll comú per a totes les eines
Amb 5 aplicacions i 40 eines, 200 connectors sense protocol i 45 amb.
MCP (Model Context Protocol) és l'endoll comú. Anthropic el va presentar el 2024, el va donar a la Linux Foundation a finals del 2025, i l'han adoptat els principals ecosistemes. Les eines s'ofereixen des d'un servidor MCP, el programa que les fa córrer i les descriu; s'escriu una vegada i qualsevol aplicació compatible el pot fer servir. Pot oferir tres coses: eines (accions), recursos (dades per llegir) i plantilles de prompts.
Una eina que canvia després d'aprovar-la
1/4Instal·les una eina de tercers
Un servidor d'eines que algú altre ha escrit. La seva descripció entrarà al context del teu model cada vegada, i el seu codi correrà amb els teus permisos.
L'enverinament d'eines (tool poisoning), una descripció que porta una instrucció amagada, és la injecció de prompts del capítol 21 en un lloc pitjor. Les defenses contra la injecció protegeixen el que el model llegeix com a dades, entre separadors; la descripció d'una eina va on van les instruccions. Al camí matemàtic, el model que millor resistia la injecció en un resultat d'eina obeeix la majoria de les vegades la mateixa instrucció posada a la descripció. L'estirada de catifa (rug pull) és el servidor que canvia després que l'hagis aprovat, i es detecta guardant l'empremta de cada descripció, com a la figura. Un tercer risc és que una eina demani dades privades en un camp que no tocaria. La recepta: tractar els servidors com qualsevol programari de tercers, revisar-los, fixar-ne la versió i donar-los els mínims permisos.
4. Memòria: el que hi ha a l'escriptori#
Un model no recorda res d'una crida a la següent. Quan sembla que recorda el que li vas dir fa una hora, és perquè el programa li torna a enviar la conversa sencera, o una part, a cada crida. És com algú que no forma records nous i viu de les notes que es deixa: el que sap és el que té escrit davant. Tota la memòria d'un agent és decidir què hi ha al context.
Recordar en una conversa llarga
Quan s’acosta al límit, resumeix el que és antic. El resum ocupa poc, però no hi cap tot: cada vegada que es torna a resumir, s’hi queden els fets més recents.
Se'n distingeixen diversos tipus: la de treball (la tasca d'ara, al context), la dels episodis («l'altre dia vam decidir X», un historial resumit que es recupera quan cal), la dels fets (preferències, noms, perfils, en una memòria estructurada), la dels procediments («els informes sempre així») i l'externa (fitxers i bases de dades per a tot el que és gran o ha de durar). En tasques llargues, un patró útil és que l'agent escrigui el seu propi estat en un fitxer i el rellegeixi. I la memòria s'ha de mantenir: posar data de caducitat als fets i revisar-los, perquè no s'hi acumulin coses velles o contradictòries.
5. Un agent o un equip#
Una idea temptadora és fer un equip d'agents: un que coordina i uns quants d'especialistes, els subagents, que reben cadascun una part de la feina. El consell del camí matemàtic és el contrari: un sol agent amb bones eines és el punt de partida, i sovint el final.
Un equip té sentit en tres casos. Quan hi ha feines independents que es poden fer alhora (investigar cinc fonts a la vegada): al camí matemàtic, cinc subtasques de vuit passos acaben 3,4 vegades abans en paral·lel. Quan convé aïllar el context: cada subagent explora pel seu compte i només en torna un resum, i el coordinador es queda amb 5.000 peces a l'escriptori en comptes de 15.000. I quan hi ha rols amb permisos diferents.
Però cada agent de més afegeix maneres noves de fallar. Si les subtasques són curtes, el que cada subagent ha de llegir per començar pesa més del que s'estalvia, i l'equip gasta 1,3 vegades les peces de l'agent sol. I cada vegada que un agent passa la feina a un altre, li passa un resum.
El joc del telèfon entre agents
Cada fet té un 90 % de probabilitat de sobreviure a cada traspàs. Els fets ratllats són els que s'han perdut en aquest sorteig.
Quan el procés és conegut, sovint és millor un flux de passos fixos (workflow): els passos que es poden programar es programen, i el model només fa els que necessiten criteri. Menys decisions del model són menys llocs on pot fallar. Altres patrons útils: un model que tria a quin especialista va cada petició, o un que genera i un altre que critica.
6. Per què la fiabilitat cau multiplicant#
Aquest és el problema central dels agents, i és pura aritmètica.
Una cadena aguanta si aguanten totes les baules
Si cada pas surt bé el 95 % de les vegades, una tasca de vint passos surt bé el 36 %. Cap pas no és dolent; és que n'hi ha molts. El compte és simplificat: suposa que un sol error espatlla la tasca i que cada pas encerta o falla pel seu compte. A la pràctica, hi ha errors que l'agent veu i esmena, i n'hi ha que contaminen el context dels passos següents. Però la idea es manté: cada pas de més és una altra ocasió de fallar, i la fiabilitat es construeix pas a pas.
Tot el que es fa per combatre-ho mou una de dues coses: l'encert de cada pas o el nombre de passos.
Revisar cada pas i tornar-lo a fer
Cada pas acaba bé el 97,0 % de les vegades, i costa de mitjana 1,00 intents.
Compte exacte suposant que els passos i el verificador s'equivoquen de manera independent, i que el verificador no rebutja mai un pas bo. Si en rebutja de bons, es repeteixen passos que ja estaven bé i el cost puja.
- Comprovar cada pas sempre que es pugui: un test, un esquema, una comprovació de sentit comú. No cal que la comprovació sigui perfecta, perquè cada pas rebutjat es torna a fer.
- Bucles curts: cinc passos que es poden comprovar són millors que quaranta de lliures.
- Programar el que es pot programar. Si un pas el pot fer un programa, que no el faci el model.
- Límits de passos, de temps i de diners. Sempre.
- Una persona als passos crítics, els que no es poden desfer.
- Traces: un registre de cada crida, amb el que ha entrat, el que ha sortit, les peces i el temps. Sense traces no es pot entendre per què un agent ha fallat.
7. Avaluar un agent#
Avaluar un agent és més difícil que avaluar un model, perquè no n'hi ha prou de mirar si ha arribat a la resposta: importa com hi ha arribat. Si ha cridat les eines que tocava, si ha repetit passos inútils, si s'ha gastat deu vegades més del que calia.
El camí matemàtic proposa mirar cinc coses. L'èxit en tasques on el resultat es pot comprovar (hi ha bancs de proves públics per a programar, navegar o atendre clients). L'eficiència: passos, peces, diners i temps per tasca resolta. Un agent que encerta un 5 % més gastant deu vegades més no és millor: per cada tasca resolta surt molt més car. La qualitat del camí. La robustesa: què fa quan una eina falla o li torna dades estranyes. Al camí matemàtic, quan la calculadora torna un resultat equivocat, el model el copia: un agent que no comprova el que li tornen les eines n'hereta tots els errors. I la seguretat: si resisteix les injeccions i demana confirmació quan toca.
Hi ha una distinció que canvia molt els números.
Que surti bé un cop, o que surti bé sempre
Comptes per a tasques totes igual de difícils. A la pràctica n'hi ha que surten gairebé sempre i n'hi ha que no surten mai, i «totes surten bé» queda més amunt que aquest número, però sempre per sota del 70 % d’una sola vegada.
Als articles, «surt bé alguna de les k vegades que es prova» es diu pass@k, i «surt bé totes les k vegades», pass^k; la k és el nombre de proves. Un agent que llueix amb la primera mesura pot quedar molt avall amb la segona.
Amb vint tasques de prova, a més, els números tenen un marge d'error gran: dos agents que es diferencien en cinc punts no es poden distingir. Cal comparar-los sobre les mateixes tasques, i amb moltes, com els prompts del capítol 21.
Què t'has d'endur#
El bucle, amb les proteccions
- Un agent és un model que crida eines en bucle: pensa, demana una eina, llegeix el resultat i torna a pensar, fins que respon sense demanar res. Tot el que sap a cada volta és el que hi ha a la conversa.
- El model només sap de cada eina el que diu la seva descripció. Poques eines, ben descrites, amb errors que expliquin què passa.
- MCP és un endoll comú per a les eines, i un servidor de tercers és codi amb els teus permisos i text que el teu model llegeix com a instruccions: revisa'l, fixa'n la versió i vigila que no canviï.
- Els models no recorden res: la memòria és decidir què es torna a posar al context, i també es pot enverinar.
- La fiabilitat cau multiplicant: el 95 % per pas en vint passos és el 36 %. Es combat comprovant cada pas, fent menys passos, programant el que es pot programar i posant límits i persones on cal.
- Per avaluar un agent cal mirar el camí i el cost, no només el resultat, i distingir «surt bé alguna vegada» de «surt bé sempre».
Comprova que ho has entès#
0 de 3 resoltes
- Un agent fa servir una eina de cerca que, un dia, deixa de respondre. L'agent no té cap límit de passos. Què passarà, probablement?
- El teu agent té dues eines, «factures.crear» i «factures.canviar», i sovint crea una factura nova quan l'usuari en volia canviar una. Què és el primer que provaries?
- Un agent fa una tasca de 30 passos i cada pas surt bé el 98 % de les vegades. Quina d'aquestes millores farà pujar més l'encert de la tasca sencera?