Saltar al contenido
Temas

Entorno de Desarrollo e Infraestructura para IA

Docker, AWS, VPS y más. Entiende la infraestructura que recomiendan las herramientas IA y configura tu entorno.

30 artículos

Ordena los artículos para encontrar lo que necesitas

Artículos en Entorno de Desarrollo e Infra

The model returned no content: causas y solución, por qué el mensaje cambia de sentido según quién lo escribió

The model returned no content: causas y solución, por qué el mensaje cambia de sentido según quién lo escribió

Estás usando Claude, algo te frena y buscas el mensaje tal cual, pero no aparece nada: hay cadenas que se comportan así. The model returned no content because the response was blocked by content filtering, The response was blocked by the provider's content filter, Streaming response ended before any complete data was received, Could not locate the Claude CLI on PATH y Connection to Claude's response was lost. Claude may still be working son cinco ejemplos. Lo que tienen en común es que salieron mientras usabas Claude y, aun así, no aparecen en la documentación de Claude por más que la busques, o eso parece. El motivo es simple: el mensaje que tienes en pantalla no lo escribió necesariamente el programa que tú crees. Este artículo no explica desde cero cada causa concreta, sino que sirve de puerta de entrada para identificar quién escribió ese mensaje y derivarte al artículo correcto. Primero separa en cuatro las capas capaces de escribirlo: el backend que sirve el modelo, el propio Claude Code, el programa que lanza la CLI, extensión de IDE o envoltorio, y los clientes de terceros. Al cotejar de verdad, dos de los cinco figuraban como entradas de la referencia oficial de errores de Claude Code. La definición oficial de Streaming response ended es que las cabeceras volvieron pero el cuerpo no traía ningún mensaje de la API de Claude, así que no se trata de un corte a mitad. Could not locate the Claude CLI on PATH está colocado por la documentación oficial en un capítulo aparte, Wrapper and IDE errors, lo que imprime el programa que lanza la CLI. En cambio, los dos del content filter son vocabulario de terceros, y la incidencia 35736 de OpenCode reporta que tres fallos distintos, el 404 de Vertex, el socket cortado y el rechazo de verdad, se muestran todos con el mismo blocked by content filter. El mensaje solo es correcto en uno de los tres. La documentación oficial de GitHub también deja escrito que, al usar Claude, la entrada y la salida pasan por los filtros de contenido de GitHub Copilot, de modo que usar Claude no implica que quien te para sea el filtro de Anthropic. Del quinto no encontré la cadena ni en la referencia oficial de errores ni en la documentación de Remote Control, así que no pude identificar su origen, no doy ningún nombre y dejo cuatro pasos para que lo averigües en tu propio entorno. Lo confirmado y lo no confirmado van separados con etiquetas.

Los 3 cambios incompatibles de Claude Fable 5.1: qué arreglar antes de migrar y qué significa la caché a la cuarta parte

Los 3 cambios incompatibles de Claude Fable 5.1: qué arreglar antes de migrar y qué significa la caché a la cuarta parte

Migrar a Claude Fable 5.1 no se acaba cambiando el ID del modelo. La documentación oficial deja escrito que tres de los cambios son incompatibles y, además, en dos de ellos el sitio donde salta el error queda lejos de la causa. 1) Forzar la llamada de herramienta devuelve 400: los valores any y tool de tool_choice responden con invalid_request_error. En un modelo que piensa siempre, forzarla se salta ese pensamiento y la calidad de los argumentos empeora. 2) El bloque de pensamiento queda ligado al modelo: las conversaciones que pasan de una generación anterior a Fable 5.1 conservan el razonamiento, pero en sentido contrario se pierde. Y por defecto los bloques ilegibles se descartan antes de llegar al modelo, no se cuentan en input_tokens y tampoco aparecen en la factura. En los montajes que cambian de modelo con enrutadores o mecanismos de respaldo, parece que todo funciona y lo único que se cae es el razonamiento. Para enterarte hace falta la cabecera beta thinking-binding-controls-2026-08-01. 3) Editar turnos pasados invalida todos los bloques de pensamiento posteriores: entran ahí reconstruir el prompt de system o el array tools, y la costumbre de insertar un recordatorio y luego borrarlo. Esta comprobación es obligatoria en las cuentas creadas a partir del 31 de agosto de 2026, así que puede darse la contradicción de que falle en un entorno de pruebas recién creado y no falle en producción. Conviene evitar también el malentendido sobre dónde encaja: Fable 5.1 no es un relevo del buque insignia, y la documentación oficial deja escrito que para la mayoría de los usos hay que empezar por Opus 5. No hay subida de precio; lo único que ha cambiado es la lectura de caché, que baja de 0.1 a 0.025 veces la entrada base. El efecto depende de cuántas veces se relea el mismo preámbulo, y la documentación oficial habla de alrededor de un 25% menos en cargas típicas y de hasta cerca de un 45% menos en trabajo marcadamente agéntico. Además, siete comportamientos cambian sin tocar el código (bajan las llamadas de herramienta en paralelo, habla menos de su progreso, con effort low tiende a responder de memoria, la prosa se vuelve más densa, formatea menos, no marca las citas al resumir y reescribe el texto entero aunque el arreglo sea mínimo). Se recogen también las cinco funciones añadidas y los cinco pasos de migración, todo a partir de la documentación oficial de Anthropic.

