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

# Conversaciones avanzadas con herramientas

> Un diálogo completo de 12 turnos con búsqueda web, correcciones, contradicciones y verificación de coherencia — mostrando cada solicitud y la respuesta completa.

Esta receta recorre una conversación de 12 turnos de principio a fin.
El usuario planea un viaje, cambia de opinión, corrige un error, hace preguntas ambiguas, activa una búsqueda web y solicita un resumen final que debe reflejar todos los cambios.
Se muestra cada solicitud y cada respuesta completa — nada está truncado.

El modelo utilizado es `meetkai:functionary-pt` con las herramientas `web_search` y `history` habilitadas.

Para el patrón básico CRUD de conversaciones, consulta [gestionar conversaciones](/es/docs/conversations).

## Crear la conversación

<CodeGroup>
  ```bash CLI theme={null}
  mka1 llm conversations create \
    --body '{ "metadata": { "session_id": "advanced-tools-demo", "scenario": "edge-cases" } }' \
    -H 'X-On-Behalf-Of: <end-user-id>'
  ```

  ```ts OpenAI SDK theme={null}
  import OpenAI from 'openai';

  const openai = new OpenAI({
    apiKey: '<mka1-api-key>',
    baseURL: 'https://apigw.mka1.com/api/v1/llm/',
    defaultHeaders: { 'X-On-Behalf-Of': '<end-user-id>' },
  });

  const conv = await openai.conversations.create({
    metadata: { session_id: 'advanced-tools-demo', scenario: 'edge-cases' },
  });
  // conv.id → "conv_0f31..."
  ```

  ```ts MKA1 SDK theme={null}
  import { SDK } from '@meetkai/mka1';

  const mka1 = new SDK({
    bearerAuth: `Bearer ${YOUR_API_KEY}`,
  });

  const conv = await mka1.llm.conversations.create({
    metadata: { session_id: 'advanced-tools-demo', scenario: 'edge-cases' },
  }, { headers: { 'X-On-Behalf-Of': '<end-user-id>' } });
  ```

  ```csharp C# SDK theme={null}
  using MeetKai.MKA1;
  using MeetKai.MKA1.Types.Components;

  var sdk = new SDK(bearerAuth: "Bearer YOUR_API_KEY");

  var conv = await sdk.Llm.Conversations.CreateAsync(new CreateConversationRequest()
  {
      Metadata = new Dictionary<string, string>
      {
          { "session_id", "advanced-tools-demo" },
          { "scenario", "edge-cases" },
      },
  });
  // conv.ConversationObject!.Id → "conv_0f31..."
  ```

  ```python Python SDK theme={null}
  from mka1 import SDK

  sdk = SDK(bearer_auth="Bearer YOUR_API_KEY")

  conv = sdk.llm.conversations.create(
      metadata={"session_id": "advanced-tools-demo", "scenario": "edge-cases"},
  )
  # conv.id → "conv_0f31..."
  ```

  ```bash bash theme={null}
  curl https://apigw.mka1.com/api/v1/llm/conversations \
    --request POST \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <mka1-api-key>' \
    --header 'X-On-Behalf-Of': '<end-user-id>' \
    --data '{ "metadata": { "session_id": "advanced-tools-demo", "scenario": "edge-cases" } }'
  ```
</CodeGroup>

Cada turno a continuación pasa `conversation: conv.id`. El gateway mantiene el estado — nunca reenvías el historial.

## Turno 1 — establecer contexto

```ts theme={null}
await openai.responses.create({
  model: 'meetkai:functionary-pt',
  conversation: conv.id,
  input: 'I am planning a week-long trip to Japan with my partner. We want to split time between Tokyo and Kyoto. Budget is moderate — not backpacker, not luxury.',
  tools: [{ type: 'web_search', searchContextSize: 'medium' }, { type: 'history' }],
  store: true,
  stream: false,
});
```

**Estado establecido:** destino = Japón (Tokio + Kioto), duración = 1 semana, presupuesto = moderado, viajeros = 2.

