<script data-pm-proxy="intercept"></script><?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Brújula AI Native]]></title><description><![CDATA[De Cloud Native a AI Native]]></description><link>https://ainativebrujula.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!F47l!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37991e0c-0d09-4a6e-96a7-ed0d54ce069b_600x600.png</url><title>Brújula AI Native</title><link>https://ainativebrujula.substack.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 04 Sep 2026 22:22:55 GMT</lastBuildDate><atom:link href="/__u/ainativebrujula.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Marcos F. Lobo 🗻]]></copyright><language><![CDATA[es]]></language><webMaster><![CDATA[ainativebrujula@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[ainativebrujula@substack.com]]></itunes:email><itunes:name><![CDATA[Marcos F. Lobo 🗻🧭]]></itunes:name></itunes:owner><itunes:author><![CDATA[Marcos F. Lobo 🗻🧭]]></itunes:author><googleplay:owner><![CDATA[ainativebrujula@substack.com]]></googleplay:owner><googleplay:email><![CDATA[ainativebrujula@substack.com]]></googleplay:email><googleplay:author><![CDATA[Marcos F. Lobo 🗻🧭]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Vacaciones de verano 2026 - descansa]]></title><description><![CDATA[Agosto ser&#225; un mes dedicado por completo al descanso y a recargar energ&#237;as. T&#250; tambi&#233;n debes hacerlo.]]></description><link>https://ainativebrujula.substack.com/p/vacaciones-de-verano-2026-descansa</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/vacaciones-de-verano-2026-descansa</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Wed, 05 Aug 2026 18:16:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UiHc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Querido lector,</p><p>Si tambi&#233;n eres lector de mi newsletter <strong><a href="https://optimistengineer.com/">The Optimist Engineer</a></strong>, ya habr&#225;s recibido el email en el que comunico algo similar.</p><p><strong><span>Este mes de agosto ser&#225; de descanso</span></strong><span>&nbsp;y, por lo tanto, no recibir&#225;s la edici&#243;n de esta newsletter hasta septiembre.</span></p><p>Esta es una pr&#225;ctica que me he autoimpuesto en los &#250;ltimos a&#241;os, ya que me funciona muy bien para descansar en profundidad, recordar las cosas importantes de la vida y volver con m&#225;s energ&#237;a en septiembre.</p><p>Si puedes, te recomiendo encarecidamente que hagas lo mismo. Al menos durante 2 semanas seguidas, <strong>desconecta completamente de la tecnolog&#237;a</strong>.</p><p>En los &#250;ltimos a&#241;os, he visto a m&#225;s personas con problemas de estr&#233;s, sobrecarga cognitiva y agotamiento.</p><p>No quiero que te pase eso. Quiero que est&#233;s lo m&#225;s sano posible, as&#237; que quiero aportar mi granito de arena.</p><p>A cambio de no recibir esta newsletter en agosto, te contar&#233; mi truco cuando tenga dos semanas de vacaciones:</p><ol><li><p>Guarda el port&#225;til en la mochila.</p></li><li><p>Y guarda la mochila en el armario.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!UiHc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!UiHc!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!UiHc!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!UiHc!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!UiHc!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!UiHc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg" width="1456" height="1096" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1096,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:490207,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://ainativebrujula.substack.com/i/209813241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!UiHc!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!UiHc!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!UiHc!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!UiHc!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0494da6-c842-4f74-b3d6-26afa4a70201_2048x1542.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Playa de La Griega, Asturias (Espa&#241;a) - Foto: Pedro Men&#233;ndez https://www.flickr.com/photos/40738592@N00/4599215469/</figcaption></figure></div><p>Hazlo, ya me dar&#225;s las gracias &#128521;.</p><p>Cuidate,<br>Marcos.</p>]]></content:encoded></item><item><title><![CDATA[Adopción de SKILLs, MCPs y agentes de IA]]></title><description><![CDATA[Un modelo pr&#225;ctico para entender cu&#225;les son los MCPs, skills y agentes que generan impacto real en equipos de ingenier&#237;a]]></description><link>https://ainativebrujula.substack.com/p/adopcion-de-skills-mcps-y-agentes</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/adopcion-de-skills-mcps-y-agentes</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Tue, 07 Jul 2026 16:27:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OG29!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A lo largo de 2026 ya has conseguido implemetar (por ejemplo) 3 MCP Server, 3 SKILLs y 1 Agente. Las has anunciado a las personas de tu organizaci&#243;n porque crees que pueden ser &#250;tiles para m&#225;s desarrolladores. Pero tarde o temprano vas a tener que responder a la siguiente pregunta:</p><blockquote><p>Las herramientas que estoy construyendo, &#191;se est&#225;n utilizando de verdad?</p></blockquote><p>Porque el escenario t&#237;pico es este:</p><ul><li><p>MCPs instalados, <em>perfectamente integrados</em>.</p></li><li><p>SKILLs que funcionan, <em>&#191;verdad?</em></p></li><li><p>Agentes que se usan, <em>en teor&#237;a</em>.</p></li></ul><p>&#128073;&#127996; <strong>Tienes que poder distinguir las herramientas que se usan de las que solo est&#225;n instaladas</strong>.</p><p>Y aqu&#237; aparece la pregunta inc&#243;moda:</p><blockquote><p>Si ma&#241;ana eliminas la mitad de esas herramientas&#8230; &#191;sabr&#237;as cu&#225;les te van a reclamar los desarrolladores?</p></blockquote><p><strong>Respuesta corta</strong>: Necesitas instrumentar el momento de ejecuci&#243;n de cada herramienta dentro del editor.</p><p>Cada vez que alguien use un MCP, SKILL o agente, debes generar un evento y enviarlo a un sistema de anal&#237;tica interno.</p><p><strong>Respuesta larga: </strong>El punto clave no es saber si se usa Claude Code o Cursor. Eso ya lo puedes medir con herramientas tipo Jellyfish, la cual te sirve para saber cu&#225;l es la plataforma a la cual vas a reservar budget para el <s>a&#241;o</s> mes que viene.</p><p>&#191;Y qu&#233; hay de las herramientas que los desarrolladores usan dentro de Claude Code o Cursor?</p><ul><li><p>Qu&#233; MCPs se ejecutan realmente.</p></li><li><p>Qu&#233; skills aparecen en el d&#237;a a d&#237;a.</p></li><li><p>Qu&#233; agentes se usan de verdad frente a los que solo existen en documentaci&#243;n.</p></li><li><p>O qu&#233; herramientas desaparecer&#237;an ma&#241;ana sin que nadie lo notase.</p></li></ul><p>&#128073;&#127996; <strong>Eso es algo que necesitas medir, para saber realmente d&#243;nde invertir el tiempo de desarrollo</strong>.</p><p>Esto ya de por s&#237; es un aprendizaje que te llevas. Pero no te voy a dejar ah&#237;.</p><p>A continuaci&#243;n te cuento c&#243;mo conseguir medir el uso de las herramientas dentro de las plataformas Claude Code y Cursor.</p><h2>El patr&#243;n que necesitas implementar</h2><p>Si quieres resolver esto, el dise&#241;o es siempre el mismo: <strong>hooks en el editor + eventos de telemetr&#237;a</strong>.</p><p>Instala un hook &#250;nico en Claude Code y Cursor que capture cualquier invocaci&#243;n de herramienta.</p><p>A partir de ah&#237;, cuando se ejecuta una herramienta (MCP, skill, agente o plugin), el hook genera un evento con un esquema m&#237;nimo:</p><ul><li><p>nombre de la herramienta</p></li><li><p>tipo de herramienta</p></li><li><p>editor (Claude Code o Cursor)</p></li><li><p>timestamp</p></li><li><p>UUID an&#243;nimo de instalaci&#243;n</p></li></ul><p>&#161;Y ojo con el PII!, no queremos datos que sean sensibles a nivel de seguridad, y por supuesto:</p><p>&#9757;&#127996; Nada de prompts.<br>&#9757;&#127996; Nada de c&#243;digo.<br>&#9757;&#127996; Nada de contexto del modelo.</p><p>No queremos medir  comportamiento sino adopci&#243;n.</p><p>Y a partir de que tenemos el evento, &#191;qu&#233;?</p><p>Ese evento se env&#237;a a un backend interno (por ejemplo <code>ai-plugins-adoption-api</code>), donde:</p><ol><li><p>Se valida el payload.</p></li><li><p>Se registra el evento.</p></li><li><p>Se integra en el pipeline de datos.</p></li></ol><p>A partir de ah&#237;, puedes construir m&#233;tricas en tu sistema de observabilidad:</p><ul><li><p>Invocaciones por herramienta.</p></li><li><p>Usuarios &#250;nicos por MCP / skill / agente.</p></li><li><p>Frecuencia de uso.</p></li><li><p>Evoluci&#243;n semanal.</p></li></ul><p>&#128073;&#127996; Y empiezas a ver algo que no ten&#237;as antes: <strong>la </strong><em><strong>cruda</strong></em><strong> realidad</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!OG29!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!OG29!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!OG29!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!OG29!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!OG29!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!OG29!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1449427,&quot;alt&quot;:&quot;Adopci&#243;n de SKILLs, MCPs y agentes de IA - Arcquitectura alto nivel&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://ainativebrujula.substack.com/i/203584645?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Adopci&#243;n de SKILLs, MCPs y agentes de IA - Arcquitectura alto nivel" title="Adopci&#243;n de SKILLs, MCPs y agentes de IA - Arcquitectura alto nivel" srcset="/__u/substackcdn.com/image/fetch/$s_!OG29!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!OG29!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!OG29!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!OG29!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f72465d-8d62-4668-8cad-2bd502916625_1408x768.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Adopci&#243;n de SKILLs, MCPs y agentes de IA - Arcquitectura alto nivel</figcaption></figure></div><p>A continuaci&#243;n, te cuento lo que aprend&#237; teniendo un sistema como este funcionando.</p><h2>Qu&#233; vas a descubrir cuando lo implementes</h2><p>Hay tres patrones que aparecen casi siempre.</p><p>&#9757;&#127996; <strong>El primero me sorprendi&#243;</strong>, pero puede tener sentido:</p><blockquote><p>La mayor&#237;a de herramientas m&#225;s usadas no son internas, sino las ya existentes en la comunidad.</p></blockquote><p>Como son:</p><ul><li><p>SKILL de git-commit, para hacer commits y pull requests.</p></li><li><p>MCP de SonarQube, para que se revise si el c&#243;digo cumple con las Quality Gates.</p></li><li><p>SKILLs de Atlassian, para consultar/crear/actualizar tickets de Jira o p&#225;ginas de Confluence.</p></li></ul><p>Y tiene sentido, en mi opini&#243;n, porque son herramientas para hacer cosas que, a los developers, <em>no nos gusta</em> hacer.</p><p>&#9996;&#127996; <strong>El segundo no lo v&#237; venir en absoluto:</strong></p><blockquote><p>Primero se usan los agentes nativos de la plataforma y luego, <em>ya si tal,</em> otros.</p></blockquote><p><em>Puede tener sentido</em>, en mi opini&#243;n, porque la plataforma <em>siempre</em> va a querer priorizar el uso de sus skills y agentes, y as&#237; <em>demostrar</em> el valor que te la dicha plataforma.</p><p>&#128073;&#127996; Un caso muy com&#250;n que he visto es el agente <code>Plan</code> de Claude Code. Si desarrollas un agente para que elabore un plan de trabajo para ser le&#237;do por humanos, lo tienes complicado. Claude va a decidir usar su propio agente, en la mayor&#237;a de los casos, y van a tener que ser los desarrolladores humanos los que van a tener que <em>taggear</em> el uso de tu precioso agente de planificaci&#243;n de trabajo.</p><p>En Claude Code ver&#225;s cosas como:</p><ul><li><p><code>Explore</code>, para navegaci&#243;n del sistema de archivos.</p></li><li><p><code>general-purpose</code>, para tareas gen&#233;ricas.</p></li></ul><p>&#128073;&#127996; Antes de construir agentes complejos, necesitas entender qu&#233; porcentaje del problema ya est&#225; resuelto por la plataforma que uses. Preguntate:</p><blockquote><p>El agente que necesito, &#191;est&#225; ya implementado?</p></blockquote><p><strong>&#128406;&#127996; El tercero es t&#233;cnico:</strong></p><p>Claude y Cursor no son consistentes en c&#243;mo emiten eventos.</p><ul><li><p>Nombres de skills distintos.</p></li><li><p>Estructuras de payload diferentes.</p></li><li><p>Niveles de detalle variables.</p></li></ul><p>&#128073;&#127996; Si quieres escalar esto fuera de una sola organizaci&#243;n, falta un est&#225;ndar claro de instrumentaci&#243;n, como s&#237; tentemos el protocolo MCP. De momento no lo hay para este tipo de eventos, o yo no lo conozco.</p><p>Tengo una pregunta para t&#237;</p><blockquote><p>&#191;Estar&#237;as interesada/o en conocer cuales son los datos, acerca de las herramientas usadas, que puedes obtener de Claude Code y Cursor?</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;mailto:hola@ainative.es?subject=Adopci%C3%B3n%20de%20SKILLs%2C%20MCPs%20y%20agentes%20de%20IA&amp;body=Hola%20Marcos%2C%0D%0A%0D%0AEstoy%20interesado%2Fa%20en%20conocer%20cuales%20son%20los%20datos%20que%20se%20pueden%20obtener%20por%20parte%20de%20Claude%20Code%20y%20Cursor%20de%20cara%20a%20conocer%20las%20herramientas%20usadas%20desde%20estos%20sistemas.%0D%0A%0D%0AGracias.%0D%0A%0D%0AUn%20saludo%2C&quot;,&quot;text&quot;:&quot;&#128231; &#161;S&#237;, quiero!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="mailto:hola@ainative.es?subject=Adopci%C3%B3n%20de%20SKILLs%2C%20MCPs%20y%20agentes%20de%20IA&amp;body=Hola%20Marcos%2C%0D%0A%0D%0AEstoy%20interesado%2Fa%20en%20conocer%20cuales%20son%20los%20datos%20que%20se%20pueden%20obtener%20por%20parte%20de%20Claude%20Code%20y%20Cursor%20de%20cara%20a%20conocer%20las%20herramientas%20usadas%20desde%20estos%20sistemas.%0D%0A%0D%0AGracias.%0D%0A%0D%0AUn%20saludo%2C"><span>&#128231; &#161;S&#237;, quiero!</span></a></p><p><strong>Hoy te he tra&#237;do una lectura bastante amplia</strong>. D&#233;jame un comentario para saber qu&#233; te parece esta longitud y profundidad.</p><p>Venga, vamos cerrando por hoy.</p><h2>&#10024; Takeaways</h2><p>Si ma&#241;ana eliminas la mitad de los MCPs, skills y agentes de tu organizaci&#243;n, necesitas saber cu&#225;les romper&#237;an el flujo de trabajo&#8230; y cu&#225;les nadie echar&#237;a de menos.</p><p>Tu objetivo como desarrollador de software es construir herramientas que dan valor.</p><p>La conclusi&#243;n es:</p><ul><li><p>La adopci&#243;n real de herramientas de IA se mide en invocaciones.</p></li><li><p>Los hooks centralizados simplifican la observabilidad a escala.</p></li><li><p>La mayor&#237;a de las herramientas externas maduras ya tienen m&#225;s uso del esperado.</p></li><li><p>Los agentes nativos del editor ya cubren gran parte del uso real, as&#237; que s&#233; inteligente acerca de los que tienes que construir para <em>la casa</em>.</p></li></ul><p>&#128073;&#127996; Si no puedes medir invocaci&#243;n real, no puedes tomar decisiones acerca de donde invetir el <s>tiempo</s> dinero.</p><p>Ahora, como siempre, <strong>me gustar&#237;a saber m&#225;s de ti</strong>. &#191;Est&#225;s desarrollando SKILLs para tu equipo? &#191;Cu&#225;l ha sido tu experiencia usando agentes desarrolladores por tu empresa? Responde a este email o excribe un comentario, &#161;los leo todos!</p>]]></content:encoded></item><item><title><![CDATA[Exponiendo Información en Modo AI Native ]]></title><description><![CDATA[Por qu&#233; dejar de construir visualizaciones cerradas es el primer paso para habilitar el verdadero potencial de los agentes de IA en tu organizaci&#243;n]]></description><link>https://ainativebrujula.substack.com/p/exponiendo-informacion-en-modo-ai</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/exponiendo-informacion-en-modo-ai</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 08 Jun 2026 06:13:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5dhj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff263859-fc50-44a8-87d3-158acaad7734_4000x2250.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Hoy quiero compartir contigo una reflexi&#243;n que naci&#243; de una charla con una colega</strong> y que, sinceramente, creo que marca un antes y un despu&#233;s en c&#243;mo entendemos nuestro trabajo en Plataforma.</p><p>Hace poco, una compa&#241;era, vamos a llamarla <em>Silvia</em>, me contaba el caso de su equipo. Gestionan una herramienta llamada <em>Performance Reporter</em> que centraliza m&#233;tricas de rendimiento de aplicaciones en producci&#243;n. </p><p>El flujo era el de &#8220;<em>toda la vida</em>&#8221;: </p><ul><li><p>recolectar datos, </p></li><li><p>aplicar l&#243;gica de negocio </p></li><li><p>y escupir un dashboard en Power BI para que los <strong>Engineering Managers</strong> entendieran qu&#233; estaba pasando.</p></li></ul><p>&#191;El resultado? <strong>Frustraci&#243;n</strong>.</p><p>Los usuarios no entend&#237;an de d&#243;nde sal&#237;an los valores ni c&#243;mo se calculaban. Sent&#237;an que miraban una &#8220;caja negra&#8221;.</p><p>Silvia lanz&#243; una encuesta, de cara a entender mejor cu&#225;les podr&#237;an ser las soluciones al problema, y a&#241;adi&#243; una pregunta casi por instinto:</p><blockquote><p><em>&#191;Te gustar&#237;a disponer de un AI Agent (tipo Claude Code o Cursor) para obtener informaci&#243;n y entendimiento cuando quieras?</em></p></blockquote><p>La respuesta fue un <strong>100% de S&#205;</strong>.</p><p>Y, &#191;qu&#233; significa esto?</p><h3>El fin del &#8220;Te lo cuento yo&#8221;</h3><p>Estamos viviendo un cambio de paradigma. </p><p>&#128073;&#127996; Los usuarios ya no quieren que el <em>due&#241;o de los datos</em> decida qu&#233; es importante para ellos a trav&#233;s de un gr&#225;fico est&#225;tico. Lo que quieren es <strong>usar sus propios asistentes de IA</strong> para acceder a informaci&#243;n personalizada y obtener entendimiento en tiempo real.</p><p>Ya no se trata de <em>ver</em> datos; se trata de interactuar, de <em>conversar</em> con ellos.</p><p><strong>Si echamos un ojo a lo que se cuece en la industria</strong>, podemos ver que, en lo referente a la tasa de adopci&#243;n anual de la IA entre 2024 y 2025 de un 13&#8211;14% a ~20%.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!5dhj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff263859-fc50-44a8-87d3-158acaad7734_4000x2250.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!5dhj!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff263859-fc50-44a8-87d3-158acaad7734_4000x2250.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!5dhj!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff263859-fc50-44a8-87d3-158acaad7734_4000x2250.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!5dhj!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff263859-fc50-44a8-87d3-158acaad7734_4000x2250.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!5dhj!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff263859-fc50-44a8-87d3-158acaad7734_4000x2250.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!5dhj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff263859-fc50-44a8-87d3-158acaad7734_4000x2250.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff263859-fc50-44a8-87d3-158acaad7734_4000x2250.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Enterprises using AI technologies, 2024 and 2025 (% of enterprises). Bar chart. Link to full dataset below. &quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Enterprises using AI technologies, 2024 and 2025 (% of enterprises). Bar chart. Link to full dataset below. " title="Enterprises using AI technologies, 2024 and 2025 (% of enterprises). Bar chart. Link to full dataset below. " srcset="/__u/substackcdn.com/image/fetch/$s_!5dhj!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff263859-fc50-44a8-87d3-158acaad7734_4000x2250.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!5dhj!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff263859-fc50-44a8-87d3-158acaad7734_4000x2250.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!5dhj!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff263859-fc50-44a8-87d3-158acaad7734_4000x2250.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!5dhj!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff263859-fc50-44a8-87d3-158acaad7734_4000x2250.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Enterprises using AI Technologies, 2024 &amp; 2025 - Source: https://ec.europa.eu/eurostat/web/products-eurostat-news/w/ddn-20251211-2</figcaption></figure></div><p>&#9757;&#127996; Esto encaja con el resultado de la encuesta de Silvia.</p><p>Fuera de las estad&#237;sticas, en mi experiencia, el verdadero salto est&#225; en el <strong>Engineering Management</strong>. Para este rol, la IA se est&#225; convirtiendo en la herramienta principal para analizar la salud de los sistemas y la eficiencia de los equipos.</p><p>Estamos pasando de un modelo donde los datos son un &#8220;destino&#8221; (el dashboard) a un modelo donde los datos son el &#8220;combustible&#8221; para la IA del cliente.</p><h3>&#191;Qu&#233; significa ser AI Native en Plataforma?</h3><p>Para ti, que est&#225;s en las trincheras de la ingenier&#237;a, esto cambia las reglas del juego. Significa que tu trabajo ya no es <em>pintar</em> la informaci&#243;n, sino <strong>exponerla de forma que una IA pueda consumirla</strong>.</p><p>En este nuevo escenario, el paradigma cambia as&#237;:</p><ul><li><p><strong>Antes</strong>: El due&#241;o de los datos te los presenta en la forma que considera mejor para ti.</p></li><li><p><strong>Ahora (AI Native)</strong>: El due&#241;o de los datos los deja a disposici&#243;n de tus clientes de IA para que consuman la informaci&#243;n como t&#250; quieras.</p></li></ul><h3>&#10024; Takeaways</h3><p>Aqu&#237; te dejo los puntos clave para que te ayuden a pensar en modo <strong>AI Native</strong>:</p><ol><li><p><strong>Prioriza la disponibilidad sobre la visualizaci&#243;n</strong>: Invierte menos tiempo en el <em>color del gr&#225;fico</em> y m&#225;s en que tus APIs y modelos de datos sean legibles y contextuales para un agente de IA.</p></li><li><p><strong>Transparencia total</strong>: La IA necesita saber el <em>c&#243;mo</em> y el <em>por qu&#233;</em>. Si no expones la l&#243;gica de tus c&#225;lculos, el agente no podr&#225; explicarle nada al usuario.</p></li><li><p><strong>Adopci&#243;n vertiginosa</strong>: Los Engineering Managers y Directores de Ingenier&#237;a est&#225;n saltando a estas herramientas a una velocidad enorme. O bien preparas tus datos para ellos, o tu plataforma quedar&#225; obsoleta.</p></li></ol><p>Como siempre digo, aqu&#237; aprendemos de lo que vemos en el mundo real. &#191;Est&#225;s ya preparando tus herramientas para ser consumidas por agentes de IA o sigues puliendo ese dashboard que nadie mira?</p><p>Me encantar&#237;a saber tu opini&#243;n. &#191;Has notado este cambio en tu equipo? &#161;Escr&#237;beme o deja un comentario! Leo y respondo a todos.</p>]]></content:encoded></item><item><title><![CDATA[El verdadero valor de los marketplaces en la era AI Native]]></title><description><![CDATA[De compartir c&#243;digo a distribuir capacidades: c&#243;mo estructurar skills, agentes y plugins para que la IA los use de verdad]]></description><link>https://ainativebrujula.substack.com/p/el-verdadero-valor-de-los-marketplaces</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/el-verdadero-valor-de-los-marketplaces</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Tue, 05 May 2026 07:02:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WXQJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F783ca4ca-7f96-4e2d-889e-54300dca57e0_1207x1052.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Tengo que reconocerlo (una vez m&#225;s): cuando o&#237; hablar de &#8220;marketplaces&#8221; para IA, me imagin&#233; otra idea feliz m&#225;s del sector. Pero una vez entend&#237; su funcionamiento y filosof&#237;a, me dije:</p><blockquote><p>No estamos inventando la rueda. Estamos empaquetando mejor el &#237;ndice.</p></blockquote><p>&#191;Te suena?</p><p>Ese momento en el que alguien vende &#8220;ecosistema&#8221; y, en realidad, detr&#225;s hay un <strong>JSON con enlaces bien puestos</strong>.</p><p>Vamos al turr&#243;n.</p><p><strong>&#9757;&#127996; &#191;Qu&#233; es un marketplace?</strong></p><p>Respuesta corta:</p><blockquote><p>Un marketplace es un &#237;ndice.</p></blockquote><p>Respuesta larga:</p><blockquote><p>Es una forma de decirle a un cliente de IA d&#243;nde est&#225;n las piezas que puede usar, c&#243;mo encontrarlas y c&#243;mo navegar entre ellas.</p></blockquote><p>Y aqu&#237; est&#225; la gracia.</p><p>Hablamos de <strong>plugins</strong>, es decir, paquetes con <strong>skills</strong>, <strong>agentes</strong>, utilidades, automatizaciones y cualquier bloque reutilizable que una IA pueda descubrir y consumir.</p><p>Es la misma l&#243;gica que ten&#237;an los viejos &#237;ndices de contenidos en la web primitiva. S&#237;, el patr&#243;n se repite, como el <em>chorizo en una paella</em>.</p><p>Solo que ahora, en vez de un humano haciendo clic, quien recorre el cat&#225;logo es <strong>Cursor, Claude Code</strong> o el cliente de turno.</p><p>Pero, ojo a esto:</p><p>&#128073;&#127996; <strong>La clave no es el marketplace. La clave es la distribuci&#243;n.</strong></p><ol><li><p>Porque una cosa es tener capacidades internas.</p></li><li><p>Y otra muy distinta es hacer que el resto de la organizaci&#243;n las encuentre, las entienda y las use sin abrir un ticket, sin preguntar por Slack y sin perder media ma&#241;ana.</p></li></ol><h2>El problema</h2><p>Seamos sinceros: la mayor&#237;a de organizaciones siguen pensando en IA como si fuese una herramienta m&#225;s y, como te estar&#225;s imaginando, eso <em><strong>no escala</strong></em>.</p><p><strong>La aproximaci&#243;n IA Native cambia el proceso, no solo el software, </strong>y este caso no es una excepci&#243;n<strong>.</strong></p><p>En el modelo <em>legacy</em> (ll&#225;melo as&#237;), si quer&#237;as reutilizar algo, lo documentabas, lo mandabas por email, cruzabas los dedos y rezabas para que alguien lo leyera. Bueno, en realidad, algunos a&#250;n hacemos esto para algunas cosas.</p><p>Ahora, en la era de AI Native, si quieres escalar de verdad, necesitas que la IA pueda <strong>descubrirlo y consumirlo sola</strong>. Ah&#237; es donde patina el modelo <em>legacy</em>.</p><p>Porque el problema ya no es &#8220;tenemos o no tenemos la SKILL&#8221;.</p><p>El problema es:</p><ul><li><p>&#191;La IA la encuentra?</p></li><li><p>&#191;La entiende?</p></li><li><p>&#191;La usa sin fricci&#243;n?</p></li><li><p>&#191;Est&#225; actualizada?</p></li><li><p>&#191;O vamos a seguir viviendo de &#8220;preg&#250;ntale a Paula, que se sabe c&#243;mo va esto&#8221;?</p></li></ul><p>&#9757;&#127996; <strong>El cuello de botella ya no es t&#233;cnico. Es cultural y de empaquetado.</strong></p><p>Llevo una temporada trabajando en este problema y hoy comparto contigo lo que estamos haciendo en mi equipo para solucionarlo. Si te animas a darme feedback, ser&#237;a genial.</p><h2>Arquitectura de dos niveles de marketplace</h2><p>En mi experiencia, la jugada buena no es hacer un &#250;nico mercado gigante y esperar milagros.</p><p>Por ello propongo distribuirlo en <em>capas</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!WXQJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F783ca4ca-7f96-4e2d-889e-54300dca57e0_1207x1052.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!WXQJ!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F783ca4ca-7f96-4e2d-889e-54300dca57e0_1207x1052.png 424w, /__u/substackcdn.com/image/fetch/$s_!WXQJ!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F783ca4ca-7f96-4e2d-889e-54300dca57e0_1207x1052.png 848w, /__u/substackcdn.com/image/fetch/$s_!WXQJ!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F783ca4ca-7f96-4e2d-889e-54300dca57e0_1207x1052.png 1272w, /__u/substackcdn.com/image/fetch/$s_!WXQJ!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F783ca4ca-7f96-4e2d-889e-54300dca57e0_1207x1052.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!WXQJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F783ca4ca-7f96-4e2d-889e-54300dca57e0_1207x1052.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/783ca4ca-7f96-4e2d-889e-54300dca57e0_1207x1052.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!WXQJ!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F783ca4ca-7f96-4e2d-889e-54300dca57e0_1207x1052.png 424w, /__u/substackcdn.com/image/fetch/$s_!WXQJ!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F783ca4ca-7f96-4e2d-889e-54300dca57e0_1207x1052.png 848w, /__u/substackcdn.com/image/fetch/$s_!WXQJ!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F783ca4ca-7f96-4e2d-889e-54300dca57e0_1207x1052.png 1272w, /__u/substackcdn.com/image/fetch/$s_!WXQJ!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F783ca4ca-7f96-4e2d-889e-54300dca57e0_1207x1052.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Arquitectura de dos niveles de marketplace</figcaption></figure></div><h3>1. Marketplace general</h3><p>Este es el escaparate com&#250;n para toda la organizaci&#243;n de ingenier&#237;a.</p><p>Este marketplace general <strong>cubrir&#225; 2 necesidades de desarrollo de software</strong> para los equipos de desarrollo.</p><p><strong>Pr&#225;cticas del desarrollo de software.</strong></p><p>Aqu&#237; metes (SKILLS, agentes, plugins) lo que sirve para casi todo el mundo:</p><ul><li><p>Dise&#241;o y arquitectura del software.</p></li><li><p>Revisiones de c&#243;digo.</p></li><li><p>Generaci&#243;n de planes.</p></li><li><p>Soporte para pull requests.</p></li><li><p>Challenge de decisiones t&#233;cnicas.</p></li><li><p>Helpers de documentaci&#243;n.</p></li></ul><p>Todo eso que acelera al equipo sin depender de &#8220;qui&#233;n lo sabe&#8221;.</p><p>Ahora, la segunda necesidad.</p><p><strong>Capacidades de equipos concretos.</strong></p><p>En este mismo marketplace, tendremos plugins para funcionalidades que ofrecen equipos de plataforma, concretos del contexto de tu empresa, para ser usados tambi&#233;n por los equipos de desarrollo.</p><p>Por ejemplo:</p><ul><li><p>Integraci&#243;n con una API interna.</p></li><li><p>Acceso a recursos custom de Kubernetes.</p></li><li><p>Automatizaciones del platform team.</p></li><li><p>Utilidades del equipo de seguridad.</p></li><li><p>Wrappers sobre servicios corporativos.</p></li></ul><p>Esto es importante porque muchas veces el valor real est&#225; ah&#237;.</p><p>No en lo &#8220;gen&#233;rico&#8221;. Sino en lo que un equipo crea una vez y el resto reutiliza veinte veces.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!pW5B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d55354-4ded-4db0-a25b-5dee657efd97_1085x1140.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!pW5B!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d55354-4ded-4db0-a25b-5dee657efd97_1085x1140.png 424w, /__u/substackcdn.com/image/fetch/$s_!pW5B!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d55354-4ded-4db0-a25b-5dee657efd97_1085x1140.png 848w, /__u/substackcdn.com/image/fetch/$s_!pW5B!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d55354-4ded-4db0-a25b-5dee657efd97_1085x1140.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pW5B!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d55354-4ded-4db0-a25b-5dee657efd97_1085x1140.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!pW5B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d55354-4ded-4db0-a25b-5dee657efd97_1085x1140.png" width="1085" height="1140" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35d55354-4ded-4db0-a25b-5dee657efd97_1085x1140.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1140,&quot;width&quot;:1085,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!pW5B!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d55354-4ded-4db0-a25b-5dee657efd97_1085x1140.png 424w, /__u/substackcdn.com/image/fetch/$s_!pW5B!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d55354-4ded-4db0-a25b-5dee657efd97_1085x1140.png 848w, /__u/substackcdn.com/image/fetch/$s_!pW5B!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d55354-4ded-4db0-a25b-5dee657efd97_1085x1140.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pW5B!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d55354-4ded-4db0-a25b-5dee657efd97_1085x1140.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>2. Marketplace de equipo</h3><p>Y luego est&#225; el nivel que muchos subestiman: el marketplace propio de un equipo.</p><p>No para venderlo al resto de la empresa, sino <strong>para que ese equipo tenga sus propias piezas AI Native</strong>, sus propios atajos y su propio onboarding inteligente.</p><p>Porque no todos los equipos trabajan igual, no todos necesitan las mismas SKILLS, y no todas las burbujas de la organizaci&#243;n tienen por qu&#233; vivir de un cat&#225;logo universal.</p><p><strong>&#191;Por qu&#233; esta estrategia de 2 niveles de marketplace funciona?</strong></p><p>Porque conviertes el conocimiento en algo <strong>navegable, reutilizable y gobernable</strong>.</p><p>Y eso, en la pr&#225;ctica, significa tres cosas muy potentes:</p><p><strong>Primero</strong>, reduce la dependencia de personas concretas. Si una habilidad vive en un marketplace, no depende de que alguien la recuerde.</p><p><strong>Segundo</strong>, mejoras el onboarding. Un nuevo dev no tiene que adivinar c&#243;mo se hacen las cosas. La IA le ense&#241;a el camino.</p><p><strong>Tercero</strong>, permites flexibilidad a los equipos para adaptar su estilo de desarrollo, desde el plano general gobernado por la organizaci&#243;n de ingenier&#237;a, al plano concreto dentro de cada equipo.</p><p><strong>Cuarto</strong>, consigues el ownership que consigue que los plugins no queden desactualizados, ya que el equipo de plataforma se encargar&#225; de los plugins generales y los equipos de los comunes y espec&#237;ficos.</p><p><strong>Quinto</strong>, aceleras la adopci&#243;n real de IA. No en PowerPoint. No en una demo bonita.<br>En el d&#237;a a d&#237;a.</p><p>&#9757;&#127996; <strong>La adopci&#243;n de IA no se gana con entusiasmo. Se gana con infraestructura &#250;til.</strong></p><h2>&#10024; Pro Tip</h2><p>No empieces el marketplace por el cat&#225;logo.</p><p>Empi&#233;zalo por el dolor.</p><p><strong>&#128073;&#127996; Preg&#250;ntate</strong>:</p><ul><li><p>&#191;Cu&#225;l es el ciclo de desarrollo de software de los equipos?</p></li><li><p>&#191;Qu&#233; capacidades est&#225;n ofreciendo a d&#237;a de hoy, a trav&#233;s de p&#225;ginas de Confluence, los equipos entre ellos?</p></li><li><p>&#191;Qu&#233; podr&#237;a ejecutar una IA mejor si tuviera la pieza adecuada?</p></li><li><p>&#191;C&#243;mo podemos ser m&#225;s efectivos y eficientes?</p></li><li><p>&#191;Qu&#233; cosas nos hacen perder tiempo de verdad?</p></li></ul><p>Ah&#237; tienes el material bueno.</p><p>Y otra pregunta que estoy seguro que te ronda la cabeza:</p><blockquote><p>&#191;Cojo plugins, SKILLS, agentes de paginas como skills.sh o las creo yo?</p></blockquote><p>No tengo una respuesta clara por los siguientes motivos:</p><ul><li><p>Las SKILLS y <strong>plugins que hay en la red pueden tener problemas de seguridad</strong>, y ya te digo yo que tu equipo de seguridad no va a poder revisar cada uno de los que quieras probar, <em><strong>no escala</strong></em>.</p></li><li><p>Por otro lado, lleva <strong>mucho esfuerzo e iteraci&#243;n</strong> <strong>redactar tus propios plugins</strong>. Si ya tienes eso documentado en alg&#250;n sitio, ser&#225; m&#225;s f&#225;cil transformarlo en plugins de marketplace.</p></li></ul><p><strong>As&#237; que te digo lo que hago yo:</strong></p><ol><li><p><strong>Las m&#225;s generales</strong>, las descargo de la red y hago que la IA las revise, que las <em>audite</em>, en busca de posibles agujeros de seguridad.</p></li><li><p><strong>Para las m&#225;s concretas</strong>, como por ejemplo un plugin para conectarse a nuestra instancia de SonarQube y hacer comprobaciones de calidad, pues las escribo yo&#8230; con IA.</p></li></ol><h2>Vamos cerrando por hoy &#8230;</h2><p><strong>El reto que tenemos ahora con SKILLS, agentes y dem&#225;s, es empaquetar capacidades para que la IA las encuentre y las use bien.</strong></p><p><strong>Tienes que plataformizar su uso, y lo antes posible, porque los equipos de desarrollo ya est&#225;n </strong><em><strong>haciendo sus cositas</strong></em><strong>.</strong></p><p>&#191;Qu&#233; enfoque te parece m&#225;s &#250;til en tu organizaci&#243;n: un marketplace general, uno por equipo o una mezcla de ambos?</p>]]></content:encoded></item><item><title><![CDATA[La verdad incómoda sobre las Agent SKILLS]]></title><description><![CDATA[La alternativa simple que cubre el 80% de los casos para equipos de desarrollo]]></description><link>https://ainativebrujula.substack.com/p/la-verdad-incomoda-sobre-las-agent</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/la-verdad-incomoda-sobre-las-agent</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 06 Apr 2026 07:04:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/736afdf6-fd2b-4239-9e28-5f324c772c04_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Lleg&#243; la <em>moda</em> de las <strong>Agent Skills y</strong> pens&#233; lo mismo que muchos: </p><blockquote><p>Sip, tiene sentido empaquetar procedimientos reutilizables en un formato instalable. </p></blockquote><p>Una vez empec&#233; a instalar skills y vi en lo que consist&#237;an de verdad, la frase que me sali&#243; fue:</p><blockquote><p>Pero esto, &#191;en qu&#233; se diferencia de un archivo AGENTS.md?</p></blockquote><p>Y este es el tema principal de la edici&#243;n de hoy para la newsletter &#128073;&#127996; <strong>&#191;Merece la pena cargarnos, como desarrolladores de software, con un nuevo </strong><em><strong>framework</strong></em><strong>?</strong></p><p>Pero, como dijo alguien, <em>vamos por partes</em>.</p><p>Primero, y brevemente, <strong>&#191;qu&#233; son las SKILLS?</strong></p><p>&#9757;&#127996; Las Skills son paquetes (una carpeta) reutilizables de conocimiento procedimental que ense&#241;an a un agente de IA c&#243;mo ejecutar tareas concretas (no s&#243;lo qu&#233; decidir). Piensa en ellas como manuales operativos o plugins para asistentes de programaci&#243;n: instrucciones, ejemplos, scripts, plantillas y recursos que el agente puede cargar y seguir para realizar tareas repetibles.</p><p>Ahora, la pregunta clave no es si las Skills existen ni si est&#225;n bien dise&#241;adas.</p><p>La pregunta es: <strong>&#191;aportan algo que no podamos obtener ya con AGENTS.md y algo de disciplina?</strong></p><p>&#128073;&#127996; <strong>No hay ning&#250;n problema t&#233;cnico fundamental que SKILLS resuelva</strong> y que no puedas resolver con AGENTS.md m&#225;s disciplina y procesos.</p><p>Lo dicho, <em>vamos por partes</em>.</p><p>1&#65039;&#8419; <strong>Mismo contenido funcional</strong></p><p><strong>Lo valioso de una Skill es su conocimiento procedimental</strong>: pasos concretos, ejemplos de entrada y salida, scripts ejecutables y reglas de permisos.</p><p>Si usas <strong>AGENTS.md como &#237;ndice</strong> o como documento primario con inputs, outputs, ejemplos y enlaces a scripts versionados, est&#225;s cubriendo la misma funcionalidad pr&#225;ctica.</p><p>2&#65039;&#8419; <strong>Menos complejidad operativa</strong></p><p>Los desarrolladores de software tenemos cada vez m&#225;s carga cognitiva. Con la aparici&#243;n de la IA generativa, esa carga no ha disminuido, sino que ha aumentado.</p><p>&#191;En serio necesitamos otro <em>framework</em> m&#225;s?</p><p>Instalar <code>npx skills add ...</code> y mantener un ecosistema distribuido introduce:</p><ul><li><p>un CLI m&#225;s que aprender,</p></li><li><p>dependencias externas (supply-chain),</p></li><li><p>y un modelo de permisos a revisar.</p></li></ul><p>Si tu equipo trabaja <em>dentro</em> del repo y controla el CI/CD, mantener <code>AGENTS.md</code> es m&#225;s simple.</p><p>3&#65039;&#8419; <strong>Lo que SKILLS solucionan &#8220;de serie&#8221; y c&#243;mo replicarlo</strong></p><p>Es cierto que SKILLS ofrecen por defecto tres cosas que con AGENTS.md hay que construir:</p><p>&#8226; Distribuci&#243;n y descubrimiento estandarizado entre m&#250;ltiples repos y equipos.</p><p>&#8226; Instalaci&#243;n declarativa, con versiones independientes del repo consumidor.</p><p>&#8226; Interoperabilidad si varios agentes adoptan el mismo est&#225;ndar.</p><p>En caso de que lo necesites, puedes replicarlo con AGENTS.md si a&#241;ades:</p><ul><li><p>Un repo central o &#237;ndice, un peque&#241;o <em>instalador</em> que descargue la versi&#243;n marcada, tags/releases sem&#225;nticos,</p></li><li><p>CI que exporte artefactos y un job que genere SKILL.md si hace falta compatibilidad externa. </p></li></ul><p>Es trabajo extra, pero es trabajo que tu equipo puede automatizar y controlar desde Git.</p><p><strong>&#128073;&#127996; Mi consejo</strong>: empieza con AGENTS.md como c&#243;digo.</p><p>Tr&#225;talo como tal: PRs, tests, tags y changelog. Indica en el propio AGENTS.md que el agente de IA se encargue de actualizarlo cuando haya cambios significativos en la aplicaci&#243;n.</p><p>Si alg&#250;n d&#237;a necesitas distribuci&#243;n masiva, automatiza la exportaci&#243;n a SKILL.md desde tu pipeline. As&#237; te ahorras la fricci&#243;n inicial y mantienes la puerta abierta.</p><p><strong>&#191;Qu&#233; opinas de todo esto?</strong> Me encantar&#237;a saber tu opini&#243;n y tu experiencia usando SKILLS y AGENTS.md, as&#237; que no dudes en responder a este email, dejando un comentario en Substack, o <a href="https://bsky.app/profile/marcosflobo.bsky.social">dame un toque a trav&#233;s de BlueSky</a>.</p><div><hr></div><p><strong>&#191;Te ha gustado la edici&#243;n?</strong> Comp&#225;rtela con alguien que est&#233; liado con esto &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0&quot;,&quot;text&quot;:&quot;&#128154; WhatsApp&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0"><span>&#128154; WhatsApp</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#128153; LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/"><span>&#128153; LinkedIn</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#129653; BlueSky&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/"><span>&#129653; BlueSky</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!&quot;,&quot;text&quot;:&quot;&#129505; Telegram&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!"><span>&#129505; Telegram</span></a></p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[Code Reviews en la era AI Native]]></title><description><![CDATA[&#191;Eres capaz de revisar todo el c&#243;digo que escribe tu agente de IA? Hay otro modo igual de eficiente adoptando una aproximaci&#243;n orientada a AI Native]]></description><link>https://ainativebrujula.substack.com/p/code-reviews-en-la-era-ai-native</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/code-reviews-en-la-era-ai-native</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 23 Mar 2026 07:23:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VsUk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F478b592e-9624-425d-954e-13ea821e1ce4_1800x1356.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>No s&#233; si tienes la misma impresi&#243;n que tengo yo cuando abro un Pull Request con cambios implementados por un agente de IA:</p><blockquote><p>Ostras, vaya cantidad de c&#243;digo, &#191;en serio me tengo que poner a revisar todo esto?</p></blockquote><p>&#191;Te ha pasado?</p><p>Esto es un problema.</p><p>Y sobre todo cuando a mis compa&#241;eros humanos les <em>aburro</em> todo el d&#237;a con el discurso:</p><blockquote><p><em>Chavalada</em>, a ver si podemos hacer Pull Requests m&#225;s peque&#241;os, que se revisan mejor y as&#237; aumentamos la calidad del software.</p></blockquote><p><strong>&#9757;&#127996; Pero recientemente me he dado cuenta de que estoy programando siguiendo flujos AI Native,</strong> mientras que sigo haciendo las revisiones de c&#243;digo a la <em>vieja usanza</em> (&#161;de hace apenas 2 a&#241;os!).</p><p>En la edici&#243;n de hoy os voy a explicar una nueva aproximaci&#243;n a las revisiones de c&#243;digo generado por los Agentes de IA y consiguiendo los mismos objetivos que con una revisi&#243;n de c&#243;digo <em>est&#225;ndar</em>.</p><p>&#9757;&#127996; Empecemos por el principio: <strong>&#191;Qu&#233; se persigue en un Code Review?</strong></p><p><strong>Cuando una persona revisa c&#243;digo que debe ir a producci&#243;n</strong>, ha de asegurarse de que:</p><ol><li><p><strong>Se implementa lo que hay que implementar</strong>, es decir, el c&#243;digo satisface los requisitos.</p></li><li><p><strong>Se implementa con calidad</strong>, es decir, el cambio no introduce bugs y el c&#243;digo es mantenible.</p></li></ol><p>A partir de aqu&#237;, ya existen estudios [<a href="https://www.coderabbit.ai/blog/state-of-ai-vs-human-code-generation-report">1</a>] que indican que la cantidad de c&#243;digo generado por los Agentes de IA es mayor que la generada por desarrolladores humanos.</p><p>&#128073;&#127996; <strong>Y esto implica m&#225;s c&#243;digo a revisar</strong> en los Pull Requests correspondientes.</p><p>Esto <em>no escala</em>.</p><p>Con tanto c&#243;digo a revisar en los Code Reviews, el producto software se ve significativamente impactado, ya que es m&#225;s dif&#237;cil conseguir los objetivos del mismo.</p><p>&#9757;&#127996; Tenemos que cambiar la aproximaci&#243;n, manteniendo al humano en el proceso, ya que es el &#250;ltimo responsable de ese c&#243;digo que va a ir a Producci&#243;n.</p><p><strong>Una aproximaci&#243;n AI Native</strong>.</p><p>Y aqu&#237; viene la propuesta que te traigo y est&#225; funcionando en los equipos con los que estoy trabajando:</p><ul><li><p>No revises el c&#243;digo de la IA,</p></li><li><p>Revisa <strong>la decisi&#243;n</strong> tomada por la IA.</p></li></ul><p>Y me explico.</p><p>Piensa en el siguiente flujo de trabajo.</p><ol><li><p><strong>Le pides a tu Agente de IA que haga un plan</strong> para implementar una <em>feature</em> nueva o arreglar un bug (por ejemplo).</p></li><li><p><strong>Iteras el plan</strong>, le preguntas, quieres que el plan sea lo m&#225;s s&#243;lido posible, siguiendo las buenas pr&#225;cticas que aplican para tu empresa o al repositorio sobre el que est&#225;s trabajando.</p></li><li><p><strong>Finalmente, le das luz verde</strong> al agente para implementar el plan.</p></li><li><p>Y, adem&#225;s del c&#243;digo, en tus instrucciones <strong>le indicas que te genere un Architecture Decision Record</strong> (ADR) <strong>para la implementaci&#243;n elegida</strong>, que adem&#225;s ser&#225; incluido en el Pull Request.</p></li></ol><p>Ahora, advinida qu&#233; es lo que t&#250; y tus revisores del Pull Request, como humanos, vais a revisar. Exacto.</p><p>&#128073;&#127996; <strong>Como humano, revisas el archivo de texto donde se explica la decisi&#243;n t&#233;cnica que se ha implementado</strong>, no el c&#243;digo.</p><p>&#191;Qu&#233; se consigue con esta aproximaci&#243;n?</p><ul><li><p><strong>Uno de los 2 objetivos de una Code Review est&#225;ndar,</strong> ya que est&#225;s leyendo qu&#233; ha cambiado, con lo que te aseguras de que <strong>se implementa lo que hay que implementar.</strong></p></li><li><p><strong>La revisi&#243;n de cambios (que no de c&#243;digo) ya escala</strong>, es decir, ya no tienes que navegar entre un mont&#243;n de cambios en el <em>diff</em> que del Pull Request en GitHub/GitLab.</p></li></ul><p>&#128073;&#127996; &#191;Lo has notado? Ya no hablo de &#8220;revisi&#243;n de c&#243;digo&#8221;, sino que hablo de &#8220;revisi&#243;n de cambios&#8221;</p><p>Pero ojo, hay algo que <em>pierdes</em> (?).</p><p>&#191;Entra en la definici&#243;n de <em>c&#243;digo mantenible</em> el c&#243;digo generado por la IA? Pues depende lo <em>fino</em> que hayan sido tus prompts o la informaci&#243;n que hayas puesto en el archivo AGENTS.md. La realidad es que, como no revisas el c&#243;digo, no lo sabes con seguridad. Pero dejo la siguiente reflexi&#243;n en el aire <strong>para que me respondas por email o en un comentario en Substack</strong>:</p><blockquote><p>En la direcci&#243;n en la que vamos con los agentes de IA generando nuestro c&#243;digo, &#191;cu&#225;n importante es que el c&#243;digo sea mantenible si va a ser la misma IA quien lo va a volver a modificar en el siguiente cambio?</p></blockquote><p>Ah&#237; lo dejo.</p><p>Y hasta aqu&#237; la edici&#243;n de hoy en la que te he tratado de explicar una aproximaci&#243;n AI Native a la revisi&#243;n de <s>c&#243;digo</s> cambios generados por agentes de IA.</p><p>Si me preguntas cu&#225;l ser&#237;a, en una frase, el aprendizaje de hoy, ser&#237;a:</p><p>&#128073;&#127996; <strong>Cambia la orientaci&#243;n de revisi&#243;n de c&#243;digo por revisi&#243;n de cambios</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!VsUk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F478b592e-9624-425d-954e-13ea821e1ce4_1800x1356.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!VsUk!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F478b592e-9624-425d-954e-13ea821e1ce4_1800x1356.png 424w, /__u/substackcdn.com/image/fetch/$s_!VsUk!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F478b592e-9624-425d-954e-13ea821e1ce4_1800x1356.png 848w, /__u/substackcdn.com/image/fetch/$s_!VsUk!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F478b592e-9624-425d-954e-13ea821e1ce4_1800x1356.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VsUk!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F478b592e-9624-425d-954e-13ea821e1ce4_1800x1356.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!VsUk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F478b592e-9624-425d-954e-13ea821e1ce4_1800x1356.png" width="1456" height="1097" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/478b592e-9624-425d-954e-13ea821e1ce4_1800x1356.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1097,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Revisi&#243;n de Cambios AI Native&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Revisi&#243;n de Cambios AI Native" title="Revisi&#243;n de Cambios AI Native" srcset="/__u/substackcdn.com/image/fetch/$s_!VsUk!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F478b592e-9624-425d-954e-13ea821e1ce4_1800x1356.png 424w, /__u/substackcdn.com/image/fetch/$s_!VsUk!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F478b592e-9624-425d-954e-13ea821e1ce4_1800x1356.png 848w, /__u/substackcdn.com/image/fetch/$s_!VsUk!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F478b592e-9624-425d-954e-13ea821e1ce4_1800x1356.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VsUk!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F478b592e-9624-425d-954e-13ea821e1ce4_1800x1356.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Revisi&#243;n de Cambios AI Native</figcaption></figure></div><p>Me encantar&#237;a conocer tu opini&#243;n al respecto. &#191;Tienes problemas para revisar c&#243;digo generado por la IA? &#191;Qu&#233; soluciones est&#225;s poniendo en pr&#225;ctica para asegurar que el c&#243;digo generado por la IA haga lo que tiene que hacer?</p><p></p><div><hr></div><p><strong>Si conoces a alguien</strong> a quien le pueda interesar este tema, reenv&#237;ale este email o dale al bot&#243;n de compartir &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0&quot;,&quot;text&quot;:&quot;&#128154; WhatsApp&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0"><span>&#128154; WhatsApp</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#128153; LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/"><span>&#128153; LinkedIn</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#129653; BlueSky&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/"><span>&#129653; BlueSky</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!&quot;,&quot;text&quot;:&quot;&#129505; Telegram&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!"><span>&#129505; Telegram</span></a></p>]]></content:encoded></item><item><title><![CDATA[De AGENTS.md a subagents: estructura y buenas prácticas]]></title><description><![CDATA[Una gu&#237;a pr&#225;ctica para organizar prompts, archivos Markdown y cu&#225;ndo cargar cada subagent sin desperdiciar tokens ni crear caos en tu plataforma]]></description><link>https://ainativebrujula.substack.com/p/de-agentsmd-a-subagents-estructura</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/de-agentsmd-a-subagents-estructura</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Sun, 01 Mar 2026 09:38:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dA1q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5641e4c4-9e15-4711-8d6c-da19868b2c28_1754x2256.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Si trabajas en Platform Engineering o en un equipo de desarrollo, te interesa entender una cosa: <strong>subagentes &#8800; MCP</strong>.</p><p>No son intercambiables. No son lo mismo.</p><p>Y mezclar sus responsabilidades es la v&#237;a r&#225;pida a incidentes, discusiones de permisos y dolores de cabeza legales.</p><p><strong>En una futura edici&#243;n</strong> os contar&#233; los casos de uso para subagentes y para MCP servers.</p><p>En la edici&#243;n de hoy de la newsletter, vas a aprender la diferencia entre subagentes y MCP servers, y c&#243;mo implementar el <em>framework</em> de subagentes. En concreto:</p><ul><li><p>Qu&#233; es un subagente.</p></li><li><p>Qu&#233; es un MCP server.</p></li><li><p>C&#243;mo puedo empezar a usar subagentes.</p></li></ul><p>&#127873; &#161;Atenci&#243;n! <strong>La edici&#243;n de hoy viene con regalito &#127873;</strong>. Al final de este email puedes encontrarlo.</p><p>Para ir entrando en calor, y por si te lo perdiste, <strong>este art&#237;culo sobre el framework AGENTS.md te puede resultar de utilidad</strong> como contexto para seguir con la lectura de la edici&#243;n de hoy.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;62bb1168-6ca8-4a09-b54d-4bc578463ccb&quot;,&quot;caption&quot;:&quot;Recientemente, he echado a andar un proyecto para el grupo de ingenier&#237;a al que pertenezco y me gustar&#237;a compartirlo con todas las personas suscritas a esta newsletter. Esto es un caso real.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Buenas practicas para crear AGENTS.md&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:40136239,&quot;name&quot;:&quot;Marcos F. Lobo &#128507;&#129517;&quot;,&quot;bio&quot;:&quot;Senior Software Engineer and Tech Lead with 20+ years of experience. Currently building a SaaS product on a cloud-based microservices architecture. Previously worked at CERN managing OpenStack services in the IT CLOUD group.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!7roK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff9211d7-f06d-4d11-b17c-4f1af3d2df5a_3264x1836.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-20T18:18:05.942Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!BkhT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://ainativebrujula.substack.com/p/buenas-practicas-para-crear-agentsmd&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175633920,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:4,&quot;comment_count&quot;:2,&quot;publication_id&quot;:5582213,&quot;publication_name&quot;:&quot;Br&#250;jula AI Native&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!d0wd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb06692c9-9512-4a82-a9d6-74b3a4fe273b_168x168.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Ahora, vamos a turr&#243;n.</p><h2>Qu&#233; es un subagente y un MCP</h2><p>Un subagente es un <em>rol cognitivo especializado</em>:</p><ul><li><p>Tiene un prompt,</p></li><li><p>razona dentro de un scope,</p></li><li><p>y devuelve outputs estructurados.</p></li></ul><p>Piensa en &#233;l como un especialista senior que recibes por texto y que responde con juicio t&#233;cnico.</p><p><strong>Las caracter&#237;sticas principales</strong> se pueden enumerar como<strong>:</strong></p><ul><li><p>Objetivo propio.</p></li><li><p>Razonamiento aut&#243;nomo dentro de un scope.</p></li><li><p>Puede llamar a tools (MCPs), pero decide <strong>qu&#233;</strong> y <strong>cu&#225;ndo</strong>.</p></li><li><p>Devuelve outputs con estructura (JSON, checklist, diff de c&#243;digo, etc.).</p></li></ul><p>&#128073;&#127996; <strong>Los subagentes son conocimientos, prompts, usados y orquestados por tu agente de IA</strong> (gpt 5.2, Claude Opus 4.6, etc.).</p><p>Por otro lado.</p><p>Un <strong>servidor MCP</strong> (Model Context Protocol) es una aplicaci&#243;n: un adaptador que expone capacidades, datos y herramientas al agente.</p><p>No razona: responde llamadas con datos tipados y funciones (p. ej. &#8220;searchLogs&#8221;, &#8220;createPR&#8221;, &#8220;queryMetrics&#8221;).</p><p><strong>Las caracter&#237;sticas principales</strong> se pueden enumerar como<strong>:</strong></p><ul><li><p>API y contratos tipados.</p></li><li><p>Control de permisos y auditor&#237;a.</p></li><li><p>Determinista: realiza acciones concretas cuando se le pide.</p></li><li><p>No tiene prompt ni toma decisiones por s&#237; mismo.</p></li></ul><p>Qu&#233;date con la siguiente idea &#128071;&#127995;</p><ul><li><p><strong>Subagente &#8594; piensa + decide.</strong></p></li><li><p><strong>Servidor MCP &#8594; ofrece </strong><em><strong>capabilities</strong></em><strong> + acceso a datos</strong></p></li></ul><p>Ahora bien, centr&#225;ndonos en los subagentes.</p><h2>C&#243;mo puedo empezar a usar subagentes</h2><p>Mucha informaci&#243;n general y poca concreci&#243;n, &#191;verdad? Bueno, era necesaria para que podamos seguir.</p><p>Vamos al detalle.</p><p>&#128073;&#127996; Como puedes ver, al final del d&#237;a <strong>implementar un subagente cognitivo es organizar conocimiento en diferentes archivos Markdown</strong>.</p><p>No obstante, la primera vez que te enfrentas a ello, puede ser un poco confuso; uno no sabe qu&#233; poner en AGENTS.md y qu&#233; poner en los archivos dedicados a los subagentes.</p><p>&#9757;&#127996; Algo que tienes que tener en mente:</p><ol><li><p><strong>AGENTS.md se inyecta autom&#225;ticamente</strong> en el contexto del agente en cada conversaci&#243;n. Si es largo, consume innecesariamente tokens con informaci&#243;n que puede no ser relevante para la tarea actual.</p></li><li><p><strong>Los subagent files se cargan bajo demanda</strong>, solo cuando el agente determina que son relevantes.</p></li></ol><p>Y, &#191;en qu&#233; se traduce esto? Te cuento c&#243;mo veo que funciona mejor.</p><p>La mejor pr&#225;ctica es que AGENTS.md sea <em><strong>lean</strong></em><strong> pero no vac&#237;o</strong>; b&#225;sicamente, un &#237;ndice. Debe contener:</p><ol><li><p><strong>Project overview</strong> (2-3 l&#237;neas max): contexto universal.</p></li><li><p><strong>Critical rules</strong> que aplican a CUALQUIER tarea (naming, arquitectura core, patrones prohibidos).</p></li><li><p><strong>Quick commands</strong>: el agente los necesita constantemente.</p></li><li><p><strong>El &#237;ndice de subagents</strong> con descripci&#243;n clara de CU&#193;NDO usar cada uno.</p></li></ol><p><strong>Todo lo que solo es relevante en contextos espec&#237;ficos</strong>: detalles de seguridad, CI/CD detallado, gu&#237;as de test exhaustivas, etc. <strong>Eso va en los subagents</strong>.</p><p>Venga, te cuento cu&#225;l es la <strong>estructura ideal &#128071;&#127995;</strong></p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">AGENTS.md (~80-100 l&#237;neas)

