Comparativa: Nosotros vs Ruflo
| Capacidad | Nuestro stack | Ruflo | Veredicto |
|---|---|---|---|
| Bots en producción | ✔ 3 bots, usuarios reales | ✘ 0 — es infra/tool | Nosotros |
| Routing por costo | ✘ Todo Opus | ✔ 3-tier WASM→Haiku→Opus | Adoptar |
| Coordinación inter-bot | ✘ Silos aislados | ✔ Swarm + message bus | No aplica |
| Memoria persistente | ◐ Markdown (basic-memory) | ✔ Vector HNSW + SQLite | Adoptar lite |
| Background learning | ◐ Instincts (básico) | ✔ SONA + 12 workers | Adoptar |
| Skills/Agent defs | ✔ 24 skills funcionales | ◐ 120+ markdown prompts | Nosotros |
| Task ownership | ◐ Manual (Roberto) | ✔ Claims protocol | No aplica |
| MCP tools | ✔ Per-bot, scoped | ✔ 314 centralizados | Nosotros |
| Consensus protocols | ✘ No tiene | ✔ Raft, BFT, Paxos, Gossip | Overkill |
| Domain plugins | ✔ YouTube, business, LPDI | ◐ Healthcare, finance (generic) | Nosotros |
Arquitectura actual vs con mejoras
HOY — Todo Opus, silos
DESPUÉS — Routing + Learning
Conclusión rápida
Ruflo tiene 31K stars y 314 tools, pero cero bots en producción. Nosotros tenemos 3 bots sirviendo usuarios reales con workflows de negocio. De sus 15+ subsistemas, solo 3 ideas son aplicables a nuestro stack actual — el resto es over-engineering para un equipo de 3 bots aislados. Las 3 mejoras viables se enfocan en reducir costos (routing), aprender de errores (feedback loop), y mejorar búsqueda (embeddings lite).
Mejoras a adoptar — ordenadas por impacto/esfuerzo
Hoy cada request de cada bot va a Opus (~$15/MTok input, ~$75/MTok output). Pero el 60-70% de las tareas son rutinarias: formatear mensajes Slack, lookups en Supabase, parsear JSON, generar respuestas FAQ. Estamos pagando precio premium por trabajo que Haiku hace igual de bien.
Su 3-tier routing: WASM (regex) → Haiku (routine) → Opus (complex). Nosotros no necesitamos el tier WASM, pero el concepto de clasificar y rutear sí.
- Un módulo
model_router.pyen~/shared/que cada bot importa - Clasifica por heurísticas simples: longitud del prompt, presencia de keywords (debug, architecture, design → Opus), tipo de handler
- 3 tiers: Haiku (formateo, lookups, FAQ) → Sonnet (generación, análisis) → Opus (arquitectura, debugging, decisiones)
- Fallback a Opus si la clasificación falla o el response quality es bajo
- Logging de modelo usado por request para tracking
~/shared/model_router.py— crear~/shared/cost_aware_llm.py— integrar router~/agents-claude/pool.py— usar router en AgentPool~/agents-pmo/pool.py— ídem~/agents-growth/pool.py— ídem
30-50% en costos de API. Haiku es ~60x más barato que Opus en output. Si 60% de requests van a Haiku y 25% a Sonnet, el costo baja dramáticamente. Ver pestaña "Calculadora" para simular.
Miles tiene un sistema de "instincts" que aprende post-respuesta, pero es reactivo e individual. No hay análisis agregado de qué skills fallan, qué patrones se repiten, ni cómo mejorar semana a semana. Los bots cometen los mismos errores periódicamente.
SONA (Self-Optimizing Neural Adaptation) — el concepto de background workers que analizan patrones y auto-ajustan. No necesitamos 9 algoritmos RL, pero sí el loop de feedback agregado.
- Cada bot loguea: skill usado, modelo, tokens, éxito/fallo, correcciones de Roberto
- Cron semanal (domingo, junto con maintenance) que agrega los logs
- Genera un weekly digest en playground con: top skills, failure rate, correcciones frecuentes
- Auto-flag: skill con >3 fallos/semana se marca para review
- Feed los insights de vuelta a basic-memory para que los bots mejoren
~/shared/feedback_tracker.py— crear~/bin/weekly-feedback-digest.py— crear (cron)~/agents-claude/handlers/*.py— integrar logging~/agents-pmo/handlers/*.py— integrar logging~/agents-growth/handlers/*.py— integrar logging
Los bots dejan de repetir errores. Roberto deja de corregir lo mismo dos veces. Los skills mejoran orgánicamente. El digest semanal da visibilidad de qué tan bien funcionan los bots sin tener que revisar logs manualmente.
basic-memory tiene ~50+ archivos markdown. El hook SessionStart inyecta contexto basado en cwd (hardcodeado). Cuando el contexto relevante no está en la carpeta del cwd, se pierde. La búsqueda es por nombre de archivo, no por contenido semántico.
Su AgentDB con HNSW vector search. No necesitamos SQLite + HNSW completo, pero sí embeddings sobre los markdowns para búsqueda semántica básica.
- Modelo
all-MiniLM-L6-v2via sentence-transformers (~50MB, corre en CPU) - Script que indexa todos los .md de basic-memory → genera embeddings → guarda en un .npy o .json
- El hook SessionStart busca por similitud semántica al contexto de la conversación
- Inyecta los top-3 docs más relevantes, no solo el que matchea por cwd
- Re-indexa semanalmente (cron) o cuando un doc cambia
Agrega ~50MB de modelo + ~200ms al hook SessionStart. Si el hook actual funciona bien para el uso del día a día, esto puede esperar. Pero a medida que basic-memory crece, se vuelve más necesario.
Qué NO copiar de Ruflo — y por qué
Ruflo tiene 15+ subsistemas. La mayoría son over-engineering para nuestro caso de 3 bots aislados con scopes definidos.
Bus de comunicación inter-bot
Claims / Task ownership protocol
Consensus protocols (Raft, BFT, Paxos)
314 MCP tools centralizados
Federation cross-swarm
Principio aplicado
Ruflo construye para un futuro genérico con N agentes. Nosotros construimos para 3 bots específicos con problemas de negocio reales. La complejidad de Ruflo es su feature (developer tool que escala a cualquier caso). Nuestra simplicidad es la nuestra (bots que funcionan 24/7 sin fallar). Adoptar solo lo que reduce costos o mejora calidad sin agregar superficie de fallo.
Calculadora de ahorro: Routing por costo
Simula cuánto ahorrarías redirigiendo requests a modelos más baratos según complejidad.
Parámetros
Resultado mensual
Roadmap de implementación
3 mejoras, ejecutables secuencialmente. Sin dependencias entre sí — se pueden hacer en cualquier orden.
01 · Routing por costo de modelo
Crear model_router.py en shared, integrar con cost_aware_llm.py, actualizar AgentPool de los 3 bots. Test A/B una semana comparando costos antes/después.
02 · Instincts feedback loop
Crear feedback_tracker.py, instrumentar handlers de los 3 bots, cron semanal para digest. Primera iteración solo logging — el auto-ajuste viene después de 2-3 semanas de data.
03 · Memory embeddings lite
Instalar sentence-transformers, indexar basic-memory, modificar hook SessionStart para búsqueda semántica. Puede esperar — el hook actual funciona bien con ~50 docs.
Esfuerzo total estimado: Talla M
Las 3 mejoras juntas son ~8-11h de implementación. El routing por costo es el quick win más claro: talla S, impacto inmediato en costos, cero riesgo. Recomendación: empezar por ahí, medir una semana, y luego decidir si vale la pena invertir en las otras dos.