> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Salidas

> Defina esquemas JSON para estructurar las respuestas de los agentes en un formato consistente

Las Salidas Estructuradas le permiten definir esquemas JSON que sus agentes de IA deben seguir al responder. Esto asegura respuestas consistentes y legibles por máquinas que pueden integrarse fácilmente con otros sistemas, APIs o flujos de trabajo automatizados.

## Descripción General

Las Salidas Estructuradas le permiten:

* **Definir el Formato de Respuesta** - Cree esquemas JSON personalizados para las respuestas del agente
* **Asegurar Consistencia** - Garantice que los agentes siempre devuelvan datos en la misma estructura
* **Habilitar Integración** - Haga que las respuestas sean fácilmente consumibles por otros sistemas
* **Mejorar el Análisis** - Elimine la necesidad de análisis de texto complejo

## Cómo Funciona

### 1. Cree un Esquema JSON

Defina la estructura que desea que su agente siga:

* **Campos** - Especifique campos requeridos y opcionales
* **Tipos de Datos** - Defina tipos (cadena, número, booleano, arreglo, objeto)
* **Estructuras Anidadas** - Cree objetos JSON anidados complejos
* **Ejemplos** - Proporcione valores de ejemplo para mayor claridad

### 2. Asigne al Agente

Seleccione el esquema de salida estructurada para su agente:

* **Pestaña General** - Elija entre las salidas estructuradas disponibles
* **Específico del Agente** - Cada agente puede usar un esquema diferente
* **Selección Dinámica** - Cambie esquemas según sea necesario

### 3. Respuesta del Agente

Cuando está habilitado, el agente:

* **Formatea como JSON** - Devuelve respuestas en la estructura JSON especificada
* **Sigue el Esquema** - Incluye todos los campos requeridos
* **Mantiene la Estructura** - Preserva objetos anidados y arreglos
* **Valida el Formato** - Asegura que las respuestas coincidan con el esquema

## Creación de Salidas Estructuradas

### Paso 1: Acceda a la Pestaña de Salida

1. Navegue a **Agentes** en la barra lateral
2. Seleccione un agente o cree uno nuevo
3. Haga clic en **Editar** para abrir el agent builder
4. Vaya a la pestaña **Salida**

### Paso 2: Cree un Nuevo Esquema

1. Haga clic en el botón **Crear Nuevo**
2. Ingrese un título descriptivo para su salida estructurada
3. Use el constructor JSON para definir su esquema

### Paso 3: Defina la Estructura del Esquema

Use el constructor JSON visual para crear su esquema:

#### Estructura Básica

```json theme={null}
{
  "status": "string",
  "message": "string",
  "data": {
    "result": "string"
  }
}
```

#### Con Arreglos

```json theme={null}
{
  "items": [
    {
      "id": "string",
      "name": "string",
      "value": "number"
    }
  ],
  "total": "number"
}
```

#### Estructura Anidada Compleja

```json theme={null}
{
  "response": {
    "summary": "string",
    "details": {
      "category": "string",
      "subcategory": "string",
      "metadata": {
        "created_at": "string",
        "updated_at": "string"
      }
    },
    "items": [
      {
        "id": "string",
        "properties": {
          "name": "string",
          "value": "number"
        }
      }
    ]
  }
}
```

### Paso 4: Guarde el Esquema

1. Haga clic en **Guardar** para almacenar su salida estructurada
2. El esquema ahora está disponible para uso en agentes

## Asignación a Agentes

### Método 1: Desde la Pestaña General

1. Abra el agente que desea configurar
2. Vaya a la pestaña **General**
3. Encuentre la sección **Formato de Respuesta**
4. Seleccione su salida estructurada del menú desplegable
5. Guarde el agente

### Método 2: Desde la Pestaña de Salida

1. Abra el agente que desea configurar
2. Vaya a la pestaña **Salida**
3. Seleccione una salida estructurada de la lista
4. El agente usará este esquema para todas las respuestas

## Casos de Uso

### Integración de API

**Escenario:** Necesita respuestas del agente en un formato que pueda ser consumido por su API.

**Ejemplo de Esquema:**

```json theme={null}
{
  "status": "success",
  "code": 200,
  "data": {
    "result": "string",
    "timestamp": "string"
  }
}
```

**Respuesta del Agente:**

```json theme={null}
{
  "status": "success",
  "code": 200,
  "data": {
    "result": "Tarea completada exitosamente",
    "timestamp": "2024-01-15T10:30:00Z"
  }
}
```

### Extracción de Datos

**Escenario:** Extraer datos estructurados de texto no estructurado.

**Ejemplo de Esquema:**

```json theme={null}
{
  "entities": [
    {
      "type": "string",
      "value": "string",
      "confidence": "number"
    }
  ],
  "summary": "string"
}
```

**Respuesta del Agente:**

