Skip links
Diagrama conceptual de agentes cloud con AWS Bedrock, Google Vertex AI y Azure AI orbitando un agente central

Agentes Cloud: Bedrock, Vertex AI y Azure (comparativa)

Ejecutar agentes cloud en producción es una decisión de infraestructura, no solo de modelo. AWS, Google y Microsoft llevan dos años embebiendo runtimes de agentes directamente en sus plataformas: Amazon Bedrock Agents, Google Vertex AI Agent Builder y Azure AI Agent Service son hoy los tres caminos para equipos que necesitan desplegar agentes con orquestación, herramientas y memoria sin gestionar su propia capa de orquestación e infraestructura.

Este artículo compara los tres en profundidad; arquitectura, principios de acción, integración IAM/VPC, precios y cuándo elegir cada uno para poder tomar la decisión correcta antes de comprometer semanas de integración. Si tu empresa ya usa agentes de IA y quieres migrar o escalar a cloud managed, este post cubre exactamente ese salto. El contenido incluye cuatro bloques de código ejecutables (AWS CLI, boto3, Lambda action group, Vertex AI Reasoning Engine) y una tabla comparativa con las variables que más pesan en una decisión de producción.

El post está dirigido más bien a personas técnicas (CTOs, ingenieros de IA, tech leads…)  que ya conocen los conceptos básicos de agentes LLM y evalúan opciones de infraestructura cloud. No es un tutorial introductorio, si necesitas un punto de partida más conceptual, te recomendamos leer primero nuestra guía sobre IA agéntica.

Tabla de contenidos

  1. ¿Por qué agentes en cloud y no on-premise?
  2. AWS Bedrock Agents: arquitectura y action groups
  3. Google Vertex AI Agents (Agent Builder + Reasoning Engine)
  4. Azure AI Agent Service
  5. Comparativa: features, pricing, integraciones y modelos disponibles
  6. Cuándo elegir cloud vs self-hosted (LangGraph, OpenAI SDK)
  7. Caso real: desplegar un agente en Bedrock (código)
  8. Seguridad y compliance: IAM, VPC, audit
  9. Preguntas frecuentes sobre agentes cloud
  10. Conclusión + próximos pasos

¿Por qué agentes en cloud y no on-premise?

La pregunta no es filosófica: es operativa. Un agenteen producción necesita al menos cuatro capas que no son triviales de gestionar de forma autónoma: almacenamiento de conversaciones y memoria, registro de traces para debugging, autenticación y autorización granular de herramientas y escalado bajo carga. Cuando montas eso sobre LangGraph o el OpenAI Agents SDK en tu propia infraestructura, estás resolviendo problemas de plataforma antes de resolver problemas de negocio.

Las plataformas cloud managed resuelven esas capas out-of-the-box. Bedrock Agents gestiona la orquestación, el routing de action groups y el almacenamiento de session state en DynamoDB sin que toques una línea de infraestructura. Vertex AI Agent Builder integra playbooks y data stores sobre la misma VPC de tu proyecto GCP. Azure AI Agent Service hereda la gestión de identidades de Entra ID y el logging de Azure Monitor sin configuración adicional.

La contrapartida es el lock-in y el precio. Los agentes managed tienen un coste por token procesado más alto que invocar el modelo directamente, porque pagas también la capa de orquestación. Y el vendor lock-in es real: los action groups de Bedrock no se portan a Vertex sin reescritura. La decisión correcta depende del volumen, del equipo de plataforma disponible y del tiempo al mercado que puedas permitirte. Los casos donde cloud managed gana de forma clara son tres:

  • Equipos pequeños (2-5 engineers) sin especialista en infraestructura de ML.
  • Organizaciones ya comprometidas con un cloud (all-in AWS, GCP o Azure) donde la integración IAM nativa elimina semanas de trabajo.
  • Requisitos de compliance regulatorio (SOC 2, HIPAA, ISO 27001) que el proveedor ya certifica, evitando auditorías sobre infraestructura propia.

Cuando el volumen supera los 50 millones de tokens/mes o el equipo tiene capacidad de plataforma, la ecuación se invierte y el self-hosted con LangChain o LangGraph puede ser más barato y más flexible.