<Accordion title="Respuesta completa (1,327 tokens de salida)">
  Aquí tienes un itinerario sugerido y consejos para tu viaje a Japón, equilibrando experiencias culturales, comodidad y consideraciones de presupuesto:

  ### **Tokio (4 días)**

  **Atracciones imprescindibles:**

  * **Shibuya Crossing** (cruce icónico) + **Shibuya Sky** (mirador panorámico).
  * **Asakusa** (ambiente tradicional, Templo Senso-ji).
  * **Akihabara** (electrónica, cultura anime, comida económica).
  * **Shinjuku Gyoen** (el parque más grande de Tokio, entrada gratuita).
  * **TeamLab Borderless** (museo de arte digital – reserva entradas con antelación).

  **Consejos de presupuesto:**

  * **Alojamiento:** Hoteles de gama media en Shinjuku o Shibuya (ej. Hotel Gracery Shinjuku).
  * **Transporte:** Pase de metro de Tokio (72h/96h) para viajes ilimitados.
  * **Comida:** Come en izakayas (ej. *Omoide Yokocho*) o barras de sushi (ej. *Sushi Dai*).

  ### **Kioto (4 días)**

  **Atracciones imprescindibles:**

  * **Kinkaku-ji** (Pabellón Dorado) – compra entradas online para evitar filas.
  * **Fushimi Inari Taisha** (miles de toriis).
  * **Arashiyama Bamboo Grove** + Puente Togetsukyo.
  * **Gion** (distrito de geishas, paseo nocturno).
  * **Mercado Nishiki** (prueba snacks locales como dulces de matcha).

  **Consejos de presupuesto:**

  * **Alojamiento:** Casas de huéspedes estilo ryokan (ej. *Kanra Kyoto*).
  * **Transporte:** Pase de bus y metro de Kioto (1 día/3 días).
  * **Comida:** Comidas kaiseki en *Ippudo* (ramen) o *Omen* (tempura).

  ### **Consejos generales**

  * **JR Pass:** Alquila por 7 días (cubre Shinkansen Tokio-Kioto).
  * **Transporte entre ciudades:** Toma el Shinkansen (2h30m) – reserva asientos a través de Japan Travel.
  * **Efectivo:** Lleva ¥10,000-20,000 para compras pequeñas (muchos lugares no aceptan tarjeta).
</Accordion>

## Turno 2 — añadir preferencias

```ts theme={null}
await openai.responses.create({
  model: 'meetkai:functionary-pt',
  conversation: conv.id,
  input: 'We arrive on a Saturday morning and leave the following Sunday. We like temples, street food, and walking neighborhoods. We do not want guided tours.',
  tools: [{ type: 'web_search', searchContextSize: 'medium' }, { type: 'history' }],
  store: true,
  stream: false,
});
```

**Estado actualizado:** llegada = sábado, salida = domingo siguiente, intereses = templos + comida callejera + pasear barrios, anti-preferencia = no tours guiados.

<Accordion title="Respuesta completa (1,837 tokens de salida)">
  Aquí tienes un itinerario personalizado de 7 días enfocado en templos, comida callejera y barrios para caminar, con transporte fluido y opciones económicas:

  ### **Día 1: Sábado – Llegada a Tokio & Asakusa (Noche)**

  * **Tarde:** Check-in en hotel (zona Shinjuku/Shibuya) y paseo por **Shibuya Crossing** + **Shibuya Sky**.
  * **Noche:**
    * **Asakusa**: Camina al Templo Senso-ji, explora Nakamise Street (comida callejera como *taiyaki* y *tamagoyaki*).
    * **Cena**: *Omoide Yokocho* (Shinjuku) para snacks estilo izakaya y bebidas.

  ### **Día 2: Domingo – Templos y joyas ocultas**

  * **Mañana**: **Meiji Shrine** (templo en bosque) + **Yanaka Ginza** (calle comercial tradicional).
  * **Tarde**: **Almuerzo**: *Sushi Dai* (Mercado exterior de Tsukiji) para sushi fresco. **Shinjuku Gyoen** (entrada gratuita).
  * **Noche**: **Akihabara**: Explora tiendas de electrónica y prueba *tamagoyaki* de vendedores ambulantes.

  ### **Día 3: Lunes – Comida callejera y cultura**

  * **Mañana**: **Ameya-Yokocho** (Ueno): Prueba *menchi katsu* y *okonomiyaki*. Visita el Museo Nacional de Tokio.
  * **Tarde**: **Shibuya**: Cruza el Scramble Crossing y relájate en Shibuya Sky.
  * **Noche**: **Roppongi**: Galerías de arte y comida callejera en *Roppongi Night Market*.

  ### **Día 4: Martes – Tokio a Kioto (Shinkansen)**

  * **Mañana**: Shinkansen: Toma el Nozomi (2h30m) a Kioto.
  * **Tarde**: **Arashiyama**: Paseo por el bosque de bambú y visita al **Templo Tenryu-ji**.
  * **Noche**: **Mercado Nishiki**: Prueba *yuba* (piel de tofu) y dulces de *matcha*.

  ### **Día 5: Miércoles – Templos y jardines zen en Kioto**

  * **Mañana**: **Kinkaku-ji** (Pabellón Dorado). **Ryoan-ji** (jardín zen de rocas).
  * **Tarde**: **Fushimi Inari Taisha**: Caminata por los toriis.
  * **Noche**: **Gion**: Paseo por el distrito de geishas y prueba *kushikatsu* (brochetas fritas).

  ### **Día 6: Jueves – Templos ocultos y vida local**

  * **Mañana**: **Tofuku-ji** + **Gion Corner** (artesanías y snacks).
  * **Tarde**: **Castillo Nijo** (UNESCO) + **Kamishichiken** (distrito artesanal).
  * **Noche**: **Camino del Filósofo**: Paseo por el canal.

  ### **Día 7: Viernes – Salida de Kioto**

  * **Mañana**: **Kiyomizu-dera** (templo con vistas panorámicas).
  * **Tarde**: Explora *Higashiyama* o *Kamogawa* Riverwalk. Traslado al aeropuerto.