```json theme={null}
{
  "entities": [
    {
      "type": "person",
      "value": "John Doe",
      "confidence": 0.95
    },
    {
      "type": "company",
      "value": "TechCorp",
      "confidence": 0.88
    }
  ],
  "summary": "Se extrajeron 2 entidades del texto"
}
```

### Informes Formateados

**Escenario:** Generar estructuras de informes consistentes.

**Ejemplo de Esquema:**

```json theme={null}
{
  "report": {
    "title": "string",
    "date": "string",
    "sections": [
      {
        "heading": "string",
        "content": "string",
        "metrics": {
          "value": "number",
          "unit": "string"
        }
      }
    ],
    "summary": "string"
  }
}
```

### Automatización de Flujos de Trabajo

**Escenario:** Estructurar respuestas para el procesamiento automatizado de flujos de trabajo.

**Ejemplo de Esquema:**

```json theme={null}
{
  "action": "string",
  "parameters": {
    "key": "value"
  },
  "next_step": "string",
  "metadata": {
    "workflow_id": "string",
    "step_number": "number"
  }
}
```

## Mejores Prácticas

### Diseño de Esquemas

1. **Sea Específico** - Defina claramente todos los campos y sus tipos
2. **Use Ejemplos** - Incluya valores de ejemplo en su esquema
3. **Manténgalo Simple** - Evite estructuras anidadas excesivamente complejas cuando sea posible
4. **Documente los Campos** - Use nombres de campos descriptivos
5. **Considere Campos Opcionales** - Marque campos como opcionales cuando sea apropiado

### Nomenclatura de Campos

* **Use Nombres Claros** - `user_name` en lugar de `un`
* **Sea Consistente** - Siga una convención de nomenclatura (snake\_case, camelCase)
* **Evite Abreviaturas** - Use palabras completas cuando sea posible
* **Agrupe Campos Relacionados** - Use objetos anidados para datos relacionados

### Estructura del Esquema

* **Plano Cuando Sea Posible** - Prefiera estructuras planas para datos simples
* **Anide para Organizar** - Use anidamiento para datos complejos y relacionados
* **Arreglos para Listas** - Use arreglos para colecciones de elementos similares
* **Objetos para Grupos** - Use objetos para agrupar campos relacionados

### Pruebas

1. **Pruebe con Consultas Reales** - Verifique que el esquema funciona con preguntas reales del usuario
2. **Verifique Todos los Campos** - Asegúrese de que todos los campos requeridos estén completos
3. **Valide los Tipos** - Confirme que los tipos de datos coincidan con el esquema
4. **Maneje Casos Extremos** - Pruebe con datos inusuales o faltantes

## Gestión de Salidas Estructuradas

### Ver Todos los Esquemas

En la pestaña **Salida**, puede:

* **Listar Todos los Esquemas** - Vea todas las salidas estructuradas de su proyecto
* **Buscar** - Encuentre esquemas por nombre
* **Ordenar** - Ordene por fecha de creación o título
* **Ver Detalles** - Vea la estructura del esquema y metadatos

### Editar Esquemas

1. Haga clic en un esquema de la lista
2. Modifique la estructura JSON usando el constructor visual
3. Haga clic en **Guardar** para actualizar el esquema
4. Los cambios se aplican a todos los agentes que usan este esquema

### Eliminar Esquemas

1. Encuentre el esquema en la lista
2. Haga clic en el ícono **Eliminar**
3. Confirme la eliminación
4. Los agentes que usan este esquema volverán a respuestas de texto normales

<Warning>
  Eliminar una salida estructurada afectará a todos los agentes que actualmente la usan. Asegúrese de actualizar esos agentes antes de eliminar.
</Warning>

## Formato de Respuesta

### Respuesta Normal (Predeterminada)

Cuando no se selecciona una salida estructurada, los agentes devuelven texto libre:

```
El usuario solicitó información sobre el estado del proyecto.
El proyecto está actualmente en progreso con un 75% de finalización.
Todos los hitos están en curso.
```

### Respuesta Estructurada

Cuando se selecciona una salida estructurada, los agentes devuelven JSON:

```json theme={null}
{
  "status": "in_progress",
  "completion_percentage": 75,
  "milestones": [
    {
      "name": "Fase 1",
      "status": "completed"
    },
    {
      "name": "Fase 2",
      "status": "in_progress"
    }
  ],
  "on_track": true
}
```

## Integración con el Prompt del Sistema

Cuando se asigna una salida estructurada a un agente:

1. **Esquema Incluido** - El esquema JSON se agrega al prompt del sistema
2. **Instrucciones de Formato** - El agente recibe instrucciones de formato explícitas
3. **Ejemplo Proporcionado** - El esquema sirve como formato de ejemplo
4. **Validación** - El agente intenta coincidir con la estructura exacta

## Características Avanzadas

### Valores Dinámicos de Campos

Los esquemas pueden incluir campos que se adaptan a la respuesta:

```json theme={null}
{
  "response_type": "string",
  "content": {
    "text": "string",
    "metadata": {}
  }
}
```