LLM local para programar: hasta dónde llegan hoy Ollama, Cline y Continue

LLM local para programar: hasta dónde llegan hoy Ollama, Cline y Continue

Hacer que un modelo alojado en tu propio PC escriba código dejó de ser solo autocompletado: entre finales de 2025 y 2026, los modelos abiertos alcanzaron el uso de tipo agente, ese en el que la herramienta lee el repositorio, corrige varios archivos y ejecuta los tests. Este artículo ordena, únicamente con fuentes primarias, hasta dónde se llega hoy de verdad y dónde te vas a atascar. La señal más clara del cambio es que los propios desarrolladores venden ya la programación de tipo agente: la tarjeta de modelo de Qwen menciona por su nombre a CLINE y describe un formato de function call diseñado a medida, y Mistral AI publicó Devstral Small 2 (24B) bajo Apache 2.0 junto a Devstral 2 (123B, Modified MIT). Antes de elegir modelo conviene separar dos herramientas que se confunden a diario: Continue reparte un modelo distinto por papel (chat, edit, apply, rerank, autocomplete) y pide poco hardware, mientras que Cline es un agente autónomo que exige contexto largo y llamadas a herramientas precisas. El escollo decisivo, y el motivo por el que muchas instalaciones parecen correctas pero se comportan de forma incomprensible, es que Ollama fija la longitud de contexto por defecto según la VRAM disponible: 4k con menos de 24 GiB, 32k entre 24 y 48 GiB y 256k a partir de 48 GiB. Un PC gaming corriente cae en la primera fila, el agente desborda esos 4k enseguida y la conversación se recorta en silencio, sin ningún error, de modo que olvidar instrucciones o repetir operaciones parece torpeza del modelo cuando en realidad es contexto tirado a la basura. La documentación oficial recomienda al menos 64000 tokens para programar, se configura con OLLAMA_CONTEXT_LENGTH al arrancar el servidor y hay que confirmar con ollama ps que el modelo sigue entero en la GPU, porque estirar el contexto aumenta la memoria necesaria y desplazar parte a la CPU cambia por completo la velocidad. La tabla de modelos recoge solo cifras publicadas por los desarrolladores: Qwen3.6-35B-A3B con 3B activos, 262,144 de contexto y 73.4 en SWE-bench Verified, y Devstral Small 2 con 68.0%. También se explica por qué la comparación del tipo "lo local está al X% de la nube" ya no se sostiene, dónde gana cada opción por razones estructurales, y por qué "gratis" es en realidad otra forma de coste que se invierte según si ya tienes el equipo.

GPU process gone: por qué se cuelga Claude Desktop y arrastra todas tus sesiones de Claude Code

GPU process gone: por qué se cuelga Claude Desktop y arrastra todas tus sesiones de Claude Code

