Escala Vergara de Autonomía Agéntica · VAAS-1.0
Declaración de Autonomía de Hubents
Qué puede hacer SofIA por su cuenta, qué no hará nunca sin una persona delante, y cómo se deshace lo que haga. Publicado porque la escala no deja reclamar un nivel de palabra.
Versión 1.0 · 2026-08-12
Niveles
Hubents ofrece hasta V4. Toda organización nueva arranca en V0, y el nivel lo fija el propio cliente: La organización se autogestiona hasta V4. Hubents no sube el nivel de nadie por su cuenta; bajar puede hacerlo el propietario o un administrador cuando quiera. En el alta y en el panel se OFRECE V2 preseleccionado y explicado —el nivel más alto que no ejecuta nada sin aprobación humana—, pero concederlo es un acto explícito del propietario: la organización se provisiona en V0 y sin ese clic ahí se queda.
- V0Consulta. Responde cuando se le pregunta y no toca nada por su cuenta.
- V1Asistente. Además te informa sin que se lo pidas: informe diario y check-ins de evento.
- V2Copiloto. Además propone acciones concretas que el equipo aprueba una a una.
- V3Autopiloto. Además ejecuta sola lo interno y reversible, auditado y con deshacer.
- V4Gestor. Además conduce misiones: objetivos de varios días, con topes y botón de pánico.
- V5Multiagente. Varios agentes coordinados bajo un coordinador. Reservado en la escala: Hubents no lo ofrece.
- V6Federado. Coordinación entre organizaciones distintas. Reservado en la escala: Hubents no lo ofrece.
Dónde está la gente, hoy
Lo que se ofrece y lo que se usa son dos cosas: esto es el recuento real de organizaciones por nivel. Agregado y sin nombres, y se actualiza solo.
- V0219 organizaciones
- V11 organización
- V41 organización
- V220 organizaciones
Lo que ha hecho de verdad
Un nivel concedido no es un nivel ejercido. Esto es lo que SofIA ha comprometido sin una persona delante desde que existe la autonomía, leído de la auditoría — no lo que la configuración permite.
- 61 acciones auto-ejecutadas (37 updateTask, 24 createTask) · ventana real: 2026-07-28 to 2026-09-22
- Deshacer usado: 1 vez · misiones que han corrido: 0
- Propuestas: 469 en total — 168 descartadas, 236 pendientes, 61 auto-ejecutadas.
Lo que nunca hace sola
El techo invariante: pase lo que pase y esté en el nivel que esté, esto espera a que una persona lo apruebe.
createDocument— Emitir un presupuesto o una factura es un hecho fiscal (VeriFactu): no se borra, se rectifica.enrollLeadInSequence— Inscribir en una secuencia son mensajes automáticos al lead en diferido.reconcileBankTransaction— Casar un movimiento bancario con una factura decide qué está cobrado.registerPayment— Dinero. Además del riesgo alto, lleva candado explícito: SofIA no apunta un cobro por su cuenta en ningún nivel.replyLeadConversation— Contestar a un lead sale hacia fuera y en su nombre.replyToEmail— Responder un correo sale hacia fuera en nombre del usuario.sendDocument— Sale hacia el cliente con un documento fiscal adjunto.sendEmail— Sale desde el correo del usuario, con su nombre, y no se recoge.sendGallery— El enlace de la galería sale hacia el cliente.sendPaymentReminder— Una reclamación de cobro no se puede des-enviar.sendWhatsAppMessage— Riesgo alto: ningún nivel lo ejecuta sin una persona delante.
Catálogo de acciones
Todo lo que SofIA puede escribir, con su riesgo y cómo se revierte. Una acción que no esté aquí se trata como riesgo alto: no se ejecuta sola nunca.
| Acción | Riesgo | ¿Se deshace? | Cómo |
|---|---|---|---|
| addScheduleItem | bajo | Sí | Borrar el punto del orden del día |
| addTag | bajo | Sí | Quitar la etiqueta |
| createContact | medio | Sí | Borrar el contacto |
| createDocument | alto | No | Un documento fiscal emitido no se borra: se rectifica con otro |
| createEmailDraft | medio | Sí | Borrar el borrador (no sale de Gmail hasta que se envía) |
| createEvent | medio | Sí | Borrar el evento |
| createReminder | bajo | Sí | Cancelar el recordatorio |
| createSupportTicket | bajo | Sí | Cerrar el ticket desde /dashboard/support (o /admin/support) |
| createTask | bajo | Sí | Borrar la tarea |
| createTaskFromConversation | bajo | Sí | Borrar la tarea |
| enrollLeadInSequence | alto | Con trabajo | Sacar al lead de la secuencia (lo ya enviado no se recoge) |
| markNotificationsRead | bajo | Sí | Marcar como no leídas |
| organizeCompanyContacts | medio | Con trabajo | Borrar las relaciones creadas en la tanda |
| postTaskMessage | bajo | Sí | Borrar el mensaje |
| reconcileBankTransaction | alto | Con trabajo | Deshacer la conciliación a mano |
| registerPayment | alto | Con trabajo | Anular el cobro registrado |
| relateContacts | bajo | Sí | Borrar la relación |
| replyLeadConversation | alto | No | Un mensaje enviado no se recoge |
| replyToEmail | alto | No | Un correo enviado no se recoge |
| saveAgentMemory | bajo | Sí | Borrar el recuerdo |
| scheduleFollowup | bajo | Sí | Borrar la tarea de seguimiento |
| scheduleMeeting | bajo | Sí | Borrar la cita |
| sendDocument | alto | No | Un correo enviado no se recoge |
| sendEmail | alto | No | Un correo enviado no se recoge |
| sendGallery | alto | No | Un correo enviado no se recoge |
| sendPaymentReminder | alto | No | Un correo enviado no se recoge |
| sendWhatsAppMessage | alto | No | Un WhatsApp enviado no se recoge (borrarlo en Meta no garantiza que no se haya leído) |
| setEventVendorStatus | medio | Sí | Devolver el estado anterior |
| setRsvp | medio | Sí | Devolver el estado anterior |
| toggleChecklistItem | bajo | Sí | Volver a marcarlo como estaba |
| updateTask | bajo | Sí | Restaurar los valores previos guardados en la auditoría |
Deshacer y registro
Lo que SofIA hace sola queda registrado y se puede deshacer durante 7 días desde la bandeja de propuestas. El registro guarda qué hizo, con qué datos, por qué, con qué riesgo y quién lo revisó. Mientras viva la organización: no se purga.
Frenar
Inmediata: el nivel se lee de la base en cada ejecución, no se cachea. La siguiente acción ya se decide con el nivel nuevo.
Bajar a V0 desde Ajustes › Autonomía de SofIA deja el agente en solo consulta. Además, por debajo de V3 no se auto-ejecuta nada, y el techo invariante no se automatiza en ningún nivel.
Las misiones en curso se paran con el botón de pánico; las propuestas ya generadas se quedan en la bandeja, que es donde no ejecutan nada.
Dónde viven los límites
En el código, no en las instrucciones del modelo. Un prompt es una petición; una rama del programa es una restricción. Estos son los ficheros que deciden, y los tests que los vigilan:
- src/lib/ai/action-risk.ts (clasificación, candado explícito y ventana de deshacer)
- src/lib/ai/autonomy.ts (niveles ofrecidos y reservados)
- src/lib/ai/missions.ts (nivel mínimo para encargar misiones)
- src/app/api/agent/autonomy/route.ts (quién puede cambiar el nivel)
- src/lib/ai/action-risk.test.ts
- src/lib/ai/autonomy-statement.test.ts
Hubents declara conformidad con las siete propiedades de la escala: P1, P2, P3, P4, P5, P6, P7.