AWS Bedrock Agents: arquitectura y action groups

Amazon Bedrock Agents es el runtime managed de AWS para agentes cloud LLM. Su arquitectura descansa sobre cuatro primitivas principales: el agent en sí (la entidad con modelo asignado, instrucciones y configuración de memoria), los action groups (grupos de funciones que el agente puede invocar, definidas via OpenAPI schema), los knowledge bases (RAG managed sobre OpenSearch Serverless o Aurora pgvector) y las guardrails (filtros de contenido y PII configurables por política).

El flujo de ejecución en Bedrock sigue un loop clásico ReAct: el modelo recibe el input del usuario, decide si invocar una acción o responder directamente, ejecuta la acción contra el Lambda asociado al action group y devuelve el resultado al modelo para la siguiente iteración. AWS gestiona toda la orquestación del loop, el almacenamiento del session state y el logging a CloudWatch. El developer solo implementa el Lambda que ejecuta la lógica de negocio real.

El modelo de facturación es por token procesado, incluyendo los tokens del sistema de orquestación interno de Bedrock. Esto significa que el coste efectivo por llamada es sensiblemente más alto que invocar directamente Claude o Titan. Para cargas de baja-media frecuencia, la diferencia es asumible. Para pipelines de alta frecuencia (>10.000 invocaciones/día), hay que modelar el coste cuidadosamente antes de comprometerse.

Los modelos disponibles en Bedrock incluyen Claude 3 (Haiku, Sonnet, Opus), Llama 3, Mistral, Amazon Titan y, según región, modelos adicionales de Cohere. La ventaja de Bedrock es que los action groups se definen una sola vez con un schema OpenAPI y el routing lo resuelve el sistema — no hay que gestionar function calling manualmente. Ver la documentación oficial de Bedrock Agents para el detalle de configuración.

Google Vertex AI Agents (Agent Builder + Reasoning Engine)

Google Vertex AI tiene dos productos que se solapan parcialmente y conviene separar: el Agent Builder (antes Dialogflow CX generativo) y el Reasoning Engine. El primero es una plataforma low-code orientada a playbooks conversacionales con data stores integrados; el segundo es un runtime de ejecución managed para código Python arbitrario — frameworks como LangChain, LangGraph o código custom — sin UI de diseño.

El Agent Builder organiza la lógica del agente en playbooks: flujos conversacionales que pueden invocar herramientas, consultar data stores (búsqueda semántica sobre documentos subidos a GCS) o redirigir a otros playbooks. Es la opción más accesible para equipos con ingenieros de IA pero sin experiencia en desarrollo de agentes cloud desde cero. La integración con Vertex AI Search hace que los data stores sean especialmente potentes para casos RAG sobre corpus de documentación interna.

El Reasoning Engine (vertexai.preview.reasoning_engines) es más interesante para ingeniería pura. Permite desplegar un agente escrito en Python directamente en la infraestructura managed de Google, con auto-scaling, logging integrado a Cloud Logging y acceso a los modelos Gemini via la misma VPC. El deploy sube el código, las dependencias y la configuración de sesión a Vertex y devuelve un endpoint de invocación. Ver la documentación oficial de Vertex AI Agent Builder.

La principal ventaja de Vertex sobre Bedrock es la integración nativa con el ecosistema Google: BigQuery para memoria larga, Vertex AI Search para RAG, IAP para autenticación federada y Cloud Run para acciones. Si tu stack ya es GCP, la fricción de integración es mínima. La desventaja es que el Reasoning Engine está aún en preview y la documentación cambia frecuentemente. El blog de IA de Google Cloud es la fuente más actualizada para cambios de API.

Azure AI Agent Service

Azure AI Agent Service es el más reciente de los tres, anunciado en preview en 2024 y con disponibilidad general progresiva a lo largo de 2025. Su arquitectura está directamente inspirada en la API de Assistants de OpenAI, de hecho, el SDK de Python usa el mismo cliente (azure-ai-projects) que envuelve la misma interfaz de threads, messages y runs. Esto tiene una implicación práctica importante: el código escrito para OpenAI Assistants es portable a Azure AI Agent Service con cambios mínimos.

