> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ryvo.so/llms.txt
> Use this file to discover all available pages before exploring further.

# El Constructor de agente

> Qué es Ryvo Engine, cómo se arma un agente en el Constructor, cómo se prueba, se publica y qué canales atiende hoy.

**Ryvo Engine** es el motor propio de Ryvo para agentes conversacionales: tú eliges el modelo de lenguaje, la voz y el oído (texto a voz y voz a texto), le das instrucciones, documentos y tools, y el mismo agente atiende por chat y por voz. El **Constructor** es la pantalla donde se arma.

<Frame caption="El Constructor: riel de secciones a la izquierda, prompt al centro, conocimiento y ajustes de voz en la columna media, probador a la derecha. (1) Historial de versiones. (2) Publicar.">
  <img src="https://mintcdn.com/ryvo-3dab4d1a/9EEXAZ5i3XN2oDZq/images/portal/constructor.png?fit=max&auto=format&n=9EEXAZ5i3XN2oDZq&q=85&s=f9c9cf0b809d55215f820fb36167b786" alt="Constructor de agente en Ryvo" width="1600" height="1000" data-path="images/portal/constructor.png" />
</Frame>

## Las secciones

| Sección                      | Qué haces ahí                                                                                                                                                                                     |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Agente**                   | Eliges LLM, TTS, STT, voz e idioma (`es-MX`, `es-ES`, `en-US`); escribes el prompt y el mensaje de bienvenida; decides quién habla primero; ajustas la base de conocimiento y los ajustes de voz. |
| **Flujo**                    | Reservado para flujos de varios pasos. Hoy no tiene contenido.                                                                                                                                    |
| **Tools**                    | Das de alta las funciones que conectan al agente con tus sistemas. [Guía completa](/guias/agentes/tools).                                                                                         |
| **Probador** (panel derecho) | Hablas con el borrador por chat (**Probar LLM**) o por voz desde el navegador (**Probar audio**). [Cómo probar](/guias/agentes/probar-tu-agente).                                                 |

### El prompt

Es la instrucción principal. Funciona bien en secciones cortas: quién es, qué debe lograr, cómo habla, qué no promete y qué hace cuando no sabe. Puedes usar **variables** con doble llave (`{{nombre_del_negocio}}`): el Constructor las detecta y te pide un valor por omisión de hasta 500 caracteres. Existen también variables de sistema: `{{system__channel}}` (chat o voz), `{{system__time_local}}` y `{{system__caller}}`.

Si usas tools, di en el prompt cuándo usar cada una, por su nombre.

### Ajustes de voz que sí aplican

* **Duración máxima** de la llamada: hasta 15 minutos; el agente cierra 20 segundos antes del tope para despedirse.
* **Sensibilidad a interrupciones**: cuántas palabras tiene que decir el usuario para que el agente se calle (1 a 10). No aplica con Deepgram Flux, que trae su propio detector.
* **Recordatorio en silencio**: segundos de silencio antes de que el agente pregunte algo como «¿Sigues ahí?» (0 apaga el recordatorio; tope 120).
* **Perillas del proveedor**: según el TTS y STT que elijas aparecen ajustes propios (estabilidad, velocidad y normalización de texto en ElevenLabs; términos clave y formato en Deepgram; endpointing en Gladia).

### Análisis después de cada conversación

En la misma sección **Agente** defines hasta **30 criterios de éxito** (preguntas de sí/no que un modelo evalúa al terminar: «¿Se agendó la cita?») y hasta **25 campos a extraer** (nombre, correo, presupuesto; de tipo texto, booleano, entero o número, con etiqueta de sensibilidad). El análisis corre unos minutos después de cerrar la conversación y se entrega por el webhook `analysis.ready` ([ver Webhooks](/webhooks/overview)).

Lo que veas rotulado **Próximamente** (sonido de fondo, espera antes de responder, pronunciación, buzón de voz, transferencia a humano) no está operando todavía; la pantalla lo muestra para que sepas hacia dónde va.

## Versiones: borrador y publicada

Cada agente tiene dos punteros:

* **Borrador**: lo que estás editando. Es lo que usan el probador de chat y la prueba de voz.
* **Publicada**: la versión que atiende a tus clientes.

Cada vez que guardas se crea una versión nueva. El reloj de la esquina superior derecha (`v2`, `v3`...) abre el historial: puedes comparar versiones y **publicar cualquiera anterior** si algo salió mal.

### Qué exige publicar

* Un prompt no vacío y un LLM elegido.
* Si el agente va a hablar: STT, modelo de TTS y una voz. Un agente sólo de texto se publica sin voz.
* Método de pago verificado en la cuenta. La tarjeta se pide al publicar, no al crear.

### Estados del agente

