Lab práctico · Semana 11: Repaso final: simulacros, técnica de examen y visión transversal
Diseño de soluciones de IA generativa: de los requisitos al coste por tokens
Qué vas a construir
Nada en tu cuenta de AWS: vas a diseñar, que es exactamente lo que evalúa el AIP-C01 y lo que te pedirán en una entrevista técnica. Para cada uno de tres escenarios de empresa:
- Extraer los requisitos (funcionales, no funcionales y restricciones) y detectar el que decide.
- Proponer una arquitectura y dibujarla (en papel, en draw.io o en Mermaid).
- Justificarla por dominio del examen: modelos y datos (D1), implementación (D2), seguridad y gobierno (D3), coste y operación (D4), evaluación (D5).
- Estimar el coste por tokens, que es lo que de verdad mueve la factura en IA generativa.
Después compara con la solución de referencia (en los desplegables). No hay una única respuesta correcta: si tu diseño difiere, comprueba si cumple todos los requisitos y si el calificador (coste, esfuerzo operativo, latencia…) te favorece.
Los tres escenarios:
| Escenario | Patrón | Task statements clave |
|---|---|---|
| 1. Asistente interno con RAG y permisos por documento | RAG empresarial | 1.1, 1.4, 1.5, 3.2, 4.1 |
| 2. Agente de atención al cliente con herramientas y guardrails | Agente con herramientas | 2.1, 2.3, 3.1, 4.3, 5.1 |
| 3. Procesamiento masivo de documentos por lotes | Pipeline por lotes | 1.3, 2.2, 2.4, 3.3, 4.1 |
Antes de empezar
- Ten a mano el módulo 11 (tablas por task statement y pares que se confunden).
- Abre la página de precios de Bedrock y la AWS Pricing Calculator (no necesita cuenta y no crea nada).
- Plantilla para cada escenario (cópiala en un documento):
| Apartado | Tu respuesta |
|---|---|
| Requisitos funcionales | |
| Requisitos no funcionales (latencia, disponibilidad, volumen) | |
| Restricciones (residencia de datos, presupuesto, equipo, plazos) | |
| Requisito que decide | |
| Arquitectura (servicios y flujo) | |
| Alternativas descartadas y por qué | |
| Justificación por dominio (D1-D5) | |
| Coste mensual estimado y supuestos |
Paso 1: aprende a estimar coste por tokens (15 min)
En IA generativa el coste variable dominante casi siempre es el de los tokens. La fórmula:
coste mensual = peticiones/mes × (tokens de entrada × precio entrada + tokens de salida × precio salida) / 1.000.000
Cómo estimar cada término:
- Tokens de entrada = system prompt + historial + contexto recuperado (fragmentos de RAG) + definiciones de herramientas + pregunta del usuario. En RAG, el contexto recuperado suele ser el 70-90 % de la entrada.
- Tokens de salida = longitud de la respuesta. Se paga 4-5 veces más cara que la entrada: limita
maxTokens. - Regla orientativa: 1 token ≈ 4 caracteres en inglés y algo menos en español (usa la API CountTokens de Bedrock para medirlo con tu texto).
- En agentes, cada paso del bucle es una llamada al modelo con todo el contexto acumulado: multiplica.
Ejemplo rápido: 100.000 peticiones con 2.000 tokens de entrada y 300 de salida en Nova Lite (eu-south-2):
- Entrada: 100.000 × 2.000 = 200 M tokens × 0,066 = 13,20 USD
- Salida: 100.000 × 300 = 30 M tokens × 0,264 = 7,92 USD
- Total: 21,12 USD/mes. El mismo volumen en Claude Haiku 4.5 (EU): 200 × 1,10 + 30 × 5,50 = 385 USD/mes.
Esa diferencia de 18 veces es la razón por la que el examen pregunta tanto por elegir el modelo más pequeño que cumpla.
Paso 2: escenario 1, asistente interno con RAG y permisos por documento (60-90 min)
El enunciado
Una aseguradora con sede en Madrid y 2.000 empleados quiere un asistente interno que responda preguntas sobre procedimientos, contratos tipo, normativa interna y documentación técnica.
- Los documentos (unos 40.000, 2 GB de texto) están en SharePoint y en un bucket de S3. Se modifican a diario.
- Cada empleado solo puede obtener respuestas basadas en documentos a los que tiene acceso (por ejemplo, Recursos Humanos ve nóminas; el resto no).
- Las respuestas deben citar la fuente para que el empleado pueda comprobarla.
- Los datos no pueden salir de la UE.
- Los empleados se autentican con el directorio corporativo (Microsoft Entra ID).
- Uso estimado: 10 preguntas por empleado y día laborable (22 días al mes).
- El equipo es pequeño: se busca el menor esfuerzo operativo posible.
- Dirección quiere saber si las respuestas son buenas antes de ampliar el piloto a toda la empresa.
Tu trabajo
- Rellena la plantilla. ¿Cuál es el requisito que decide?
- Dibuja la arquitectura: identidad, interfaz, API, recuperación, generación, seguridad y observabilidad.
- Justifica por dominio.
- Estima el coste mensual de tokens, recuperación y guardrails.
Solución de referencia: requisitos
- Requisito que decide: permisos por documento + fuentes empresariales (SharePoint) + mínimo esfuerzo operativo → Managed Knowledge Base, que integra conectores de SharePoint y S3 y ACL por documento.
- Datos que cambian a diario → RAG con sincronización incremental, nunca fine-tuning.
- Residencia en la UE → modelos in-Region o perfil de inferencia geográfico
eu.; nada de perfilesglobal.. - Citar la fuente → las citas que devuelve la recuperación de Knowledge Bases.
- Validar antes de ampliar → evaluación de RAG con un conjunto de preguntas de referencia.
Solución de referencia: arquitectura
flowchart LR
U["Empleado"] --> FE["Frontend web<br/>Amplify Hosting"]
FE --> COG["Amazon Cognito<br/>federado con Entra ID"]
FE --> APIGW["API Gateway<br/>WebSocket API"]
APIGW --> L["Lambda orquestadora"]
L --> KB["Managed Knowledge Base<br/>ACL por documento"]
SP["SharePoint"] --> KB
S3["Bucket S3<br/>documentos"] --> KB
L --> GR["Bedrock Guardrails"]
L --> FM["Modelo vía perfil eu.<br/>ConverseStream"]
L --> DDB["DynamoDB<br/>historial con TTL"]
L -.-> CW["CloudWatch<br/>métricas y logs"]
FM -.-> IL["Invocation logging<br/>S3 cifrado con KMS"]
Flujo:
- El empleado inicia sesión con su cuenta corporativa (Cognito federado con Entra ID por SAML/OIDC).
- La pregunta llega por API Gateway WebSocket para poder devolver la respuesta en streaming.
- La Lambda recupera fragmentos de la Managed Knowledge Base pasando la identidad del usuario, de modo que solo obtiene documentos que puede ver.
- Construye el prompt (plantilla versionada en Prompt Management) y llama al modelo con ConverseStream y un guardrail asociado (grounding, PII, temas denegados).
- Devuelve la respuesta con las citas y guarda el turno en DynamoDB (TTL de 30 días).
Solución de referencia: justificación por dominio
| Dominio | Decisiones |
|---|---|
| D1 Modelos y datos | Modelo pequeño-medio en perfil eu. (Nova Lite o Claude Haiku 4.5 según la evaluación). Managed Knowledge Base con conectores de SharePoint y S3, sincronización incremental. Chunking y reranking gestionados por el servicio (la Managed KB no admite chunking semántico; si necesitaras controlarlo, sería una KB gestionada por el cliente, que ya no admite conectores nuevos de SharePoint). Metadatos: departamento, fecha, tipo de documento. Plantilla del prompt en Prompt Management con rol, formato de cita e instrucción de responder «no lo sé» si no hay contexto |
| D2 Implementación | API Gateway WebSocket + Lambda; Converse API para poder cambiar de modelo; ID de modelo en AppConfig para cambiarlo sin redesplegar; backoff exponencial ante ThrottlingException; IaC con CDK y CodePipeline |
| D3 Seguridad y gobierno | Identidad federada; ACL por documento en la recuperación (el filtro se aplica antes de que el modelo vea nada). Guardrails: sensitive information (enmascarar PII como IBAN o DNI), contextual grounding, denied topics (asesoramiento legal personal). VPC endpoint de Bedrock para la Lambda en VPC. KMS en S3, DynamoDB y logs. CloudTrail + invocation logging para auditoría |
| D4 Coste y operación | Modelo pequeño, prompt caching del system prompt, maxTokens limitado, recuperar solo 5 fragmentos. CloudWatch: latencia, tokens, errores, tasa de «no lo sé»; alarmas y Cost Anomaly Detection |
| D5 Evaluación | Golden dataset de 200 preguntas con respuesta y documento esperado. Evaluación de RAG de Bedrock (recuperación y generación) antes del piloto y en cada cambio de prompt o modelo (quality gate). Pulgares arriba/abajo en la interfaz |
Alternativas descartadas:
- Fine-tuning: los documentos cambian a diario y el requisito es conocimiento, no estilo.
- Customer-managed KB con OpenSearch Serverless: posible, pero exige implementar tú los permisos por documento (filtros de metadatos con los grupos del usuario) y gestionar el almacén. Más esfuerzo operativo.
- Amazon Q Business / Kendra: resolvían esto históricamente, pero están cerrados a clientes nuevos desde julio de 2026. Para un asistente listo para usar sin desarrollo, la alternativa actual es Amazon Quick.
- Un índice por departamento: se desincroniza y no escala con permisos cruzados.
Solución de referencia: estimación de coste
Supuestos: 2.000 empleados × 10 preguntas × 22 días = 440.000 preguntas/mes. Por pregunta: 3.000 tokens de entrada (1.000 de system prompt e instrucciones + 5 fragmentos de ~350 tokens + historial breve + pregunta) y 400 de salida.
Tokens al mes: entrada 1.320 M; salida 176 M.
| Concepto | Nova Lite (eu-south-2) | Claude Haiku 4.5 (EU) |
|---|---|---|
| Entrada | 1.320 × 0,066 = 87,12 USD | 1.320 × 1,10 = 1.452,00 USD |
| Salida | 176 × 0,264 = 46,46 USD | 176 × 5,50 = 968,00 USD |
| Tokens | 133,58 USD | 2.420,00 USD |
| Ahorro con prompt caching (1.000 tokens de system prompt leídos de caché) | — (no calculado) | 440 M × (1,10 − 0,11) = −435,60 USD (menos el coste de escritura, a confirmar) |
Otros conceptos:
| Concepto | Cálculo | USD/mes |
|---|---|---|
| Recuperación en Managed KB | 440.000 × 0,001 | 440,00 |
| Almacenamiento Managed KB | 2 GB × 5 | 10,00 |
| Guardrails, content filters | ≈ 3 text units por pregunta (pregunta + respuesta) → 1.320.000 unidades × 0,15/1.000 | 198,00 |
| Guardrails, sensitive information | 1.320.000 × 0,10/1.000 | 132,00 |
| Guardrails, contextual grounding | La respuesta y el contexto: ≈ 12 unidades por pregunta → 5.280.000 × 0,10/1.000 | 528,00 |
| Lambda, API Gateway, DynamoDB, CloudWatch | Pocos cientos de miles de peticiones | Decenas de USD (calcúlalo en la Pricing Calculator) |
Lecturas que valen puntos en el examen:
- Con un modelo pequeño, los tokens dejan de ser el coste principal; la recuperación y los guardrails pesan más. Aplica cada filtro de Guardrails solo donde aporta (por ejemplo, grounding solo a la salida).
- Si Haiku 4.5 no mejora de forma medible la calidad frente a Nova Lite en tu evaluación, el cambio cuesta unos 2.300 USD/mes.
- El número de text units depende de la longitud de cada texto evaluado (según la página de precios de Bedrock, una text unit contiene hasta 1.000 caracteres; un texto más largo cuenta como varias).
Paso 3: escenario 2, agente de atención al cliente con herramientas y guardrails (60-90 min)
El enunciado
Una operadora de telecomunicaciones quiere un agente conversacional en su web y su app que resuelva consultas de clientes:
- Consultar el estado de un pedido y de una avería (API REST interna existente).
- Consultar facturas y emitir abonos de hasta 50 €; por encima de esa cantidad, aprobación de un agente humano.
- Responder preguntas sobre tarifas usando la documentación comercial.
- Recordar el contexto de la conversación y las preferencias del cliente entre sesiones.
- No hablar de la competencia ni dar consejos legales; no revelar datos personales de otros clientes; resistir intentos de manipulación (prompt injection).
- Si el cliente lo pide o el agente no sabe resolverlo, pasar a un agente humano del centro de contacto (ya usan Amazon Connect).
- 50.000 conversaciones al mes, de unos 6 turnos cada una. Respuesta percibida en menos de 3 segundos.
- El equipo quiere usar un framework open source y no gestionar servidores.
Tu trabajo
Igual que en el escenario 1: requisitos, diagrama, justificación y coste.
Solución de referencia: requisitos
- Requisito que decide: agente autónomo con herramientas, memoria entre sesiones, límites de acción (abonos) y framework open source sin servidores → Strands Agents sobre AgentCore Runtime, con Gateway, Memory, Identity y Policy.
- Límite de 50 € → control determinista fuera del modelo (AgentCore Policy y validación en la herramienta), nunca solo una instrucción del prompt.
- Temas prohibidos, PII y prompt injection → Guardrails (denied topics, sensitive information, content filter Prompt Attack).
- Escalado a humano → herramienta de traspaso a Amazon Connect; aprobaciones de más de 50 € con Step Functions y callback.
- Menos de 3 segundos percibidos → streaming y modelo rápido.
Solución de referencia: arquitectura
flowchart TB
C["Cliente web o app"] --> APIGW["API Gateway WebSocket<br/>autenticación con Cognito"]
APIGW --> RT["AgentCore Runtime<br/>agente Strands"]
RT --> FM["Modelo en Bedrock<br/>con guardrail"]
RT --> MEM["AgentCore Memory<br/>corto y largo plazo"]
RT --> GW["AgentCore Gateway<br/>herramientas MCP"]
GW --> POL["AgentCore Policy<br/>abono máximo 50 EUR"]
GW --> T1["API de pedidos y averías<br/>OpenAPI"]
GW --> T2["Lambda de facturas y abonos"]
GW --> T3["Knowledge Base<br/>tarifas"]
T2 --> SF["Step Functions<br/>aprobación humana si supera 50 EUR"]
RT --> HC["Traspaso a Amazon Connect"]
RT -.-> OBS["AgentCore Observability<br/>CloudWatch y trazas"]
Puntos clave:
- AgentCore Gateway convierte la API REST existente (con su especificación OpenAPI) y las Lambdas en herramientas MCP sin reescribirlas.
- AgentCore Identity gestiona la identidad de entrada (JWT de Cognito) y las credenciales OAuth hacia las APIs internas: la herramienta actúa en nombre del cliente, que solo puede ver sus propios pedidos y facturas.
- AgentCore Policy evalúa cada llamada a herramienta: si el importe del abono supera 50 €, la bloquea y el agente inicia la aprobación humana.
- El agente tiene un máximo de iteraciones y un timeout por herramienta.
Solución de referencia: justificación por dominio
| Dominio | Decisiones |
|---|---|
| D1 Modelos y datos | Modelo rápido con buen uso de herramientas (Claude Haiku 4.5 o Nova 2 Lite según la evaluación). KB con la documentación de tarifas. System prompt versionado en Prompt Management |
| D2 Implementación | Strands Agents (open source) en AgentCore Runtime (serverless, aislamiento por sesión). Gateway para herramientas MCP. Memory para contexto y preferencias. Streaming por WebSocket. Step Functions con task token para la aprobación humana. Traspaso a Amazon Connect |
| D3 Seguridad y gobierno | Guardrails: denied topics (competencia, asesoría legal), sensitive information, content filter Prompt Attack. Mínimo privilegio: el rol del agente solo invoca las herramientas del Gateway. Policy para el límite de abonos (control determinista). CloudTrail e invocation logging para auditar decisiones. Trazas del agente para explicar qué hizo |
| D4 Coste y operación | Prompt caching de system prompt + definiciones de herramientas. Poda o resumen del historial. Métricas por herramienta (latencia, errores, llamadas por conversación) y alarmas en ráfagas de tokens |
| D5 Evaluación | AgentCore Evaluations: tasa de tareas completadas, uso correcto de herramientas, simulación de usuarios. Pruebas adversarias de prompt injection antes de cada despliegue. Encuesta de satisfacción al final de la conversación |
Alternativas descartadas:
- Bedrock Agents Classic: cerrado a clientes nuevos desde el 30/07/2026.
- Bedrock Flows: flujo determinista; aquí el agente decide qué herramienta usar y en qué orden.
- Amazon Lex solo: excelente para intenciones cerradas, pero no para conversación abierta con razonamiento sobre herramientas. Puede convivir (por ejemplo, en el canal de voz de Connect).
- Limitar los abonos solo con el prompt: una instrucción no es un control; un ataque de prompt injection la puede saltar.
- Agente en EC2 o EKS: más operación; el enunciado pide no gestionar servidores.
Solución de referencia: estimación de coste
Supuestos: 50.000 conversaciones × 6 turnos = 300.000 turnos. Cada turno hace de media 2 llamadas al modelo (una para decidir la herramienta y otra para responder) → 600.000 llamadas/mes. Por llamada: 4.000 tokens de entrada (2.000 de system prompt y herramientas + historial + resultados de herramienta) y 300 de salida.
Tokens al mes: entrada 2.400 M; salida 180 M.
| Concepto | Claude Haiku 4.5 (EU) |
|---|---|
| Entrada | 2.400 × 1,10 = 2.640,00 USD |
| Salida | 180 × 5,50 = 990,00 USD |
| Tokens sin caché | 3.630,00 USD |
| Ahorro por prompt caching (2.000 tokens fijos por llamada) | 1.200 M × (1,10 − 0,11) = −1.188,00 USD (menos escritura, a confirmar) |
| Tokens con caché (aprox.) | ≈ 2.440 USD |
AgentCore y resto:
| Concepto | Supuesto | USD/mes |
|---|---|---|
| Runtime, CPU | 30 s de CPU activa por conversación (1 vCPU) → 1.500.000 s = 416,7 vCPU-h × 0,0895 | 37,29 |
| Runtime, memoria | 416,7 h × 2 GB × 0,00945 | 7,88 |
| Memory, eventos de corto plazo | 600.000 eventos × 0,00025 | 150,00 |
| Gateway | 300.000 llamadas a herramientas × 0,000005 | 1,50 |
| Guardrails (content filters + denied topics + PII) | ≈ 2 unidades por turno × 300.000 = 600.000 unidades × (0,15 + 0,15 + 0,10)/1.000 | 240,00 |
| Knowledge Base, Lambda, Step Functions, API Gateway | Depende del almacén y del tráfico | Calcúlalo en la Pricing Calculator |
Lecturas:
- En agentes, el número de llamadas por turno multiplica el coste: reducir de 2 a 1,5 llamadas por turno ahorra un 25 % de los tokens.
- Prompt caching es la palanca más grande cuando el system prompt y las herramientas son fijos.
- El cómputo de AgentCore Runtime es pequeño frente a los tokens porque se factura por uso activo.
Paso 4: escenario 3, procesamiento masivo de documentos por lotes (45-60 min)
El enunciado
Una empresa de gestión de siniestros recibe 300.000 reclamaciones al mes por correo electrónico (texto) y 20.000 páginas de partes escaneados en PDF.
- Para cada reclamación: clasificarla (8 categorías), extraer campos (póliza, fecha, importe, matrícula) en JSON y generar un resumen de 3 líneas.
- Los resultados se cargan cada mañana en el sistema de gestión (no hace falta tiempo real: basta con 24 horas).
- Hay que conservar trazabilidad: qué modelo y qué versión del prompt procesó cada documento.
- Los correos contienen datos personales; los resultados solo deben contener los campos necesarios.
- Presupuesto ajustado: se busca la opción MOST cost-effective.
Solución de referencia: requisitos y arquitectura
- Requisito que decide: gran volumen sin necesidad de respuesta inmediata + coste mínimo → batch inference de Bedrock (≈ 50 % del precio on-demand).
- Escaneados → Bedrock Data Automation (o Textract) antes del modelo.
- JSON fiable → esquema JSON en la petición y validación posterior con Lambda. Batch inference no admite tool calling ni prompt caching; sobre structured outputs, la documentación se contradice a 01/10/2026 (la página de structured outputs dice que sí; la de batch inference, que no admite
response_format), así que no dependas de ello sin validar. - Trazabilidad → metadatos por registro (modelId, versión del prompt de Prompt Management, fecha) + CloudTrail + invocation logging.
flowchart LR
M["Correos y PDF<br/>bucket S3 de entrada"] --> EB["EventBridge<br/>programación diaria"]
EB --> SF["Step Functions"]
SF --> BDA["Bedrock Data Automation<br/>PDF escaneados"]
SF --> PREP["Lambda: limpiar texto,<br/>quitar firmas y PII innecesaria,<br/>generar JSONL"]
BDA --> PREP
PREP --> JOB["Bedrock batch inference<br/>S3 a S3"]
JOB --> VAL["Lambda: validar JSON Schema,<br/>reintentar fallidos"]
VAL --> OUT["S3 resultados<br/>+ carga al sistema de gestión"]
VAL -.-> DLQ["Registros inválidos<br/>revisión humana"]
JOB -.-> CW["CloudWatch y<br/>EventBridge: estado del trabajo"]
Solución de referencia: justificación por dominio
| Dominio | Decisiones |
|---|---|
| D1 Modelos y datos | Validación y limpieza previas (Lambda; Glue Data Quality si los datos vienen de un catálogo). BDA para escaneados. Modelo pequeño si la evaluación lo permite. Prompt versionado con ejemplos few-shot de cada categoría |
| D2 Implementación | Step Functions orquesta: preparación → trabajo batch → espera del evento de fin (EventBridge) → validación → carga. Registros que fallan la validación se reintentan on-demand o van a revisión humana |
| D3 Seguridad y gobierno | Minimizar datos: solo se extraen los campos necesarios. Buckets cifrados con KMS, S3 Lifecycle para borrar entradas tras N días. Macie para vigilar PII en los buckets. Metadatos de linaje por registro |
| D4 Coste y operación | Batch inference, modelo pequeño, maxTokens ajustado. Métricas de registros procesados, fallidos y tokens por día |
| D5 Evaluación | Muestra etiquetada de 500 reclamaciones: exactitud por campo y por categoría; se repite en cada cambio de prompt o modelo. Muestreo semanal para revisión humana |
Alternativas descartadas:
- Llamadas on-demand en bucle con Lambda: el doble de caro y expuesto a throttling.
- Provisioned Throughput: capacidad por hora pagada todo el mes para un trabajo de unas horas al día.
- Fine-tuning: solo si tras optimizar el prompt la exactitud por campo no llega al objetivo.
Solución de referencia: estimación de coste
Supuestos: 300.000 reclamaciones con 1.500 tokens de entrada (instrucciones, ejemplos y correo) y 300 de salida. Tokens al mes: entrada 450 M; salida 90 M.
| Opción | Entrada | Salida | Total/mes |
|---|---|---|---|
| Claude Haiku 4.5 EU on-demand | 450 × 1,10 = 495,00 | 90 × 5,50 = 495,00 | 990,00 USD |
| Claude Haiku 4.5 EU batch | 450 × 0,55 = 247,50 | 90 × 2,75 = 247,50 | 495,00 USD |
| Nova Micro on-demand (eu-south-2) | 450 × 0,039 = 17,55 | 90 × 0,156 = 14,04 | 31,59 USD |
| Nova Micro batch (eu-west-1: 0,020 / 0,080; en eu-south-2 no hay precio batch publicado) | 450 × 0,020 = 9,00 | 90 × 0,080 = 7,20 | 16,20 USD |
Más:
| Concepto | Cálculo | USD/mes |
|---|---|---|
| BDA, páginas escaneadas | 20.000 × 0,01 | 200,00 |
| Lambda, Step Functions, S3 | Decenas de miles de ejecuciones pequeñas | Pocos USD |
Lectura: la diferencia entre la opción más cara y la más barata es de 60 veces. Si la evaluación demuestra que Nova Micro clasifica y extrae con la exactitud necesaria, es la respuesta MOST cost-effective; si no, Haiku 4.5 en batch. En ningún caso on-demand.
Comprueba que funciona
Sin recursos que probar, la comprobación es tu diseño. Para cada escenario, verifica:
- Cada requisito del enunciado tiene al menos un componente que lo cumple (haz una tabla requisito → componente).
- Los requisitos duros (residencia, permisos, límite de abonos, 24 horas) se cumplen con controles y no solo con instrucciones al modelo.
- Has descartado al menos dos alternativas con un motivo concreto.
- La estimación separa tokens de entrada, de salida y costes fijos, y dice qué supuestos usa.
- Hay un plan de evaluación antes de producción y de monitorización después.
Limpieza
No has creado nada en AWS. Si has probado la Pricing Calculator, guarda el enlace de tu estimación (Share) junto al diseño; no genera ningún coste.
Preguntas para pensar como arquitecto
1. En el escenario 1, ¿por qué no basta con indicar en el prompt «no respondas con documentos que el usuario no puede ver»?
Porque el modelo ya habría visto el contenido: el filtrado debe hacerse en la recuperación, antes de construir el prompt. Además, una instrucción del prompt no es un control de seguridad; un ataque de prompt injection puede saltársela. Los permisos se aplican con ACL por documento (Managed KB) o con filtros de metadatos basados en la identidad autenticada.
2. En el escenario 2, el coste real sale un 40 % por encima de la estimación. ¿Dónde mirarías primero?
En el número de llamadas al modelo por turno y en los tokens de entrada por llamada (trazas de AgentCore Observability e invocation logs). Causas típicas: bucles del agente que repiten herramientas, historial que crece sin poda, resultados de herramientas demasiado largos, o prompt caching que no se aplica porque el prefijo cambia en cada llamada (por ejemplo, una fecha al principio del system prompt).
3. En el escenario 3, un 3 % de los JSON generados no son válidos. ¿Qué haces?
Validar cada salida contra el JSON Schema y reprocesar solo los inválidos (on-demand con structured output si el modelo lo admite, o con un prompt de corrección); si siguen fallando, a revisión humana. Después, analizar el patrón (correos muy largos, caracteres especiales) y ajustar el prompt con ejemplos. No cambies todo el pipeline a on-demand por un 3 %.
4. Si el escenario 1 añadiera «los datos no pueden salir de España», ¿qué cambiaría?
El perfil eu. enruta dentro de la UE, no dentro de España. Necesitarías modelos in-Region en eu-south-2 (según la tabla oficial de modelos por región, a 01/10/2026 Titan Text Embeddings V2 está in-Region en eu-south-2, pero los modelos de texto de Nova y Claude solo llegan por perfil EU o global), o un modelo propio desplegado en la región (SageMaker AI o Custom Model Import donde esté disponible). Es un requisito que puede obligar a cambiar de modelo: verifica siempre la tabla de disponibilidad por región.
5. ¿Cómo convencerías a dirección de pasar del piloto a producción en el escenario 1?
Con datos: resultados de la evaluación de RAG sobre el golden dataset (exactitud, fidelidad, calidad de las citas), tasa de «no lo sé», satisfacción de los usuarios del piloto, latencia p95 y coste por pregunta (≈ 0,0003 USD de tokens con Nova Lite). Un informe comparativo (5.1.8) con la evolución por versión de prompt es lo que espera el examen como «reporting a stakeholders».