El servicio gestiona automáticamente el almacenamiento de threads en Azure Cosmos DB, el código de ejecución de herramientas built-in (code interpreter, file search, Bing grounding) y el logging en Azure Monitor. La integración con Entra ID (antes Azure Active Directory) es nativa: los agentes cloud pueden autenticarse contra APIs internas de la empresa usando Managed Identity sin gestionar secretos. Para empresas más usuarias de Microsoft (M365, Azure DevOps, Power Platform), esto elimina toda la capa de gestión de credenciales.

Los modelos disponibles son los del Azure OpenAI Service: GPT-4o, GPT-4o-mini, GPT-4 Turbo, más modelos de terceros disponibles en Azure AI Marketplace (Llama 3, Mistral). Gemini y Claude no están disponibles nativamente en Azure, lo cual es una limitación relevante si el brief técnico exige esos modelos (Ver la documentación oficial de Azure AI Agent Service.)

El pricing de Azure AI Agent Service no añade un coste de orquestación fijo: facturas por tokens consumidos en el modelo subyacente más el almacenamiento de threads. Esto lo hace comparativamente más barato que Bedrock para cargas de alta frecuencia, aunque la diferencia desaparece si usas herramientas built-in como file search o code interpreter, que tienen coste adicional por sesión.

Comparativa: características, precios, integraciones y modelos disponibles

La tabla siguiente recoge las variables más relevantes para una decisión de producción. Los precios son orientativos (input/output tokens en modelo estándar de cada plataforma, sin descuentos de volumen) y deben verificarse contra los calculadores oficiales de cada proveedor, ya que cambian con frecuencia.

VariableBedrock Agents (AWS)Vertex AI (GCP)Azure AI Agent Service
Modelo LLM principalClaude 3, Llama 3, TitanGemini 1.5 Pro/FlashGPT-4o, GPT-4o-mini
Primitiva de acciónAction Groups (OpenAPI schema + Lambda)Tools (Function Calling) / PlaybooksTool definitions JSON + Function Calling
RAG integradoKnowledge Bases (OpenSearch / pgvector)Data Stores (Vertex AI Search)File Search (Azure Cognitive Search)
Memoria de sesiónDynamoDB managedSession managed (Reasoning Engine)Cosmos DB managed (threads)
Auth nativaIAM Roles + SCPIAP + Workload Identity FederationEntra ID + Managed Identity
Coste orquestación+tokens de sistema (~20-40% overhead)Incluido en precio GeminiSin overhead adicional en modelo
GA / MadurezGA (2024)GA Agent Builder; Reasoning Engine PreviewPreview → GA progresivo 2025
Lock-inAlto (action groups no portables)Medio (LangChain portable)Bajo (API compatible OpenAI)
ObservabilidadCloudWatch + X-Ray tracesCloud Logging + Cloud TraceAzure Monitor + App Insights
Stack idealAll-in AWS, Lambda heavyGCP + BigQuery + GCSMicrosoft 365 + Azure DevOps

La lectura práctica de la tabla es clara: elige el proveedor que ya usas. La fricción de cross-cloud (federar identidades, transferir datos entre GCS y S3, reescribir action groups) suele costar más que cualquier ventaja marginal de features. Si el equipo es agnóstico de cloud, Azure tiene la ventaja de la portabilidad de código (compatibilidad OpenAI API) y Bedrock la de la madurez operativa.

Cuándo elegir agentes cloud vs self-hosted (LangGraph, OpenAI SDK)

El debate cloud managed vs self-hosted no tiene respuesta universal. La decisión correcta depende de tres vectores: volumen de invocaciones, capacidad de plataforma del equipo y nivel de personalización necesario. Los siguientes criterios cubren los casos más frecuentes que vemos al construir agentes de IA para empresas.