&#9500;&#9472;&#9472; Project title + 2-line description

&#9500;&#9472;&#9472; Architecture invariants (las reglas que nunca se rompen)

&#9500;&#9472;&#9472; Quick commands block

&#9492;&#9472;&#9472; Subagent index:

 &#9500;&#9472;&#9472; subagent_architecture.md &#8594; &#8220;Use for: new features, design decisions&#8221;

 &#9500;&#9472;&#9472; subagent_build_test.md &#8594; &#8220;Use for: build issues, test creation&#8221;

 &#9500;&#9472;&#9472; subagent_configuration.md &#8594; &#8220;Use for: env setup, Kafka config&#8221;

 &#9500;&#9472;&#9472; subagent_code_style.md &#8594; &#8220;Use for: code review, formatting&#8221;

 &#9500;&#9472;&#9472; subagent_ci_pr.md &#8594; &#8220;Use for: PR creation, CI failures&#8221;

 &#9492;&#9472;&#9472; subagent_security.md &#8594; &#8220;Use for: secrets, auth, encryption&#8221;</code></pre></div><p>Puede ser que algunos de esos Markdowns no apliquen en tu caso, pero pillas la idea.</p><p><strong>El elemento clave &#128071;&#127995;</strong></p><p>El AGENTS.md debe <strong>instruir expl&#237;citamente al agente cu&#225;ndo cargar cada subagente</strong>. Sin esto, el agente puede ignorarlos. Algo as&#237;:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">## Subagent Files

