Bedrock Agents: automatización con IA sobre tu infraestructura AWS

By Carlos Montiel | Especialista en IA Empresarial
Publicado: 2026-07-28 | Por: Carlos Montiel | Lectura: ~4 minutos

Un Agent de Bedrock no solo conversa: ejecuta funciones Lambda, consulta bases de datos y encadena decisiones sobre su infraestructura real. Así se diseña uno que no se rompe en producción.

Qué resuelve un Agent que un prompt no resuelve

Un modelo fundacional invocado directamente responde texto. Un Bedrock Agent orquesta una secuencia de razonamiento y acción: interpreta la solicitud del usuario, decide qué herramienta (action group) necesita, la invoca, evalúa el resultado y decide el siguiente paso, hasta producir una respuesta final. Bedrock implementa esto con un patrón de razonamiento tipo ReAct (Reasoning + Acting) sobre el modelo subyacente que usted elija — típicamente Claude en la familia Anthropic por su desempeño en tool use.

La diferencia práctica frente a construir su propio loop de function calling: Bedrock administra el estado de la sesión, el parseo de las llamadas a funciones, los reintentos ante fallos de invocación y la trazabilidad completa del razonamiento (accesible vía trace en modo debug), sin que usted mantenga ese código de orquestación.

Action groups: el puente hacia su infraestructura

Un action group define qué puede hacer el agente, mediante un esquema OpenAPI (Swagger) que describe las operaciones disponibles, o mediante una definición de función simplificada. Cada operación del esquema se mapea a una función Lambda que Bedrock invoca cuando el modelo decide que necesita esa acción.

{ "openapi": "3.0.0", "info": {"title": "Inventario API", "version": "1.0.0"}, "paths": { "/consultar-stock": { "get": { "operationId": "consultarStock", "parameters": [{ "name": "sku", "in": "query", "required": true, "schema": {"type": "string"} }], "responses": {"200": {"description": "Stock disponible"}} } } } }

El diseño del esquema es lo que más impacta la fiabilidad del agente. Descripciones vagas producen invocaciones erróneas; parámetros mal tipados producen errores de parseo. Trate cada `operationId` y su descripción como el prompt más importante del sistema — el modelo decide qué función llamar basándose casi exclusivamente en ese texto.

Integración con Lambda: el patrón real

La función Lambda detrás de un action group recibe un evento con el nombre de la acción, los parámetros extraídos por el modelo, y debe responder en el formato de respuesta esperado por el agente (`response.actionResponse` con el body serializado).

def lambda_handler(event, context): action_group = event["actionGroup"] function = event["function"] parameters = {p["name"]: p["value"] for p in event.get("parameters", [])} if function == "consultarStock": sku = parameters.get("sku") stock = consultar_inventario(sku) # su lógica de negocio body = {"application/json": {"body": json.dumps({"stock": stock})}} else: body = {"application/json": {"body": json.dumps({"error": "función no soportada"})}} return { "messageVersion": "1.0", "response": { "actionGroup": action_group, "function": function, "functionResponse": {"responseBody": body}, }, }

Un error común: no validar que los parámetros extraídos por el modelo tengan el tipo y formato esperado antes de golpear sistemas downstream — el modelo puede alucinar un SKU inexistente o un formato de fecha inválido, y la Lambda debe manejarlo con la misma disciplina que cualquier input de usuario no confiable.

Memoria de sesión y contexto multi-turno

Los Agents soportan memoria de sesión configurable (session attributes y memory configuration) que permite mantener contexto entre turnos de una conversación sin reenviar todo el historial en cada invocación. Para conversaciones que exceden una sesión — un ticket de soporte que se retoma días después — se puede persistir el estado en DynamoDB y reinyectarlo como contexto inicial.

Orquestación con múltiples agentes (multi-agent collaboration)

Bedrock soporta colaboración multi-agente: un agente supervisor delega subtareas a agentes especializados (uno para consultas de facturación, otro para soporte técnico, otro para logística), cada uno con su propio conjunto de action groups y su propio modelo si es necesario. El supervisor decide a quién delegar según la intención detectada, similar al patrón de "router" en arquitecturas de microservicios, pero decidido por el modelo en tiempo de ejecución en lugar de reglas estáticas.

Casos de uso donde un Agent supera a un chatbot simple

Los casos que justifican la complejidad de un Agent — versus un simple prompt con RAG — son aquellos que requieren ejecutar acciones con efectos secundarios reales: crear un ticket en Jira, actualizar un registro en RDS, disparar un flujo en Step Functions, o consultar múltiples sistemas y sintetizar la respuesta. Si la tarea es puramente informativa sobre documentos estáticos, una Knowledge Base sin agente suele ser más simple, más barata y más predecible. Reserve los Agents para flujos donde la acción — no solo la respuesta — es el entregable.

Carlos Montiel
Arquitecto de Soluciones IA Empresarial
Especialista en LLMs, Agentes y Orquestación
guatemalia.com/#contacto · info@guatemalia.com

¿Necesitas implementar IA en tu empresa?

Carlos Montiel es arquitecto de soluciones IA empresarial. Implementa LLMs, Agentes, RAG y orquestadores en empresas de Guatemala y Latinoamérica. Contáctalo para una consultoría.

Contactar a Carlos Montiel

info@guatemalia.com