IA (Anthropic SDK)
CÉNIT usa el SDK de Anthropic (@anthropic-ai/sdk) en tres
acciones server del dashboard. Modelo único: claude-haiku-4-5-20251001.
Toda llamada vive en el servidor — la key nunca llega al browser. Una
de las tres acciones (Risk Advisor) está gated a planes pro y
enterprise; las otras dos están disponibles para todos.
Para comercial
Sección titulada «Para comercial»CÉNIT no es una “AI-first” app: la IA es asistente en flujos específicos donde aporta valor real. Lo que efectivamente hace IA hoy:
- Parser de PDFs de partidos — el PF carga un PDF de informe oficial y Claude extrae stats por jugador a JSON estructurado. Disponible en todos los planes.
- Risk Advisor — recomendación IA — Claude redacta una
recomendación de manejo de riesgo en base a ACWR, Hooper, dolor y
lesiones del jugador. Solo
proyenterprise; enesencialel módulo entrega texto estático determinístico. - Predicción de carga multi-métrica — pese al nombre, es cálculo determinístico (chronic_28d / acute_7d / ACWR / recomendación parametrizada por métrica). No usa IA; se documenta acá porque el dashboard lo presenta junto al resto.
Lo que NO hace IA (pero está prometido en lib/plans.ts):
ai_post_injury_analysis, ai_anomaly_detection,
ai_natural_language_insights. Ver
Plans y billing.
Cómo lo usa el staff
Sección titulada «Cómo lo usa el staff»Parser de PDFs — app/dashboard/rendimiento/actions.ts
Sección titulada «Parser de PDFs — app/dashboard/rendimiento/actions.ts»parseTextAction(pdfText, squadNames) recibe texto extraído del PDF
(via pdfjs-dist / pdf-parse) y la lista de nombres del plantel.
Claude devuelve JSON con métricas por jugador (distancia, HSR, pases,
etc.). El staff revisa el JSON antes de persistir.
Risk Advisor — app/dashboard/riesgo/actions.ts
Sección titulada «Risk Advisor — app/dashboard/riesgo/actions.ts»getRecommendation(playerRisk) resuelve el plan desde
organizations.plan del usuario autenticado y bifurca:
esencial→ funciónrecommendation()con texto estático basado en thresholds.pro/enterprise→ llamada a Claude (max_tokens: 200) con el contexto del jugador. Devuelve una recomendación en lenguaje natural. Si Anthropic falla oANTHROPIC_API_KEYno está configurada, cae al texto estático (degradación grácil).
Predicción multi-métrica — app/dashboard/carga/actions.ts
Sección titulada «Predicción multi-métrica — app/dashboard/carga/actions.ts»getPredictionByMetric(metric) (sin IA) computa para distance,
hsr, sprint o hmld: chronic_28d, acute_7d, ACWR y
recomendación parametrizada. Distancia se hidrata server-side al
cargar la página; las otras tres métricas se fetch on-demand al
activar el tab.
Datos y métricas
Sección titulada «Datos y métricas»Variable de entorno
Sección titulada «Variable de entorno»ANTHROPIC_API_KEY en Workers Secrets. Si falta:
- Parser de PDFs → falla con error visible al usuario.
- Risk Advisor → cae al texto estático (degradación grácil).
claude-haiku-4-5-20251001 para las tres llamadas. Haiku está
elegido por costo y latencia; el output esperado es estructurado
(parser) o texto corto (Risk Advisor).
Privacidad
Sección titulada «Privacidad»- No se envían datos a Anthropic más allá del contexto necesario (stats del jugador para Risk Advisor, texto del PDF para parser).
- Sentry filtra payloads de IA si llegan a logs (ver Sentry — scrubbing).
Integraciones
Sección titulada «Integraciones»- Plans y billing — gating de
risk_advisorpor plan. - Sentry — errores de la llamada IA se capturan con stack trace.
Limitaciones / roadmap
Sección titulada «Limitaciones / roadmap»- Sin streaming: el dashboard espera el response completo. Para Risk Advisor está bien (texto corto); para Parser puede tardar varios segundos en PDFs grandes.
- 3 features de IA prometidas e inexistentes —
ai_post_injury_analysis,ai_anomaly_detection,ai_natural_language_insights. Decisión de producto pendiente. - Costo no monitoreado en producto — no hay rate-limit por org ni dashboard de gasto IA. Lo controla Anthropic via el budget de la API key.