</Accordion>

## Turno 3 — pedir plan estructurado

```ts theme={null}
await openai.responses.create({
  model: 'meetkai:functionary-pt',
  conversation: conv.id,
  input: 'Can you give us a day-by-day plan? Start with Tokyo.',
  tools: [{ type: 'web_search', searchContextSize: 'medium' }, { type: 'history' }],
  store: true,
  stream: false,
});
```

<Accordion title="Respuesta completa (1,843 tokens de salida)">
  Aquí tienes un plan detallado día por día para tus días en Tokio (Días 1–4), enfocado en templos, comida callejera y barrios para caminar:

  ### **Día 1: Sábado – Llegada a Tokio & Asakusa (Noche)**

  **Mañana:** Check-in: Hotel en Shinjuku o Shibuya. Shibuya Crossing: Cruza el famoso cruce. Shibuya Sky: Reserva entradas online para el atardecer (¥2,000–¥3,000).

  **Tarde:** Almuerzo: *Taito* (Shibuya) – prueba melon pan y helado de matcha. Nezu Shrine: Paseo por el templo en el bosque (entrada gratuita).

  **Noche:** Asakusa: Templo Senso-ji – entra por la Puerta Kaminarimon. Nakamise Street: *taiyaki* (pastel en forma de pez) y *tamagoyaki* (tortilla enrollada). Cena: *Omoide Yokocho* (Shinjuku) – snacks y bebidas izakaya.

  ### **Día 2: Domingo – Templos y joyas ocultas**

  **Mañana:** Meiji Shrine: Santuario tranquilo en el bosque. Yanaka Ginza: Calle comercial tradicional (*menchi katsu* de vendedores ambulantes).

  **Tarde:** Almuerzo: *Sushi Dai* (Mercado exterior de Tsukiji) – sushi fresco (¥1,500–¥2,500). Shinjuku Gyoen: Paseo por el parque.

  **Noche:** Akihabara: Tiendas de electrónica y *tamagoyaki* de carritos. Cena: *Ichiran Ramen* (Shibuya) – personaliza tu ramen (¥1,000–¥1,500).

  ### **Día 3: Lunes – Comida callejera y cultura**

  **Mañana:** Ameya-Yokocho (Ueno): *menchi katsu*, *okonomiyaki*, *taiyaki*. Museo Nacional de Tokio.

  **Tarde:** Almuerzo: *Ramen Street* (Shibuya). Shibuya Sky para vistas nocturnas.

  **Noche:** Roppongi Night Market: Comida callejera y galerías de arte.

  ### **Día 4: Martes – Tokio a Kioto (Shinkansen)**

  **Mañana:** Desayuno: *Melting Pot* (Shibuya) – crepas. Shinkansen: Nozomi (2h30m) a Kioto (JR Pass lo cubre).

  **Tarde:** Arashiyama: Bosque de bambú. Templo Tenryu-ji (UNESCO). Almuerzo: *Kaiseki* en *Ippudo* o *Omen*.

  **Noche:** Mercado Nishiki: *yuba* y dulces de *matcha*.
</Accordion>

## Turno 4 — contradicción: cambiar preferencias

El usuario ahora **contradice** su preferencia de templos del Turno 2.

```ts theme={null}
await openai.responses.create({
  model: 'meetkai:functionary-pt',
  conversation: conv.id,
  input: 'Actually, forget the temples. We are more interested in nightlife, live music, and late-night food. Revise the Tokyo days.',
  tools: [{ type: 'web_search', searchContextSize: 'medium' }, { type: 'history' }],
  store: true,
  stream: false,
});
```

**Prueba de coherencia:** El modelo debe eliminar todas las recomendaciones de templos de los días en Tokio y reemplazarlas por lugares de vida nocturna. Debe también reconocer el cambio.

