<?xml version="1.0" encoding="UTF-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es"><title>Chemaclass - software-architecture</title><subtitle>Tech Lead compartiendo ideas prácticas sobre artesanía del software, TDD, liderazgo, Bitcoin e IA. Artículos, resúmenes de libros y charlas.</subtitle><link rel="self" type="application/atom+xml" href="https://chemaclass.com/es/tags/software-architecture/atom.xml"/><link rel="alternate" type="text/html" href="https://chemaclass.com"/><generator uri="https://www.getzola.org/">Zola</generator><updated>2026-01-11T00:00:00+00:00</updated><id>https://chemaclass.com/es/tags/software-architecture/atom.xml</id><entry xml:lang="es"><title>MCP: Dándole a tu Agente IA el Contexto Adecuado</title><subtitle>Por qué el contexto es el verdadero superpoder</subtitle><category term="ai" scheme="https://chemaclass.com/tags/ai/" label="Ai"/><category term="software-architecture" scheme="https://chemaclass.com/tags/software-architecture/" label="Software Architecture"/><category term="developer-tools" scheme="https://chemaclass.com/tags/developer-tools/" label="Developer Tools"/><category term="craftsmanship" scheme="https://chemaclass.com/tags/craftsmanship/" label="Craftsmanship"/><published>2026-01-11T00:00:00+00:00</published><updated>2026-01-11T00:00:00+00:00</updated><author><name>
Chemaclass</name></author><link rel="alternate" type="text/html" href="https://chemaclass.com/es/blog/mcp-giving-your-ai-agent-the-right-context/"/><id>https://chemaclass.com/es/blog/mcp-giving-your-ai-agent-the-right-context/</id><summary type="html">MCP conecta agentes de IA con tus herramientas, bases de datos y APIs mediante un protocolo estándar. Dale el contexto que necesita.</summary><content type="html">&lt;p>Los asistentes de código con IA modernos son muy buenos entendiendo contexto. Modelos como Claude Opus con ventanas de contexto amplias (unos 200k tokens) pueden tener porciones sustanciales de tu código en mente, razonar sobre arquitectura y mantener coherencia en conversaciones largas. No el proyecto entero en codebases grandes, pero sí lo suficiente para trabajar bien.&lt;/p>
&lt;p>Pero entender no es lo mismo que acceder.&lt;/p>
&lt;p>La IA puede razonar sobre el esquema de tu base de datos si lo pegas. Puede sugerir cambios a archivos que compartes. Conoce patrones del código que le muestras. La limitación no es la inteligencia, sino el alcance.&lt;/p>
&lt;p>Ahí entra MCP.&lt;/p>
&lt;span id="continue-reading">&lt;/span>&lt;h2 id="lo-que-mcp-habilita">Lo que MCP habilita
&lt;a class="heading-anchor" href="#lo-que-mcp-habilita" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>La IA moderna puede entender tu código cuando lo compartes. Pero entender y actuar son cosas distintas.&lt;/p>
&lt;p>Muchos asistentes integrados en IDEs como VS Code Copilot o Cursor ya acceden a los archivos de tu proyecto mediante su propio indexado. El acceso a archivos no es nuevo. Lo que MCP aporta es estandarización. En lugar de que cada herramienta construya su propia integración, MCP ofrece un protocolo común. Configuras un servidor una vez, y cualquier cliente compatible con MCP puede usarlo. Es portable, configurable, y va más allá de archivos: bases de datos, APIs y herramientas personalizadas.&lt;/p>
&lt;blockquote>
&lt;p>MCP transforma a la IA de interlocutor a participante activo en tu entorno de desarrollo.&lt;/p>
&lt;/blockquote>
&lt;p>Con MCP le das a la IA acceso directo a herramientas y recursos. Puede leer archivos, ejecutar comandos, consultar bases de datos, obtener documentación. La inteligencia siempre estuvo ahí. MCP le da manos.&lt;/p>
&lt;h2 id="que-es-realmente-mcp">Qué es realmente MCP
&lt;a class="heading-anchor" href="#que-es-realmente-mcp" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>MCP es un protocolo, no un producto. Un estándar abierto que define cómo los agentes de IA pueden conectarse a fuentes de datos y herramientas externas. Piensa en ello como un puente entre el modelo de IA y tu entorno de desarrollo.&lt;/p>
&lt;p>La arquitectura es simple: los servidores MCP exponen capacidades y los clientes de IA las consumen. Claude Desktop y Claude Code soportan MCP oficialmente, y cada vez más herramientas adoptan el protocolo.&lt;/p>
&lt;p>Por ejemplo, en Claude Code puedes añadir servidores a un archivo &lt;code>.mcp.json&lt;/code> en la raíz de tu proyecto. Claude Code lee este archivo al abrir el proyecto e inicia los servidores configurados automáticamente:&lt;/p>
&lt;pre class="giallo" style="color-scheme: light dark; color: light-dark(#24292E, #E1E4E8); background-color: light-dark(#FFFFFF, #24292E);">&lt;code data-lang="json">&lt;span class="giallo-l">&lt;span>{&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">mcpServers&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span> {&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">filesystem&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span> {&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">command&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">npx&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span>,&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">args&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span> [&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">-y&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span>,&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">@modelcontextprotocol/server-filesystem&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span>,&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">./&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span>]&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span> }&lt;/span>&lt;span>,&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">github&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span> {&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">command&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">npx&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span>,&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">args&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span> [&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">-y&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span>,&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">@modelcontextprotocol/server-github&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span>]&lt;/span>&lt;span>,&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">env&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span> {&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">GITHUB_TOKEN&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">tu-token&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span> }&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span> }&lt;/span>&lt;span>,&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">postgres&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span> {&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">command&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">npx&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span>,&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">args&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span> [&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">-y&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span>,&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">@modelcontextprotocol/server-postgres&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span>]&lt;/span>&lt;span>,&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">env&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span> {&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">DATABASE_URL&lt;/span>&lt;span style="color: light-dark(#005CC5, #79B8FF);">&amp;quot;&lt;/span>&lt;span>:&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> &amp;quot;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">postgresql://localhost/mydb&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);">&amp;quot;&lt;/span>&lt;span> }&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span> }&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span> }&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span>}&lt;/span>&lt;/span>&lt;/code>&lt;/pre>
&lt;p>Cada servidor le da a la IA diferentes capacidades:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>filesystem&lt;/strong>: Leer y navegar los archivos de tu proyecto. La IA puede explorar tu código, verificar patrones existentes y entender la estructura de directorios antes de sugerir cambios.&lt;/li>
&lt;li>&lt;strong>github&lt;/strong>: Acceder a issues, pull requests y metadatos del repositorio. Pídele a la IA que resuma los issues abiertos, revise comentarios de PRs o entienda en qué trabaja tu equipo.&lt;/li>
&lt;li>&lt;strong>postgres&lt;/strong>: Consultar tu base de datos directamente. La IA puede inspeccionar tu esquema, ejecutar consultas de lectura y entender tu modelo de datos sin que copies definiciones de tablas.&lt;/li>
&lt;/ul>
&lt;p>Distintas herramientas, mismo protocolo. Configuras una vez, y cualquier cliente compatible con MCP puede usar estos servidores.&lt;/p>
&lt;h2 id="donde-destaca-mcp">Dónde destaca MCP
&lt;a class="heading-anchor" href="#donde-destaca-mcp" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;h3 id="trabajando-con-tu-codigo">Trabajando con tu código
&lt;a class="heading-anchor" href="#trabajando-con-tu-codigo" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>El beneficio más inmediato es el acceso al sistema de archivos. La IA puede navegar tu proyecto, leer archivos fuente, entender tu estructura de directorios. Cuando sugiere código, puede verificar patrones existentes primero.&lt;/p>
&lt;p>La integración con Git va más allá. La IA puede ver tu historial de commits, entender qué cambió recientemente y sugerir modificaciones alineadas con la evolución de tu código.&lt;/p>
&lt;p>El acceso al esquema de base de datos significa que la IA entiende tu modelo de datos. No hace falta explicar relaciones entre tablas o tipos de columnas. Ve la estructura y genera consultas que funcionan de verdad.&lt;/p>
&lt;h3 id="documentacion-y-conocimiento">Documentación y conocimiento
&lt;a class="heading-anchor" href="#documentacion-y-conocimiento" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>Conecta tu documentación interna y la IA conocerá las decisiones de tu equipo. Especificaciones de API, documentos de arquitectura, guías de código. Todo disponible como contexto.&lt;/p>
&lt;p>Aquí es donde MCP empieza a notarse. La IA ya no genera código genérico. Genera código que encaja en tu proyecto.&lt;/p>
&lt;blockquote>
&lt;p>La mejor asistencia de IA viene de entender no solo qué construyes, sino cómo lo construye tu equipo.&lt;/p>
&lt;/blockquote>
&lt;h3 id="integraciones-externas">Integraciones externas
&lt;a class="heading-anchor" href="#integraciones-externas" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>La integración con GitHub permite que la IA lea issues, entienda discusiones de PRs y vea el contexto más amplio de en qué trabaja tu equipo. Slack u otras herramientas de comunicación pueden aportar aún más contexto sobre decisiones en curso.&lt;/p>
&lt;p>Las integraciones personalizadas te permiten conectar herramientas internas específicas de tu flujo de trabajo. El protocolo es extensible por diseño.&lt;/p>
&lt;h2 id="usando-mcp-efectivamente">Usando MCP efectivamente
&lt;a class="heading-anchor" href="#usando-mcp-efectivamente" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>MCP amplifica lo que conectes. Si tu documentación está desactualizada, la IA usará información desactualizada. Si tu código es desordenado, la IA aprenderá patrones desordenados.&lt;/p>
&lt;p>Es el efecto espejo que mencioné en &lt;a href="/es/blog/ai-gives-you-speed-not-quality">La IA te da velocidad, no calidad&lt;/a>. La IA refleja el contexto que le das. Buen contexto da resultados útiles. Mal contexto produce basura que suena convincente.&lt;/p>
&lt;blockquote>
&lt;p>Darle a la IA acceso a tu código no reemplaza tu responsabilidad de mantenerlo. Hace que la buena higiene sea más valiosa.&lt;/p>
&lt;/blockquote>
&lt;p>Algunas prácticas que ayudan:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Conecta solo lo que la IA necesita.&lt;/strong> Más contexto no siempre es mejor. Contexto enfocado sí.&lt;/li>
&lt;li>&lt;strong>Mantén tu documentación actualizada.&lt;/strong> Si la IA lee tus docs, esos docs importan más que antes.&lt;/li>
&lt;li>&lt;strong>Revisa tu configuración MCP de vez en cuando.&lt;/strong> A medida que tu proyecto evoluciona, también debería hacerlo tu configuración de contexto.&lt;/li>
&lt;li>&lt;strong>Empieza pequeño.&lt;/strong> Uno o dos servidores. Ve qué funciona. Expande desde ahí.&lt;/li>
&lt;/ul>
&lt;p>La seguridad también importa. Sé intencional sobre lo que expones. Los servidores MCP pueden acceder a información sensible. Trátalos como cualquier otra decisión de control de acceso.&lt;/p>
&lt;h2 id="lo-que-viene">Lo que viene
&lt;a class="heading-anchor" href="#lo-que-viene" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>MCP es la base. Pero el ecosistema construye encima.&lt;/p>
&lt;p>&lt;strong>Flujos de trabajo agénticos.&lt;/strong> Herramientas como Claude Code y Cursor funcionan en “modo agente” donde la IA planifica y ejecuta tareas de múltiples pasos de forma autónoma. Lee archivos, hace cambios, ejecuta tests, corrige errores. Los servidores MCP son las manos. El bucle del agente es el cerebro que decide qué hacer.&lt;/p>
&lt;p>&lt;strong>Skills y comandos personalizados.&lt;/strong> Claude Code introdujo skills: comandos slash personalizados que encadenan herramientas MCP en flujos reutilizables. &lt;code>/deploy&lt;/code>, &lt;code>/test&lt;/code>, &lt;code>/review&lt;/code>. Los defines una vez y se convierten en parte de tu toolkit de desarrollo.&lt;/p>
&lt;p>&lt;strong>Protocolo A2A.&lt;/strong> El protocolo Agent-to-Agent de Google. Mientras MCP conecta IA con herramientas, A2A conecta agentes de IA entre sí. Múltiples agentes especializados colaborando en tareas complejas. Un agente escribe código, otro lo revisa, un tercero ejecuta tests.&lt;/p>
&lt;p>El patrón es claro: la IA está pasando de asistente a colaborador. De responder preguntas a ejecutar flujos de trabajo. MCP le dio a la IA acceso a tu entorno. Lo que viene es IA que sabe usar ese acceso de forma autónoma.&lt;/p>
&lt;blockquote>
&lt;p>La pregunta está cambiando de “¿a qué puede acceder la IA?” a “¿qué debería decidir la IA por su cuenta?”&lt;/p>
&lt;/blockquote>
&lt;p>El juicio humano no desaparece. Se mueve hacia arriba. En lugar de revisar cada línea que escribe la IA, diseñamos el contexto y los límites que moldean lo que produce.&lt;/p>
&lt;p>Ese sigue siendo nuestro trabajo. Y vale la pena hacerlo bien.&lt;/p>
&lt;p>&lt;img src="/images/blog/2026-01-11/footer.webp" alt="mcp conectando la ia con herramientas" />&lt;/p></content></entry><entry xml:lang="es"><title>La IA te Da Velocidad, No Calidad</title><subtitle>El factor humano en la era del vibe-coding</subtitle><category term="ai" scheme="https://chemaclass.com/tags/ai/" label="Ai"/><category term="software-architecture" scheme="https://chemaclass.com/tags/software-architecture/" label="Software Architecture"/><category term="craftsmanship" scheme="https://chemaclass.com/tags/craftsmanship/" label="Craftsmanship"/><category term="leadership" scheme="https://chemaclass.com/tags/leadership/" label="Leadership"/><published>2025-10-10T00:00:00+00:00</published><updated>2025-10-10T00:00:00+00:00</updated><author><name>
Chemaclass</name></author><link rel="alternate" type="text/html" href="https://chemaclass.com/es/blog/ai-gives-you-speed-not-quality/"/><id>https://chemaclass.com/es/blog/ai-gives-you-speed-not-quality/</id><summary type="html">La IA acelera tu producción pero no garantiza calidad. Eres responsable de cada línea que commiteas. Velocidad sin dirección es caos.</summary><content type="html">&lt;p>He estado usando asistentes de codificación IA extensivamente: ChatGPT, Codex, Claude con Sonnet y Opus. Son increíblemente útiles. Te dan velocidad como nada más.&lt;/p>
&lt;p>Pero la velocidad no es calidad.&lt;/p>
&lt;span id="continue-reading">&lt;/span>&lt;h2 id="la-trampa-del-vibe-coding">La trampa del vibe-coding
&lt;a class="heading-anchor" href="#la-trampa-del-vibe-coding" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Los modelos de IA son excelentes imitando su entorno. Dales contexto, y harán lo que sea necesario para completar la tarea. Esto se ha conocido como &lt;em>“vibe-coding”&lt;/em>: describes lo que quieres, y la IA produce algo que funciona. Rápido.&lt;/p>
&lt;p>¿El problema? La IA felizmente generará código desordenado si eso es lo que hace el trabajo. No le importa la mantenibilidad. No piensa en qué pasa cuando los requisitos cambien el próximo mes. Solo produce output.&lt;/p>
&lt;blockquote>
&lt;p>La IA es un espejo que refleja el contexto que le das. Si tu codebase está desordenado, generará más desorden. Si tus prompts son vagos, hará suposiciones.&lt;/p>
&lt;/blockquote>
&lt;p>Sin guía cuidadosa, terminas con parches sobre parches. Código legacy recién creado. Una codebase donde cada cambio se siente arriesgado y el equipo pasa más tiempo luchando contra el código que construyendo features.&lt;/p>
&lt;h2 id="el-arte-de-preguntar">El arte de preguntar
&lt;a class="heading-anchor" href="#el-arte-de-preguntar" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>¿Recuerdas Stack Overflow? ¿Las búsquedas en Google que te llevaban a hilos de foros de 2011 donde alguien tenía exactamente el mismo problema?&lt;/p>
&lt;p>Hace diez años, ser desarrollador significaba aprender a hacer buenas preguntas. Elaborabas tu post de Stack Overflow cuidadosamente: describe el problema, muestra lo que intentaste, explica lo que esperabas versus lo que pasó. Si tu pregunta era vaga o perezosa, la comunidad te lo hacía saber. A veces duramente.&lt;/p>
&lt;p>Pero esa fricción nos enseñó algo valioso: &lt;strong>la calidad de tu respuesta depende de la calidad de tu pregunta&lt;/strong>.&lt;/p>
&lt;p>El mismo principio aplica a la IA. Un prompt vago obtiene una respuesta vaga. Un prompt bien estructurado con contexto claro, restricciones y ejemplos obtiene algo útil. La habilidad de formular buenas preguntas no se volvió obsoleta. Se volvió más importante.&lt;/p>
&lt;blockquote>
&lt;p>Aprender a hacer prompts a la IA efectivamente es el equivalente moderno de aprender a buscar en Google y preguntar en Stack Overflow. Los desarrolladores que dominen esto obtendrán mejores resultados.&lt;/p>
&lt;/blockquote>
&lt;p>Incluso cuando la IA te da una respuesta rápida e impresionante, &lt;strong>nunca aceptes código que no entiendas completamente&lt;/strong>. Es tentador. La respuesta aparece en segundos, se ve profesional, incluso podría funcionar. Pero si no puedes explicar qué hace y por qué, estás plantando una bomba de tiempo en tu codebase. Y cuando explote a las 2am, estarás debuggeando código que no escribiste sin modelo mental de por qué existe.&lt;/p>
&lt;p>Cuestiona el resultado. Pregunta: &lt;em>“¿Puedes simplificar esto?”&lt;/em> o &lt;em>“¿Hay código repetitivo aquí que podamos eliminar?”&lt;/em> La IA por defecto añade, no mejora. Generará abstracciones, funciones auxiliares y patrones que no pediste. No refactorizará a menos que se lo digas. Cuestiónala.&lt;/p>
&lt;p>Esto es especialmente crítico con los tests. Pide a la IA que genere tests y a menudo obtendrás tests que reflejan detalles de implementación en lugar de comportamiento. Se romperán en el momento que refactorices, incluso si la lógica permanece igual. Si quieres tests que verifiquen comportamiento, necesitas decirlo explícitamente. La IA no hará esa elección por ti.&lt;/p>
&lt;blockquote>
&lt;p>No te dejes seducir por la velocidad. A veces, una respuesta rápida que no entiendes es peor que una respuesta lenta que sí entiendes.&lt;/p>
&lt;/blockquote>
&lt;h2 id="el-factor-humano">El factor humano
&lt;a class="heading-anchor" href="#el-factor-humano" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>La IA puede escribir código rápido, pero no puede entender la arquitectura general. No sabe por qué ciertas decisiones se tomaron hace meses. No puede ver el panorama general de hacia dónde va el producto. Solo ve lo que le muestras, tomando decisiones locales sin entender las implicaciones globales. Ese es nuestro trabajo.&lt;/p>
&lt;p>Como exploré en &lt;a href="/es/blog/different-beliefs-about-software-quality">diferentes creencias sobre la calidad del software&lt;/a>, los equipos a menudo tienen estándares variables sobre qué significa &lt;em>“suficientemente bueno”&lt;/em>. Cuando añades IA a la mezcla, mantener ese entendimiento compartido se vuelve aún más crítico. La IA no comparte los valores de tu equipo. Solo genera código.&lt;/p>
&lt;blockquote>
&lt;p>La disciplina para mantener arquitectura limpia, para decir &lt;em>“no”&lt;/em> a hacks rápidos, para refactorizar antes de que las cosas empeoren. Eso es únicamente humano.&lt;/p>
&lt;/blockquote>
&lt;p>Libros como &lt;a href="/es/readings/clean-code/">Clean Code&lt;/a> y &lt;a href="/es/readings/clean-architecture/">Clean Architecture&lt;/a> no son menos relevantes en la era de la IA. Son más relevantes. Te ayudan a detectar cuando la IA va en la dirección equivocada.&lt;/p>
&lt;h2 id="colaboracion-sobre-automatizacion">Colaboración sobre automatización
&lt;a class="heading-anchor" href="#colaboracion-sobre-automatizacion" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Hay algo más que la IA no puede reemplazar: el equipo.&lt;/p>
&lt;p>Una conversación con un colega sobre &lt;em>“¿deberíamos extraer esto en un servicio?”&lt;/em> a menudo lleva a insights que ningún prompt de IA sacaría a la luz. Ese ida y vuelta, el cuestionar, el &lt;em>“¿qué si intentamos esto en su lugar?”&lt;/em>. Ahí es donde ocurre el entendimiento real.&lt;/p>
&lt;p>&lt;a href="/es/readings/extreme-programming-explained/">Extreme Programming Explained&lt;/a> enfatiza prácticas como pair programming y propiedad colectiva del código por buenas razones. Estas no son ineficiencias para automatizar. Son cómo los equipos construyen calidad en su proceso.&lt;/p>
&lt;p>Cuando saltas la discusión humana y solo dejas que la IA genere soluciones, pierdes la oportunidad de aprender, de desafiar suposiciones y de crecer como equipo.&lt;/p>
&lt;h2 id="tu-eres-dueno-del-codigo">Tú eres dueño del código
&lt;a class="heading-anchor" href="#tu-eres-dueno-del-codigo" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Cuando la IA escribe código y tú lo commiteas, lo revisas, lo apruebas, lo mergeas y lo deployeas, &lt;strong>es tu código&lt;/strong>. No puedes culpar a la IA cuando algo se rompe en producción. No puedes señalar a Claude o Copilot cuando la arquitectura se vuelve imposible de mantener.&lt;/p>
&lt;p>Como escribí sobre &lt;a href="/es/blog/the-art-of-testing/">el arte del testing&lt;/a>, la calidad es una elección que hacemos en cada paso. Cada commit es una decisión. Cada revisión es una oportunidad de detectar problemas. Cada merge es un respaldo de la calidad del código.&lt;/p>
&lt;blockquote>
&lt;p>Somos la última parte responsable del código que la IA escribe. El commit, la revisión, la aprobación, el merge, el deploy. Todo eso somos nosotros.&lt;/p>
&lt;/blockquote>
&lt;p>Moverse rápido en la dirección equivocada solo te lleva a perderte más rápido. Las líneas de código apareciendo en pantalla no es progreso. El valor que aportamos como desarrolladores no es la velocidad tecleando. Nuestro valor está en entender hacia dónde vamos, mantener disciplina sobre el caos, y asegurar que el código que entregamos hoy no se convierta en la pesadilla de mañana.&lt;/p>
&lt;p>Usa la IA. Abraza la velocidad. Pero nunca olvides: &lt;strong>tú eres quien conduce&lt;/strong>. Si sueltas el volante, terminarás en una pila de código imposible de mantener más rápido de lo que esperabas.&lt;/p>
&lt;p>Y cuando eso pase, no hay nadie más a quien culpar.&lt;/p>
&lt;p>&lt;img src="/images/blog/2025-10-10/footer.webp" alt="tú eres quien conduce" />&lt;/p></content></entry></feed>