FASE 1 - DDL-Backend Coherence (continued): - market-data.types.ts: Updated TickerRow, added Ohlcv5mRow, Ohlcv15mRow, OhlcvStagingRow - llm.types.ts: Updated UserPreferences, UserMemory, Embedding + 3 Row types - financial.types.ts: +6 types (Invoice, WalletAuditLog, etc.) - entity.types.ts (trading): +5 types (Symbol, TradingBot, etc.) FASE 2 - Backend-Frontend Coherence (continued): - llmStore.ts: New Zustand store with session lifecycle management - riskStore.ts: New Zustand store for risk assessment - risk.service.ts: New service with 8 functions - currency.service.ts: New service with 5 functions FASE 3 - Documentation: - OQI-007: Updated to 100% (7 ET, 11 US, 6 RF) - OQI-008: Added ET-PFM-010-architecture.md, ET-PFM-011-goals-system.md - Updated all _MAP.md and README.md indexes Build validation: Backend tsc PASSED, Frontend Vite PASSED Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
266 lines
8.7 KiB
Markdown
266 lines
8.7 KiB
Markdown
---
|
|
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/)
|