Usar agentes cloud managed cuando:

  • El equipo tiene menos de 3 ingenieros/técnicos dedicados a infraestructura de IA.
  • El time-to-market es crítico (menos de 4 semanas para primer despliegue).
  • Los requisitos de compliance (HIPAA, PCI, ISO 27001) ya están cubiertos por el proveedor cloud.
  • El uso de herramientas es predecible y mapeable a action groups / tool definitions sin lógica de orquestación compleja.

Usar self-hosted (LangGraph / OpenAI Agents SDK) cuando:

  • El volumen supera los 5 millones de invocaciones de herramientas/mes (el coste de orquestación managed escala linealmente).
  • La lógica del agente es suficientemente compleja para necesitar grafos de estado custom, loops condicionales o subagentes.
  • Necesitas multi-vendor: un agente que use Claude para razonamiento, Gemini para visión y GPT-4o para código, con routing dinámico.
  • El equipo ya tiene LangChain o LangGraph en producción y la curva de aprendizaje del managed es superior al beneficio.

Un tercer camino que merece mención: usar el Model Context Protocol (MCP) como capa de herramientas sobre cualquiera de los tres cloud providers. MCP estandariza la definición de herramientas de forma interoperable, reduciendo el lock-in de los action groups propietarios. Es un camino aún emergente pero con adopción creciente en 2025-2026.

Caso real: desplegar un agente en Bedrock (código)

El siguiente flujo despliega un agente de soporte técnico en Bedrock Agents con un action group que consulta el estado de tickets en un sistema interno. El código es ejecutable con credenciales AWS estándar y region us-east-1. Se asume que el rol IAM ya tiene los permisos bedrock:CreateAgent, bedrock:CreateAgentActionGroup y lambda:InvokeFunction.

Paso 1: Crear el agente via AWS CLI

# Crear el agente base (modelo: Claude 3 Sonnet)
aws bedrock-agent create-agent \
  --agent-name "soporte-tecnico-agent" \
  --agent-resource-role-arn "arn:aws:iam::123456789012:role/BedrockAgentRole" \
  --foundation-model "anthropic.claude-3-sonnet-20240229-v1:0" \
  --instruction "Eres un agente de soporte técnico especializado. \
    Consulta el estado de tickets con la herramienta get_ticket_status. \
    Siempre responde en castellano. Sé conciso y específico." \
  --idle-session-ttl-in-seconds 1800 \
  --region us-east-1

# Preparar el agente para invocación (necesario tras crear o modificar)
aws bedrock-agent prepare-agent \
  --agent-id  \
  --region us-east-1

Paso 2: Invocar el agente via boto3

import boto3
import json
import uuid

# Cliente para invocación del agente (bedrock-agent-runtime, no bedrock-agent)
client = boto3.client("bedrock-agent-runtime", region_name="us-east-1")

AGENT_ID = "XXXXXXXXXX"       # Obtenido del CLI anterior
AGENT_ALIAS_ID = "TSTALIASID" # "TSTALIASID" para testing, o el alias de producción

def invoke_agent(user_input: str, session_id: str = None) -> str:
    """
    Invoca el agente de soporte técnico y devuelve la respuesta final.
    Bedrock streamed la respuesta en chunks; aquí los concatenamos.
    """
    session_id = session_id or str(uuid.uuid4())

    response = client.invoke_agent(
        agentId=AGENT_ID,
        agentAliasId=AGENT_ALIAS_ID,
        sessionId=session_id,
        inputText=user_input,
        enableTrace=True,  # Activa CloudWatch traces para debugging
    )

    full_response = ""
    for event in response["completion"]:
        if "chunk" in event:
            chunk_bytes = event["chunk"]["bytes"]
            full_response += chunk_bytes.decode("utf-8")
        elif "trace" in event:
            # Opcional: procesar traces para observabilidad
            trace_data = event["trace"]
            if "orchestrationTrace" in trace_data.get("trace", {}):
                orch = trace_data["trace"]["orchestrationTrace"]
                if "rationale" in orch:
                    print(f"[TRACE] Razonamiento: {orch['rationale']['text']}")

    return full_response

# Uso
respuesta = invoke_agent(
    user_input="¿Cuál es el estado del ticket TKT-2024-001?",
    session_id="sesion-demo-001"
)
print(respuesta)