<Accordion title="Respuesta completa (1,340 tokens de salida)">
  Aquí tienes un itinerario revisado de Tokio enfocado en vida nocturna, música en vivo y comida nocturna:

  ### **Día 1: Sábado – Llegada a Tokio & Shinjuku Golden Gai**

  **Noche:** Shibuya Scramble Crossing. Shibuya Sky para vistas al atardecer. Cena: *Sushi Dai* (Tsukiji) – sushi fresco (¥1,500–¥2,500).

  **Vida nocturna:** Shinjuku Golden Gai: Explora bares pequeños y locales de música en vivo. Comida nocturna: *Omoide Yokocho* (Shinjuku) – snacks izakaya.

  ### **Día 2: Domingo – Akihabara & Robot Restaurant**

  **Noche:** Akihabara Den Den Town: Arcades y bares temáticos. Robot Restaurant: Show espectacular (¥4,000–¥6,000).

  **Vida nocturna:** Golden Gai: Regresa para bares íntimos. Comida nocturna: Tsukiji Night Market – brochetas a la parrilla.

  ### **Día 3: Lunes – Shibuya & Omoide Yokocho**

  **Noche:** Shibuya Crossing de noche. Cena: *Izakaya Taku* (Shibuya) – pollo a la parrilla y cervezas.

  **Vida nocturna:** Bares de Omoide Yokocho. Música en vivo: Shibuya Club.

  ### **Día 4: Martes – Tokio a Kioto**

  **Mañana:** Shinkansen a Kioto. **Tarde:** Bosque de bambú de Arashiyama, Templo Tenryu-ji.

  **Vida nocturna en Kioto:** Pontocho Alley: bares y *kushikatsu*. Música en vivo: Gion Jazz Bar.
</Accordion>

El modelo reemplazó todas las actividades de templos en los días de Tokio por bares, clubes y comida nocturna — manteniendo intacto el día de traslado a Kioto.

## Turno 5 — corrección: ajustar duración del viaje

El usuario ahora **corrige** un detalle factual del Turno 1.

```ts theme={null}
await openai.responses.create({
  model: 'meetkai:functionary-pt',
  conversation: conv.id,
  input: 'Wait — I said a week but I actually only have 5 days total, not 8. Saturday to Wednesday. Adjust the plan.',
  tools: [{ type: 'web_search', searchContextSize: 'medium' }, { type: 'history' }],
  store: true,
  stream: false,
});
```

**Prueba de coherencia:** El modelo debe comprimir de 7–8 días a exactamente 5 (sábado–miércoles), mantener el enfoque en vida nocturna del Turno 4 y eliminar el enfoque en templos del Turno 2.

<Accordion title="Respuesta completa (2,108 tokens de salida)">
  Aquí tienes un itinerario revisado de 5 días (sábado a miércoles) enfocado en vida nocturna, música en vivo y comida nocturna:

  ### **Día 1: Sábado – Llegada a Tokio & Shinjuku**

  **Noche:** Shibuya Scramble Crossing. Vistas al atardecer en Shibuya Sky. Cena: *Sushi Dai* (Tsukiji).

  **Vida nocturna:** Bares pequeños en Shinjuku Golden Gai. Comida nocturna: *Omoide Yokocho*.

  ### **Día 2: Domingo – Akihabara & Robot Restaurant**

  **Noche:** Akihabara Den Den Town: arcades y bares temáticos. Robot Restaurant.
  Cena: *Ramen Street* (Shibuya).

  **Vida nocturna:** Golden Gai. Música en vivo: Shibuya Club.

  ### **Día 3: Lunes – Tokio a Kioto (Shinkansen)**

  **Mañana:** Desayuno en *Melting Pot*. Shinkansen a Kioto.
  **Tarde:** Bosque de bambú de Arashiyama, Templo Tenryu-ji. Almuerzo: *Kaiseki*.

  **Vida nocturna en Kioto:** Pontocho Alley. Música en vivo: Gion Jazz Bar.

  ### **Día 4: Martes – Vida nocturna en Kioto**

  **Noche:** Distrito de geishas Gion, *kushikatsu*. Bares junto al río Kamo.
  Cena: *Izakaya Taku*.

  **Vida nocturna:** *Ritz Bar* (jazz) o *Live House* (rock/indie). Comida nocturna: Mercado Nishiki.

  ### **Día 5: Miércoles – Salida de Kioto**

  **Mañana:** Explora Higashiyama o Kamogawa Riverwalk.
  **Tarde:** Almuerzo: *Tempura Kaniwake*. Traslado al aeropuerto.

  **Ajustes clave:** JR Pass (¥35,000) cubre Shinkansen + transporte local. Presupuesto: bebidas ¥500–¥3,000, comida ¥1,000–¥3,000/persona.
</Accordion>

El modelo comprimió correctamente a 5 días, mantuvo la vida nocturna y eliminó el énfasis en templos — reflejando tanto la contradicción del Turno 4 como la corrección del Turno 5.

## Turno 6 — ambigüedad: referencia vaga

El usuario hace una solicitud deliberadamente **ambigua**.

```ts theme={null}
await openai.responses.create({
  model: 'meetkai:functionary-pt',
  conversation: conv.id,
  input: 'What about that place you mentioned earlier? Can we fit it in?',
  tools: [{ type: 'web_search', searchContextSize: 'medium' }, { type: 'history' }],
  store: true,
  stream: false,
});
```

