--- id: "MAP-OQI-007-llm-agent" title: "Mapa de OQI-007-llm-agent" type: "Index" project: "trading-platform" updated_date: "2026-01-28" --- # _MAP: OQI-007 - LLM Strategy Agent **Última actualización:** 2026-01-28 **Estado:** En Progreso (45%) **Versión:** 1.1.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 principal ├── _MAP.md # Este archivo - índice completo ├── requerimientos/ # Documentos de requerimientos funcionales (6) │ ├── 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 (7) │ ├── ET-LLM-001-arquitectura-chat.md # ✅ Arquitectura WebSocket/Chat │ ├── ET-LLM-002-agente-analisis.md # ✅ Agente de análisis de mercado │ ├── 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 │ └── ET-LLM-007-frontend.md # ✅ Especificación Frontend completa ├── historias-usuario/ # User Stories (11) │ ├── 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 │ └── US-LLM-011-ejecutar-trade-desde-chat.md # ✅ Ejecutar trade desde chat └── implementacion/ # Trazabilidad └── TRACEABILITY.yml # Mapeo req -> implementación ``` --- ## Requerimientos Funcionales | ID | Nombre | Prioridad | SP | Doc | Impl | |----|--------|-----------|-----|-----|------| | RF-LLM-001 | Interfaz de Chat WebSocket | P0 | 8 | ✅ | 40% | | RF-LLM-002 | Análisis de Mercado vía LLM | P0 | 10 | ✅ | 35% | | RF-LLM-003 | Sugerencias de Estrategias | P0 | 10 | ✅ | 30% | | RF-LLM-004 | Asistencia Educativa | P1 | 8 | ✅ | 25% | | RF-LLM-005 | Integración de Tools | P1 | 8 | ✅ | 50% | | RF-LLM-006 | Gestión de Contexto y Memoria | P2 | 11 | ✅ | 20% | **Total:** 55 SP | Documentación: 100% | Implementación: ~45% --- ## Especificaciones Técnicas | ID | Nombre | Componente | Estado | |----|--------|------------|--------| | ET-LLM-001 | Arquitectura Chat | WebSocket Gateway | ✅ Completa | | ET-LLM-002 | Agente de Análisis | LLM Engine | ✅ Completa | | ET-LLM-003 | Motor de Estrategias | Strategy Engine | ✅ Completa | | ET-LLM-004 | Integración Educativa | Education Module | ✅ Completa | | ET-LLM-005 | Arquitectura Tools | Tool Registry | ✅ Completa | | ET-LLM-006 | Gestión de Memoria | Context Manager | ✅ Completa | | ET-LLM-007 | Especificación Frontend | React Components | ✅ Completa | **Total:** 7 ET (100% documentados) --- ## Historias de Usuario | ID | Historia | Prioridad | SP | Estado | |----|----------|-----------|-----|--------| | US-LLM-001 | Enviar mensaje al agente | P0 | 5 | ✅ Completa | | US-LLM-002 | Gestionar conversaciones | P0 | 5 | ✅ Completa | | US-LLM-003 | Solicitar análisis de símbolo | P0 | 8 | ✅ Completa | | US-LLM-004 | Ver señales ML vía chat | P1 | 8 | ✅ Completa | | US-LLM-005 | Estrategia personalizada | P1 | 5 | ✅ Completa | | US-LLM-006 | Ver historial de estrategias | P1 | 5 | ✅ Completa | | US-LLM-007 | Asistencia educativa | P1 | 5 | ✅ Completa | | US-LLM-008 | Recomendaciones de aprendizaje | P2 | 3 | ✅ Completa | | US-LLM-009 | Consultar datos vía chat | P2 | 3 | ✅ Completa | | US-LLM-010 | Paper trading vía chat | P2 | 8 | ✅ Completa | | US-LLM-011 | Ejecutar trade desde chat | P0 | 5 | ✅ Completa | **Total:** 60 SP (100% documentados, 11 historias) --- ## 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/)