### Estructuras Condicionales

Use diferentes esquemas para diferentes tipos de respuesta:

```json theme={null}
{
  "type": "success|error|warning",
  "message": "string",
  "data": {} // La estructura varía según el tipo
}
```

### Respuestas con Arreglos

Maneje múltiples elementos en las respuestas:

```json theme={null}
{
  "count": "number",
  "items": [
    {
      "id": "string",
      "data": {}
    }
  ]
}
```

## Solución de Problemas

### El Agente No Sigue el Esquema

**Causas Posibles:**

* El esquema no está asignado al agente
* La estructura del esquema es demasiado compleja
* El agente necesita instrucciones más claras

**Soluciones:**

* Verifique que la salida estructurada esté seleccionada en la pestaña General
* Simplifique la estructura del esquema
* Agregue descripciones de campos más explícitas
* Pruebe con consultas más simples primero

### Respuestas JSON Inválidas

**Causas Posibles:**

* El esquema tiene errores de sintaxis
* El agente tiene dificultades con la estructura compleja
* Faltan campos requeridos

**Soluciones:**

* Valide la sintaxis del esquema en el constructor JSON
* Verifique errores de validación JSON
* Simplifique el esquema si es demasiado complejo
* Revise las respuestas del agente en busca de errores de análisis

### Campos Faltantes

**Causas Posibles:**

* Los campos no están claramente definidos
* El agente no entiende los requisitos de los campos
* El esquema es demasiado vago

**Soluciones:**

* Agregue descripciones claras de campos
* Proporcione valores de ejemplo en el esquema
* Haga que los campos sean opcionales si no siempre están disponibles
* Pruebe con consultas específicas

## Ejemplos

### Ejemplo 1: Respuesta de Soporte al Cliente

**Esquema:**

```json theme={null}
{
  "ticket_id": "string",
  "status": "open|resolved|pending",
  "response": "string",
  "next_actions": ["string"],
  "priority": "low|medium|high|urgent"
}
```

**Respuesta del Agente:**

```json theme={null}
{
  "ticket_id": "TKT-12345",
  "status": "resolved",
  "response": "Su problema ha sido resuelto. El problema estaba relacionado con los permisos de la cuenta.",
  "next_actions": ["Actualice su navegador", "Cierre sesión y vuelva a iniciar"],
  "priority": "medium"
}
```

### Ejemplo 2: Respuesta de Análisis de Datos

**Esquema:**

```json theme={null}
{
  "analysis": {
    "summary": "string",
    "findings": [
      {
        "category": "string",
        "insight": "string",
        "confidence": "number"
      }
    ],
    "recommendations": ["string"]
  },
  "data_points": "number"
}
```

**Respuesta del Agente:**

```json theme={null}
{
  "analysis": {
    "summary": "Los datos de ventas muestran un aumento del 15% en Q4",
    "findings": [
      {
        "category": "ingresos",
        "insight": "Los ingresos aumentaron un 15% comparado con Q3",
        "confidence": 0.95
      },
      {
        "category": "clientes",
        "insight": "La adquisición de nuevos clientes aumentó un 20%",
        "confidence": 0.88
      }
    ],
    "recommendations": [
      "Continuar con la estrategia de marketing actual",
      "Enfocarse en la retención de clientes"
    ]
  },
  "data_points": 1250
}
```

### Ejemplo 3: Respuesta de Gestión de Tareas

**Esquema:**

```json theme={null}
{
  "task": {
    "id": "string",
    "title": "string",
    "status": "todo|in_progress|completed",
    "assignee": "string",
    "due_date": "string",
    "description": "string"
  },
  "related_tasks": [
    {
      "id": "string",
      "title": "string"
    }
  ]
}
```

## Permisos

### Creación de Salidas Estructuradas

* **Administrador del Proyecto** - Puede crear, editar y eliminar salidas estructuradas
* **Miembro del Proyecto** - Depende de los permisos del proyecto (flows.edit)
* **Visualizador** - Puede ver pero no modificar salidas estructuradas

### Uso en Agentes

* **Propietario del Agente** - Puede asignar salidas estructuradas a sus agentes
* **Administrador del Proyecto** - Puede asignar a cualquier agente del proyecto
* **Miembro del Proyecto** - Puede asignar a agentes a los que tiene acceso

## Características Relacionadas

* **Configuración del Agente** - Configure la personalidad y comportamiento del agente
* **Herramientas** - Use herramientas que devuelvan datos estructurados
* **Integración de API** - Integre respuestas estructuradas con API externas
* **Flujos de Trabajo** - Use salidas estructuradas en flujos de trabajo automatizados

<Card title="Configuración del Agente" icon="settings" href="/agents/agents">
  Aprenda a configurar sus agentes
</Card>

## Soporte

¿Necesita ayuda con las salidas estructuradas? Contacte soporte en [support@automationanywhere.com](mailto:support@automationanywhere.com).