**Prueba de coherencia:** El modelo no puede saber a qué "lugar" se refiere el usuario. Una respuesta coherente debe pedir aclaración o listar los candidatos de turnos anteriores.

<Accordion title="Respuesta completa (876 tokens de salida)">
  ¡Déjame aclarar a qué lugar específico te refieres! Según nuestra conversación, aquí tienes algunos lugares destacados que mencioné antes y que podrían ajustarse a tu plan de 5 días:

  ### Posibles ajustes

  1. **TeamLab Borderless** (Tokio): Museo de arte digital en Odaiba (añade 2–3 horas a tus días en Tokio).
  2. **Kinkaku-ji** (Kioto): Pabellón Dorado – requiere una mañana o tarde.
  3. **Fushimi Inari Taisha** (Kioto): Ruta de los toriis – ideal para una caminata temprano antes de la vida nocturna en Kioto.
  4. **Shibuya Sky** (Tokio): Vistas al atardecer – ya incluido, pero puedes extender el tiempo allí.

  ### Cómo incluirlo

  * **Si quieres TeamLab Borderless**: Agrégalo al Día 2 (Tokio) antes de Robot Restaurant.
  * **Si quieres Kinkaku-ji**: Cambia la visita a Arashiyama al Día 4 y agrega Kinkaku-ji en la tarde.
  * **Si quieres Fushimi Inari Taisha**: Comienza el Día 4 en Kioto con una caminata al amanecer, luego continúa con la vida nocturna.

  ¡Dime qué lugar prefieres priorizar y ajusto el horario!
</Accordion>

El modelo identificó correctamente la ambigüedad, listó cuatro lugares candidatos de turnos anteriores y pidió al usuario que eligiera — en lugar de adivinar.

## Turno 7 — llamada a herramienta de búsqueda web

```ts theme={null}
await openai.responses.create({
  model: 'meetkai:functionary-pt',
  conversation: conv.id,
  input: 'Search the web for the best live jazz bars in Tokyo that are open late.',
  tools: [{ type: 'web_search', searchContextSize: 'medium' }, { type: 'history' }],
  store: true,
  stream: false,
});
```

El modelo usó la herramienta `web_search` para encontrar lugares reales y luego presentó los resultados.

<Accordion title="Respuesta completa (2,244 tokens de salida)">
  Aquí tienes una lista seleccionada de los mejores bares de jazz nocturnos en Tokio:

  ### Mejores bares de jazz nocturnos en Tokio

  1. **Pit Inn (Shinjuku)**: Lugar legendario subterráneo con músicos icónicos de jazz japonés desde los años 70. Los shows suelen durar hasta la 1:00–2:00 AM.

  2. **Salt and Peanuts (Shibuya)**: Club clásico de jazz con ambiente retro, artistas locales e internacionales. Abierto hasta las 12:00–1:00 AM.

  3. **Alfie Jazz House (Shibuya)**: Bar íntimo con jazz en vivo todas las noches, especializado en jazz tradicional y swing. Abierto hasta las 2:00–3:00 AM.

  4. **Jazz Spot Intro (Shinjuku)**: Pequeño y económico con jazz experimental y fusión. Shows nocturnos hasta la 1:00 AM.

  ### Cómo incluirlos en tus 3 días en Tokio

  * **Día 1 (Sábado)**: Después de Shibuya Sky, ve a **Pit Inn**.
  * **Día 2 (Domingo)**: Tras Robot Restaurant, prueba **Salt and Peanuts**.
  * **Día 3 (Lunes)**: Antes del Shinkansen, relájate en **Alfie Jazz House**.

  ### Presupuesto y logística

  * Entrada: ¥1,000–¥3,000 (incluye cover + 1 bebida).
  * Transporte: Todos los lugares están a pie desde las estaciones Shibuya/Shinjuku.
</Accordion>

## Turno 8 — integrar resultados de búsqueda en el plan

```ts theme={null}
await openai.responses.create({
  model: 'meetkai:functionary-pt',
  conversation: conv.id,
  input: 'Pick the top two from those results and add them to our Tuesday night.',
  tools: [{ type: 'web_search', searchContextSize: 'medium' }, { type: 'history' }],
  store: true,
  stream: false,
});
```

**Prueba de coherencia:** El modelo debe seleccionar de los resultados del Turno 7 e integrarlos en el día correcto del itinerario del Turno 5. Pero el martes en el plan de 5 días es el Día 4 (Kioto) — el modelo debe reconciliar esto.

