# Arquitectura y navegación ```mermaid flowchart LR S[Cliente de demo] --> A[Runtime onboarding] S --> I[Runtime infraestructura] K[Cliente HTTP] --> P[Lambda proxy] P --> A A --> G[Gateway nmpEnterpriseTools] G --> C[Lambdas clientes / KYC / PLD / documentos] I --> W[Gateway awsInfrastructureTools] H[Harnesses] --> W W --> L[Lambda infraestructura] L --> E[APIs EC2 y Lambda] ``` El script de demo llama directamente a AgentCore. El proxy es una ruta alternativa para un cliente HTTP; no hace falta para ejecutar los dos escenarios. | Qué explicar | Dónde mirar | | --- | --- | | Escenarios y criterios de revisión | `scenarios/` | | Entrada, herramientas y streaming | `src/agents/*/main.py` | | Selección de Claude Sonnet 4.5 | `src/agents/*/model/load.py` | | Conexión a gateways MCP | `src/agents/*/mcp_client/client.py` | | Memoria y sesiones | `src/agents/*/memory/session.py` | | Implementación de consultas AWS | `src/lambdas/aws_infrastructure/` | | Conversión HTTP/SSE | `src/lambdas/agentcore_proxy/` | | Parámetros aceptados por las herramientas | `contracts/tools/` | | Variantes declarativas | `harnesses/` | | Identidad de recursos y rutas | `agentcore/agentcore.json` | Cada agente mantiene sus módulos y dependencias dentro de su propio directorio: AgentCore empaqueta cada `codeLocation` por separado. Las rutas de código, contratos y harnesses se resuelven desde `demo/`. El `systemPrompt` de cada `harness.json` está embebido en la configuración. Los archivos `system-prompt.md` existentes son referencias; editar únicamente ese Markdown no cambia el prompt embebido.