151 lines
5.0 KiB
Markdown
151 lines
5.0 KiB
Markdown
# EPICA: EPIC-MGN-019 - AI Agents
|
|
|
|
## Metadata
|
|
|
|
| Campo | Valor |
|
|
|-------|-------|
|
|
| **ID** | EPIC-MGN-019 |
|
|
| **Nombre** | AI Agents (RAG + Tools) |
|
|
| **Modulo** | ai-agents |
|
|
| **Fase** | Fase 4 - SaaS Platform |
|
|
| **Prioridad** | P3 |
|
|
| **Estado** | Backlog |
|
|
| **Story Points** | 55 |
|
|
| **Sprint(s)** | Sprint 26-30 |
|
|
|
|
---
|
|
|
|
## Descripcion
|
|
|
|
Sistema de agentes inteligentes con RAG (Retrieval Augmented Generation) usando pgvector para embeddings. Permite crear agentes configurables por tenant, knowledge bases con documentos, definicion de tools/funciones, conversaciones con historial y ejecucion de tools en tiempo real.
|
|
|
|
---
|
|
|
|
## Objetivo de Negocio
|
|
|
|
Proveer agentes AI que:
|
|
- Automaticen atencion al cliente
|
|
- Respondan preguntas basadas en documentacion
|
|
- Ejecuten acciones en el sistema
|
|
- Escalen soporte sin aumentar personal
|
|
- Mejoren experiencia del usuario
|
|
|
|
---
|
|
|
|
## Historias de Usuario
|
|
|
|
| ID | Historia | Prioridad | SP | Estado |
|
|
|----|----------|-----------|-----|--------|
|
|
| US-MGN019-001 | Como admin, quiero crear agentes con personalidad y proposito | P0 | 5 | Backlog |
|
|
| US-MGN019-002 | Como admin, quiero crear knowledge bases con documentos | P0 | 8 | Backlog |
|
|
| US-MGN019-003 | Como admin, quiero subir documentos a una knowledge base | P0 | 5 | Backlog |
|
|
| US-MGN019-004 | Como sistema, quiero generar embeddings de documentos | P0 | 8 | Backlog |
|
|
| US-MGN019-005 | Como admin, quiero definir tools que el agente puede usar | P0 | 8 | Backlog |
|
|
| US-MGN019-006 | Como usuario, quiero chatear con el agente | P0 | 5 | Backlog |
|
|
| US-MGN019-007 | Como agente, quiero buscar en knowledge bases (RAG) | P0 | 8 | Backlog |
|
|
| US-MGN019-008 | Como agente, quiero ejecutar tools cuando sea necesario | P0 | 8 | Backlog |
|
|
| US-MGN019-009 | Como usuario, quiero dar feedback al agente | P1 | 3 | Backlog |
|
|
| US-MGN019-010 | Como admin, quiero ver metricas de uso y tokens | P1 | 5 | Backlog |
|
|
|
|
**Total Story Points:** 63 SP (ajustado a 55)
|
|
|
|
---
|
|
|
|
## Criterios de Aceptacion de la Epica
|
|
|
|
**Funcionales:**
|
|
- [ ] Agentes configurables: nombre, avatar, system prompt
|
|
- [ ] Knowledge bases con multiples documentos
|
|
- [ ] Tipos de docs: PDF, DOCX, TXT, MD, URL
|
|
- [ ] Chunking inteligente de documentos
|
|
- [ ] Embeddings con OpenAI ada-002 (1536 dims)
|
|
- [ ] RAG con pgvector similarity search
|
|
- [ ] Tools con JSON Schema para parametros
|
|
- [ ] Ejecucion segura de tools (sandboxed)
|
|
- [ ] Conversaciones con contexto (ultimos N mensajes)
|
|
- [ ] Feedback thumbs up/down
|
|
|
|
**No Funcionales:**
|
|
- [ ] Latencia de respuesta < 5s
|
|
- [ ] Limite de tokens configurable por tenant
|
|
- [ ] Fallback a respuesta generica si RAG falla
|
|
|
|
---
|
|
|
|
## Arquitectura RAG
|
|
|
|
```
|
|
1. Usuario envia pregunta
|
|
2. Sistema genera embedding de la pregunta
|
|
3. pgvector busca chunks similares (cosine similarity)
|
|
4. Top K chunks se incluyen en el prompt
|
|
5. LLM genera respuesta considerando contexto
|
|
6. Si LLM decide usar tool:
|
|
a. Sistema valida parametros
|
|
b. Ejecuta tool en sandbox
|
|
c. LLM procesa resultado
|
|
7. Respuesta se envia al usuario
|
|
```
|
|
|
|
## Tools Disponibles (Ejemplos)
|
|
|
|
| Tool | Descripcion | Parametros |
|
|
|------|-------------|------------|
|
|
| get_customer_info | Obtiene info de cliente | customer_id |
|
|
| check_inventory | Consulta stock | product_id, warehouse_id |
|
|
| create_lead | Crea lead en CRM | name, email, phone |
|
|
| get_order_status | Estado de orden | order_number |
|
|
| schedule_callback | Agenda llamada | phone, datetime |
|
|
|
|
---
|
|
|
|
## Dependencias
|
|
|
|
**Esta epica depende de:**
|
|
| Epica/Modulo | Estado | Bloqueante |
|
|
|--------------|--------|------------|
|
|
| EPIC-MGN-004 Tenants | Ready | Si |
|
|
| EPIC-MGN-016 Billing (Feature Flag) | Backlog | Si |
|
|
| EPIC-MGN-018 WhatsApp (Canal) | Backlog | No |
|
|
| PostgreSQL + pgvector | Ready | Si |
|
|
| OpenAI API | External | Si |
|
|
|
|
---
|
|
|
|
## Desglose Tecnico
|
|
|
|
**Database:**
|
|
- [ ] Schema: `ai_agents`
|
|
- [ ] Tablas: 12 (agents, knowledge_bases, agent_knowledge_bases, kb_documents, kb_chunks, tool_definitions, agent_tools, conversations, messages, tool_executions, feedback, usage_logs)
|
|
- [ ] Extension: pgvector para embeddings
|
|
- [ ] Indices: HNSW para busqueda rapida
|
|
|
|
**Backend:**
|
|
- [ ] Modulo: `ai-agents`
|
|
- [ ] Services: AgentService, RAGService, ToolExecutor, EmbeddingService
|
|
- [ ] Controllers: AgentsController, KnowledgeBasesController, ConversationsController
|
|
- [ ] Endpoints: 30+
|
|
- [ ] Jobs: DocumentProcessorJob, EmbeddingGeneratorJob
|
|
- [ ] Tests: 45+
|
|
|
|
**Frontend:**
|
|
- [ ] Paginas: 7 (Agents, AgentBuilder, KnowledgeBases, Documents, Conversations, Tools, Analytics)
|
|
- [ ] Componentes: AgentCard, ChatWindow, DocumentUploader, ToolEditor
|
|
- [ ] Stores: 1 (aiAgentsStore)
|
|
|
|
---
|
|
|
|
## Estimacion de Costos
|
|
|
|
| Concepto | Precio | Uso estimado/mes |
|
|
|----------|--------|------------------|
|
|
| Embeddings (ada-002) | $0.0001/1K tokens | 1M tokens = $0.10 |
|
|
| Completions (gpt-4) | $0.03/1K tokens | 500K tokens = $15 |
|
|
| pgvector storage | Incluido en DB | - |
|
|
| Total estimado | - | ~$15-50/tenant/mes |
|
|
|
|
---
|
|
|
|
**Creada por:** Requirements-Analyst
|
|
**Fecha:** 2025-12-05
|