<Accordion title="Respuesta completa (1,860 tokens de salida)">
  Aquí tienes tu itinerario actualizado con **Pit Inn** y **Salt and Peanuts** añadidos a la noche del martes (Tokio):

  ### Día 3 revisado: Martes – Vida nocturna en Tokio (Bares de Jazz)

  **Noche:**

  * **Pit Inn (Shinjuku)**: Lugar legendario subterráneo con shows hasta las 2:00 AM. Llega antes de las 19:30.
  * **Salt and Peanuts (Shibuya)**: Club clásico con sets nocturnos (hasta la 1:00 AM). Pide el set "Jazz & Cocktails" (¥4,000–¥6,000).

  **Transporte:** Caminata de Pit Inn a Salt and Peanuts (15 minutos vía estación Shinjuku).

  ### Ajustes a tu horario

  1. **Shinkansen a Kioto**: Mover a **miércoles por la mañana** (8:00 AM) para acomodar los bares de jazz del martes.
  2. **Tiempo en Kioto**: Miércoles por la tarde: Arashiyama y Mercado Nishiki. Miércoles por la noche: Pontocho Alley.

  ### Presupuesto

  * Pit Inn: ¥1,500–¥3,000 (cover + 1 bebida).
  * Salt and Peanuts: ¥2,000–¥4,000 (cover + 1 bebida).
</Accordion>

El modelo seleccionó dos lugares del Turno 7, reconoció que el martes necesitaba reprogramación y ajustó el traslado a Kioto en consecuencia.

## Turno 9 — referencia al estado original

```ts theme={null}
await openai.responses.create({
  model: 'meetkai:functionary-pt',
  conversation: conv.id,
  input: 'Remind me — what was our original budget level? And did we originally want temples or nightlife?',
  tools: [{ type: 'web_search', searchContextSize: 'medium' }, { type: 'history' }],
  store: true,
  stream: false,
});
```

**Prueba de coherencia:** El modelo debe recordar el estado del Turno 1 (presupuesto moderado, templos) y reconocer el cambio al Turno 4 hacia vida nocturna.

<Accordion title="Respuesta completa (510 tokens de salida)">
  Tu plan original era de **presupuesto moderado** (hoteles de gama media, pases de transporte local y comidas en izakayas/ramen). Inicialmente priorizaste **templos** pero luego cambiaste el enfoque a **vida nocturna, música en vivo y comida nocturna**. El itinerario actual refleja tu preferencia actual por la vida nocturna de Tokio y las calles vibrantes de Kioto.

  ¿Necesitas volver a los días enfocados en templos o mantener el plan centrado en la vida nocturna? ¡Avísame!
</Accordion>

Correcto en ambos casos: presupuesto moderado (Turno 1), originalmente templos (Turno 2), cambio a vida nocturna (Turno 4).

## Turno 10 — verificación de estado: fechas y ciudades

```ts theme={null}
await openai.responses.create({
  model: 'meetkai:functionary-pt',
  conversation: conv.id,
  input: 'How many days is our trip now? List the dates and which city each day.',
  tools: [{ type: 'web_search', searchContextSize: 'medium' }, { type: 'history' }],
  store: true,
  stream: false,
});
```

**Prueba de coherencia:** Debe reflejar la corrección del Turno 5 (5 días, sábado–miércoles) y el ajuste de horario del Turno 8 (bares de jazz el lunes, Kioto desplazado).

<Accordion title="Respuesta completa (1,578 tokens de salida)">
  Tu viaje es de **5 días en total**, con la siguiente distribución:

  | Día | Fecha     | Ciudad | Enfoque                                                |
  | --- | --------- | ------ | ------------------------------------------------------ |
  | 1   | Sábado    | Tokio  | Llegada, Shibuya Sky, Shinjuku Golden Gai              |
  | 2   | Domingo   | Tokio  | Akihabara, Robot Restaurant, vida nocturna en Shinjuku |
  | 3   | Lunes     | Tokio  | Bares de jazz (Pit Inn + Salt and Peanuts)             |
  | 4   | Martes    | Kioto  | Arashiyama, Mercado Nishiki, Pontocho Alley            |
  | 5   | Miércoles | Kioto  | Kiyomizu-dera, Higashiyama, traslado al aeropuerto     |

  **Ajustes clave:** Cambio de templos a vida nocturna/música en vivo. Presupuesto: sigue siendo moderado (JR Pass, hoteles gama media, izakayas).
</Accordion>

Correcto: 5 días (reflejando la corrección del Turno 5), enfoque en vida nocturna (Turno 4), bares de jazz el lunes (ajuste del Turno 8).

## Turno 11 — nueva restricción: pareja vegetariana

```ts theme={null}
await openai.responses.create({
  model: 'meetkai:functionary-pt',
  conversation: conv.id,
  input: 'My partner is vegetarian. Flag any restaurant suggestions that might be a problem and suggest alternatives.',
  tools: [{ type: 'web_search', searchContextSize: 'medium' }, { type: 'history' }],
  store: true,
  stream: false,
});
```

**Prueba de coherencia:** El modelo debe revisar sus propias recomendaciones de restaurantes de todos los turnos anteriores y marcar las que tengan carne/mariscos.