Estás trabajando y Claude Desktop se congela de golpe: todas las sesiones de Claude Code que tenías abiertas se detienen a la vez. Fuerzas el cierre, intentas reiniciar y a veces la aplicación ya ni siquiera arranca; y en ese momento la última línea del log suele ser siempre la misma: «GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950 }». Este artículo aclara qué significa ese exitCode 101457950, es decir, 0x060C201E. Lo que se cae no es Claude Code, la CLI, sino el proceso GPU de la aplicación de escritorio (Electron) que lo aloja. Comprobarlo solo exige mirar el final de main.log: si la línea inmediatamente anterior al reinicio es GPU process gone, es este caso, y si no aparecen volcados nuevos en Crashpad, no es una caída nativa de la CLI. Por qué arrastra incluso a sesiones sin relación se responde con la arquitectura: del proceso GPU de Electron/Chromium solo existe uno por aplicación, y todas las ventanas, pestañas y sesiones lo comparten, así que una sola página abierta en el navegador integrado que mate la GPU detiene a la vez sesiones ajenas a ella. Al ser una propiedad estructural, el usuario no puede aislarlo desde los ajustes. El detonante más frecuente en las incidencias públicas es el navegador integrado: #80444 registra cómo el proceso muere entre 15 y 36 segundos después de la detección de capacidades de WebGL/WebGPU, las cuatro veces con el mismo 0x060C201E, y #82967 sitúa el desencadenante en la captura de pantalla para la vista previa de la herramienta de navegador (capturePreviewScreenshotIfChanged). Pero el navegador no es el único: #68049 informa de caídas al arrancar con el mismo código en un entorno ARM64. La recuperación pasa por forzar el cierre y reiniciar, aunque tras la caída de la GPU Windows puede dar el paquete MSIX por «modificado» (appxState=2) y negarse a iniciarlo; en ese caso hay que terminar los procesos residentes y ejecutar Reparar. También hay un reporte, #82967, en el que Reparar fallaba siempre y solo se recuperó reinstalando desde cero. En cuanto a los datos, lo guardado se queda, pero el trabajo en ejecución no vuelve: un reporte, #81698, cuenta que desaparecieron incluso los resultados de los subagentes en paralelo. Lo único que puedes hacer es poner más difícil que se apriete el gatillo: --disable-gpu queda descartado porque la versión MSIX lo rechaza con «Acceso denegado», y actualizar la aplicación tampoco garantiza el arreglo. Anthropic no ha publicado sobre este síntoma ni una explicación oficial de la causa ni un aviso de corrección.

Lo que aprendimos al eliminar el panel de administración entero — cuándo sobrevive la interfaz en la era de la IA y cuándo puede irse

Lo que aprendimos al eliminar el panel de administración entero — cuándo sobrevive la interfaz en la era de la IA y cuándo puede irse

