# _MAP: OQI-007 - LLM Strategy Agent

**Última actualización:** 2025-12-05
**Estado:** Planificado
**Versión:** 1.0.0

---

## Propósito

Esta épica implementa un agente de IA conversacional basado en LLMs que interpreta señales ML, sugiere estrategias de trading, explica decisiones y actúa como copiloto inteligente para los usuarios.

---

## Contenido del Directorio

```
OQI-007-llm-agent/
├── README.md                    # Documentación técnica
├── _MAP.md                      # Este archivo - índice
├── requerimientos/              # Documentos de requerimientos funcionales ✅
│   ├── RF-LLM-001-chat-interface.md        # ✅ Interfaz de chat WebSocket
│   ├── RF-LLM-002-market-analysis.md       # ✅ Análisis de mercado vía LLM
│   ├── RF-LLM-003-strategy-suggestions.md  # ✅ Sugerencias de estrategias
│   ├── RF-LLM-004-educational-assistance.md # ✅ Asistencia educativa
│   ├── RF-LLM-005-tool-integration.md      # ✅ Integración de tools (16 tools)
│   └── RF-LLM-006-context-management.md    # ✅ Gestión de contexto y memoria
├── especificaciones/            # Especificaciones técnicas ✅
│   ├── ET-LLM-001-arquitectura-chat.md     # ✅ Arquitectura WebSocket/Chat
│   ├── ET-LLM-002-agente-analisis.md       # ✅ Agente de análisis
│   ├── ET-LLM-003-motor-estrategias.md     # ✅ Motor de estrategias
│   ├── ET-LLM-004-integracion-educacion.md # ✅ Integración educativa
│   ├── ET-LLM-005-arquitectura-tools.md    # ✅ Arquitectura de tools
│   └── ET-LLM-006-gestion-memoria.md       # ✅ Gestión de memoria
├── historias-usuario/           # User Stories ✅
│   ├── US-LLM-001-enviar-mensaje.md        # ✅ Enviar mensaje al agente
│   ├── US-LLM-002-gestionar-conversaciones.md # ✅ Gestionar conversaciones
│   ├── US-LLM-003-analisis-simbolo.md      # ✅ Solicitar análisis de símbolo
│   ├── US-LLM-004-ver-senales-ml.md        # ✅ Ver señales ML via chat
│   ├── US-LLM-005-estrategia-personalizada.md # ✅ Estrategia personalizada
│   ├── US-LLM-006-historial-estrategias.md # ✅ Ver historial de estrategias
│   ├── US-LLM-007-asistencia-educativa.md  # ✅ Asistencia educativa
│   ├── US-LLM-008-recomendaciones-aprendizaje.md # ✅ Recomendaciones
│   ├── US-LLM-009-consultar-datos-chat.md  # ✅ Consultar datos vía chat
│   └── US-LLM-010-paper-trading-chat.md    # ✅ Paper trading vía chat
└── implementacion/              # Trazabilidad
    └── TRACEABILITY.yml
```

---

## Requerimientos Funcionales

| ID | Nombre | Prioridad | SP | Estado |
|----|--------|-----------|-----|--------|
| RF-LLM-001 | Interfaz de Chat WebSocket | P0 | 8 | ✅ Documentado |
| RF-LLM-002 | Análisis de Mercado vía LLM | P0 | 10 | ✅ Documentado |
| RF-LLM-003 | Sugerencias de Estrategias | P0 | 10 | ✅ Documentado |
| RF-LLM-004 | Asistencia Educativa | P1 | 8 | ✅ Documentado |
| RF-LLM-005 | Integración de Tools | P1 | 8 | ✅ Documentado |
| RF-LLM-006 | Gestión de Contexto y Memoria | P2 | 11 | ✅ Documentado |

**Total:** 55 SP (100% documentados)

---

## Especificaciones Técnicas

| ID | Nombre | Componente | Estado |
|----|--------|------------|--------|
| ET-LLM-001 | Arquitectura Chat | WebSocket Gateway | ✅ Documentado |
| ET-LLM-002 | Agente de Análisis | LLM Engine | ✅ Documentado |
| ET-LLM-003 | Motor de Estrategias | Strategy Engine | ✅ Documentado |
| ET-LLM-004 | Integración Educativa | Education Module | ✅ Documentado |
| ET-LLM-005 | Arquitectura Tools | Tool Registry | ✅ Documentado |
| ET-LLM-006 | Gestión de Memoria | Context Manager | ✅ Documentado |

**Total:** 6 ET (100% documentados)

---

## Historias de Usuario