Paso 3: Lambda action group para consulta de tickets

import json

# Lambda function que Bedrock llama cuando el agente decide usar la herramienta
# El evento tiene la estructura definida por Bedrock (apiPath + requestBody)

def lambda_handler(event, context):
    """
    Action group handler para el agente de soporte técnico.
    Bedrock invoca esta Lambda con el action group seleccionado y los parámetros extraídos.
    """
    action_group = event.get("actionGroup", "")
    api_path = event.get("apiPath", "")
    parameters = event.get("parameters", [])

    # Extraer parámetros de la lista de dicts que envía Bedrock
    params = {p["name"]: p["value"] for p in parameters}

    if api_path == "/get_ticket_status":
        ticket_id = params.get("ticket_id", "")
        result = get_ticket_status(ticket_id)
    elif api_path == "/list_open_tickets":
        user_email = params.get("user_email", "")
        result = list_open_tickets(user_email)
    else:
        result = {"error": f"Endpoint no reconocido: {api_path}"}

    # Respuesta en el formato que espera Bedrock
    return {
        "actionGroup": action_group,
        "apiPath": api_path,
        "httpMethod": event.get("httpMethod", "GET"),
        "httpStatusCode": 200,
        "responseBody": {
            "application/json": {
                "body": json.dumps(result)
            }
        }
    }

def get_ticket_status(ticket_id: str) -> dict:
    """Consulta real a tu sistema de tickets (Jira, Zendesk, custom)."""
    mock_tickets = {
        "TKT-2024-001": {"estado": "En progreso", "asignado": "equipo-backend", "prioridad": "alta"},
        "TKT-2024-002": {"estado": "Resuelto", "asignado": "equipo-infra", "prioridad": "media"},
    }
    return mock_tickets.get(ticket_id, {"error": f"Ticket {ticket_id} no encontrado"})

def list_open_tickets(user_email: str) -> dict:
    """Lista tickets abiertos para un usuario."""
    # TODO Diego: reemplazar por consulta real
    return {"tickets_abiertos": ["TKT-2024-001"], "total": 1}

Paso 4: Deploy de un agente en Vertex AI Reasoning Engine

import vertexai
from vertexai.preview import reasoning_engines
from langchain_google_vertexai import ChatVertexAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.tools import tool

# Configuración del proyecto GCP
PROJECT_ID = "mi-proyecto-gcp"
LOCATION = "us-central1"
STAGING_BUCKET = "gs://mi-bucket-staging"

vertexai.init(project=PROJECT_ID, location=LOCATION, staging_bucket=STAGING_BUCKET)

# Definir herramienta custom
@tool
def consultar_crm(empresa: str) -> str:
    """Consulta el CRM para obtener información de una empresa cliente."""
    # TODO Diego: reemplazar por llamada real al CRM
    return f"Empresa: {empresa} | Contrato: activo | ARR: 24.000€ | Último contacto: 2026-05-15"

# Crear el agente LangChain que se ejecutará en Reasoning Engine
def create_agent():
    llm = ChatVertexAI(model_name="gemini-1.5-pro-001", temperature=0.1)

    prompt = ChatPromptTemplate.from_messages([
        ("system", "Eres un asistente de ventas B2B. Usa las herramientas disponibles para consultar información de clientes antes de responder."),
        ("human", "{input}"),
        ("placeholder", "{agent_scratchpad}"),
    ])

    tools = [consultar_crm]
    agent = create_tool_calling_agent(llm, tools, prompt)
    return AgentExecutor(agent=agent, tools=tools, verbose=False)

# Wrapper compatible con Reasoning Engine
class AgenteCRM(reasoning_engines.Queryable):
    def set_up(self):
        self.agent = create_agent()

    def query(self, input: str) -> str:
        result = self.agent.invoke({"input": input})
        return result["output"]

# Deploy al Reasoning Engine (sube código + dependencias a Vertex)
app = reasoning_engines.ReasoningEngine.create(
    AgenteCRM(),
    requirements=[
        "google-cloud-aiplatform[reasoningengine,langchain]>=1.45.0",
        "langchain-google-vertexai>=1.0.6",
        "langchain>=0.2.0",
    ],
    display_name="agente-crm-baigency",
    description="Agente de consulta CRM desplegado via Vertex AI Reasoning Engine",
)

