{"id":72,"date":"2026-11-11T10:34:11","date_gmt":"2026-11-11T09:34:11","guid":{"rendered":"https:\/\/rosmarops.com\/ca\/?p=72"},"modified":"2026-11-11T10:34:12","modified_gmt":"2026-11-11T09:34:12","slug":"agents-dia-errors-repetits","status":"publish","type":"post","link":"https:\/\/rosmarops.com\/ca\/blog\/agents-dia-errors-repetits\/","title":{"rendered":"La IA no apr\u00e8n dels seus errors. El teu sistema n&#8217;hauria d&#8217;aprendre."},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>El teu agent no recorda que ahir es va equivocar. Si vols que no torni a passar, qui ha de canviar \u00e9s el sistema en qu\u00e8 treballa. Com convertir un error repetit en un canvi que es quedi, i per qu\u00e8 escriure-ho en un fitxer no sempre n&#8217;hi ha prou.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hi ha una sensaci\u00f3 que coneix qualsevol que treballi amb agents d&#8217;IA. Li corregeixes un error, et dona les gr\u00e0cies, l&#8217;arregla. L&#8217;endem\u00e0, en una altra sessi\u00f3, torna a cometre exactament el mateix. I tu li tornes a explicar, amb una mica menys de paci\u00e8ncia que la primera vegada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No \u00e9s mala fe ni falta d&#8217;intel\u00b7lig\u00e8ncia. \u00c9s que no se&#8217;n recorda. Cada conversa comen\u00e7a gaireb\u00e9 de zero, i el que tu vas aprendre ahir no ho va aprendre ell. Si vols que l&#8217;error no torni, la mem\u00f2ria ha de ser fora de l&#8217;agent: en el sistema en qu\u00e8 treballa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A UXMachine ho vaig aprendre a principis de setembre. L&#8217;\u00fanica comprovaci\u00f3 obligat\u00f2ria abans d&#8217;ajuntar un canvi era que el codi estigu\u00e9s ben escrit, sense errors de sintaxi. El 2 de setembre, les proves van fallar a les deu branques en qu\u00e8 treballaven els agents aquell dia, i no va bloquejar res, perqu\u00e8 ning\u00fa no havia dit que fallar les proves imped\u00eds ajuntar. Es van canviar dues coses. Ara un canvi nom\u00e9s entra amb totes les proves en verd, comprovades sobre la versi\u00f3 real. I cada control ha de demostrar, amb un error fet expressament, que de deb\u00f2 es posa en vermell quan toca.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">El tercer bucle<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En aquesta s\u00e8rie separo tres bucles. El de l&#8217;agent, que dura segons: crida una eina, llegeix el que li torna i continua. El de treball, del qual vaig parlar a l&#8217;article anterior: alg\u00fa de fora comprova el resultat i l&#8217;hi torna si falla. I el del sistema, que dura dies o setmanes: quan un error es repeteix, es converteix en un canvi permanent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una manera senzilla de veure-ho: el bucle de treball \u00e9s corregir l&#8217;examen; el bucle del sistema \u00e9s canviar com es prepara el seg\u00fcent. El primer arregla el que l&#8217;agent acaba de fer. El segon arregla el que fa que s&#8217;equivoqui. <strong>\u00c9s l&#8217;\u00fanic dels tres que aconsegueix que la setmana vinent sigui m\u00e9s barata que aquesta.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La idea de Hashimoto: que no torni a passar<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mitchell Hashimoto ha posat nom a aquest costum: <em>harness engineering<\/em>, que podr\u00edem traduir com l&#8217;enginyeria de l&#8217;arn\u00e8s. Cada vegada que un agent comet un error, dediques una estona a dissenyar una soluci\u00f3 perqu\u00e8 no el torni a cometre mai m\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Explica dues maneres de fer-ho:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Escriure-ho.<\/strong> Afegeix una l\u00ednia al fitxer d&#8217;instruccions que l&#8217;agent llegeix en comen\u00e7ar cada sessi\u00f3, l&#8217;AGENTS.md. En un dels seus, diu, cada l\u00ednia surt d&#8217;un mal comportament de l&#8217;agent, i gaireb\u00e9 tots van desapar\u00e8ixer.<\/li>\n\n\n<li><strong>Donar-li una eina.<\/strong> Per exemple, un petit programa que fa captures de pantalla o que passa nom\u00e9s les proves que importen. I despr\u00e9s l&#8217;anota a l&#8217;AGENTS.md perqu\u00e8 l&#8217;agent s\u00e0piga que existeix.<\/li>\n\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Una regla escrita \u00e9s un desig<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed conv\u00e9 no ser massa optimista. Escriure una l\u00ednia en un fitxer d&#8217;instruccions \u00e9s el m\u00e9s f\u00e0cil, i no sempre el m\u00e9s efica\u00e7.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un estudi publicat al febrer, <em>Evaluating AGENTS.md<\/em>, ho va mesurar amb diversos agents i models. Els fitxers d&#8217;instruccions, en general, no van augmentar les tasques resoltes, i van encarir cada tasca m\u00e9s d&#8217;un 20 % de mitjana. Els agents s\u00ed que seguien les instruccions; el que no ajudava eren les descripcions generals del projecte. La conclusi\u00f3 dels autors \u00e9s prudent: aquests fitxers serveixen per deixar per escrit el que el teu projecte fa diferent del que \u00e9s habitual, i tota la resta conv\u00e9 mesurar-la abans de donar-la per bona.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ichigo ho resumeix amb una imatge que m&#8217;agrada molt. \u00abNo toquis les migracions\u00bb, escrit en un fitxer de text, \u00e9s un desig: l&#8217;agent ho llegir\u00e0 i gaireb\u00e9 sempre ho complir\u00e0. Una regla que li treu el perm\u00eds de tocar-les \u00e9s un mur: ho complir\u00e0 encara que se li oblidi. Per aix\u00f2 proposa aquest ordre quan alguna cosa falla:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Primer, l&#8217;estructura:<\/strong> que l&#8217;error no es pugui cometre.<\/li>\n\n\n<li><strong>Despr\u00e9s, una comprovaci\u00f3 autom\u00e0tica<\/strong> que el detecti sempre.<\/li>\n\n\n<li><strong>Text a les instruccions,<\/strong> nom\u00e9s on de deb\u00f2 cal criteri.<\/li>\n\n\n<li><strong>I una persona que revisa,<\/strong> al final.<\/li>\n\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">La ra\u00f3 \u00e9s gaireb\u00e9 comptable. Una l\u00ednia a les instruccions es paga a cada sessi\u00f3, i l&#8217;agent la pot passar per alt. Una comprovaci\u00f3 autom\u00e0tica, un cop feta, no costa res.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Arreglar-ho on es produeix, no on es veu<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hi ha un error d&#8217;enfocament molt habitual: arreglar l&#8217;error just on s&#8217;ha vist. A la <a href=\"https:\/\/guia.qtorb.com\/#\/dos-puertas\">Guia AI-First<\/a> ho vaig escriure aix\u00ed: si una cosa torna despr\u00e9s d&#8217;arreglar-la, \u00e9s que es va arreglar on es va observar, no on es produeix. I \u00abun error arreglat on es va observar est\u00e0 amagat, no arreglat\u00bb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La guia proposa una pregunta senzilla abans de donar una cosa per tancada: si aix\u00f2 mateix aparegu\u00e9s en un altre lloc, ho aturaria alguna cosa? Si la resposta \u00e9s no, encara no est\u00e0 acabat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I hi ha un contrap\u00e8s que tamb\u00e9 \u00e9s a la guia: un control que mai no s&#8217;ha posat en vermell, o no est\u00e0 provat, o sobra. Per aix\u00f2 cada comprovaci\u00f3 nova hauria de demostrar, almenys una vegada, que detecta l&#8217;error per al qual existeix.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dels prompts a una manera de treballar<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Al principi pensava que el truc era demanar millor. Ara crec que \u00e9s decidir abans.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A la guia, cada enc\u00e0rrec diu \u00abqu\u00e8 es fa, qu\u00e8 no es toca, com es comprova i quan s&#8217;atura\u00bb. I abans de comen\u00e7ar, una l\u00ednia: \u00abqu\u00e8 hauria de passar perqu\u00e8 ho deix\u00e9s?\u00bb. La resta en surt:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Qu\u00e8 pot tocar.<\/strong> No li demanis a l&#8217;agent que no toqui una cosa: treu-li el perm\u00eds. \u00abEl que un rol pot tocar no se li diu, se li limita.\u00bb<\/li>\n\n\n<li><strong>Qui decideix qu\u00e8.<\/strong> Per a cada paper, dues columnes: qu\u00e8 decideix i qu\u00e8 no decideix. La segona \u00e9s la dif\u00edcil, i l&#8217;\u00fanica que serveix quan hi ha pressa.<\/li>\n\n\n<li><strong>Quan s&#8217;atura.<\/strong> Una condici\u00f3 d&#8217;aturada escrita abans de comen\u00e7ar. Un termini no \u00e9s una condici\u00f3 d&#8217;aturada.<\/li>\n\n\n<li><strong>Qui ho mira abans que surti.<\/strong> El lliurament s&#8217;accepta sobre el resultat real, no sobre el que l&#8217;agent diu que ha fet. I si no ho pots mirar tu, alg\u00fa ho ha de fer, i no pot ser l&#8217;agent.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Saber qu\u00e8 abasta cada agent<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Per posar un mur, primer cal saber on fa falta. Amb diversos agents al mateix ordinador aix\u00f2 no \u00e9s evident: cadascun llegeix els seus fitxers, les seves eines i les seves claus, i de vegades els dels altres.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per aix\u00f2 faig <a href=\"https:\/\/rosmarops.com\/ca\/\">RosmarOps<\/a>. Llegeix la configuraci\u00f3 dels agents que hi ha al teu ordinador i dibuixa un mapa del que cadascun pot abastar. No canvia els teus agents ni posa l\u00edmits: t&#8217;ensenya on s\u00f3n avui, perqu\u00e8 decideixis tu on van els murs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tres preguntes per a la propera vegada que un agent repeteixi un error<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>On es produeix l&#8217;error, i no nom\u00e9s on l&#8217;he vist?<\/li>\n\n\n<li>Puc fer que no es pugui cometre, o que una comprovaci\u00f3 el detecti sempre, abans d&#8217;escriure-ho a les instruccions?<\/li>\n\n\n<li>Si apareix en un altre lloc, ho aturaria alguna cosa?<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">El que no s&#8217;arregla amb regles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un sistema que apr\u00e8n evita repetir errors. Per\u00f2 hi ha un cost que no apareix en cap error: construir m\u00e9s de pressa del que entens. D&#8217;aix\u00f2 tracta l&#8217;\u00faltim article de la s\u00e8rie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Fonts: Mitchell Hashimoto, <a href=\"https:\/\/mitchellh.com\/writing\/my-ai-adoption-journey\">\u00abMy AI Adoption Journey\u00bb<\/a> (5 de febrer de 2026); Gloaguen, M\u00fcndler-Sasahara, M\u00fcller, Raychev i Vechev, <a href=\"https:\/\/arxiv.org\/abs\/2602.11988\">\u00abEvaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents?\u00bb<\/a>, arXiv:2602.11988 (12 de febrer de 2026); Albert Garcia Pujadas, <a href=\"https:\/\/guia.qtorb.com\/#\/dos-puertas\">Guia AI-First<\/a> (en castell\u00e0); <a href=\"https:\/\/x.com\/iiiichigo_chan\/status\/2118397992239571196\">fil d&#8217;Ichigo a X<\/a> (5 de novembre de 2026).<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Escrit amb l&#8217;ajuda d&#8217;assistents d&#8217;IA. Els exemples, la interpretaci\u00f3 i la decisi\u00f3 de publicar s\u00f3n meus.<\/em><\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>El teu agent no recorda que ahir es va equivocar. Si vols que no torni a passar, qui ha de canviar \u00e9s el sistema en qu\u00e8 treballa. Com convertir un error repetit en un canvi que es quedi, i per qu\u00e8 escriure-ho en un fitxer no sempre n&#8217;hi ha prou.<\/p>\n","protected":false},"author":1,"featured_media":73,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rosmarops_translation_url":"","rosmarops_url_en":"https:\/\/rosmarops.com\/blog\/ai-agents-repeated-mistakes\/","rosmarops_url_es":"https:\/\/rosmarops.com\/es\/blog\/agentes-de-ia-errores-repetidos\/","rosmarops_url_ca":"","footnotes":"","_genesis_title":"Agents d\u2019IA que repeteixen errors: el bucle del sistema","_genesis_description":"El teu agent no recorda que ahir es va equivocar. Com convertir un error repetit en un canvi permanent, i per qu\u00e8 una regla escrita no sempre n\u2019hi ha prou.","_tsf_title_no_blogname":""},"categories":[23],"tags":[16,8],"class_list":["post-72","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-loop-engineering","tag-agents-md","tag-claude-code"],"_links":{"self":[{"href":"https:\/\/rosmarops.com\/ca\/wp-json\/wp\/v2\/posts\/72","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rosmarops.com\/ca\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rosmarops.com\/ca\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rosmarops.com\/ca\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rosmarops.com\/ca\/wp-json\/wp\/v2\/comments?post=72"}],"version-history":[{"count":1,"href":"https:\/\/rosmarops.com\/ca\/wp-json\/wp\/v2\/posts\/72\/revisions"}],"predecessor-version":[{"id":80,"href":"https:\/\/rosmarops.com\/ca\/wp-json\/wp\/v2\/posts\/72\/revisions\/80"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rosmarops.com\/ca\/wp-json\/wp\/v2\/media\/73"}],"wp:attachment":[{"href":"https:\/\/rosmarops.com\/ca\/wp-json\/wp\/v2\/media?parent=72"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rosmarops.com\/ca\/wp-json\/wp\/v2\/categories?post=72"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rosmarops.com\/ca\/wp-json\/wp\/v2\/tags?post=72"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}