Feature Flags e Níveis
O AI Ops é controlado por quatro colunas na tabela subaccounts. Elas têm efeito imediato — sem necessidade de redeploy — e cada cron lê esses valores em tempo de execução.
As quatro configurações
| Coluna | Tipo | Padrão | O que faz |
|---|---|---|---|
ai_ops_enabled | boolean | false | Chave geral. Desligada = os crons do AI Ops pulam esse subaccount inteiro. |
ai_ops_tier | text | null | Um de starter, pro, enterprise. Define quais capacidades rodam. |
tech_cost_per_mile_usd | numeric | 0.50 | Subtraído do ganho projetado no recomendador. |
rebalance_battery_floor | integer | 30 | Estado-de-carga mínimo (em por cento) para o veículo ser candidato a rebalanceamento. |
Matriz de níveis
| Capacidade | Starter | Pro | Enterprise |
|---|---|---|---|
Superfície de demanda (/dashboard/analytics/heat-maps) | sim | sim | sim |
| Heatmap de demanda não atendida | sim | sim | sim |
Recomendações de rebalanceamento (/dashboard/operations/rebalance) | não | sim | sim |
| Widget Top-3 no painel de operações | não | sim | sim |
| Rotas conjuntas de troca+rebalanceamento | não | não | sim |
| Aba Route na operator-app | não | não | sim |
| Regra de auto-manutenção | não | não | sim |
| Solver VRP OR-Tools | n/a | n/a | sim |
| Solver Routific (quando token configurado) | n/a | n/a | sim |
Ajustando tech_cost_per_mile_usd
Esta configuração representa o custo marginal de mover um veículo uma milha. Para um operador que paga prestadores por hora, uma estimativa razoável é a hora dividida pela média de milhas por hora no território.
- Valores mais baixos tornam o recomendador mais agressivo — mais movimentos com ganho individual menor.
- Valores mais altos o tornam conservador — só os movimentos de maior ganho passam pelo crivo.
O padrão 0.50 é um bom ponto de partida para operadores urbanos de patinete. Operadores suburbanos e de turismo, com distâncias maiores, costumam elevar para 0.75 ou 1.00.
O custo é subtraído diretamente do ganho projetado:
projected_lift_usd = (dest_gain - src_loss) * avg_fare - distance_miles * tech_cost_per_mile_usd
Se o resultado ficar negativo, a recomendação nunca é gravada.
Ajustando rebalance_battery_floor
Um veículo não é recolhido para um movimento de rebalanceamento se sua bateria estiver abaixo deste piso. O padrão 30 (por cento) é um limiar seguro para a maioria das frotas de patinete — alcance suficiente para o técnico carregar e descarregar sem falha em trânsito.
- Para e-bikes ou veículos com autonomia maior, o piso pode cair para
15-20. - Para operadores ultraconservadores (ex.: inverno rigoroso), eleve para
40-50.
Veículos abaixo do piso não são rebalanceados. Em vez disso, são candidatos ao tipo de parada swap nas rotas de técnicos, que recupera a carga antes da movimentação.
Como as mudanças de nível propagam
| Ação | Efeito |
|---|---|
Definir ai_ops_enabled = false | Todos os crons do AI Ops pulam o subaccount na próxima execução. Previsões e recomendações existentes permanecem no banco, mas nenhuma nova é gerada. |
Rebaixar ai_ops_tier de enterprise para pro | O cron do solver de rotas pula esse subaccount. Rotas em andamento existentes seguem até completar ou serem abandonadas. |
Atualizar starter → pro | O cron do recomendador começa a gerar recomendações na próxima execução. |
Atualizar pro → enterprise | O solver de rotas começa a rodar no próximo tick de 30 minutos (em horário operacional). |
Mudanças de nível têm efeito a partir do próximo ciclo de cron. Elas não desfazem retroativamente o trabalho feito em execuções anteriores.
Onde definir as flags
Hoje as flags são definidas diretamente na linha de subaccounts via API admin (PATCH /api/admin/super-subaccounts/[id]) ou SQL no Supabase. Uma UI dedicada no painel admin está no roadmap.
Para rollout piloto, o SQL recomendado é:
UPDATE subaccounts
SET ai_ops_enabled = TRUE,
ai_ops_tier = 'starter',
tech_cost_per_mile_usd = 0.50,
rebalance_battery_floor = 30
WHERE id IN ('<pilot_uuid_1>', '<pilot_uuid_2>');
Relacionado
- Primeiros passos — guia completo de configuração.
- Recomendações de rebalanceamento — onde
tech_cost_per_mile_usdé aplicado. - Rotas de técnicos — requer o nível Enterprise.