<Accordion title="Respuesta completa (1,382 tokens de salida)">
  Aquí tienes una revisión del itinerario con ajustes vegetarianos:

  **Día 1: Sábado – Tokio**

  * *Omoide Yokocho*: Las izakayas suelen servir carne/mariscos.
    * Opciones vegetarianas: *Edamame*, *Miso Soup* (sin carne), platos de *Tofu*.
    * Alternativa: *Shibuya Vegan* (izakaya vegano).

  **Día 2: Domingo – Tokio**

  * *Ramen Street*: Opciones vegetarianas: *Shoyu Ramen* (caldo de soja, sin carne), *Vegetable Ramen*.
    * Alternativa: *Afuri* (base de soja con toppings opcionales).
  * *Robot Restaurant*: Opciones vegetarianas: *Vegetable Tempura*, *Soba Noodles*.

  **Día 3: Lunes – Tokio**

  * *Bares de jazz (Pit Inn & Salt and Peanuts)*: Opciones vegetarianas: *Edamame*, *Vegetable Tempura*.
    * Alternativa: *Veggie Bar* (Shibuya) – menú totalmente vegano.

  **Día 4: Martes – Kioto**

  * *Pontocho Alley*: Opciones vegetarianas: *Yuba* (piel de tofu), *Vegetable Tempura*, *Soba Noodles*.
    * Alternativa: *Shigematsu* – kaiseki apto para vegetarianos.
  * *Mercado Nishiki*: Dulces de matcha, tempura de verduras.

  **Día 5: Miércoles – Kioto**

  * *Tempura Kaniwake*: Opciones vegetarianas: *Vegetable Tempura*.
    * Alternativa: *Kanenbo* – tempura y kaiseki vegetariano.

  **Frases útiles:** *Yasai o kudasai* (verduras por favor), *Niku o hanasemasen* (sin carne por favor).
</Accordion>

El modelo revisó cada restaurante del plan actual y marcó los problemáticos — demostrando que rastreó todas las recomendaciones previas.

## Turno 12 — resumen final: todo consolidado

```ts theme={null}
await openai.responses.create({
  model: 'meetkai:functionary-pt',
  conversation: conv.id,
  input: 'Give me the complete final itinerary with all the changes we have made. Include the jazz bars, the vegetarian notes, and the correct dates.',
  tools: [{ type: 'web_search', searchContextSize: 'medium' }, { type: 'history' }],
  store: true,
  stream: false,
});
```

**Prueba de coherencia:** Este es el examen final. La respuesta debe reflejar: 5 días y no 7 (Turno 5), vida nocturna y no templos (Turno 4), bares de jazz en la noche correcta (Turno 8), alternativas vegetarianas (Turno 11) y presupuesto moderado (Turno 1).

<Accordion title="Respuesta completa (1,340 tokens de salida)">
  Aquí tienes tu **itinerario final de 5 días** (sábado a miércoles), incorporando todos los ajustes — bares de jazz, notas vegetarianas y fechas revisadas:

  ### **Día 1: Sábado – Tokio**

  **Tarde:** Check-in en Shinjuku/Shibuya. Shibuya Crossing & Shibuya Sky (vistas al atardecer).

  **Cena:** Sushi Dai (Tsukiji) – opciones vegetarianas: edamame, sopa de miso. Omoide Yokocho (Shinjuku): brochetas de tofu, edamame. *Alternativa: Shibuya Vegan.*

  **Vida nocturna:** Shinjuku Golden Gai: bares pequeños (snacks vegetarianos disponibles).

  ### **Día 2: Domingo – Tokio**

  **Noche:** Akihabara Den Den Town: bares temáticos (tempura de verduras). Robot Restaurant: pide tempura de verduras o soba.

  **Cena:** Ramen Street (Shibuya) – shoyu ramen (soja, sin carne).

  **Vida nocturna:** Salt and Peanuts (Shibuya): edamame, tempura de verduras. Set Jazz & Cocktails (¥4,000–¥6,000).

  ### **Día 3: Lunes – Tokio**

  **Vida nocturna:** Pit Inn (Shinjuku): shows hasta las 2:00 AM. Edamame, tempura de verduras. Alfie Jazz House (Shibuya): sopa de miso, brochetas de verduras.

  **Mañana:** Desayuno: Melting Pot (Shibuya) – crepas con fruta.

  **Mediodía:** Shinkansen a Kioto (JR Pass lo cubre).

  ### **Día 4: Martes – Kioto**

  **Tarde:** Bosque de bambú de Arashiyama. Mercado Nishiki: dulces de matcha, tempura de verduras.

  **Cena:** Pontocho Alley: yuba, soba. *Alternativa: Shigematsu (kaiseki vegetariano).*

  **Vida nocturna:** Gion Jazz Bar: jazz en vivo hasta la 1:00 AM.

  ### **Día 5: Miércoles – Kioto**

  **Mañana:** Kiyomizu-dera. Higashiyama.

  **Almuerzo:** Kanenbo – tempura y kaiseki vegetariano.

  **Tarde:** Traslado al aeropuerto de Osaka/Kansai.

  ### Detalles clave

  * Presupuesto: Hoteles ¥8,000–15,000/noche. Comida ¥1,000–3,000/comida. JR Pass ¥35,000.
  * Frases vegetarianas: *Yasai o kudasai*, *Niku o hanasemasen*.