<Frame caption="La lista de agentes: estado, última edición, modelo y actividad de 7 días.">
  <img src="https://mintcdn.com/ryvo-3dab4d1a/9EEXAZ5i3XN2oDZq/images/portal/agentes.png?fit=max&auto=format&n=9EEXAZ5i3XN2oDZq&q=85&s=3b09543a53d5e32b95aaaba180cbaa09" alt="Lista de agentes con su estado" width="1600" height="1000" data-path="images/portal/agentes.png" />
</Frame>

`Borrador` → `Publicado` → `Pausado` / `Archivado`. Pausar detiene al agente de inmediato: cualquier sesión nueva recibe `agent_disabled`. Archivar lo saca de la lista sin borrarlo.

## Qué canales atiende hoy un agente del Engine

| Canal                                                 | Estado                                                                                                                                               |
| ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| Chat de prueba en el Constructor                      | Disponible.                                                                                                                                          |
| Voz en el navegador (prueba)                          | Disponible. Se cobra como una llamada.                                                                                                               |
| Llamada saliente por teléfono con tu número de Twilio | Disponible por el equipo de Ryvo. Importa tu número en **Teléfonos** y pídenos activar el marcado; aún no hay botón ni API para dispararla tú mismo. |
| Llamada entrante por teléfono                         | En construcción.                                                                                                                                     |
| Widget de voz en tu sitio web                         | En construcción.                                                                                                                                     |
| WhatsApp                                              | En el plan, sin fecha.                                                                                                                               |

<Note>
  `POST /v1/calls` de la [API pública](/api-reference) dispara llamadas de los agentes de **ElevenLabs** operados por Ryvo, no de agentes del Engine. Cuando el marcado del Engine se abra por API, aparecerá en el changelog.
</Note>

## Cuánto cuesta

Un crédito vale **\$0.001 USD**. El Engine cobra por uso, sin cargo por agente:

| Concepto                                  | Pago por uso | Starter | Pro    | Scale / Enterprise |
| ----------------------------------------- | ------------ | ------- | ------ | ------------------ |
| Voz, por minuto (prorrateado por segundo) | 200 cr       | 185 cr  | 170 cr | 155 cr             |
| Chat, por turno                           | 30 cr        | 30 cr   | 30 cr  | 30 cr              |
| Base de conocimiento                      | 5 MB         | 10 MB   | 50 MB  | 200 MB / sin tope  |
| Agentes                                   | 1            | 1       | 3      | 10 / sin tope      |
| Llamadas de voz simultáneas               | 1            | 2       | 10     | 30                 |

Para iniciar una llamada de voz la cuenta necesita al menos **870 créditos** de saldo. Consulta la tabla completa de planes en **Configuración → Plan** dentro del portal.

### Topes por turno

Para que un turno no se dispare en costo ni en latencia, cada plan acota lo que entra y sale del modelo:

| Tope                                    | Pago por uso | Starter | Pro    | Scale  |
| --------------------------------------- | ------------ | ------- | ------ | ------ |
| Tokens de entrada                       | 8 000        | 12 000  | 24 000 | 48 000 |
| Turnos de historial que ve el modelo    | 8            | 12      | 20     | 40     |
| Fragmentos de conocimiento por consulta | 3            | 5       | 8      | 12     |
| Llamadas a tools por turno              | 4            | 6       | 10     | 12     |
| Tamaño de respuesta de una tool         | 16 KB        | 32 KB   | 64 KB  | 128 KB |
| Tokens de salida                        | 512          | 1 024   | 2 048  | 4 096  |

## Si el agente no arranca

Cuando una sesión se rechaza, el Constructor muestra el motivo:

| Motivo                       | Qué significa                                           | Qué hacer                  |
| ---------------------------- | ------------------------------------------------------- | -------------------------- |
| `insufficient_voice_credits` | Saldo por debajo del piso de 870 créditos.              | Recarga.                   |
| `at_tenant_capacity`         | Ya tienes el máximo de llamadas simultáneas de tu plan. | Espera o sube de plan.     |
| `at_period_minutes_cap`      | Agotaste los minutos de voz del periodo.                | Sube de plan.              |
| `at_platform_capacity`       | La plataforma está al tope. Es momentáneo.              | Reintenta en unos minutos. |
| `agent_disabled`             | El agente está pausado o archivado.                     | Actívalo y publica.        |
| `engine_model_not_sellable`  | El modelo elegido dejó de ofrecerse.                    | Cambia el LLM, TTS o STT.  |
| `rate_limited`               | Demasiadas peticiones seguidas.                         | Espera un minuto.          |

## Tu propio modelo (BYOK)

En Scale y Enterprise puedes elegir **Tu propio modelo** en el selector de LLM: das un endpoint compatible con OpenAI, tu llave y el nombre del modelo. La llave se cifra y no se vuelve a mostrar. Aplica sólo al LLM; TTS y STT siguen siendo de Ryvo.