| ID | Historia | Prioridad | SP | Estado |
|----|----------|-----------|-----|--------|
| US-LLM-001 | Enviar mensaje al agente | P0 | 5 | ✅ Documentado |
| US-LLM-002 | Gestionar conversaciones | P0 | 5 | ✅ Documentado |
| US-LLM-003 | Solicitar análisis de símbolo | P0 | 8 | ✅ Documentado |
| US-LLM-004 | Ver señales ML vía chat | P1 | 8 | ✅ Documentado |
| US-LLM-005 | Estrategia personalizada | P1 | 5 | ✅ Documentado |
| US-LLM-006 | Ver historial de estrategias | P1 | 5 | ✅ Documentado |
| US-LLM-007 | Asistencia educativa | P1 | 5 | ✅ Documentado |
| US-LLM-008 | Recomendaciones de aprendizaje | P2 | 3 | ✅ Documentado |
| US-LLM-009 | Consultar datos vía chat | P2 | 3 | ✅ Documentado |
| US-LLM-010 | Paper trading vía chat | P2 | 8 | ✅ Documentado |

**Total:** 55 SP (100% documentados)

---

## Capacidades del Agente

### Interpretación de Señales ML
- Traducir predicciones numéricas a lenguaje natural
- Contextualizar con indicadores técnicos
- Nivel de confianza y riesgo explicado

### Sugerencia de Estrategias
- Basado en perfil de riesgo del usuario
- Considerando capital disponible
- Adaptado a horizonte temporal

### Explicación de Decisiones
- Por qué se abrió/cerró un trade
- Análisis post-mortem de operaciones
- Lecciones aprendidas

### Modo Proactivo
- Alertas de oportunidades
- Notificaciones de riesgo
- Resumen diario/semanal

---

## Integración con ML Engine

### Datos del TradingAgent existente

El agente LLM consumirá:

```python
# Señales del SignalGenerator
{
  "symbol": "BTCUSDT",
  "signal": "buy",
  "confidence": 0.78,
  "phase_amd": "accumulation",
  "range_prediction": {
    "delta_high": 0.62,
    "delta_low": -0.35
  },
  "tpsl": {
    "prob_tp_first": 0.68,
    "suggested_sl": 0.7,
    "suggested_tp": 0.6
  }
}

# Datos para fine-tuning (SignalLogger)
{
  "messages": [...],
  "outcome": "profit",
  "pnl_percent": 1.2
}
```

---

## Tools Disponibles

| Tool | Descripción | Parámetros |
|------|-------------|------------|
| `get_signal` | Obtener señal ML actual | symbol, horizon |
| `analyze_chart` | Análisis técnico | symbol, timeframe |
| `get_portfolio` | Estado del portfolio | user_id |
| `execute_trade` | Ejecutar orden | symbol, side, amount |
| `set_alert` | Crear alerta | symbol, condition |
| `get_history` | Historial de precios | symbol, period |
| `explain_indicator` | Explicar indicador | indicator_name |

---

## Límites por Plan

| Plan | Mensajes/día | Tools | Proactivo | Fine-tune |
|------|--------------|-------|-----------|-----------|
| Free | 10 | 3 básicos | ❌ | ❌ |
| Basic | 50 | 5 | ❌ | ❌ |
| Pro | 200 | Todos | ✅ | ❌ |
| Premium | Ilimitado | Todos + API | ✅ Personalizado | ✅ |

---

## Dependencias

### Depende de:

- **OQI-001:** Autenticación (usuarios, sesiones)
- **OQI-006:** ML Signals (predicciones, señales)
- **TradingAgent:** SignalLogger, modelos existentes

### Bloquea:

- Ninguna (épica independiente)

---

## Stack Técnico

| Capa | Tecnología | Uso |
|------|------------|-----|
| LLM Provider | Claude API / OpenAI | Modelo base |
| Orquestación | LangChain / Claude SDK | Flujo de agente |
| Vector DB | Pinecone | RAG para contexto |
| Memory | Redis | Historial de conversación |
| API | FastAPI | Endpoints del agente |
| Frontend | React | Chat UI |
| Fine-tuning | OpenAI/Anthropic API | Mejora continua |

---

## Criterios de Aceptación

### Funcionales

- [ ] Agente responde preguntas sobre señales ML
- [ ] Explica decisiones de trading en lenguaje claro
- [ ] Sugiere estrategias personalizadas
- [ ] Puede ejecutar órdenes con confirmación
- [ ] Envía alertas proactivas configurables
- [ ] Mantiene contexto de conversación

### No Funcionales

- [ ] Respuesta en < 3 segundos
- [ ] Disponibilidad 99.5%
- [ ] Precisión de respuestas > 90%

### Técnicos

- [ ] Integración con ML Engine existente
- [ ] Pipeline de fine-tuning automatizado
- [ ] Logs para análisis de calidad

---

## Hitos

| Hito | Entregables | Target |
|------|-------------|--------|
| M1 | Chat básico + interpretación señales | Sprint 9 |
| M2 | Tools completos + explicaciones | Sprint 10 |
| M3 | Modo proactivo + alertas | Sprint 10 |
| M4 | Fine-tuning + mejora continua | Sprint 11 |

---

## Referencias

- [README Principal](./README.md)
- [OQI-006: ML Signals](../OQI-006-ml-signals/)
- [TradingAgent SignalLogger]([LEGACY: apps/ml-engine - migrado desde TradingAgent]/src/utils/signal_logger.py)
- [Anthropic Claude API](https://docs.anthropic.com/)