print(f"Reasoning Engine desplegado: {app.resource_name}")

# Invocación tras deploy
respuesta = app.query(input="Dame los datos del cliente Empresa Ejemplo S.L.")
print(respuesta)

Seguridad y compliance: IAM, VPC, audit

Los tres proveedores cubren los requisitos de compliance más habituales (SOC 2 Type II, ISO 27001, HIPAA, GDPR), pero la configuración de seguridad por defecto de los agentes no es production-ready. Hay cuatro vectores de hardening que aplican independientemente del proveedor elegido.

Principio de mínimo privilegio en IAM. En Bedrock, el rol del agente debe tener únicamente los permisos bedrock:InvokeModel para el modelo específico y lambda:InvokeFunction para las Lambdas del action group. No usar roles amplios como AmazonBedrockFullAccess en producción. En GCP, usar Workload Identity Federation en lugar de service account keys descargadas. En Azure, Managed Identity sobre secretos en Key Vault.

Aislamiento de red. Bedrock soporta VPC endpoints (PrivateLink) para que el tráfico entre el agente y el modelo no salga a internet público. Vertex AI Reasoning Engine corre dentro de la VPC del proyecto por defecto. Azure AI Agent Service soporta Private Endpoints sobre Azure Virtual Network. En los tres casos, deshabilitar el acceso público si los datos son sensibles.

Audit logging obligatorio. CloudWatch Logs con retención mínima de 90 días (GDPR) para Bedrock. Cloud Audit Logs con exportación a BigQuery para Vertex. Azure Monitor con Log Analytics Workspace para Azure. Los agentes de IA que procesan datos de usuarios finales deben loggear cada invocación con session ID, input hash (no el input completo si hay PII) y output hash.

Guardrails y filtros de contenido. Bedrock tiene una capa nativa de guardrails configurable por topic, content policy y PII detection. Vertex AI tiene la Safety API de Gemini integrada. Azure tiene Azure Content Safety. En producción, configurar siempre un nivel de filtrado explícito — no asumir los defaults son suficientes para todos los casos de uso.

Para agentes de IA en sectores regulados (sanidad, banca, legal), añadir una capa de logging de compliance external al proveedor cloud: los logs del proveedor pueden cambiar de formato con actualizaciones, mientras que un datastore propio bajo control del equipo de compliance es más robusto a largo plazo.

Preguntas frecuentes sobre agentes cloud

¿Cuánto cuesta un agente en producción en AWS Bedrock?

El coste de un agente cloud en Bedrock depende del modelo elegido y el número de tokens procesados en cada interacción. A junio de 2026, Claude 3 Sonnet en Bedrock factura aproximadamente 3 USD por millón de tokens de entrada y 15 USD por millón de salida. La capa de orquestación de Bedrock Agents añade un overhead de tokens de sistema de entre el 15% y el 40% dependiendo del número de action groups configurados. Para un agente con 100.000 invocaciones/mes y un promedio de 2.000 tokens por sesión, el coste estimado se sitúa entre 700 y 1.200 USD/mes. Modelar antes de comprometerse.

¿Puedo usar Claude en Vertex AI o en Azure?

Claude de Anthropic está disponible en Amazon Bedrock (vía Anthropic en AWS Marketplace) y en Google Cloud Vertex AI Model Garden. No está disponible nativamente en Azure AI Agent Service, donde los modelos son los del catálogo de Azure OpenAI Service y Azure AI Marketplace (Llama, Mistral). Si tu requisito es usar Claude y estás en Azure, la alternativa es llamar directamente a la API de Anthropic desde una Azure Function, perdiendo la integración managed de Azure AI Agent Service.

¿Qué diferencia hay entre Vertex AI Agent Builder y Reasoning Engine?

