Desarrollo de Agentes con Amazon Strands Agents 🚀

Published: (December 19, 2025 at 10:53 PM EST)
5 min read
Source: Dev.to

Source: Dev.to

IA Generativa o IA Agéntica

Es fundamental entender la diferencia para una automatización efectiva:

TipoDescripción
IA GenerativaSe enfoca en crear contenido como texto, imágenes, música, código u otros.
IA AgénticaSoftware capaz de tomar decisiones de manera autónoma; puede incluir generación de contenido.
ClaveLa IA agéntica describe la capacidad, mientras que los Agentes de IA son la implementación concreta de esa autonomía.

El Stack Tecnológico: Amazon Strands Agents

Amazon Strands Agents es un SDK open source que trabaja con Python y TypeScript, diseñado para crear y ejecutar agentes, permitiendo escalar desde pruebas locales hasta entornos de producción.

  • SDK de código abierto.
  • Permite crear y ejecutar agentes.
  • Soporta casos simples y complejos.
  • Funciona en entornos locales y de producción.

La documentación oficial está disponible en:

Modelo de Operación

Un agente de Strands opera mediante tres componentes clave que trabajan en conjunto:

  1. Instrucción (El Propósito)

    • Se proporciona una instrucción en lenguaje natural que define la tarea para el agente.
    • Ejemplo: “Responder a una pregunta de un usuario final”.
    • Chain‑of‑Thought (CoT) dentro de la instrucción:
      • Rol: “Eres un asistente especializado en X…”.
      • Restricciones: “Nunca inventes datos si no están en la Knowledge Base”.
      • Formato de salida: “Responde siempre en formato JSON si la consulta es técnica”.
  2. Modelo (El Cerebro)

    • El agente utiliza un modelo de lenguaje grande (LLM) como núcleo de razonamiento.
  3. Herramientas (Las Acciones)

    • Capacidades externas con las que el agente puede interactuar para completar la tarea.
    • Protocolo MCP: Strands utiliza este protocolo para proporcionar un “lenguaje” seguro y estandarizado que permite a los LLM comunicarse con datos, aplicaciones y servicios externos.
    • Ejemplos de categorías de herramientas: sistemas de archivos, herramientas de desarrollo, herramientas de productividad y comunicación, herramientas de IA especializadas.

Bucle de Interacción

Un agente interactúa con su modelo y herramientas en un bucle continuo hasta que la tarea indicada en la solicitud se completa. Este bucle es fundamental para las capacidades de Strands.

Diagrama del bucle de interacción

La Mecánica: ¿Cómo Funciona Strands Agents?

El proceso de implementación se puede resumir en los siguientes pasos prácticos:

Paso 1 – Instalar Strands Agents

pip install strands-agents

Paso 2 – Crear el código, seleccionar modelo y configuración

from strands_agents import Agent
from strands_agents.models import BedrockModel

# Seleccionar el modelo (Amazon Bedrock)
model_bedrock = BedrockModel(
    model_id="anthropic.claude-3-sonnet-20240229-v1:0",
    region_name="us-east-1"
)

# Definir instrucciones y herramientas (MCP)
agente_analista = Agent(
    model=model_bedrock,
    instructions=(
        "Eres un asistente técnico que analiza logs de servidores y sugiere soluciones."
    ),
    tools=["fetch_logs_tool", "cloudwatch_reader"],
    max_iterations=10   # Configuración del bucle de interacción
)

Paso 3 – Ejecutar, utilizar y obtener salida

print("Iniciando tarea del agente...")
resultado = agente_analista.run(
    "Revisa los errores críticos de las últimas 2 horas en el clúster de producción."
)

print("--- Informe Final del Agente ---")
print(resultado)

¿Por qué usar este flujo?

CaracterísticaBeneficio
Bucle de InteracciónEl agente no se detiene en la primera respuesta; utiliza modelo y herramientas repetidamente hasta cumplir la instrucción.
Protocolo MCPPermite que tu agente en Bedrock se conecte de forma estandarizada a sistemas de archivos o herramientas de desarrollo.
EscalabilidadEl mismo código puede pasar de un ambiente local a una arquitectura de producción en AWS.

Próximos pasos

  • Explorar más herramientas MCP (bases de datos, APIs externas, etc.).
  • Ajustar prompts con CoT para mejorar la precisión.
  • Implementar monitoreo de los bucles de interacción en producción.

Con Strands Agents, la creación de agentes autónomos en AWS se vuelve tan sencilla como escribir unas pocas líneas de Python.

Seguridad y control (Guardrails)

Un Guardrail actúa como una “malla de seguridad” entre el usuario y el modelo. Se configura principalmente en cuatro capas:

  1. Filtros de contenido – Bloquean categorías como odio, insultos, contenido sexual o violencia.
  2. Temas denegados (Denied Topics) – Evitan que el agente hable de temas específicos (p. ej., “no hables de criptomonedas” o “no menciones a la competencia”).
  3. Filtros de información personal (PII) – Detectan y anonimicen datos como DNI, tarjetas de crédito o correos electrónicos.
  4. Filtros de palabras – Bloquean términos específicos definidos por ti.

Ejemplo 1

Configuración de un Tema Denegado para un asistente de atención al cliente de una tienda de electrónica.

Nombre del tema: Comparación con la competencia.

Definición del tema:

“Cualquier consulta donde el usuario pregunte por precios, productos o servicios de competidores directos como Best Buy, MediaMarkt o Amazon Prime Shopping.”

Mensaje de bloqueo personalizado:

“Lo siento, como asistente oficial de esta tienda, solo puedo proporcionarte información sobre nuestros propios productos y servicios. ¿En qué más puedo ayudarte?”

Al invocar al agente desde tu aplicación, pasa el ID del Guardrail creado en la consola para que se aplique en tiempo real.

import boto3

client = boto3.client('bedrock-agent-runtime')

def consultar_agente_con_seguridad(input_texto, session_id):
    response = client.invoke_agent(
        agentId='ID_DE_TU_AGENTE',
        agentAliasId='ALIAS_ID',
        sessionId=session_id,
        inputText=input_texto,
        # Activar el Guardrail creado previamente
        guardrailIdentifier='abc123456789',
        guardrailVersion='1',
        enableTrace=True
    )
    # Si el Guardrail bloquea la respuesta, el evento 'trace' lo indicará
    # o el texto de salida será el mensaje personalizado configurado.
    return response

Ejemplo 2

Configuración para que el agente nunca vea o guarde el correo electrónico del usuario (cumplimiento GDPR).

Tipo de PIIAcción
EMAILBLOCK (bloquea la entrada si hay un email) OR MASK (reemplaza el email por [EMAIL])

Resultado esperado

  • Usuario: “Hola, mi correo es xx.yyy@gmail.com, ¿puedes ayudarme?”
  • Lo que recibe el modelo: “Hola, mi correo es [EMAIL], ¿puedes ayudarme?”

Construir un agente funcional es solo el comienzo; el verdadero reto es hacerlo seguro, preciso y escalable. Implementar Guardrails y optimizar tus Knowledge Bases es lo que diferenciará una prueba de concepto de una solución lista para producción. ¡Lleva tu agente al siguiente nivel y empieza a construir aplicaciones de IA generativa que realmente transformen tu negocio!

Back to Blog

Related posts

Read more »