Before starting any task, identify which subagent files apply and read them:

| File | Read when... |

|------|-------------|

| `subagent_architecture.md` | Adding features, refactoring, design questions |

| `subagent_build_test.md` | Running builds, writing/fixing tests |

| `subagent_configuration.md` | Setting up env, changing Kafka topics, config |

| `subagent_code_style.md` | Writing new code, reviewing PRs |

| `subagent_ci_pr.md` | Creating PRs, debugging CI pipeline |

| `subagent_security.md` | Handling credentials, auth, sensitive data |</code></pre></div><p>Esos subagentes son ejemplos y algunos de ellos son los que uso yo. En tu caso igual no aplican todos, o algunos s&#237;, y seguramente tendr&#225;s que crear unos para tu caso.</p><p>No obstante, siguiendo el ejemplo de arriba, ahora te cuento lo que debe contener cada uno de esos archivos Markdown.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!dA1q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5641e4c4-9e15-4711-8d6c-da19868b2c28_1754x2256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!dA1q!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5641e4c4-9e15-4711-8d6c-da19868b2c28_1754x2256.png 424w, /__u/substackcdn.com/image/fetch/$s_!dA1q!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5641e4c4-9e15-4711-8d6c-da19868b2c28_1754x2256.png 848w, /__u/substackcdn.com/image/fetch/$s_!dA1q!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5641e4c4-9e15-4711-8d6c-da19868b2c28_1754x2256.png 1272w, /__u/substackcdn.com/image/fetch/$s_!dA1q!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5641e4c4-9e15-4711-8d6c-da19868b2c28_1754x2256.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!dA1q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5641e4c4-9e15-4711-8d6c-da19868b2c28_1754x2256.png" width="1456" height="1873" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5641e4c4-9e15-4711-8d6c-da19868b2c28_1754x2256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1873,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!dA1q!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5641e4c4-9e15-4711-8d6c-da19868b2c28_1754x2256.png 424w, /__u/substackcdn.com/image/fetch/$s_!dA1q!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5641e4c4-9e15-4711-8d6c-da19868b2c28_1754x2256.png 848w, /__u/substackcdn.com/image/fetch/$s_!dA1q!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5641e4c4-9e15-4711-8d6c-da19868b2c28_1754x2256.png 1272w, /__u/substackcdn.com/image/fetch/$s_!dA1q!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5641e4c4-9e15-4711-8d6c-da19868b2c28_1754x2256.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>subagent_architecture.md</strong></p><ul><li><p>Patrones arquitect&#243;nicos detallados (Arquitectura Hexagonal, Basada en Eventos, DDD).</p></li><li><p>Arquitectura de componentes con ejemplos de c&#243;digo.</p></li><li><p>Puntos de extensi&#243;n para a&#241;adir nuevas funcionalidades.</p></li><li><p>Consideraciones y monitorizaci&#243;n del rendimiento.</p></li><li><p>Pruebas de patrones arquitect&#243;nicos.</p></li></ul><p><strong>subagent_build_test.md</strong></p><ul><li><p>Documentaci&#243;n completa del sistema de compilaci&#243;n.</p></li><li><p>Estructura y estrategias del marco de pruebas.</p></li><li><p>Directrices para pruebas de rendimiento.</p></li><li><p>Problemas comunes de compilaci&#243;n y soluciones.</p></li><li><p>Controles de calidad y requisitos de cobertura.</p></li></ul><p><strong>subagent_configuration.md</strong></p><ul><li><p>Configuraci&#243;n del entorno y prerrequisitos.</p></li><li><p>Configuraci&#243;n de temas de Kafka.</p></li><li><p>Gesti&#243;n din&#225;mica de la configuraci&#243;n.</p></li><li><p>Supervisi&#243;n y comprobaciones de estado.</p></li><li><p>Soluci&#243;n de problemas de configuraci&#243;n.</p></li></ul><p><strong>subagent_code_style.md</strong></p><ul><li><p>Pr&#225;cticas recomendadas y caracter&#237;sticas modernas de Java 21.</p></li><li><p>Gu&#237;as de uso de Lombok.</p></li><li><p>Est&#225;ndares de organizaci&#243;n de paquetes.</p></li><li><p>Patrones de gesti&#243;n de errores.</p></li><li><p>Est&#225;ndares de documentaci&#243;n y pruebas.</p></li></ul><p><strong>subagent_ci_pr.md</strong></p><ul><li><p>Configuraci&#243;n de la canalizaci&#243;n de CI/CD de GitHub Actions.</p></li><li><p>Flujo de trabajo y plantillas de solicitudes de incorporaci&#243;n de cambios.</p></li><li><p>Procesos de protecci&#243;n y revisi&#243;n de ramas.</p></li><li><p>Procedimientos de implementaci&#243;n y monitorizaci&#243;n.</p></li><li><p>Soluci&#243;n de problemas de CI/CD.</p></li><li><p>Sintaxis para crear commits y Pull Requests.</p></li></ul><p><strong>subagent_security.md</strong></p><ul><li><p>Directrices de seguridad integrales.</p></li><li><p>Gesti&#243;n y rotaci&#243;n de secretos.</p></li><li><p>Validaci&#243;n de entradas y protecci&#243;n de datos.</p></li><li><p>Supervisi&#243;n de la seguridad y respuesta a incidentes.</p></li><li><p>Requisitos de cumplimiento y auditor&#237;a.</p></li></ul><p>Ves por d&#243;nde va la cosa, &#191;verdad?.</p><p>A partir de aqu&#237;, teniendo esos archivos en tu directorio de trabajo, cada iteraci&#243;n que tengas con <strong>tu agente de IA, &#233;ste sabr&#225; por d&#243;nde navegar y qu&#233; a&#241;adir a su contexto</strong>, en funci&#243;n de tus peticiones.</p><p><strong>Y todo esto, &#191;para qu&#233;?</strong></p><p>&#128073;&#127996; Con el framework de AGENTS y subagentes, puedes esperar:</p><ol><li><p>Ahorrar tokens, a.k.a <em>dinerito</em> &#128184;</p></li><li><p>Mejores resultados en las respuestas e implementaci&#243;n del c&#243;digo generado por los asistentes de IA.</p></li></ol><p>Espero que te haya gustado la edici&#243;n de hoy.</p><p><strong>Me encantar&#237;a conocer tus experiencias</strong> implementando y utilizando subagentes y MCP Servers. Responde a este email, deja un comentario en Substack o dame un toque por redes sociales.</p><h2>&#127873; Regalito</h2><p><strong>Tengo un meta prompt</strong> que, pas&#225;ndoselo a tu asistente de IA, te va a crear todos los archivos necesarios <strong>para que implementes, en un </strong><em><strong>ENTER</strong></em><strong>, toda la infraestructura para empezar a usar subagentes en tu aplicaci&#243;n</strong>.</p><p><strong>&#191;Lo quieres gratis?</strong></p><p>Muy f&#225;cil:</p><ul><li><p>Bien responde a este email,</p></li><li><p>O m&#225;ndame un email a <a href="mailto:hola@ainative.es">hola@ainative.es</a>,</p></li><li><p>O dame un toque por <a href="https://bsky.app/profile/marcosflobo.bsky.social">Bluesky</a>/<a href="https://hachyderm.io/@marcosflobo">Mastodon</a></p></li></ul><p>Y te lo mando.</p><div><hr></div><p><strong>Si conoces a alguien</strong> a quien le pueda interesar el tema de AGENTS.md y subagentes, reenv&#237;ale este email o dale al bot&#243;n de compartir &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0&quot;,&quot;text&quot;:&quot;&#128154; WhatsApp&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0"><span>&#128154; WhatsApp</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#128153; LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/"><span>&#128153; LinkedIn</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#129653; BlueSky&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/"><span>&#129653; BlueSky</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!&quot;,&quot;text&quot;:&quot;&#129505; Telegram&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!"><span>&#129505; Telegram</span></a></p>]]></content:encoded></item><item><title><![CDATA[Antes de meter IA en tu SaaS, para un momento]]></title><description><![CDATA[Un enfoque pr&#225;ctico para adoptar agentes de IA sin comprometer seguridad, calidad ni responsabilidades.]]></description><link>https://ainativebrujula.substack.com/p/antes-de-meter-ia-en-tu-saas-para</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/antes-de-meter-ia-en-tu-saas-para</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 19 Jan 2026 11:23:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f2d7439d-6f02-4a3f-93a4-565239578101_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Tengo que reconocerlo</strong>: cuando empec&#233; a ver c&#243;mo la gente en mi entorno laboral se lanzaba a usar agentes por su cuenta (marketing, ventas, RRHH&#8230;), me llev&#233; una sorpresa. Antes de que eso ocurriera, yo pensaba:</p><blockquote><p>&#161;Los developers seremos los primeros en usar esto!</p></blockquote><p>Y no fue as&#237;.</p><p><strong>Eso ense&#241;a algo b&#225;sico</strong>: </p><p>&#128073;&#127996; La adopci&#243;n de IA en una compa&#241;&#237;a no es s&#243;lo t&#233;cnica, sino que es cultural. </p><p>Y si quieres que sea segura y &#250;til para tu producto SaaS, <strong>necesitas un</strong> <strong>onboarding</strong>.</p><p>A continuaci&#243;n te dejo la propuesta que empezamos a aplicar en los equipos con los que trabajo, basada &#250;nicamente en lo que hemos vivido.</p><p>Pero lo primero es lo primero.</p><h2>&#191;Por qu&#233; necesitas un onboarding formal?</h2><p>Porque sin &#233;l:</p><ul><li><p>La gente usa agentes sin evaluar seguridad ni legalidad.</p></li><li><p>Puedes acabar exponiendo datos sensibles o incumpliendo normas/ISO.</p></li><li><p>Los equipos crean silos de &#8220;c&#243;mo&#8221; usar la IA y nadie coordina.</p></li></ul><p>En mi caso, tuvimos que parar y pensar:</p><blockquote><p>&#191;c&#243;mo lo hacemos esto sin liarla?</p></blockquote><p>Pues aqu&#237; va mi propuesta, basada en la experiencia por la que pasamos en nuestros equipos.</p><h2>Mi propuesta</h2><p><strong>1&#65039;&#8419; Assessment</strong></p><p>&#191;Qu&#233; usos existen ya en la empresa? Marketing y ventas ya usaban herramientas para crear contenido; developers probando Cursor/Copilot.</p><p><strong>El equipo de procesos se ocup&#243; de hacer este an&#225;lisis</strong> y realiz&#243; encuestas para conocer las necesidades de cada departamento.</p><p><strong>2&#65039;&#8419; Formaci&#243;n m&#237;nima para todos</strong></p><p>No s&#243;lo devs. Hicimos cursos para producto, ventas y RRHH: qu&#233; es generativa, l&#237;mites legales, buenas pr&#225;cticas.</p><p>Esto se hizo en paralelo con el assessment indicado anteriormente.</p><p><strong>3&#65039;&#8419; Elegir herramientas y entender c&#243;mo usarlas</strong></p><p>En mi caso, optamos por un sistema tipo ChatGPT pero preparado para el uso interno de una empresa (de forma global). Elegimos Nexus AI. </p><p><strong>Para desarrollo, hablamos con Cursor, Windsurf, y GitHub Copilot</strong>, que adem&#225;s incluy&#243; cursos de formaci&#243;n especifificos, incluyendo para casos de Power Users, en sus herramientas.</p><p><strong>4&#65039;&#8419; Adopci&#243;n</strong></p><p><em>No adoption, no party</em>. Si no consigues la adopci&#243;n de un sistema, un proceso o herramientas, es como si no hubieras hecho el trabajo.</p><p><strong>Se comunic&#243; repetidamente</strong> por email, en meetings globales, etc., acerca de la existencia de las diferentes herramientas disponibles para los trabajadores en general y para los desarrolladores en particular.</p><p>Como ves, no es un proceso de onboarding especialmente sofisticado, y es que cuando nos planteamos la adopci&#243;n de IA para conseguir mejorar nuestra productividad, no encontramos experiencias de onboarding por parte de otras empresas.</p><p><em>Todo se mueve muy r&#225;pido</em>, as&#237; que hicimos lo que ya hicimos en otras ocasiones, pero orientado a la IA.</p><h2>&#10024; Pro Tip para developers</h2><p>A la hora de empezar a trabajar con un asistente de IA para c&#243;digo, mis recomendaciones son las siguientes:</p><ul><li><p>Redacta tu prompt como si le estuvieras explicando a un perfil junior (a otro junior si tu perfil es junior) qu&#233; es lo que quieres conseguir. No seas abstracto, s&#233; concreto.</p></li><li><p>Dale indicaciones acerca de c&#243;mo quieres que el c&#243;digo sea estructurado. Me refiero a cosas como arquitectura del software, buenas pr&#225;cticas, etc.</p></li><li><p>Escribe t&#250; los tests y p&#237;dele a la IA que escriba el c&#243;digo teniendo en cuenta los tests que has escrito. T&#250;, como developer, conoces los casos de uso, as&#237; que escribe los tests y d&#233;jale a la IA el trabajo inicial de implementar. Para saber m&#225;s acerca de esto, te recomiendo que leas este email: <strong><a href="/__u/ainativebrujula.substack.com/p/flujo-de-trabajo-con-tdd-y-agentes">Flujo de Trabajo con TDD y Agentes de IA</a></strong>.</p></li><li><p>Y siempre revisa el c&#243;digo que la IA genera.</p></li></ul><p>&#9757;&#127996; Empieza con <strong>tests</strong> y pide al agente que implemente esos tests. T&#250; sigues siendo responsable; la IA acelera, pero no delegues la responsabilidad.</p><h2>&#127873; Bola extra</h2><p>Esto es exclusivo para esta edici&#243;n en espa&#241;ol de la newsletter, y si est&#225;is empezando con el desarrollo asistido por agentes de IA, <strong>te interesa fijo</strong>.</p><p>&#128680; &#128227; Estoy muy feliz de cont&#225;ros que ya que est&#225; disponible la entretenida entrevista que me hizo <a href="https://www.linkedin.com/in/hernandiazrodriguez">Hernan Diaz Rodriguez</a>, dentro del marco de la Microcredencial en Inteligencia Artificial en la Universidad de Oviedo.</p><p>En dicha entrevista, hablamos acerca del desarrollo de software usando los agentes de inteligencia artificial, los trucos aprendidos, c&#243;mo empezar con ellos y m&#225;s cositas.</p><p>&#129505; Quiero dar las gracias desde aqu&#237; a Hern&#225;n por la oportunidad de hacer llegar mi voz y mi experiencia a sus alumnos de la <strong>Universidad de Oviedo</strong>.</p><p>Os dejo el enlace al v&#237;deo &#128071;&#127995;</p><div id="youtube2--UMCH4zYb_I" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;-UMCH4zYb_I&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/-UMCH4zYb_I?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p><strong>&#191;Te ha gustado la edici&#243;n?</strong> Comp&#225;rtela con alguien que est&#233; liado con esto &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0&quot;,&quot;text&quot;:&quot;&#128154; WhatsApp&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0"><span>&#128154; WhatsApp</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#128153; LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/"><span>&#128153; LinkedIn</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#129653; BlueSky&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/"><span>&#129653; BlueSky</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!&quot;,&quot;text&quot;:&quot;&#129505; Telegram&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!"><span>&#129505; Telegram</span></a></p>]]></content:encoded></item><item><title><![CDATA[Migrar código legacy con IA: sí, pero no como imaginas]]></title><description><![CDATA[Te cuento cu&#225;l es la mejor aproximaci&#243;n]]></description><link>https://ainativebrujula.substack.com/p/migrar-codigo-legacy-con-ia-si-pero</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/migrar-codigo-legacy-con-ia-si-pero</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 22 Dec 2025 11:53:25 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c3a06bd0-70e5-4ed5-8624-a21f2e88ffd0_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Atenci&#243;n al siguiente escenario:</p><blockquote><p>Tienes una aplicaci&#243;n <em>legacy</em> escrita en Scala, escrita con no muy buenas pr&#225;cticas de desarrollo de software, que necesitas migrar a Java, usando buenas pr&#225;cticas.</p></blockquote><p>Hace 3 a&#241;os, tu soluci&#243;n ser&#237;a ir, poco a poco, traduciendo c&#243;digo de un lado a otro.</p><p>Ahora, en los albores de la IA generativa y de la asistencia al desarrollo de software, &#191;podr&#237;a encargarle esa tarea a un agente de IA?</p><p><strong>Respuesta corta</strong>: S&#237;.</p><p><strong>Respuesta larga</strong>: S&#237;, pero no como esperas.</p><p>En el email de hoy te cuento <strong>cu&#225;l ha sido la estrategia que me ha resultado ser exitosa para migrar un c&#243;digo </strong><em><strong>legacy</strong></em><strong> de un lenguaje a otro</strong>.</p><p>Este es un escenario real que uno de los equipos de desarrollo con los que trabajo ha tenido; &#161;esta es la vida real!</p><h2>Primera idea: que la IA lo haga todo</h2><p><strong>Fracaso</strong>.</p><p>Esta fue la primera <em>idea feliz</em> que se me pas&#243; por la cabeza:</p><blockquote><p>&#191;Y por qu&#233; no cargamos en el IDE el proyecto viejo y el proyecto nuevo, vac&#237;o, y le metemos un prompt potente al agente de IA para que migre todo el c&#243;digo?</p></blockquote><p>Inviable, al menos, hoy en d&#237;a.</p><p>Por muy bueno que sea el prompt, <strong>cuando es mucho c&#243;digo, el agente de IA va a perder cosas por el camino</strong>; simplemente es demasiado contexto y sabemos que los agentes de IA se pueden <em>marear</em> cuando llevan consigo demasiado contexto.</p><p>He hecho alguna prueba con scripts peque&#241;os, de unas 50 o 100 l&#237;neas, para migrar de SHELL a Python, y esta aproximaci&#243;n funcion&#243; bastante bien.</p><p>Con un proyecto de una dimensi&#243;n normal o grande, como digo, simplemente no funciona.</p><h2>Segunda idea: divide y vencer&#225;s</h2><p><strong>Fracaso</strong>.</p><p>Esta fue la segunda <em>idea feliz</em> que se me pas&#243; por la cabeza:</p><blockquote><p>Vale, no podemos pedirle al agente que lo haga todo a la vez, pues pid&#225;mosle por bloques, por paquetes, y as&#237; el contexto ser&#225; menor.</p></blockquote><p>Al no tener toda la visibilidad, <strong>simplemente no es capaz de aplicar las buenas pr&#225;cticas</strong>; necesita refactorizar muy frecuentemente y no se da cuenta de ello; se lo tienes que decir t&#250;. Inventa mucho.</p><p>Simplemente, no escala.</p><h2>Tercera idea: abstrae las reglas de negocio para que otro agente las entienda</h2><p><strong>&#201;xito</strong>.</p><p>Esta idea no vino de m&#237;, sino de un compa&#241;ero del equipo:</p><blockquote><p>Vamos a pedirle al agente de IA que analice el proyecto en Scala y nos saque un documento donde explique cosas como la l&#243;gica de negocio, los test de caja negra, funcionales, etc. y con ese documento, vamos a otro agente de IA para que, poco a poco, nos ayude a implementar lo mismo en Java.</p></blockquote><p>&#191;Por qu&#233; nos ha funcionado esto?</p><ul><li><p>Los agentes de IA se llevan bien con instrucciones en Markdown. Tambi&#233;n son buenos para traducir c&#243;digo a texto y viceversa y, si adem&#225;s, le pedimos que lo adapte para ser procesado por otro agente de IA, pues mejor.</p></li><li><p>Permite que el agente de IA pueda ir implementando por bloques, pero teniendo la visi&#243;n completa en texto, con lo cual se hace m&#225;s eficiente.</p></li></ul><p>No os voy a enga&#241;ar: <strong>lleva tiempo y hay que ir poco a poco trabajando con el agente</strong>, pero de momento nos est&#225; funcionando.</p><h2>Tips</h2><p>Para terminar el email de hoy, te dejo unos tips en base al aprendizaje adquirido con este ejercicio.</p><ul><li><p>P&#237;dele al agente que empiece por implementar los tests. Esta es la aproximaci&#243;n TDD y te ayudar&#225; a ti, ser humano, a tener m&#225;s confianza en que las cosas se est&#225;n haciendo bien.</p></li><li><p>P&#237;dele el plan antes de que lo implemente. Revisa su plan, p&#237;dele cambios.</p></li><li><p>P&#237;dele cambios poco a poco. Hemos visto en anteriores ediciones que <a href="/__u/ainativebrujula.substack.com/p/spec-driven-development-es-una-buena">Spec-Driven Development puede funcionar si se produce en lotes peque&#241;os</a> y no se pide toda la funcionalidad de golpe.</p></li><li><p>Revisa todos los cambios. En serio, rev&#237;salos, que hay veces que el agente&nbsp;<em>patina</em>&nbsp;y no hace las cosas como t&#250; quieres o te cambia un test para conseguir su objetivo.</p></li><li><p>Para que use las buenas pr&#225;cticas, me ha funcionado muy bien el uso de AGENTS.md. Puedes <a href="/__u/ainativebrujula.substack.com/p/buenas-practicas-para-crear-agentsmd">leer m&#225;s sobre AGENTS.md aqu&#237;</a>.</p></li></ul><p>Espero que te sea de utilidad el aprendizaje de la vida real de hoy.</p><p><strong>Me encantar&#237;a saber si has ya intentado algo similar</strong> y si has encontrado limitaciones al programar de la mano de agentes de IA. <strong>Responde a este email o deja un comentario</strong>.</p><p><strong>Si conoces a alguien</strong> a quien le pueda interesar este tema, reenv&#237;ale este email o dale al bot&#243;n de compartir &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0&quot;,&quot;text&quot;:&quot;&#128154; WhatsApp&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0"><span>&#128154; WhatsApp</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#128153; LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/"><span>&#128153; LinkedIn</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#129653; BlueSky&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/"><span>&#129653; BlueSky</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!&quot;,&quot;text&quot;:&quot;&#129505; Telegram&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!"><span>&#129505; Telegram</span></a></p>]]></content:encoded></item><item><title><![CDATA[Spec-Driven Development: ¿Es una buena idea?]]></title><description><![CDATA[Tratando de resolver la ambig&#252;edad en el desarrollo de software]]></description><link>https://ainativebrujula.substack.com/p/spec-driven-development-es-una-buena</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/spec-driven-development-es-una-buena</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 01 Dec 2025 07:16:35 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/830db05a-0140-4f08-8da0-8cb6ec9cccf4_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Estoy seguro de que lo has le&#237;do en los &#250;ltimos meses: Spec Driven Development.</p><blockquote><p>&#161;La nueva frontera! Desde los Specs de tu Product Manager al c&#243;digo implementado por un agente de IA.</p></blockquote><p>Esa es la idea.</p><p>Pero te planteo una pregunta: &#191;Nos devuelve Specs Driven Development a los tiempos del desarrollo en waterfall?</p><p>Primero, empecemos por <strong>el aprendizaje de hoy</strong>.</p><h2>&#128220; &#191;Qu&#233; es Spec Driven Development?</h2><p><strong>Spec-Driven Development</strong> (SDD) consiste en escribir especificaciones expl&#237;citas, ejecutables o f&#225;cilmente verificables, <strong>antes</strong> de escribir el c&#243;digo, y usar esas especificaciones como la fuente de verdad para que herramientas (incluidas IA/LLMs) generen, prueben y validen el software.</p><p>En la pr&#225;ctica, GitHub propone tratar <strong>Markdown como un &#8220;lenguaje de programaci&#243;n&#8221; para especificaciones</strong>: usar secciones, ejemplos, y bloques que describan comportamiento, API, datos y pruebas.</p><p><strong>&#191;Por qu&#233; est&#225; ganando tracci&#243;n?</strong></p><p>Con el auge de los asistentes de c&#243;digo, <strong>saber describir con precisi&#243;n lo que quieres se convierte en algo muy &#250;til</strong>. La habilidad de redactar especificaciones claras, con ejemplos, criterios de aceptaci&#243;n y casos de prueba, es cada vez m&#225;s valiosa; permite obtener c&#243;digo m&#225;s fiable y reproducible de herramientas autom&#225;ticas.</p><p><strong>Si te lo resumiera en 3 pasos, ser&#237;an:</strong></p><ol><li><p><strong>Escribe la spec</strong> en Markdown: objetivo, contratos (endpoints, payloads), ejemplos de entrada/salida y criterios de aceptaci&#243;n.</p></li><li><p><strong>Genera y prueba</strong>: usa la spec para generar c&#243;digo con un agente de IA o herramientas de scaffolding; valida contra los ejemplos y los tests incluidos.</p></li><li><p><strong>Itera y versiona</strong>: la spec evoluciona y act&#250;a como documentaci&#243;n viva y como suite de pruebas.</p></li></ol><p>Si sabes escribir buenas especificaciones, tienes la oportunidad de sacarle mucho m&#225;s partido a herramientas autom&#225;ticas y a equipos que trabajan a escala. Como un prompt gigantesco vamos.</p><p>Y eso es, sobre el papel, Spec-Driven Development. <strong>Hasta aqu&#237; el aprendizaje de hoy</strong>.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:407220}" data-component-name="PollToDOM"></div><p>Ahora, la reflexi&#243;n con la que arranqu&#233; el email.</p><h2>&#127966;&#65039; &#191;Volvemos a Waterfall?</h2><p><strong>SDD no est&#225; destinado necesariamente a devolvernos al waterfall</strong>, pero <strong>s&#237; puede</strong> hacerlo si se aplica mal.</p><p><strong>&#191;Especificaciones muy amplias? No, gracias.</strong></p><p>SDD incentiva a escribir especificaciones muy completas antes de implementar. Si la organizaci&#243;n exige specs &#8220;completas&#8221;, eso reproduce el comportamiento t&#237;pico del waterfall: largos an&#225;lisis antes de cualquier entrega concreta.</p><blockquote><p>&#191;Te imaginas tener que hacer un code review de una feature completa implementada por un Agente de IA? Para una POC, tal vez, pero, &#191;para c&#243;digo que va a Producci&#243;n? &#128561;</p></blockquote><p>&#161;Pero no hace falta que lo hagamos! Podemos elegir; podemos elegir proveer de especificaciones m&#225;s peque&#241;as para que el Agente de IA las procese y desarrolle partes m&#225;s concretas, m&#225;s controladas.</p><p><strong>&#191;Qu&#233; recomiendo si en tu caso tienes especificaciones grandes?</strong></p><ul><li><p>Trocea esas especificaciones en peque&#241;os entregables</p></li><li><p>Y trabaja cada peque&#241;o entregable con el Agente de IA</p></li></ul><p>As&#237; conseguir&#225;s resultados m&#225;s efectivos, ya que el Agente de IA trabaja mejor con contextos m&#225;s concretos.</p><p>Cuando las specs son ejecutables, como por ejemplo:</p><ul><li><p>Tests automatizados.</p></li><li><p>Contratos que se pueden validar.</p></li><li><p>Implementar una lectura de datos desde Kafka.</p></li></ul><p>En esos casos, act&#250;an como <em>feedback r&#225;pido</em>. Eso encaja con ciclos iterativos y entrega continua, no con entregas gigantescas.</p><h2>&#10024; Conclusi&#243;n</h2><p>Lo que quiero que te lleves del email de hoy es qu&#233; es <strong>Spec-Driven Development:</strong></p><blockquote><p>Una t&#233;cnica para que los Agentes de IA desarrollen software a partir de unas especificaciones iniciales.</p></blockquote><p>A partir de ah&#237;, he querido abrir un debate en tu cabeza para que puedas esta t&#233;cnica de una manera que te sea &#250;til.</p><p>Alguien dijo una vez (o muchas):</p><blockquote><p>Un gran poder conlleva una gran responsabilidad.</p></blockquote><p><strong>Spec-Driven Development</strong> se plantea como un intento para que los Agentes de IA se encarguen de todo, y en tu mano est&#225; concretar qu&#233; es ese &#8220;todo&#8221;.</p><p>Personalmente, pienso que si se acota y trocean las especificaciones, es decir, se reduce el <em>scope</em> para conseguir entregables peque&#241;os de forma iterativa, es una t&#233;cnica que nos puede ayudar en nuestras interacciones con los Agentes de IA.</p><p><strong>Me encantar&#237;a conocer tu experiencia con Spec-Driven Development</strong>; ya sea que est&#233;s empezando con ello o que ya te hayas rodado con esta t&#233;cnica. Puedes responder a este email, comentar si est&#225;s en Substack, o mandarme un mensaje por redes sociales &#128071;&#127995;</p><ul><li><p><a href="https://www.linkedin.com/in/marcosflobo">LinkedIn</a></p></li><li><p><a href="https://bsky.app/profile/marcosflobo.bsky.social">BlueSky</a></p></li><li><p><a href="https://hachyderm.io/@marcosflobo">Mastodon</a></p></li></ul><p>&#191;Te ha gustado la edici&#243;n de hoy? Comp&#225;rtela con tus amistades &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0&quot;,&quot;text&quot;:&quot;&#128154; WhatsApp&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0"><span>&#128154; WhatsApp</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#128153; LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/"><span>&#128153; LinkedIn</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#129653; BlueSky&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/"><span>&#129653; BlueSky</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!&quot;,&quot;text&quot;:&quot;&#129505; Telegram&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!"><span>&#129505; Telegram</span></a></p>]]></content:encoded></item><item><title><![CDATA[De Caos a Catálogo: Evaluación de Prompts]]></title><description><![CDATA[C&#243;mo pasar de &#8220;pruebo y rezo&#8221; a decisiones reproducibles sobre qu&#233; prompt usar, por modelo y por dominio.]]></description><link>https://ainativebrujula.substack.com/p/de-caos-a-catalogo-evaluacion-de</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/de-caos-a-catalogo-evaluacion-de</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 10 Nov 2025 18:13:32 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8a982d92-3c07-4bd9-a510-c33aae6aac99_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Echas casi 10 minutos en crear un <em>prompt perfecto</em> para que un agente de IA te haga el procesamiento de unos datos o te escriba un email para el CTO. Lo ejecutas y&#8230; <em>meah</em>, no es lo que esperabas; es m&#225;s, no est&#225; bien. Tu compa&#241;era te dice por Slack:</p><blockquote><p>Mira, usa este prompt que hice yo, que a m&#237; me funcion&#243; genial.</p></blockquote><p>Y, efectivamente, ese prompt consigui&#243; que el agente de IA hiciera el trabajo a las mil maravillas. Tal vez fue suerte, el milagro de <em>San GPT</em>, o qui&#233;n sabe, pero te funcion&#243; y te lo guardas para el futuro.</p><p><strong>&#191;Te ha ocurrido?</strong></p><p>En efecto, no eres la &#250;nica persona a la que le pasa.</p><p>La gente comparte y usa prompts sobre nuestras bases de datos sin saber si esos prompts son adecuados para nuestros datos. El resultado es variado:</p><ul><li><p>Respuestas inconsistentes entre equipos.</p></li><li><p>Informaci&#243;n incorrecta o incompleta que se filtra a decisiones operativas.</p></li><li><p>Mucho tiempo gastado afinando prompts a base de prueba y error.</p></li><li><p>Despilfarro de tokens y riesgo reputacional.</p></li></ul><p>En pocas palabras: <strong>sin una evaluaci&#243;n reproducible, cada equipo reinventar&#225; la rueda y pagar&#225; por ello</strong>.</p><p>Este es un problema que ha escalado recientemente en mi <em>ranking de preocupaciones</em>, y por ello <strong>me he puesto a investigar para solucionar este problema</strong>.</p><p>Como suele pasar, cuando el problema es claro, la soluci&#243;n empieza a tomar forma.</p><p>&#191;Y si hubiera<em> algo</em> que permitiera a una organizaci&#243;n saber cu&#225;l es el prompt ideal para una determinada tarea?</p><h2>Evaluaci&#243;n de Prompts</h2><p>Lo primero que se me ocurri&#243;: <strong>Montamos un sistema </strong><em><strong>ad hoc</strong></em><strong> de evaluaci&#243;n automatizada de prompts</strong> que haga lo siguiente:</p><ul><li><p>Ejecutar variantes de un mismo prompt contra varios modelos.</p></li><li><p>Medir m&#233;tricas objetivas: precisi&#243;n, completitud, tasa de alucinaciones, coste en tokens, formato correcto.</p></li><li><p>Clasificar resultados por modelo y por dominio de datos (clientes, facturaci&#243;n, logs, etc.).</p></li><li><p>Entregar un ranking claro: qu&#233; prompt funciona mejor con qu&#233; modelo y para qu&#233; tipo de dato.</p></li></ul><p><strong>Con esto, un desarrollador puede escoger la combinaci&#243;n &#243;ptima en lugar de adivinar.</strong> Adem&#225;s, la evaluaci&#243;n debe integrarse en CI para detectar regresiones cuando cambiamos prompt o modelo.</p><p><strong>&#9757;&#127996; Pero, &#161;ojo!</strong>, &#191;realmente es necesario que montemos un equipo de desarrolladores que dediquen, <em>ni-se-sabe</em> cu&#225;nto tiempo, a desarrollar un sistema <em>ad hoc</em> como este?.</p><p><strong>Mi recomendaci&#243;n es que no; evita implementar un sistema de evaluaci&#243;n de prompts por tu cuenta</strong>. S&#243;lo veo dos escenarios pr&#225;cticos donde una soluci&#243;n <em>ad hoc</em> puede tener sentido:</p><ul><li><p>Equipos peque&#241;os o experimentales: Puedes evaluar manualmente, y listo. Una Excel (s&#237;, lo s&#233;, una Excel, pero te hace el trabajo) donde pongas el prompt, para qu&#233; te sirvi&#243; bien, y que la gente vaya poniendo puntaciones o comentarios.</p></li><li><p>Si la empresa necesita trazabilidad, gobernanza y evidencias ante auditor&#237;a: la inversi&#243;n en un framework de evaluaci&#243;n puede tener sentido... a no ser que ya haya una PaaS que te lo d&#233;.</p></li></ul><p>&#128073;&#127996; Dicho lo cual, <strong>mi recomendaci&#243;n es que utilices un sistema ya existente</strong>, idealmente como servicio gestionado, creado por una empresa cuyo negocio sea darte ese servicio de evaluaci&#243;n de prompts.</p><p><strong>Empieza con una POC que use herramientas existentes</strong> y, si las necesidades de integraci&#243;n, seguridad o escala lo requieren, evolucionar hacia una soluci&#243;n ad hoc que se integre con CI/CD, cat&#225;logo interno y procesos de PR.</p><p>Antes de reinventar la rueda, vale la pena mirar qu&#233; opciones ya existen.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:401540}" data-component-name="PollToDOM"></div><h2>Herramientas existentes en el mercado</h2><p>Algunas opciones que ya ofrecen capacidades de evaluaci&#243;n, gesti&#243;n y observabilidad de prompts:</p><ul><li><p><strong>Amazon Bedrock Prompt Management</strong> y <strong>Prompt Flows</strong>, (c&#243;mo no) AWS ha montado un sistema interno de evaluaci&#243;n autom&#225;tica de prompts a escala, basado en el paradigma &#8220;LLM-as&#8209;a&#8209;judge&#8221;. Este flujo permite definir criterios de evaluaci&#243;n (claridad, completitud, formato, etc.) y ejecutarlos de forma sistem&#225;tica contra cada variante de prompt antes de pasar a producci&#243;n</p></li><li><p><strong>Promptfoo</strong>, un framework para testear y evaluar prompts con viewer y CI integration.</p></li><li><p><strong>LangSmith</strong>, foco en trazabilidad, pruebas y gesti&#243;n de prompts dentro del ecosistema LangChain.</p></li><li><p><strong>PromptLayer</strong>, registry y gesti&#243;n de prompts con versi&#243;n y colaboraci&#243;n.</p></li><li><p><strong>OpenAI Evals</strong>, framework para evaluar autom&#225;ticamente prompts y asistentes mediante tests programables. Me consta que algunas empresas han extendido este framework para una soluci&#243;n ad hoc.</p></li></ul><p>A partir de aqu&#237;, lo que tienes que hacer es conocer las opciones y elegir la que m&#225;s encaje con tus requisitos de integraci&#243;n, privacidad y coste.</p><p><strong>Personalmente</strong>, y por los criterios que te acabo de indicar, le tengo echado el ojo a Amazon Bedrock Prompt Management. Ya os contar&#233; c&#243;mo sale la cosa.</p><p>Una vez elegida la herramienta, lo importante es empezar con algo peque&#241;o y medible.</p><h2>Siguientes pasos</h2><p>A mi se me ocurri&#243; lo siguiente, y te lo comparto:</p><ol><li><p>Definir objetivos de la POC: m&#233;tricas clave y 2 dominios de datos prioritarios.</p></li><li><p>Elegir 5&#8211;10 prompts representativos y 2 modelos para comparar.</p></li><li><p>Montar la POC con una herramienta existente (en mi caso, la soluci&#243;n de AWS) y ejecutar evaluaciones.</p></li><li><p>Revisar resultados con <em>equipos amigos</em> y decidir si extendemos la soluci&#243;n o desarrollamos una versi&#243;n ad hoc integrada al cat&#225;logo de prompts interno.</p></li></ol><p>Espero que todo esto te pueda servir de ayuda.</p><p><strong>Guarda este email</strong>, porque si est&#225;s usando agentes de IA, tarde o temprano esta informaci&#243;n te va a venir bien.</p><p>&#191;Te ha gustado la edici&#243;n de hoy? Comp&#225;rtela con tus amistades &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0&quot;,&quot;text&quot;:&quot;&#128154; WhatsApp&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0"><span>&#128154; WhatsApp</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#128153; LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/"><span>&#128153; LinkedIn</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#129653; BlueSky&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/"><span>&#129653; BlueSky</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!&quot;,&quot;text&quot;:&quot;&#129505; Telegram&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!"><span>&#129505; Telegram</span></a></p>]]></content:encoded></item><item><title><![CDATA[Buenas practicas para crear AGENTS.md]]></title><description><![CDATA[Y una plantilla para que te hagas tus propios AGENTS.md]]></description><link>https://ainativebrujula.substack.com/p/buenas-practicas-para-crear-agentsmd</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/buenas-practicas-para-crear-agentsmd</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 20 Oct 2025 18:18:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BkhT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recientemente, he echado a andar un proyecto para el grupo de ingenier&#237;a al que pertenezco y me gustar&#237;a compartirlo con todas las personas suscritas a esta newsletter. <strong>Esto es un caso real</strong>.</p><p>&#191;Mi objetivo?</p><p>Mejorar la interacci&#243;n con los agentes de IA para asistencia de c&#243;digo cuando trabajamos con ellos, y que generen el c&#243;digo en base a nuestras necesidades.</p><p><strong>Teniendo archivos de tipo AGENTS.md para los agentes de IA</strong> te ahorrar&#225;s <em>idas y venidas</em> interactuando con tu asistente de c&#243;digo a la hora de implementar software.</p><p><em>Idas y venidas</em> significan tiempo, y ahorrar tiempo significa que <strong>te ahorrar&#225;s tokens, ergo, te ahorrar&#225;s dinero</strong>.</p><p>En el email de hoy <strong>os explicar&#233; qu&#233; son los AGENTS.md</strong>, ya que es una soluci&#243;n relativamente joven, <strong>la estructura que deben tener</strong> y las <strong>buenas pr&#225;cticas para crear archivos AGENTS.md</strong>.</p><p>&#127873; Pero antes de ir al <em>turr&#243;n</em>, <strong>tengo un regalo para ti</strong>.</p><p>Si est&#225;s suscrito a esta newsletter antes del &#10024;27 de octubre&#10024;, <strong>recibir&#225;s, gratis, un prompt perfectamente depurado para que tu agente de IA favorito te genere esos archivos AGENTS.md directamente</strong>. Y en espa&#241;ol. Suscribete ahora &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ainativebrujula.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ainativebrujula.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p>&#161;El 27 de octubre mando el email con el prompt, no te lo pierdas!</p><p><strong>Si conoces a alguien</strong> que le pueda interesar el tema de AGENTS.md y el prompt, reenv&#237;ale este email o dale al bot&#243;n de compartir &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0&quot;,&quot;text&quot;:&quot;&#128154; WhatsApp&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0"><span>&#128154; WhatsApp</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#128153; LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/"><span>&#128153; LinkedIn</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#129653; BlueSky&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/"><span>&#129653; BlueSky</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!&quot;,&quot;text&quot;:&quot;&#129505; Telegram&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!"><span>&#129505; Telegram</span></a></p><p>Ahora s&#237;, vamos al <em>turr&#243;n</em>.</p><h1>&#128161; &#191;Qu&#233; es y para qu&#233; sirve un archivo AGENTS.md?</h1><p>En una frase: <strong>Es el README.md para agentes de IA</strong>.</p><p>AGENTS.md es un archivo Markdown para a agentes de IA para el c&#243;digo. Su prop&#243;sito es ofrecer contexto e instrucciones precisas que ayuden a herramientas de inteligencia artificial a entender y trabajar con el c&#243;digo de tus proyectos.</p><p>A diferencia del README tradicional (orientado a los desarrolladores o usuarios), AGENTS.md contiene informaci&#243;n detallada de compilaci&#243;n, pruebas, estilo y convenciones de c&#243;digo que son clave para que los agentes de IA sigan correctamente tus instrucciones.</p><p>GitHub Copilot, Cursor, Windsurf, Claude Code se apoyar&#225;n en este archivo a la hora de darte soluciones a las solicitudes que les hagas, de tal forma que se adapten a las necesidades concretas del proyecto.</p><p>Solo tienes que crear un archivo llamado AGENTS.md en el directorio ra&#237;z del proyecto en el que est&#225;s trabajando, y el agente de IA lo encontrar&#225;.</p><p>Ahora que sabemos lo que son y para qu&#233; sirven los archivos AGENTS.md, te voy a mostrar la estructura que me est&#225; funcionando bien a d&#237;a de hoy.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:387379}" data-component-name="PollToDOM"></div><h1>&#127963;&#65039; Estructura de archivo AGENTS.md</h1><p>Un archivo AGENTS.md <strong>se estructura en diferentes secciones de Markdown.</strong> Cada secci&#243;n de AGENTS.md debe documentar lo esencial que el agente necesita saber. Para m&#237;, esto es:</p><p><strong>Visi&#243;n general</strong></p><p>Descripci&#243;n breve del proyecto y su prop&#243;sito general. Rol de los agentes de IA en &#233;l. Contexto arquitect&#243;nico general.</p><p><strong>Configuraci&#243;n / Build &amp; Test</strong></p><p>Comandos exactos para instalar dependencias, compilar y ejecutar pruebas. Por ejemplo: <em>npm install, npm test</em>, etc. Tambi&#233;n, aprovecho para indicar los frameworks y tecnolog&#237;as que utiliza el proyecto.</p><p><strong>Estilo de c&#243;digo / Convenciones</strong></p><p>Reglas de formato, patrones de dise&#241;o y linters. Indicar lenguaje(s) (por ejemplo <em>TypeScript estricto</em>), comillas, longitudes de l&#237;nea, etc. (por ejemplo &#8220;usar comillas simples, no punto y coma, tabuladores en lugar de espacios en blanco&#8221; &#128561;). Aqu&#237; aprovecho para explicar los patrones de ingenier&#237;a que quiero que se usen, como Arquitectura Hexagonal, DDD, etc.</p><p><strong>Testing</strong></p><p>Detalles de las pruebas autom&#225;ticas: c&#243;mo ejecutarlas, frameworks usados, cobertura m&#237;nima. Comandos precisos de test (en bloques de c&#243;digo) para que el agente los <em>copie</em>.</p><p><strong>Flujo de trabajo (Git/PR)</strong></p><p>Estrategia de ramas (git), convenciones de mensajes de commit, requisitos para pull requests (p. ej. &#8220;todos los Pull Request deben seguir conventional commit y usar el Jira ID, por ejemplo feat(IT-6969): Short and meaningful description of the change&#8221;).</p><p><strong>Seguridad</strong></p><p>Variables de entorno sensibles, claves API, l&#237;mites de acceso y consideraciones de seguridad. Incluir enlaces a documentaci&#243;n de credenciales.</p><p>Dale un intento y cu&#233;ntame c&#243;mo te ha ido &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;mailto:hola@ainative.es?subject=As%C3%AD%20me%20ha%20ido%20con%20AGENTS.md&amp;body=Hola%20Marcos%2C%0D%0A%0D%0AHe%20le%C3%ADdo%20tu%20email%20acerca%20de%20%22Buenas%20practicas%20para%20crear%20AGENTS.md%22%20y%20me%20gustar%C3%ADa%20contanter%20mi%20experiencia%20us%C3%A1ndolos.%0D%0A%0D%0A....%0D%0A%0D%0AUn%20saludo%2C&quot;,&quot;text&quot;:&quot;&#128229; &#161;Te cuento!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="mailto:hola@ainative.es?subject=As%C3%AD%20me%20ha%20ido%20con%20AGENTS.md&amp;body=Hola%20Marcos%2C%0D%0A%0D%0AHe%20le%C3%ADdo%20tu%20email%20acerca%20de%20%22Buenas%20practicas%20para%20crear%20AGENTS.md%22%20y%20me%20gustar%C3%ADa%20contanter%20mi%20experiencia%20us%C3%A1ndolos.%0D%0A%0D%0A....%0D%0A%0D%0AUn%20saludo%2C"><span>&#128229; &#161;Te cuento!</span></a></p><p>Para terminar, vamos con las buenas pr&#225;cticas.</p><h1>&#127919; Buenas pr&#225;cticas para archivos AGENTS.md</h1><p>En base a mi experiencia, <strong>te recomiendo 4 puntos a tener en cuenta a la hora de crear archivos AGENTS.md</strong> para agentes de IA.</p><p><strong>Brevedad y claridad</strong></p><ul><li><p>Mant&#233;n el <strong>archivo conciso</strong> (idealmente &#8818;150 l&#237;neas) para que el agente no se salga mucho del <em>ra&#237;l</em>.</p></li><li><p>Usa encabezados <strong>Markdown</strong> y listas con vi&#241;etas para organizar la informaci&#243;n.</p></li><li><p>Empieza cada secci&#243;n con un t&#237;tulo claro, usando bloques de c&#243;digo para los comandos.</p></li><li><p>Evita texto redundante o explicaciones excesivas; incluye solo lo que tu &#8220;yo del futuro&#8221; (o un agente) realmente necesite.</p></li></ul><p><strong>Comandos precisos</strong></p><ul><li><p>Escribe los comandos tal como se deben ejecutar.</p></li><li><p>Enci&#233;ralos en ` para que el agente pueda copiarlos directamente. Por ejemplo, en lugar de escribir &#8220;instala dependencias&#8221;, especifica `npm install` o similar.</p></li></ul><p><strong>Actualizaci&#243;n continua</strong></p><ul><li><p>Tienes que tratar el AGENTS.md como parte del c&#243;digo, esto es, cada vez que se cambie el proceso de compilaci&#243;n, pruebas o convenci&#243;n de c&#243;digo, o lo que sea, actualiza el archivo en el mismo pull request.</p></li><li><p>&#161;Ojo!, los revisores de las Pull Requests deben asegurar la calidad de este archivo tambi&#233;n.</p></li></ul><p><strong>Fuente de verdad &#250;nica</strong>:</p><ul><li><p>Evita duplicar informaci&#243;n disponible en otros documentos (README, wikis, etc.). En su lugar, mete enlaces a esos recursos. Esto mantiene AGENTS.md enfocado, en el <em>ra&#237;l</em>, y reduce el riesgo de inconsistencias.</p></li><li><p>Se recomienda dejar solo la informaci&#243;n cr&#237;tica para los agentes, refiriendo a documentos t&#233;cnicos o de proyecto existentes cuando sea necesario</p></li></ul><p><strong>Algo importante una vez tengas el AGENTS.md a disposici&#243;n del agente de IA</strong>.</p><p>Al solicitar tareas a un agente de IA, como por ejemplo &#8220;Escribe una funci&#243;n que haga X&#8221;, recuerda que:</p><ol><li><p>Entre m&#225;s precisa sea la informaci&#243;n en AGENTS.md sobre el contexto o convenciones del proyecto&#8230;</p></li><li><p>Mejor alineados estar&#225;n los resultados.</p></li></ol><p><strong>Cuando le escribas al agente de IA, hazlo pensando en las instrucciones que le has redactado en el archivo</strong>.</p><h1>&#127873; &#161;Que no se te olvide el regalo!</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!BkhT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!BkhT!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png 424w, /__u/substackcdn.com/image/fetch/$s_!BkhT!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png 848w, /__u/substackcdn.com/image/fetch/$s_!BkhT!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png 1272w, /__u/substackcdn.com/image/fetch/$s_!BkhT!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!BkhT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png" width="1456" height="842" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:842,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:334658,&quot;alt&quot;:&quot;Preview de prompt optimizado para auto-generaci&#243;n de AGENTS.md&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://ainativebrujula.substack.com/i/175633920?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Preview de prompt optimizado para auto-generaci&#243;n de AGENTS.md" title="Preview de prompt optimizado para auto-generaci&#243;n de AGENTS.md" srcset="/__u/substackcdn.com/image/fetch/$s_!BkhT!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png 424w, /__u/substackcdn.com/image/fetch/$s_!BkhT!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png 848w, /__u/substackcdn.com/image/fetch/$s_!BkhT!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png 1272w, /__u/substackcdn.com/image/fetch/$s_!BkhT!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31478173-ecab-49f3-a2aa-28ce7cf2b7e2_1768x1022.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Preview de prompt optimizado para auto-generaci&#243;n de AGENTS.md</figcaption></figure></div><p>Recuerda, si est&#225;s suscrito a esta newsletter antes del &#10024;27 de octubre&#10024;, <strong>recibir&#225;s, gratis, un prompt perfectamente depurado para que tu agente de IA favorito te genere esos archivos AGENTS.md</strong> <strong>directamente</strong>. Y en espa&#241;ol. Suscribete ahora &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ainativebrujula.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ainativebrujula.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p>&#161;El 27 de octubre mando el email, no te lo pierdas!</p><p><strong>Si conoces a alguien</strong> que le pueda interesar el tema de AGENTS.md y el prompt, reenv&#237;ale este email o dale al bot&#243;n de compartir &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0&quot;,&quot;text&quot;:&quot;&#128154; WhatsApp&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0"><span>&#128154; WhatsApp</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#128153; LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/"><span>&#128153; LinkedIn</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#129653; BlueSky&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/"><span>&#129653; BlueSky</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!&quot;,&quot;text&quot;:&quot;&#129505; Telegram&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!"><span>&#129505; Telegram</span></a></p><p>&#161;Nos vemos en la siguiente!</p>]]></content:encoded></item><item><title><![CDATA[Usemos la IA para lo que NO es nuestro trabajo]]></title><description><![CDATA[Disfrutemos de lo nuestro, para todo lo dem&#225;s, IA]]></description><link>https://ainativebrujula.substack.com/p/usemos-la-ia-para-lo-que-no-es-nuestro</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/usemos-la-ia-para-lo-que-no-es-nuestro</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 06 Oct 2025 06:30:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hU5F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Los desarrolladores de software invierten s&#243;lo un 16% de su tiempo a programar</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!hU5F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!hU5F!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png 424w, /__u/substackcdn.com/image/fetch/$s_!hU5F!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png 848w, /__u/substackcdn.com/image/fetch/$s_!hU5F!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hU5F!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!hU5F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png" width="1096" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:1096,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:62641,&quot;alt&quot;:&quot;&#191;C&#243;mo invierten los desarrolladores de software su tiempo??&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://ainativebrujula.substack.com/i/170805911?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="&#191;C&#243;mo invierten los desarrolladores de software su tiempo??" title="&#191;C&#243;mo invierten los desarrolladores de software su tiempo??" srcset="/__u/substackcdn.com/image/fetch/$s_!hU5F!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png 424w, /__u/substackcdn.com/image/fetch/$s_!hU5F!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png 848w, /__u/substackcdn.com/image/fetch/$s_!hU5F!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hU5F!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ae9cbd-5b79-4f31-a3c8-20cd75bd344a_1096x600.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">&#191;C&#243;mo invierten los desarrolladores de software su tiempo?</figcaption></figure></div><p>Es lo que destila el equipo de <strong>Atlassian en su &#8220;The State of Developer Experience in 2025&#8220;</strong>, a partir del informe de la encuesta de IDC.</p><p>&#191;C&#243;mo se te queda el cuerpo?, &#191;Encaja ese dato en la realidad de d&#237;a a d&#237;a como desarrollador de software?</p><div class="poll-embed" data-attrs="{&quot;id&quot;:360274}" data-component-name="PollToDOM"></div><p>Del informe de Atlassian, se leen otros datos muy interesantes, como por ejemplo <strong>las horas a la semana que los desarrolladores ahorramos en tareas manuales gracias a las herramientas de IA</strong>. El 46% ahorra entre 11 y 20 horas a la semana en tareas manuales&#8230; no est&#225; mal.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!_R-5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7e8565-2a0b-4f18-870d-246bd24530a5_1296x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!_R-5!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7e8565-2a0b-4f18-870d-246bd24530a5_1296x670.png 424w, /__u/substackcdn.com/image/fetch/$s_!_R-5!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7e8565-2a0b-4f18-870d-246bd24530a5_1296x670.png 848w, /__u/substackcdn.com/image/fetch/$s_!_R-5!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7e8565-2a0b-4f18-870d-246bd24530a5_1296x670.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_R-5!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7e8565-2a0b-4f18-870d-246bd24530a5_1296x670.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!_R-5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7e8565-2a0b-4f18-870d-246bd24530a5_1296x670.png" width="1296" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b7e8565-2a0b-4f18-870d-246bd24530a5_1296x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1296,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:100370,&quot;alt&quot;:&quot;horas a la semana que los desarrolladores ahorramos en tareas manuales gracias a las herramientas de Gen IA&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://ainativebrujula.substack.com/i/170805911?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7e8565-2a0b-4f18-870d-246bd24530a5_1296x670.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="horas a la semana que los desarrolladores ahorramos en tareas manuales gracias a las herramientas de Gen IA" title="horas a la semana que los desarrolladores ahorramos en tareas manuales gracias a las herramientas de Gen IA" srcset="/__u/substackcdn.com/image/fetch/$s_!_R-5!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7e8565-2a0b-4f18-870d-246bd24530a5_1296x670.png 424w, /__u/substackcdn.com/image/fetch/$s_!_R-5!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7e8565-2a0b-4f18-870d-246bd24530a5_1296x670.png 848w, /__u/substackcdn.com/image/fetch/$s_!_R-5!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7e8565-2a0b-4f18-870d-246bd24530a5_1296x670.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_R-5!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7e8565-2a0b-4f18-870d-246bd24530a5_1296x670.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>Horas a la semana que los desarrolladores ahorramos en tareas manuales gracias a las herramientas de GenIA</strong></figcaption></figure></div><p>El informe tambi&#233;n indica<strong> la lista de tareas, no relacionadas con escribir c&#243;digo, para las que los desarrolladores usamos IA (</strong>en orden<strong>)</strong>.</p><ol><li><p>Buscar y encontrar informaci&#243;n.</p></li><li><p>Testing.</p></li><li><p>Redactar y mejorar la documentaci&#243;n.</p></li><li><p>Automatizar los flujos de trabajo.</p></li><li><p>Chatear o interactuar con IA.</p></li></ol><p>Personalmente, no estoy de acuerdo con la n&#250;mero 2, testing, ya que pienso que los tests para c&#243;digo no deber&#237;a hacerlos la IA, sino nosotros los desarrolladores. No obstante, &#8221;testing&#8221; tambi&#233;n se puede referir a hacer scripts para hacer pruebas de concepto o peque&#241;as pruebas, para lo que en este caso estoy de acuerdo en usar IA.</p><p>Hasta aqu&#237; tenemos 2 puntos importantes:</p><ol><li><p>S&#243;lo dedicamos el 16% de nuestro tiempo a programar.</p></li><li><p>Y vemos que, de ese otro 84% de tiempo, podemos reducir un mont&#243;n de horas gracias a la IA.</p></li></ol><p>Si a eso le juntamos el hecho que, <strong>como desarrolladores de software, nos gusta programar</strong>, creo que podemos llegar a una interesante conclusi&#243;n que te puedes llevar en el d&#237;a de hoy para nuestro viaje a AI Native.</p><blockquote><p><strong>Usa la IA para todas las tareas que te quitan de hacer lo que te gusta: programar</strong></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!B53i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a1e7a5-2fbb-4a3f-ade9-2c735d6209cf_2345x1680.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!B53i!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a1e7a5-2fbb-4a3f-ade9-2c735d6209cf_2345x1680.png 424w, /__u/substackcdn.com/image/fetch/$s_!B53i!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a1e7a5-2fbb-4a3f-ade9-2c735d6209cf_2345x1680.png 848w, /__u/substackcdn.com/image/fetch/$s_!B53i!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a1e7a5-2fbb-4a3f-ade9-2c735d6209cf_2345x1680.png 1272w, /__u/substackcdn.com/image/fetch/$s_!B53i!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a1e7a5-2fbb-4a3f-ade9-2c735d6209cf_2345x1680.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!B53i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a1e7a5-2fbb-4a3f-ade9-2c735d6209cf_2345x1680.png" width="1456" height="1043" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9a1e7a5-2fbb-4a3f-ade9-2c735d6209cf_2345x1680.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1043,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134825,&quot;alt&quot;:&quot;Usa la IA para todas las tareas que te quitan de hacer lo que te gusta: programar&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://ainativebrujula.substack.com/i/170805911?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a1e7a5-2fbb-4a3f-ade9-2c735d6209cf_2345x1680.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Usa la IA para todas las tareas que te quitan de hacer lo que te gusta: programar" title="Usa la IA para todas las tareas que te quitan de hacer lo que te gusta: programar" srcset="/__u/substackcdn.com/image/fetch/$s_!B53i!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a1e7a5-2fbb-4a3f-ade9-2c735d6209cf_2345x1680.png 424w, /__u/substackcdn.com/image/fetch/$s_!B53i!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a1e7a5-2fbb-4a3f-ade9-2c735d6209cf_2345x1680.png 848w, /__u/substackcdn.com/image/fetch/$s_!B53i!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a1e7a5-2fbb-4a3f-ade9-2c735d6209cf_2345x1680.png 1272w, /__u/substackcdn.com/image/fetch/$s_!B53i!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9a1e7a5-2fbb-4a3f-ade9-2c735d6209cf_2345x1680.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Usa la IA para todas las tareas que te quitan de hacer lo que te gusta: programar</figcaption></figure></div><p>Seguro que la IA <em>disfruta</em> haciendo por nosotros:</p><ul><li><p>Documentaci&#243;n.</p></li><li><p>Tickets de Jira.</p></li><li><p>Meeting notes.</p></li><li><p>Emails para enviar a management.</p></li><li><p>(d&#237; la siguiente).</p></li></ul><p>Y as&#237; poder dedicar m&#225;s de ese 20% de nuestro tiempo a programar.</p><p>&#191;Te ha gustado la edici&#243;n de hoy? Comp&#225;rtela con tus amistades &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0&quot;,&quot;text&quot;:&quot;&#128154; WhatsApp&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0"><span>&#128154; WhatsApp</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#128153; LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/"><span>&#128153; LinkedIn</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#129653; BlueSky&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/"><span>&#129653; BlueSky</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!&quot;,&quot;text&quot;:&quot;&#129505; Telegram&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!"><span>&#129505; Telegram</span></a></p>]]></content:encoded></item><item><title><![CDATA[Flujo de Trabajo con TDD y Agentes de IA]]></title><description><![CDATA[No dejes que la IA te enga&#241;e]]></description><link>https://ainativebrujula.substack.com/p/flujo-de-trabajo-con-tdd-y-agentes</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/flujo-de-trabajo-con-tdd-y-agentes</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 15 Sep 2025 15:29:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KQ_4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Tengo que reconocer que <em><strong>flip&#233;</strong></em><strong> bastante</strong> la primera vez que vi como GitHub Copilot implement&#243; una topolog&#237;a de Kafka Streams en Java solamente con los comentarios puestos en la clase Java. Qued&#233; impresionado. Me dije:</p><blockquote><p>Ostras&#8230; &#161;la cantidad de tiempo que me va a ahorrar este <em>chisme</em> a la hora de programar sobre Kafka!</p></blockquote><p>Pero, como todo en la vida, vamos aprendiendo, y en cierto momento me dije:</p><blockquote><p>Pero si a m&#237; lo que me gusta es programar sobre Kafka&#8230; por qu&#233; voy a usar este agente para que me haga el trabajo que a mi me gusta hacer.</p></blockquote><p>Pero eso soy yo, &#191;en tu caso?</p><div class="poll-embed" data-attrs="{&quot;id&quot;:359750}" data-component-name="PollToDOM"></div><p><strong>Este es el aprendizaje que os traigo hoy,</strong> para seguir en nuestro viaje hacia AI Native:</p><ol><li><p>T&#250;, <strong>programa los tests de aceptaci&#243;n</strong>&#8230;</p></li><li><p><strong>P&#237;dele al agente de IA que haga la implementaci&#243;n</strong> que satisfaga tus tests&#8230;</p></li><li><p>Revisa el <strong>c&#243;digo generado por el agente</strong>, e itera.</p></li></ol><p>&#191;Te gusta la edici&#243;n de hoy? Comp&#225;rtela con tus amistades &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0&quot;,&quot;text&quot;:&quot;&#128154; WhatsApp&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0"><span>&#128154; WhatsApp</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#128153; LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/"><span>&#128153; LinkedIn</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#129653; BlueSky&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/"><span>&#129653; BlueSky</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!&quot;,&quot;text&quot;:&quot;&#129505; Telegram&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!"><span>&#129505; Telegram</span></a></p><p>S&#237;, lo s&#233;. Hay mucha gente que le gusta programar pero no le gusta programar los tests. No s&#233; si voy a poder convencer a esas personas, pero lo que s&#237; puedo decir por experiencia es que: <strong>Empezar por los tests, mejora la calidad de tu software</strong>.</p><p>Y cuando empezamos a programar desde los tests, <strong>estamos hablando de Test Driven Development</strong> (de ahora en adelante TDD), cuyos beneficios os cuento un poco m&#225;s abajo.</p><p>Por mi experiencia, usando agentes como Claude Sonnet 4 puedes conseguir tener el 75% del c&#243;digo que puede considerarse <em>mergeable</em> en Git, lo cual dir&#237;a que est&#225; muy bien. <strong>Pero, en el porcentaje restante est&#225; la diferencia</strong>.</p><p>No conf&#237;es en la IA, ya que escribir&#225; c&#243;digo &#8220;lo mejor que pueda&#8221; en base a lo que haya asimilado de tus instrucciones: <strong>Siempre revisa el c&#243;digo que te da la IA y ad&#225;ptalo seg&#250;n las necesidades</strong>. Sostengo mi afirmaci&#243;n, no solo por propia experiencia, sino por la de los dem&#225;s, como puedes ver esta gr&#225;fica estra&#237;da del State Of Devops 2024. Y cito:</p><blockquote><p>Las percepciones de los participantes sobre la fiabilidad del c&#243;digo generado por IA utilizado en el desarrollo fueron complejas.Si bien la gran mayor&#237;a de los encuestados (87,9 %) declar&#243; cierto nivel de confianza en la calidad del c&#243;digo generado por IA, el grado de confianza en la calidad del c&#243;digo generado por IA fue generalmente bajo: el 39,2 % declar&#243; poca (27,3 %) o ninguna (11,9 %).</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!mCbX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1dc7b7a-bf71-41fa-88d9-1bef4c249eca_2154x1202.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!mCbX!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1dc7b7a-bf71-41fa-88d9-1bef4c249eca_2154x1202.png 424w, /__u/substackcdn.com/image/fetch/$s_!mCbX!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1dc7b7a-bf71-41fa-88d9-1bef4c249eca_2154x1202.png 848w, /__u/substackcdn.com/image/fetch/$s_!mCbX!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1dc7b7a-bf71-41fa-88d9-1bef4c249eca_2154x1202.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mCbX!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1dc7b7a-bf71-41fa-88d9-1bef4c249eca_2154x1202.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!mCbX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1dc7b7a-bf71-41fa-88d9-1bef4c249eca_2154x1202.png" width="1456" height="812" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1dc7b7a-bf71-41fa-88d9-1bef4c249eca_2154x1202.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:151826,&quot;alt&quot;:&quot;Trust in quality of AI-generated code&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://ainativebrujula.substack.com/i/170805887?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1dc7b7a-bf71-41fa-88d9-1bef4c249eca_2154x1202.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Trust in quality of AI-generated code" title="Trust in quality of AI-generated code" srcset="/__u/substackcdn.com/image/fetch/$s_!mCbX!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1dc7b7a-bf71-41fa-88d9-1bef4c249eca_2154x1202.png 424w, /__u/substackcdn.com/image/fetch/$s_!mCbX!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1dc7b7a-bf71-41fa-88d9-1bef4c249eca_2154x1202.png 848w, /__u/substackcdn.com/image/fetch/$s_!mCbX!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1dc7b7a-bf71-41fa-88d9-1bef4c249eca_2154x1202.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mCbX!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1dc7b7a-bf71-41fa-88d9-1bef4c249eca_2154x1202.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Trust in quality of AI-generated code</figcaption></figure></div><p>Pero algunas personas os pod&#233;is estar preguntando:</p><blockquote><p>Marcos, &#191;Pero por qu&#233; empezar por los tests cuando puedo trabajar con la IA hasta que me d&#233; tanto el c&#243;digo como los tests?</p></blockquote><p>Pues en esto, tengo 2 razones muy claras:</p><p>1. <strong>Nosotros, como desarrolladores del software, somos los due&#241;os del &#8220;qu&#233; debe hacer&#8221;</strong>. Hemos conseguido <em>descifrar</em> las especificaciones que nos ha dado el equipo de Producto y sabemos exactamente lo que nuestra aplicaci&#243;n debe hacer. </p><p>La forma de implementar el c&#243;digo para solucionar un problema puede ser distinta; cada uno de nosotros puede entender unas cosas u otras a partir de las especificaciones&#8230; y la IA no va a ser menos.</p><p><strong>T&#250; eres el responsable</strong> de c&#243;mo la aplicaci&#243;n o la funcionalidad debe responder, por lo tanto <strong>t&#250; tienes que escribir los tests de aceptaci&#243;n</strong> necesarios para asegurarte de ello. Con esto, le estas poniendo <strong>los </strong><em><strong>railes</strong></em><strong> para que la IA implemente el c&#243;digo</strong> adecuado cuando se lo pidas.</p><p>2. <strong>Usar TDD tiene muchos beneficios para nuestros software</strong>, nos guste o no. No es mi objetivo citar todos los beneficios de TDD aqu&#237;, pero puedo enumerar algunas a partir de diversas publicaciones de Dave Farley sobre el tema:</p><ul><li><p>Menos bugs.</p></li><li><p>C&#243;digo flexible.</p></li><li><p>Mejor dise&#241;o.</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://ainativebrujula.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#191;Has recibido este email a trav&#233;s de alguien y quieres leer m&#225;s? Suscr&#237;bete ahora de forma gratuita.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Recuerda el flujo:</p><ol><li><p>T&#250;, <strong>programa los tests de aceptaci&#243;n</strong>&#8230;</p></li><li><p><strong>P&#237;dele al agente de IA que haga la implementaci&#243;n</strong> que satisfaga tus tests&#8230;</p></li><li><p>Revisa el <strong>c&#243;digo generado por el agente</strong>, e itera.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!KQ_4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!KQ_4!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png 424w, /__u/substackcdn.com/image/fetch/$s_!KQ_4!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png 848w, /__u/substackcdn.com/image/fetch/$s_!KQ_4!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png 1272w, /__u/substackcdn.com/image/fetch/$s_!KQ_4!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_webp, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!KQ_4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png" width="999" height="1275" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1275,&quot;width&quot;:999,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:179828,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://ainativebrujula.substack.com/i/170805887?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!KQ_4!, /__u/ainativebrujula.substack.com/w_424, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png 424w, /__u/substackcdn.com/image/fetch/$s_!KQ_4!, /__u/ainativebrujula.substack.com/w_848, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png 848w, /__u/substackcdn.com/image/fetch/$s_!KQ_4!, /__u/ainativebrujula.substack.com/w_1272, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png 1272w, /__u/substackcdn.com/image/fetch/$s_!KQ_4!, /__u/ainativebrujula.substack.com/w_1456, /__u/ainativebrujula.substack.com/c_limit, /__u/ainativebrujula.substack.com/f_auto, /__u/ainativebrujula.substack.com/q_auto:good, /__u/ainativebrujula.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3c6601-f789-4437-8f35-3bcac25a34ab_999x1275.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Flujo de trabajo con TDD y agentes de IA</figcaption></figure></div><p>&#191;Qu&#233; opinas de este flujo?, &#191;me cuentas qu&#233; tal te ha ido? Si te animas a contarme c&#243;mo te fue la experiencia, m&#225;ndame un email a <strong>hola@ainative.es o pulsando en este enlace &#128071;&#127995;</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;mailto:hola@ainative.es?subject=Mi%20experiencia%20con%20el%20flujo%20de%20trabajo%20con%20TDD%20y%20agentes%20de%20IA&amp;body=Hola%20Marcos%2C%0D%0A%0D%0AHe%20probado%20el%20flujo%20de%20trabajo%20con%20TDD%20y%20agentes%20de%20IA%20que%20sugeriste%2C%20y%20mi%20experiencia%20ha%20sido...%0D%0A%0D%0ASaludos!&quot;,&quot;text&quot;:&quot;&#128229; &#161;Te cuento!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="mailto:hola@ainative.es?subject=Mi%20experiencia%20con%20el%20flujo%20de%20trabajo%20con%20TDD%20y%20agentes%20de%20IA&amp;body=Hola%20Marcos%2C%0D%0A%0D%0AHe%20probado%20el%20flujo%20de%20trabajo%20con%20TDD%20y%20agentes%20de%20IA%20que%20sugeriste%2C%20y%20mi%20experiencia%20ha%20sido...%0D%0A%0D%0ASaludos!"><span>&#128229; &#161;Te cuento!</span></a></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[¿Qué significa ser AI Native?]]></title><description><![CDATA[Empezamos por el principio]]></description><link>https://ainativebrujula.substack.com/p/que-significa-ser-ai-native</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/que-significa-ser-ai-native</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 01 Sep 2025 06:30:34 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d3bf8955-1582-4668-8ad6-8cbf24611a6f_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Cuando hablamos de que una empresa tiene que ser <strong><a href="/__u/ainativebrujula.substack.com/t/ai-native">AI Native</a></strong>, y consultando con gente de varias empresas sobre este aspecto, una de las respuestas m&#225;s habituales fue:</p><blockquote><p>&#191;C&#250;anto de nuestro c&#243;digo est&#225; hecho con IA?</p></blockquote><p>Puede que incluso tu CEO te haya hecho esa pregunta. En mi opini&#243;n, no es la pregunta a resolver, por lo menos al inicio.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:347435}" data-component-name="PollToDOM"></div><p>Mientras esa pregunta se centra en m&#233;tricas de uso, nuestra verdadera preocupaci&#243;n deber&#237;a ser redefinir procesos y cultura interna.</p><p>Yo pregunto:</p><blockquote><p><strong>&#191;A qu&#233; nos referimos concretamente con AI Native?</strong></p></blockquote><p>Esta fue la primera pregunta que me vino a la cabeza cuando escuch&#233; por primera vez que una empresa de tecnolog&#237;a deb&#237;a conseguir dicho objetivo en los pr&#243;ximos a&#241;os.</p><p><strong>&#9757;&#127996; Y esto es lo que quiero tratar de definir en esta primera edici&#243;n de la newsletter</strong>.</p><p>La primera respuesta fue:</p><blockquote><p><strong>Creo que deber&#237;amos definir una estrategia para convertirnos en una empresa nativa de IA, como hicimos hace unos a&#241;os para convertirnos en una empresa Cloud Native.</strong></p></blockquote><p>&#191;Te gusta la edici&#243;n de hoy? Comp&#225;rtela con tus amistades &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0&quot;,&quot;text&quot;:&quot;&#128154; WhatsApp&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://api.whatsapp.com/send/?text=text=Oye%2C+%C2%BFquieres+aprender+en+modo+IA+Native%3F++%C2%A1%C3%9Anete%21+%F0%9F%91%87%F0%9F%8F%BB++https%3A%2F%2Fainativebrujula.substack.com%2F&amp;type=custom_url&amp;app_absent=0"><span>&#128154; WhatsApp</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#128153; LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A//ainativebrujula.substack.com/"><span>&#128153; LinkedIn</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/&quot;,&quot;text&quot;:&quot;&#129653; BlueSky&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://bsky.app/intent/compose?text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!%20%F0%9F%91%87%F0%9F%8F%BB%0A%0Ahttps%3A//ainativebrujula.substack.com/"><span>&#129653; BlueSky</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!&quot;,&quot;text&quot;:&quot;&#129505; Telegram&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://t.me/share/url?url=https%3A//ainativebrujula.substack.com/&amp;text=Oye,%20%C2%BFquieres%20aprender%20a%20integrarte%20al%20mundo%20de%20la%20IA%20nativa?%0A%0A%C2%A1%C3%9Anete!"><span>&#129505; Telegram</span></a></p><p>&#9757;&#127996; Creo que una transformaci&#243;n como esta no se trata solo de usar APIs de IA abiertas ni Cursor/Windsurf para programar. </p><p>&#128073;&#127996; <strong>Se trata de cambiar la forma en que trabajamos a nivel organizacional y poner al ser humano en el centro del proceso.</strong></p><p>Adem&#225;s, creo que este cambio no se limita solo a organizaciones de ingenier&#237;a, sino a todos los departamentos de una empresa o StartUp.</p><h2>&#9729;&#65039; &#8594; &#129302; De Cloud Native a AI Native</h2><p>Hace unos a&#241;os aprendimos a ser Cloud Native adoptando arquitecturas y pr&#225;cticas concretas. Varios de esos principios se pueden adaptar al mundo de la IA:</p><ol><li><p><strong>Infraestructura como c&#243;digo &#8594; Modelos como c&#243;digo</strong></p><ul><li><p>Versiona tus modelos con herramientas de MLflow o DVC.</p></li></ul></li><li><p><strong>Microservicios y API first &#8594; Servicios de inferencia API first</strong></p><ul><li><p>Dise&#241;a endpoints REST/GRPC para invocar modelos desde cualquier equipo.</p></li></ul></li><li><p><strong>Auto&#8209;escalado y resiliencia &#8594; Auto&#8209;escalado de endpoints de IA</strong></p><ul><li><p>Configura clusters de inferencia que crezcan bajo demanda.</p></li></ul></li></ol><p>Lo s&#233;, son 3 pasos que suenan <em>a mucho</em> y a&#250;n no sabemos como llegar a eso. Poco a poco. De momento, una analog&#237;a pr&#225;ctica:</p><blockquote><ul><li><p>Antes, guardabas tu Excel en un disco o USB drive.</p></li><li><p>Luego la migraste a la nube y tu Excel viv&#237;a en una carpeta compartida.</p></li><li><p>Ahora imagina ese mismo fichero &#8220;viviendo&#8221; en un servicio de IA.</p></li></ul></blockquote><h2>&#127977; Una plataforma de IA para toda la empresa</h2><p>No se trata solo de exponer APIs de IA a Ingenier&#237;a. </p><p>Se trata de <strong>convertir cada departamento</strong> en consumidor y prosumidor (bonito palabro) de IA. Algunos ejemplos que veo venir son:</p><ul><li><p>Ventas: <strong>prompts compartidos</strong> para escribir emails, calificar leads y hacer demos m&#225;s eficaces.</p></li><li><p>Producto: uso de Figma AI + Jira AI + Confluence AI para elaborar requisitos claros y exportarlos autom&#225;ticamente a tickets.</p></li><li><p>Legal / Finanzas / RR.&#8239;HH.: asistentes de IA que revisan contratos, analizan presupuestos y automatizan respuestas a FAQs internas.</p></li></ul><p><strong>&#9757;&#127996; Estamos empezando</strong>.</p><p>A&#250;n estamos lejos de lograrlo y tendremos que hacer algunos cambios antes incluso de comenzar la transici&#243;n a la IA Nativa (como hicimos durante la transici&#243;n a la Nube Nativa), como ser API first en todos los &#225;mbitos.</p><p>Pensando de esta forma, creo que tu empresa puede alcanzar algunos objetivos importantes a medida que transite a AI Native. Te los menciono y te aporto pruebas de que no es <em>humo</em>.</p><p><strong>Mejora de la productividad</strong> al evitar reinventar prompts y pipelines.</p><ul><li><p><strong>Zhang et al. (2023)</strong> analizan datos de m&#225;s de 1.200 empresas manufactureras en China y muestran que <strong>cada 1&#8239;% de aumento de la penetraci&#243;n de IA conduce a un 14,2&#8239;% de incremento en la Productividad Total de los Factores (TFP)</strong>. Este efecto se mantiene tras controles de endogeneidad y pruebas de robustez, y se explica por mejoras en valor a&#241;adido, sesgo hacia trabajo cualificado y actualizaci&#243;n tecnol&#243;gica <a href="https://www.mdpi.com/2071-1050/15/11/8934">MDPI</a>.</p></li><li><p><strong>Li &amp; Wang (2023)</strong>, usando datos de compa&#241;&#237;as chinas cotizadas, confirman que la innovaci&#243;n tecnol&#243;gica en IA <strong>aumenta la TFP</strong>, principalmente a trav&#233;s de reducci&#243;n de costes, mayor uso de mano de obra cualificada, digitalizaci&#243;n y eficiencia en I+D <a href="https://www.sciencedirect.com/science/article/abs/pii/S1544612323008097">ScienceDirect</a>.</p></li></ul><p>En China van a tope;  Nada nuevo bajo el sol.</p><p><strong>Impulso de la experimentaci&#243;n</strong> con un feedback loop r&#225;pido.</p><ul><li><p><strong>Koch et al. (2022)</strong>, con datos de la Encuesta de Innovaci&#243;n Comunitaria en Alemania (CIS&#8239;2018), encuentran que las empresas que usan IA alcanzan <strong>ventas de innovaciones de &#8220;primera mundial&#8221; por valor de &#8364;16&#8239;000&#8239;M</strong>, y obtienen un 6&#8239;% de ahorro de costes en innovaci&#243;n de procesos. Adem&#225;s, aplicar distintos m&#233;todos de IA en varias &#225;reas aumenta a&#250;n m&#225;s los resultados innovadores <a href="https://www.sciencedirect.com/science/article/abs/pii/S0048733322000798">ScienceDirect</a>.</p></li><li><p><strong>M&#252;ller &amp; Bley (2022)</strong> estudian 956 art&#237;culos de prensa y concluyen que el <strong>64&#8239;% de las implementaciones de IA en I+D se orientan a exploraci&#243;n</strong> (nuevos mercados), frente a solo un 5&#8239;% para explotaci&#243;n, y que la IA suele <strong>aumentar</strong> las tareas humanas en lugar de automatizarlas, favoreciendo ciclos de prueba&#8209;error r&#225;pidos <a href="https://www.sciencedirect.com/science/article/pii/S0040162522001688">ScienceDirect</a>.</p></li></ul><p><strong>Atracci&#243;n de inversores</strong> mostrando una plataforma interna madura de IA. Esto es un hecho: las empresas que antes se meten en el mundo IA obtiene m&#225;s dinero de los inversores.</p><ul><li><p><strong>Goldfarb et al. (2022)</strong> analizan el efecto de la &#8220;intensidad de adopci&#243;n de IA&#8221; sobre el crecimiento de ingresos: <strong>solo los niveles altos de adopci&#243;n muestran incrementos significativos de facturaci&#243;n</strong>, especialmente cuando van acompa&#241;ados de inversiones complementarias (cloud, bases de datos) y una estrategia de I+D interna. Ese mayor crecimiento hace que las empresas sean m&#225;s atractivas para los inversores institucionales <a href="https://www.sciencedirect.com/science/article/abs/pii/S0166497222001377">ScienceDirect</a>.</p></li><li><p><strong>Maarouf et al. (2024)</strong> desarrollan un modelo de lenguaje grande (LLM) para predecir el &#233;xito de startups bas&#225;ndose en descripciones de Crunchbase, <strong>logrando identificar con alta precisi&#243;n qu&#233; proyectos obtendr&#225;n financiaci&#243;n</strong>. Esto demuestra que la IA no solo impulsa el negocio, sino que tambi&#233;n se integra en el propio proceso de decisi&#243;n de inversi&#243;n <a href="https://arxiv.org/abs/2409.03668">arXiv</a>.</p></li></ul><p>&#191;C&#243;mo lo ves?</p><h2>&#9881;&#65039; Vamos a lo tangible</h2><p>Y como no quiero quedarme solo en el discurso <em>fancy</em>, <strong>te propongo algunas acciones para que consideres tomar este a&#241;o</strong>. Cosas peque&#241;as (?), pero que creo que pueden ir sentando las bases de algo m&#225;s grande.</p><ul><li><p><strong>Crear un repositorio de prompts</strong></p><ol><li><p>Elige una herramienta de versionado (GitHub/GitLab).</p></li><li><p>Define una <strong>plantilla</strong> de prompt (contexto, ejemplo de input/output, etiquetas).</p></li><li><p>Acordad un flujo de revisi&#243;n: autor &#8594; revisor t&#233;cnico &#8594; publicaci&#243;n.</p></li></ol></li><li><p><strong>Proteger datos sensibles (PII)</strong></p><ol><li><p>Identifica campos cr&#237;ticos en tu(s) base(s) de datos.</p></li><li><p>Implementa un <em>wrapper</em>/<em>proxy</em> al que tus servicios llamen, en lugar de exponer AWS Bedrock (por ejemplo) directamente, para interactuar con los LLM.</p></li><li><p>Automatiza tests de seguridad para asegurarte de que nunca se filtran datos.</p></li></ol></li><li><p><strong>Adoptar Model Context Protocol (MCP)</strong></p><ol><li><p>Empieza con un caso de uso <strong>no cr&#237;tico</strong> (p.&#8239;ej., an&#225;lisis de tickets de soporte).</p></li><li><p>Mide latencia y costes, ajusta y escala progresivamente hacia casos m&#225;s estrat&#233;gicos.</p></li><li><p> <a href="https://awslabs.github.io/mcp/">AWS lo est&#225; haciendo</a>, &#191;ser&#225; por algo?</p></li></ol></li></ul><p>&#191;Aguna otra que hayas implementado ya? Si te animas a contarme c&#243;mo te fue la experiencia, m&#225;ndame un email a <strong>hola@ainative.es o pulsando en este enlace &#128071;&#127995;</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;mailto:hola@ainative.es?subject=Br%C3%BAjula%20AI%20Native%20-%20Mis%20primeros%20pasos%20con%20la%20IA&amp;body=Hola%20Marcos%2C%0D%0A%0D%0ATe%20cuento%20c%C3%B3mo%20ha%20sido%20mi%20experiencia%20con%20los%20primeros%20pasos%20con%20la%20IA...%0D%0A%0D%0AUn%20saludo%2C&quot;,&quot;text&quot;:&quot;&#128229; Te cuento!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="mailto:hola@ainative.es?subject=Br%C3%BAjula%20AI%20Native%20-%20Mis%20primeros%20pasos%20con%20la%20IA&amp;body=Hola%20Marcos%2C%0D%0A%0D%0ATe%20cuento%20c%C3%B3mo%20ha%20sido%20mi%20experiencia%20con%20los%20primeros%20pasos%20con%20la%20IA...%0D%0A%0D%0AUn%20saludo%2C"><span>&#128229; Te cuento!</span></a></p>]]></content:encoded></item><item><title><![CDATA[De Cloud Native a AI Native]]></title><description><![CDATA[Acomp&#225;&#241;ame en gu&#237;as pr&#225;cticas, ejemplos de c&#243;digo reales y casos de &#233;xito que te mostrar&#225;n c&#243;mo convertir tu organizaci&#243;n en AI Native]]></description><link>https://ainativebrujula.substack.com/p/de-cloud-native-a-ai-native</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/de-cloud-native-a-ai-native</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 28 Jul 2025 06:31:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!d0wd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb06692c9-9512-4a82-a9d6-74b3a4fe273b_168x168.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075;&#127996; Bienvenido a <strong>Br&#250;jula AI Native</strong>, tu punto de encuentro si eres desarrollador de software, arquitecto de sistemas o l&#237;der t&#233;cnico en una empresa que desarrolla un producto SaaS y que necesita incorporar el mundo AI.</p><p>Quiero empezar dando las <strong>gracias a todas las personas que me hab&#233;is hecho llegar vuestro apoyo en esta nuevo proyecto</strong>. Sin haber publicado a&#250;n nada, ya sois muchas y muchos inscritos en esta newsletter y, por ello, os estoy muy agradecido.</p><p>Soy <strong>Marcos F. Lobo</strong> y despu&#233;s de m&#225;s de 20 a&#241;os desarrollando software y de haber transformado una Startup en una plataforma SaaS Cloud Native, hoy estoy embarcado en la evoluci&#243;n hacia <strong>AI Native</strong>&#8230; <strong>que es justo</strong> <strong>el reto que esta newsletter viene a resolver</strong>.</p><blockquote><p>&#191;Soy un experto nativo en IA? </p></blockquote><p><strong>Por supuesto que no.</strong></p><blockquote><p>&#191;Voy a aprender todo lo que pueda y a cont&#225;rtelo para que puedas repetirlo?</p></blockquote><p><strong>Por supuesto que s&#237;.</strong></p><p>Cada 2 semanas, encontrar&#225;s:</p><ol><li><p><strong>Patrones de arquitectura</strong>: Transformaciones concretas de tu arquitectura para llegar a funcionar como AI Native, cambios en el desarrollo de software, y las estrategias y cambios culturales necesarios para llegar a AI Native.</p></li><li><p><strong>Soluciones de la vida real</strong>: Implementaciones pr&#225;cticas y probadas en producci&#243;n que podr&#225;s integrar directamente en tu entorno.</p></li><li><p><strong>Historias de &#233;xito locales e internacionales</strong>: Descubrir&#225;s c&#243;mo Startups en Espa&#241;a, USA, Inglaterra, Francia, aprovecharon IA para dar un salto cualitativo en las soluciones que ofrecen a sus clientes.</p></li></ol><p>Si tu misi&#243;n es llevar tu producto SaaS al mundo AI Native, <strong>Br&#250;jula AI Native</strong> te dar&#225; las coordenadas exactas.</p><p>&#191;Y qu&#233; te espera en la primera edici&#243;n? Pues os contar&#233; en qu&#233; consiste la idea de AI Native y os propondr&#233; los primeros pasos para empezar.</p><p><strong>Suscr&#237;bete ahora</strong> y recibe tu primer n&#250;mero el 1 de septiembre de 2025 &#128071;&#127995;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ainativebrujula.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ainativebrujula.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Brújula AI Native se anuncia]]></title><description><![CDATA[La gu&#237;a pr&#225;ctica para evolucionar de Cloud Native a AI Native... se viene en septiembre]]></description><link>https://ainativebrujula.substack.com/p/brujula-ai-native-se-anuncia</link><guid isPermaLink="false">https://ainativebrujula.substack.com/p/brujula-ai-native-se-anuncia</guid><dc:creator><![CDATA[Marcos F. Lobo 🗻🧭]]></dc:creator><pubDate>Mon, 14 Jul 2025 07:00:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!d0wd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb06692c9-9512-4a82-a9d6-74b3a4fe273b_168x168.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#161;Hola gente! &#127775;</p><p>Me complace anunciar que <strong>Br&#250;jula AI Native</strong> arranca en septiembre.</p><p>Si ya has llevado tu plataforma a Cloud Native y <strong>tu siguiente paso es llegar a AI Native, esta newsletter es tu br&#250;jula</strong>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://ainativebrujula.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#128073; <strong>Suscr&#237;bete hoy</strong> y aseg&#250;rate de recibir el primer email en septiembre!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>En septiembre te traer&#233;:</p><ul><li><p><strong>Mejores pr&#225;cticas de arquitectura</strong> y cambios en los procedimientos para cumplir con las expectativas de AI Native.</p></li><li><p><strong>C&#243;mo transformar sus servicios</strong>, sistemas y organizaci&#243;n para convertirse en AI Native.</p></li><li><p><strong>Casos reales que resuelven dolores</strong>, donde descubrir&#225;s c&#243;mo CTOs y directores de ingenier&#237;a en startups SaaS convirtieron el &#8220;<strong>&#191;c&#243;mo ponemos IA en esto?</strong>&#8221; en funcionalidades que <em>enamoran</em> a sus usuarios.</p></li></ul><p><strong>Br&#250;jula AI Native</strong> est&#225; aqu&#237; para que transformes tu plataforma SaaS a una plataforma AI Native.</p><p>&#161;Nos vemos en septiembre!</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://ainativebrujula.substack.com/p/brujula-ai-native-se-anuncia?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">&#191;Alguien m&#225;s que est&#233; en el viaje de llegar a ser AI Native? Dale amor &#128071;</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ainativebrujula.substack.com/p/brujula-ai-native-se-anuncia?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Compartir&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/ainativebrujula.substack.com/p/brujula-ai-native-se-anuncia?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Compartir</span></a></p></div><p></p>]]></content:encoded></item></channel></rss>