Una afirmación general no puede responder a la pregunta "si la IA puede editar las cosas directamente, ¿sigue haciendo falta un panel de administración?", porque la propia expresión "panel de administración" cubre un montón de funciones de naturaleza completamente distinta. Este artículo, apoyado en la experiencia de haber borrado entero el panel de administración de este sitio, sustituye esa pregunta por otra más afilada: ¿ofrece esa pantalla algo que la CLI y la IA no estén ofreciendo ya? Lo que reveló borrarlo todo es que la mayoría de las funciones retiradas no estaban "sin usar", sino "estructuralmente rotas". El CRUD de artículos nunca pudo funcionar, porque la fuente de verdad de los artículos vive en el código y cada despliegue sobrescribe la base de datos, así que todo lo editado en la pantalla se esfumaba en el siguiente despliegue. La cola de aprobación de comentarios estaba siempre vacía porque los mensajes se marcaban como aprobados al enviarlos, de modo que un comentario sin aprobar nunca llegaba a existir. Una función que nadie usa es una función cuya avería nadie puede detectar. La única capacidad que no podía irse era el borrado de comentarios, y ni siquiera esa tenía necesidad intrínseca de ser un panel de administración: un botón de borrar en la propia página del artículo resultó mejor, porque el comentario problemático se quita justo donde se está leyendo. La decisión se reduce a seis preguntas. Quién la opera (personal no técnico o un puesto que cambia de manos empuja hacia una interfaz; desarrolladores que viven en la terminal, no). Si es reversible (las acciones irreversibles necesitan una puerta). Si necesita un juicio humano (si existe una transición de estado de aprobar o rechazar). Si hay que separar permisos. Si quien opera sabe qué es posible (el listado hace de documentación). Si hay rastro de auditoría. Los permisos y el rastro de auditoría, en particular, parecen innecesarios en un proyecto en solitario y se convierten en lo primero que hace falta en cuanto llega una segunda persona. Los cambios hechos a través del código aterrizan en git, pero dejar que una IA escriba directamente en la base de datos no registra nada por defecto, y un registro de conversación conserva lo que se pidió, no lo que ocurrió. De los seis ejes, solo la reversibilidad carga un peso distinto. El 18 de julio de 2025, un agente de IA de Replit borró la base de datos de producción de SaaStr durante una congelación de código en vigor, fabricó 4.000 usuarios y afirmó erróneamente que la reversión era imposible, retrasando la recuperación (AI Incident Database #1152) — un caso que muestra menos el peligro de la IA que un problema de diseño en el que una acción irreversible podía alcanzarse sin pasar por una puerta humana. El artículo cubre además las tres cosas que hay que colocar antes de cargar el peso sobre la IA y la CLI (que los cambios dejen un rastro duradero, que haya un escalón delante de las acciones irreversibles y que el procedimiento esté escrito, porque borrar la interfaz borra también la lista de lo que es posible), una lista de comprobación previa a construir nada y la tercera opción de los productos de herramientas internas como Retool o Forest Admin en lugar de escribir un panel a mano.

El agent view de Claude Code — cómo se ejecutan las sesiones en paralelo y por dónde se escapa el aislamiento

El agent view de Claude Code — cómo se ejecutan las sesiones en paralelo y por dónde se escapa el aislamiento

El agent view de Claude Code, que se abre con claude agents, es la función para lanzar sesiones independientes en segundo plano una tras otra y gestionarlas todas desde una sola pantalla. La documentación oficial llama dispatch a la operación que realizas ahí, y ese nombre choca con la función homónima de la aplicación de escritorio, así que lo primero es distinguirlas. Los documentos describen el agent view como la función que permite despachar y gestionar muchas sesiones de Claude Code desde una única pantalla, y se trata de una research preview que exige la v2.1.139 o posterior. Este artículo se ciñe a la mecánica y al modelo de seguridad. La primera sorpresa es que cada prompt que escribes en el cuadro de entrada arranca su propia sesión nueva: escribe un segundo y tendrás una segunda sesión al lado de la primera, no una instrucción añadida a la anterior. Las instrucciones posteriores pasan por el peek panel, que se abre con la barra espaciadora y muestra la última salida o la pregunta que la sesión está esperando, no la transcripción entera. El corazón del modelo de seguridad es el aislamiento por worktree. Antes de editar ningún archivo, una sesión en segundo plano se traslada a un git worktree aislado bajo .claude/worktrees/, de modo que las sesiones paralelas leen el mismo checkout pero cada una escribe en el suyo: lecturas compartidas, escrituras separadas. Todo lo que llegaría al checkout principal queda cortado por tres comprobaciones: las ediciones de archivos con Edit, Write y NotebookEdit; los directorios de trabajo de comandos que resuelven al checkout principal o que no se pueden verificar como externos a él; y los intentos de redirigir git con git -C, --git-dir, GIT_DIR, GIT_WORK_TREE o un cd colocado antes de la llamada a git. La decisión se toma a propósito del lado seguro, rechazando lo que no puede verificar, y la misma protección la heredan todos los subagents que la sesión genere. Aun así no es un muro a nivel de sistema operativo: los archivos de fuera del repositorio y la red quedan fuera de alcance, y los comandos de PowerShell solo reciben la comprobación del directorio de trabajo. Los permisos tampoco se eligen en el momento del dispatch: se heredan del defaultMode de ese directorio, o del permissionMode del frontmatter de un subagent despachado, lo que significa que cuanto más laxa sea tu configuración habitual, más sesiones desatendidas con permisos laxos creas de golpe. Después hay tres cosas que se escapan del aislamiento. Elegir "Sí, no volver a preguntar" guarda la regla en el .claude/settings.local.json del checkout principal, así que se aplica en el checkout principal y en todos los demás worktrees, y sobrevive a la eliminación del worktree donde se concedió. Borrar una sesión en el agent view borra con ella el worktree que creó Claude, de modo que el trabajo sin commit desaparece, y Ctrl+X detiene en la primera pulsación y borra en la segunda. Y .worktreeinclude copia en cada worktree nuevo los archivos ignorados por git, como .env, multiplicando tus credenciales por el número de sesiones que despachas. Encima, la cuota se consume en proporción al paralelismo (diez agentes la gastan unas diez veces más rápido) y las sesiones se ejecutan en local: sobreviven a la suspensión, pero se detienen al apagar la máquina. El artículo cierra situando el agent view entre las cuatro formas oficiales de paralelizar, junto a los subagents, los agent teams y los flujos de trabajo dinámicos, y da una rutina concreta para antes, durante y después de un dispatch.

¿Hay que ejecutar /compact periódicamente en Claude Code? Cuándo pulsarlo según la especificación oficial

¿Hay que ejecutar /compact periódicamente en Claude Code? Cuándo pulsarlo según la especificación oficial

Mucha gente pulsa el /compact de Claude Code siguiendo una regla del tipo "cada 30 minutos" o "cuando el contexto pase del 70%", pero lo que recomienda la documentación oficial no es ni un reloj ni un porcentaje: es un corte en el trabajo. Ejecuta /compact en un corte natural del trabajo, por ejemplo entre tareas, en lugar de esperar a que la compactación automática se dispare en mitad de una tarea. Este artículo toma como fuente primaria la documentación de Claude Code a fecha de 8 de agosto de 2026 (última versión v2.1.226) y resuelve la cuestión de la compactación manual desde la especificación. Empieza por la maquinaria: la compactación funciona en tres etapas, a saber, el descarte de las salidas de herramientas antiguas, la compactación automática y el /compact manual que pulsas tú. La segunda y la tercera son exactamente el mismo procesamiento, así que pulsarlo a mano compra únicamente dos cosas, elegir el momento y especificar qué conservar. Pulsarlo más a menudo no ahorra contexto adicional. Después llega una tabla de qué sobrevive. El CLAUDE.md de la raíz del proyecto y tu memoria automática se reinyectan desde disco, mientras que las reglas que llevan paths: y los CLAUDE.md anidados en subdirectorios se pierden hasta que se vuelve a leer un archivo que encaje, y el cuerpo de las skills que invocaste se reinyecta con un tope de 5.000 tokens por skill y 25.000 en total, descartando primero las más antiguas. Sobre el coste, el precio de una compactación no lo fija el tamaño del contexto sino si la caché de prompts está caliente. Púlsalo en plena sesión y el prefijo se lee desde la caché, lo cual es barato; púlsalo tras una pausa más larga que la vida de la caché (una hora con suscripción, cinco minutos por defecto con clave de API) y todo el historial se reprocesa sin cachear, que es lo más caro que ese comando llega a salir. A partir de ahí el artículo cubre cómo elegir entre /compact, /clear, /rewind, /recap y /context, cómo /autocompact desde la v2.1.221 mueve el punto de disparo automático entre 100K y 1M tokens y la precedencia de los cuatro sitios de los que puede venir el ajuste, la trampa de que solo la variable de entorno acepta un entero simple, y el significado y los pasos de recuperación de los dos mensajes "Not enough messages to compact." y "Autocompact is thrashing: the context refilled to the limit...".

¿Qué es un gateway de LLM (proxy)? Una API para cada proveedor — Guía 2026

¿Qué es un gateway de LLM (proxy)? Una API para cada proveedor — Guía 2026

Lo construiste sobre OpenAI, luego quisiste probar Claude y comparar con Gemini, y perdiste horas por los distintos SDKs, formatos y manejo de errores de cada proveedor. Un gateway de LLM (AI gateway / proxy de LLM) es un relé que encajas entre tu app y los proveedores: expone una sola API compatible con OpenAI para alcanzar cualquier modelo y asume las tareas transversales: fallback, seguimiento de costes, claves virtuales, caché, limitación de tasa y observabilidad. Esta guía cubre por qué necesitas uno, qué es realmente un gateway, los tres tipos (proxy autoalojado = LiteLLM / alojado = OpenRouter / SDK = Vercel AI SDK), cómo elegir entre LiteLLM, OpenRouter y el Vercel AI SDK, código de configuración mínimo que solo cambia el endpoint, y los límites: un salto de latencia, el gateway como nuevo punto de fallo, comisiones (OpenRouter cobra el 5,5 % sobre las compras), pérdida de funcionalidades y privacidad.

¿Qué es el sandbox de Claude Code? Aislamiento de archivos y red para automatizar con seguridad (2026)

¿Qué es el sandbox de Claude Code? Aislamiento de archivos y red para automatizar con seguridad (2026)

Si usas Claude Code el tiempo suficiente, te topas con un dilema: una confirmación en cada comando interrumpe tu flujo, pero desactivarlas todas con la omisión es peligroso. El sandbox rompe ese binario delimitando qué se puede tocar a nivel del sistema operativo, de modo que los comandos se ejecutan con libertad dentro sin confirmaciones y nada llega al exterior. Esta guía cubre los dos aislamientos (sistema de archivos y red), los primeros pasos con /sandbox (macOS funciona sin más, Linux/WSL2 necesita bubblewrap+socat, Windows nativo no es compatible), el modo de autoaprobación frente al normal, la configuración de settings.json (allowWrite/denyRead, credentials, allowedDomains), cómo complementa a los modos y reglas de permisos como una tercera capa impuesta por el sistema operativo, sus límites (TLS sin inspeccionar, sockets Unix) y cuándo recurrir a contenedores de desarrollo o máquinas virtuales. Anthropic informa de que redujo las confirmaciones de permisos en un 84% en su uso interno.

Cómo dejar que la IA gestione AWS: métodos, ventajas y desventajas (2026)

Cómo dejar que la IA gestione AWS: métodos, ventajas y desventajas (2026)

¿Puedes delegar a la IA la operación de AWS? En 2026 puedes delegar mucho. La propia AWS ofrece Amazon Q Developer y el Agent Toolkit for AWS (mayo de 2026 — más de 40 agent skills + un AWS MCP Server gestionado + plugins), de modo que la IA abarca desde la generación de IaC hasta la operación de recursos. Esta guía enmarca el "delegar" en tres niveles (① generación de código/IaC, ② operación/investigación orientada a lectura, ③ un agente autónomo que opera AWS de verdad), cubre las herramientas principales (Amazon Q Developer, Agent Toolkit, AWS MCP Server, MCP de Terraform, Bedrock AgentCore) — incluida la vía "trae lo tuyo" de darle a Claude Code o Codex la AWS CLI para ejecutar "aws" desde el shell — las ventajas (IaC rápida, clasificación automatizada, ideas de optimización de costes, conocimiento democratizado) y luego el punto clave, las desventajas (proliferación de permisos de IAM, el exceso de privilegios como amplificador del radio de impacto de errores/inyección de prompt, permisos que sobreviven a la tarea, descontrol de costes — con incidentes reales de borrado de BD de producción en 2025-26), a partir de fuentes oficiales de AWS y de proveedores de seguridad. El giro clave: la pregunta no es "¿se puede?" sino "¿cómo delegar sin un descontrol o una explosión de la factura?" — y que la propia AWS integre barreras de IAM, auditoría con CloudTrail y sandboxing en el Agent Toolkit muestra la forma de la respuesta. Incluye los cinco principios (IAM de mínimo privilegio, aprobación humana para operaciones destructivas, observabilidad, credenciales JIT de corta duración, sandboxing) y preguntas frecuentes.

Frameworks de agentes de IA comparados 2026: LangGraph, CrewAI, AutoGen, OpenAI, Google, Claude, ¿cuál elegir?

Frameworks de agentes de IA comparados 2026: LangGraph, CrewAI, AutoGen, OpenAI, Google, Claude, ¿cuál elegir?

El primer obstáculo al llevar un agente de IA a un trabajo real es "sobre qué framework construirlo". Desde el punto de vista de quien desarrolla y selecciona la tecnología, este artículo compara seis grandes frameworks —LangGraph, CrewAI, AutoGen (integrado en el Microsoft Agent Framework, GA en abril de 2026), OpenAI Agents SDK, Google ADK y Claude Agent SDK— según el enfoque de orquestación (grafo dirigido / crew basada en roles / GroupChat conversacional / handoffs / árbol jerárquico / bucle autónomo de herramientas), lenguaje, curva de aprendizaje, control, madurez en producción, coste de tokens y caso de uso idóneo. La advertencia clave: el framework "más rápido de prototipar" (CrewAI) puede ser el más caro en producción —unos 3× los tokens (41k frente a los 18,5k de LangGraph en un benchmark) y no determinista, lo que lo hace poco apto para finanzas y sanidad. También explica cómo 2026 trajo la interoperabilidad vía MCP (herramientas) y A2A (agente a agente), de modo que agentes de distintos frameworks ya pueden trabajar juntos y el lock-in se ha desvanecido. Incluye una guía de selección por caso de uso y preguntas frecuentes.