</Accordion>

## Puntuación de coherencia

Esta tabla rastrea lo que el modelo debe recordar en cada turno y si lo logró.

| Turno | Desafío                | Qué debe recordar el modelo                           | Resultado                                                                          |
| ----- | ---------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------- |
| 1     | Establecer estado      | Presupuesto = moderado, destino = Tokio + Kioto       | Correcto                                                                           |
| 2     | Añadir preferencias    | Templos, comida callejera, pasear, sin tours          | Correcto                                                                           |
| 3     | Estructura             | Construir plan día a día desde Turnos 1–2             | Correcto                                                                           |
| 4     | **Contradicción**      | Eliminar templos, reemplazar por vida nocturna        | Correcto — todas las actividades de templos eliminadas de Tokio                    |
| 5     | **Corrección**         | 5 días (sáb–mié), no 7–8                              | Correcto — plan comprimido a 5 días                                                |
| 6     | **Ambigüedad**         | "Ese lugar" es vago                                   | Correcto — listó candidatos y pidió aclaración                                     |
| 7     | Uso de herramienta     | Búsqueda web de bares de jazz                         | Correcto — devolvió 4 lugares reales                                               |
| 8     | Integración            | Añadir resultados de búsqueda a día específico        | Correcto — seleccionó 2, ajustó horario                                            |
| 9     | **Referencia**         | Recordar presupuesto Turno 1 + templos Turno 2        | Correcto — "presupuesto moderado, originalmente templos, cambio a vida nocturna"   |
| 10    | Verificación de estado | Fechas y ciudades exactas                             | Correcto — 5 días, sáb–mié, Tokio luego Kioto                                      |
| 11    | Nueva restricción      | Revisar todos los restaurantes por temas vegetarianos | Correcto — marcó cada restaurante del plan                                         |
| 12    | **Síntesis final**     | Todos los cambios consolidados                        | Correcto — 5 días, vida nocturna, bares de jazz, vegetariano, presupuesto moderado |

Los 12 turnos produjeron respuestas completas y no truncadas. Ningún turno devolvió un `output_text` vacío o parcial.

## Una nota sobre `max_output_tokens`

Si las respuestas anteriores se hubieran generado con un límite bajo de `max_output_tokens`, la mayoría habrían sido **vacías** — no truncadas, sino completamente en blanco.

El modelo usa parte de su presupuesto de tokens para razonamiento interno antes de producir texto visible.
Con `max_output_tokens: 50`, una solicitud que normalmente produce más de 1,300 tokens de salida devuelve una cadena vacía:

|                    | Sin límite                 | `max_output_tokens: 50` |
| ------------------ | -------------------------- | ----------------------- |
| **status**         | `completed`                | `completed`             |
| **output\_tokens** | 437                        | 50                      |
| **output\_text**   | *(dos párrafos completos)* | *(cadena vacía)*        |

La respuesta aún reporta `completed` — no hubo error. Pero el presupuesto de 50 tokens se consumió solo en razonamiento.

<Warning>
  Si tus diálogos producen respuestas vacías o truncadas de forma consistente, revisa si tienes configurado `max_output_tokens`.
  Elimina el límite o auméntalo significativamente. Usa el campo `instructions` para controlar la extensión en su lugar.
</Warning>

## Buenas prácticas

* **Siempre pasa `conversation` en cada solicitud.** El gateway mantiene el estado. Usa `previous_response_id` solo si necesitas ramificar desde un punto específico.
* **No configures `max_output_tokens` a menos que tengas una restricción estricta de presupuesto.** Usa `instructions` para controlar la extensión.
* **Valida las llamadas a herramientas antes de ejecutarlas.** Los ejemplos anteriores usan herramientas integradas (`web_search`, `history`), pero herramientas de función personalizadas como `run_shell` deben estar en sandbox en producción.
* **Lista los items de la conversación para auditar la coherencia.** Tras un intercambio de varios turnos, llama al endpoint de items para verificar que cada mensaje de usuario tiene una respuesta completa del asistente.

## Ver también

* [Gestionar conversaciones](/es/docs/conversations) para el patrón CRUD básico.
* [Memoria a largo plazo](/es/docs/long-term-memory) para detalles sobre la herramienta history.
* [Generar una respuesta](/es/docs/generate-a-response) para la forma básica de la solicitud de Responses.
* [Gestionar agentes](/es/docs/managing-agents) para definiciones de agente reutilizables y ejecuciones persistentes.
