ML Engine Updates: - Updated BTCUSD with Polygon API data (2024-2025): 215,699 new records - Re-trained all ML models: Attention (R²: 0.223), Base, Metamodel (87.3% confidence) - Backtest results: +176.71R profit with aggressive_filter strategy Documentation Consolidation: - Created docs/99-analisis/_MAP.md index with 13 new analysis documents - Consolidated inventories: removed duplicates from orchestration/inventarios/ - Updated ML_INVENTORY.yml with BTCUSD metrics and training results - Added execution reports: FASE11-BTCUSD, correction issues, alignment validation Architecture & Integration: - Updated all module documentation with NEXUS v3.4 frontmatter - Fixed _MAP.md indexes across all folders - Updated orchestration plans and traces Files: 229 changed, 5064 insertions(+), 1872 deletions(-) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
11 KiB
11 KiB
| id | title | type | status | priority | epic | project | version | created_date | updated_date |
|---|---|---|---|---|---|---|---|---|---|
| RF-LLM-006 | Gestión de Contexto y Memoria | Requirement | Done | Alta | OQI-007 | trading-platform | 1.0.0 | 2025-12-05 | 2026-01-04 |
RF-LLM-006: Gestión de Contexto y Memoria
Épica: OQI-007 - LLM Strategy Agent Versión: 1.0 Fecha: 2025-12-05 Estado: Planificado Prioridad: P0 - Crítico
Descripción
El agente LLM debe mantener contexto coherente durante las conversaciones, recordar información relevante del usuario entre sesiones, y enriquecer automáticamente cada interacción con datos de mercado y perfil del usuario.
Requisitos Funcionales
RF-LLM-006.1: Contexto de Conversación
- El sistema debe mantener historial de mensajes de la conversación actual
- El sistema debe limitar contexto a N mensajes para optimizar tokens
- El sistema debe resumir conversaciones largas automáticamente
- El sistema debe preservar información crítica al resumir
- El sistema debe detectar cambio de tema y ajustar contexto
RF-LLM-006.2: Memoria de Usuario
- El sistema debe recordar preferencias del usuario
- El sistema debe recordar símbolos de interés frecuente
- El sistema debe recordar estilo de comunicación preferido
- El sistema debe recordar preguntas y respuestas relevantes pasadas
- El sistema debe actualizar memoria basado en interacciones
RF-LLM-006.3: Enriquecimiento Automático
- El sistema debe inyectar datos de mercado relevantes
- El sistema debe incluir posiciones actuales del usuario
- El sistema debe incluir alertas activas relacionadas
- El sistema debe incluir progreso educativo si es relevante
- El sistema debe incluir señales ML si el usuario tiene acceso
RF-LLM-006.4: Contexto de Sistema
- El agente debe conocer fecha y hora actual
- El agente debe conocer estado del mercado (abierto/cerrado)
- El agente debe conocer eventos económicos próximos
- El agente debe conocer configuración regional del usuario
RF-LLM-006.5: Gestión de Tokens
- El sistema debe monitorear uso de tokens por conversación
- El sistema debe comprimir contexto cuando se acerca al límite
- El sistema debe priorizar información más reciente/relevante
- El sistema debe estimar tokens antes de llamar al LLM
Criterios de Aceptación
Feature: Gestión de Contexto
Scenario: Mantener contexto en conversación
Given inicié conversación preguntando sobre AAPL
And el agente analizó AAPL
When pregunto "¿Y qué opinas del volumen?"
Then el agente entiende que me refiero a AAPL
And no necesito repetir el símbolo
Scenario: Recordar preferencias entre sesiones
Given ayer configuré preferencia "siempre mostrar disclaimer"
And cerré la aplicación
When inicio nueva conversación hoy
Then el agente recuerda mi preferencia
And incluye disclaimers automáticamente
Scenario: Enriquecimiento automático de contexto
Given tengo posición abierta en TSLA
And hay alerta activa para TSLA a $240
When pregunto "¿Cómo va mi inversión?"
Then el agente automáticamente incluye info de TSLA
And menciona la alerta activa
And muestra P&L actual
Scenario: Resumen de conversación larga
Given tenemos 30 mensajes en la conversación
And se acerca el límite de tokens
When envío nuevo mensaje
Then el sistema resume mensajes antiguos
And preserva puntos clave de la conversación
And el agente responde coherentemente
Scenario: Contexto de mercado automático
Given el mercado US está cerrado (es sábado)
When pregunto "¿Debería comprar AAPL ahora?"
Then el agente indica que el mercado está cerrado
And sugiere usar paper trading o esperar apertura
Reglas de Negocio
| Regla | Descripción |
|---|---|
| RN-001 | Máximo 20 mensajes en contexto inmediato |
| RN-002 | Resumir automáticamente después de 15 mensajes |
| RN-003 | Memoria de usuario persiste máximo 90 días |
| RN-004 | No recordar información financiera sensible |
| RN-005 | Límite de tokens por request: 8000 input, 2000 output |
| RN-006 | Contexto de mercado actualizado cada 60 segundos |
Estructura de Contexto
context:
# Información del usuario
user:
id: "user-123"
name: "Carlos"
plan: "premium"
risk_profile: "moderate"
experience: "intermediate"
language: "es"
timezone: "America/Mexico_City"
# Preferencias recordadas
preferences:
show_disclaimers: true
preferred_timeframe: "4h"
favorite_indicators: ["RSI", "MACD"]
notification_style: "detailed"
# Contexto de mercado (auto-inyectado)
market:
status: "open"
current_time: "2025-12-05T10:30:00-06:00"
next_close: "2025-12-05T15:00:00-05:00"
upcoming_events:
- event: "Fed Minutes"
date: "2025-12-06"
impact: "high"
# Portfolio del usuario (si es relevante)
portfolio:
positions:
- symbol: "AAPL"
quantity: 50
avg_price: 175.00
current_pnl: 525.00
- symbol: "TSLA"
quantity: 20
avg_price: 250.00
current_pnl: -100.00
alerts:
- symbol: "TSLA"
condition: "<="
price: 240
# Historial de conversación
conversation:
id: "conv-456"
started_at: "2025-12-05T10:00:00"
messages_count: 8
summary: null # Se genera cuando supera 15 mensajes
recent_topics: ["AAPL analysis", "RSI interpretation"]
# Señales ML (si tiene acceso)
ml_signals:
AAPL:
prediction: "bullish"
confidence: 0.72
updated_at: "2025-12-05T10:25:00"
Proceso de Gestión de Contexto
┌─────────────────────────────────────────────────────────────┐
│ 1. RECIBIR MENSAJE DEL USUARIO │
│ "¿Cómo va mi posición de Tesla?" │
└──────────────────────────┬──────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 2. CONSTRUIR CONTEXTO │
│ a) Cargar perfil de usuario │
│ b) Cargar preferencias de memoria │
│ c) Cargar historial de conversación │
│ d) Identificar símbolos mencionados (TSLA) │
│ e) Cargar datos de mercado relevantes │
│ f) Cargar posiciones del portfolio │
│ g) Cargar alertas activas │
│ h) Cargar señales ML (si tiene acceso) │
└──────────────────────────┬──────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 3. VERIFICAR TOKENS │
│ - Estimar tokens del contexto actual │
│ - Si > 6000 tokens → comprimir/resumir │
│ - Priorizar: mensaje actual > historial reciente > datos │
└──────────────────────────┬──────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 4. GENERAR SYSTEM PROMPT │
│ - Incluir rol del agente │
│ - Incluir contexto comprimido │
│ - Incluir instrucciones específicas │
└──────────────────────────┬──────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 5. LLAMAR AL LLM │
│ - Enviar system prompt + messages │
│ - Procesar respuesta │
└──────────────────────────┬──────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 6. ACTUALIZAR MEMORIA │
│ - Guardar mensaje en historial │
│ - Actualizar temas recientes │
│ - Detectar preferencias nuevas │
│ - Actualizar símbolos de interés │
└─────────────────────────────────────────────────────────────┘
Algoritmo de Compresión de Contexto
## Prioridad de Información (de mayor a menor)
1. **Crítico** (nunca comprimir)
- Mensaje actual del usuario
- Últimos 3 mensajes de contexto
- Posiciones abiertas mencionadas
2. **Alto** (comprimir si es necesario)
- Historial de conversación (resumir)
- Datos de mercado (reducir a esenciales)
- Preferencias de usuario
3. **Medio** (comprimir agresivamente)
- Alertas no relacionadas al tema
- Progreso educativo
- Eventos económicos lejanos
4. **Bajo** (eliminar si falta espacio)
- Memoria de conversaciones antiguas
- Símbolos no mencionados
- Detalles de portfolio no relevantes
Dependencias
Épicas Requeridas
- OQI-001: Perfil de usuario y preferencias
- OQI-003: Datos de mercado y portfolio
- OQI-006: Señales ML
Servicios de Base de Datos
- Conversations table (historial)
- User_Preferences table (memoria)
- User_Memory table (información recordada)
Especificaciones Técnicas Relacionadas
Historias de Usuario Relacionadas
- US-LLM-001: Enviar mensaje al copilot (contexto básico)
- US-LLM-002: Conversación continua con memoria
Documento de requerimientos - Sistema NEXUS Trading Platform