Agent Builder es una plataforma low-code orientada a flujos conversacionales con playbooks, data stores y conectores pre-built. Está pensada para equipos con baja experiencia en desarrollo de agentes. Reasoning Engine es un runtime de ejecución managed para código Python arbitrario — puedes desplegar un agente escrito con LangChain, LangGraph o código completamente custom. Son complementarios: Builder para prototipado rápido con modelos de dominio conocido, Reasoning Engine para producción con lógica compleja o frameworks propios.

¿Los action groups de Bedrock son compatibles con el estándar OpenAPI?

Los action groups de Bedrock se definen mediante un schema OpenAPI 3.0, lo que facilita la documentación y el testing. Sin embargo, la integración está acoplada a AWS Lambda como backend de ejecución — no puedes apuntar a un endpoint HTTP arbitrario sin pasar por una Lambda intermediaria. Esto significa que el schema es estándar pero el runtime es propietario. Si necesitas portabilidad entre providers, el Model Context Protocol (MCP) ofrece una alternativa con menor acoplamiento a infraestructura AWS.

¿Cómo se gestionan las conversaciones multi-turno en los tres proveedores?

Los tres proveedores gestionan la memoria de sesión de forma automática: Bedrock usa un session ID que el cliente pasa en cada invocación y almacena el historial en DynamoDB interno; Vertex AI Reasoning Engine mantiene el estado del agente entre llamadas al mismo endpoint; Azure AI Agent Service usa el modelo de threads de OpenAI, donde cada thread es una conversación persistente con su historial de mensajes. En los tres casos, el TTL de sesión es configurable. Para conversaciones de más de 24 horas, conviene implementar un mecanismo de resumen de contexto para no saturar la ventana del modelo.

¿Cuándo tiene sentido usar LangChain o LangGraph en lugar de un agente cloud managed?

LangChain y LangGraph son la opción correcta cuando necesitas control total sobre el grafo de ejecución del agente: loops condicionales, subagentes con routing dinámico, integración de múltiples LLMs en el mismo pipeline o lógica de recuperación de errores personalizada. Los agentes managed sacrifican esa flexibilidad a cambio de simplicidad operativa. Si el agente tiene más de cinco herramientas con lógica de selección compleja, o si necesitas que diferentes pasos del pipeline usen modelos diferentes, el self-hosted con LangGraph escala mejor. El coste operativo de la infraestructura propia se amortiza habitualmente a partir de los 3-4 millones de invocaciones de herramientas mensuales.

Conclusión + próximos pasos

Los tres grandes proveedores cloud ofrecen runtimes de agentes maduros (o próximos a madurez) que resuelven los problemas de infraestructura más costosos: orquestación del loop, memoria de sesión, integración IAM y observabilidad. La decisión entre ellos no debería basarse en un benchmark de features aislados sino en el ecosistema que ya usa el equipo: si el stack es AWS, Bedrock Agents es la opción más integrada; si es GCP, Vertex AI Agent Builder o Reasoning Engine; si es Microsoft, Azure AI Agent Service con su compatibilidad OpenAI reduce la curva de migración.

Lo que los managed no resuelven es la lógica de negocio: definir qué herramientas necesita el agente, cómo se validan sus respuestas, qué hacer cuando falla y cómo medir si está produciendo valor. Eso sigue siendo trabajo de ingeniería. Los frameworks self-hosted como LangChain y el OpenAI Agents SDK dan más control sobre esa lógica; los managed la abstraen a cambio de menor flexibilidad.

Si estás evaluando qué arquitectura de agentes de IA tiene más sentido para tu empresa — cloud managed, self-hosted o híbrido — en Baigency trabajamos con los tres entornos y podemos hacer una evaluación técnica de tu caso específico. El primer paso es entender el volumen, los sistemas que debe integrarse y los requisitos de compliance. Contacta a través del formulario de la web y lo concretamos.

Si quieres profundizar en el ecosistema técnico, los siguientes posts del cluster son el complemento natural a este: la guía de arquitectura agéntica para entender los patrones que aplican en cualquier plataforma, la guía del Model Context Protocol para estandarizar herramientas entre proveedores, y el deep dive en OpenAI Agents SDK para el path de menor lock-in si buscas portabilidad máxima.

Leave a comment

Explore
Drag