> ## 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.

# Conversas avançadas com ferramentas

> Um diálogo completo de 12 turnos com busca na web, correções, contradições e verificação de coerência — mostrando cada requisição e resposta completa.

Esta receita percorre uma única conversa de 12 turnos do início ao fim.
O usuário planeja uma viagem, muda de ideia, corrige um erro, faz perguntas ambíguas, aciona uma busca na web e solicita um resumo final que deve refletir todas as mudanças.
Cada requisição e cada resposta completa são mostradas — nada é truncado.

O modelo utilizado é o `meetkai:functionary-pt` com as ferramentas `web_search` e `history` habilitadas.

Para o padrão básico de CRUD de conversas, veja [gerenciar conversas](/pt/docs/conversations).

## Criar a conversa

<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 abaixo passa `conversation: conv.id`. O gateway mantém o estado — você nunca precisa reenviar o histórico.

## Turno 1 — estabelecer 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 estabelecido:** destino = Japão (Tóquio + Quioto), duração = 1 semana, orçamento = moderado, viajantes = 2.

<Accordion title="Resposta completa (1.327 tokens de saída)">
  Aqui está um roteiro sugerido e dicas para sua viagem ao Japão, equilibrando experiências culturais, conveniência e considerações de orçamento:

  ### **Tóquio (4 Dias)**

  **Atrações imperdíveis:**

  * **Shibuya Crossing** (cruzamento icônico) + **Shibuya Sky** (mirante panorâmico).
  * **Asakusa** (clima tradicional, Templo Senso-ji).
  * **Akihabara** (eletrônicos, cultura anime, comidas econômicas).
  * **Shinjuku Gyoen** (maior parque de Tóquio, entrada gratuita).
  * **TeamLab Borderless** (museu de arte digital – reserve ingressos com antecedência).

  **Dicas de orçamento:**

  * **Hospedagem:** Hotéis de médio porte em Shinjuku ou Shibuya (ex: Hotel Gracery Shinjuku).
  * **Transporte:** Tokyo Subway Pass (72h/96h) para viagens ilimitadas.
  * **Comida:** Coma em izakayas (ex: *Omoide Yokocho*) ou balcões de sushi (ex: *Sushi Dai*).

  ### **Quioto (4 Dias)**

  **Atrações imperdíveis:**

  * **Kinkaku-ji** (Pavilhão Dourado) – compre ingressos online para evitar filas.
  * **Fushimi Inari Taisha** (milhares de portões torii).
  * **Arashiyama Bamboo Grove** + Ponte Togetsukyo.
  * **Gion** (bairro das gueixas, passeio noturno).
  * **Mercado Nishiki** (prove petiscos locais como doces de matcha).

  **Dicas de orçamento:**

  * **Hospedagem:** Pousadas estilo ryokan (ex: *Kanra Kyoto*).
  * **Transporte:** Kyoto City Bus & Subway Pass (1 dia/3 dias).
  * **Comida:** Refeições kaiseki no *Ippudo* (ramen) ou *Omen* (tempurá).

  ### **Dicas gerais**

  * **JR Pass:** Alugue por 7 dias (cobre o Shinkansen Tóquio-Quioto).
  * **Transporte entre cidades:** Pegue o Shinkansen (2h30min) – reserve assentos via Japan Travel.
  * **Dinheiro:** Leve ¥10.000–20.000 para pequenas compras (muitos lugares não aceitam cartão).
</Accordion>

## Turno 2 — adicionar preferências

```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 atualizado:** chegada = sábado, partida = domingo seguinte, interesses = templos + comida de rua + caminhadas, antipreferência = sem passeios guiados.

<Accordion title="Resposta completa (1.837 tokens de saída)">
  Aqui está um roteiro personalizado de 7 dias focado em templos, comida de rua e bairros caminháveis, com transporte eficiente e opções econômicas:

  ### **Dia 1: Sábado – Chegada em Tóquio & Asakusa (Noite)**

  * **Tarde:** Check-in no hotel (área Shinjuku/Shibuya) e passeio por **Shibuya Crossing** + **Shibuya Sky**.
  * **Noite:**
    * **Asakusa**: Caminhe até o Templo Senso-ji, explore a Nakamise Street (comida de rua como *taiyaki* e *tamagoyaki*).
    * **Jantar**: *Omoide Yokocho* (Shinjuku) para petiscos e bebidas em izakaya.

  ### **Dia 2: Domingo – Templos & Joias Escondidas**

  * **Manhã**: **Meiji Shrine** (templo em floresta serena) + **Yanaka Ginza** (rua de compras tradicional).
  * **Tarde**: **Almoço**: *Sushi Dai* (Mercado Tsukiji) para sushi fresco no balcão. **Shinjuku Gyoen** (entrada gratuita).
  * **Noite**: **Akihabara**: Explore lojas de eletrônicos e prove *tamagoyaki* de vendedores de rua.

  ### **Dia 3: Segunda – Comida de Rua & Cultura**

  * **Manhã**: **Ameya-Yokocho** (Ueno): Prove *menchi katsu* e *okonomiyaki*. Visite o Museu Nacional de Tóquio.
  * **Tarde**: **Shibuya**: Caminhe pelo Scramble Crossing e relaxe no Shibuya Sky.
  * **Noite**: **Roppongi**: Explore galerias de arte e comida de rua no *Roppongi Night Market*.

  ### **Dia 4: Terça – Tóquio para Quioto (Shinkansen)**

  * **Manhã**: Shinkansen: Pegue o Nozomi (2h30min) para Quioto.
  * **Tarde**: **Arashiyama**: Caminhe pelo bosque de bambu e visite o **Templo Tenryu-ji**.
  * **Noite**: **Mercado Nishiki**: Prove *yuba* (pele de tofu) e doces de *matcha*.

  ### **Dia 5: Quarta – Templos & Jardins Zen de Quioto**

  * **Manhã**: **Kinkaku-ji** (Pavilhão Dourado). **Ryoan-ji** (jardim zen de pedras).
  * **Tarde**: **Fushimi Inari Taisha**: Caminhada pela trilha dos portões torii.
  * **Noite**: **Gion**: Passeio noturno pelo bairro das gueixas e experimente *kushikatsu* (espetinhos fritos).

  ### **Dia 6: Quinta – Templos Escondidos & Vida Local**

  * **Manhã**: **Tofuku-ji** + **Gion Corner** (artesanato e petiscos).
  * **Tarde**: **Castelo Nijo** (UNESCO) + **Kamishichiken** (bairro de artesãos).
  * **Noite**: **Caminho do Filósofo**: Caminhada ao longo do canal.

  ### **Dia 7: Sexta – Partida de Quioto**

  * **Manhã**: **Kiyomizu-dera** (templo com vista panorâmica).
  * **Tarde**: Explore *Higashiyama* ou *Kamogawa* Riverwalk. Transfer para o aeroporto.
</Accordion>

## Turno 3 — pedir plano estruturado

```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="Resposta completa (1.843 tokens de saída)">
  Aqui está um plano detalhado dia a dia para seus dias em Tóquio (Dias 1–4), focando em templos, comida de rua e bairros caminháveis:

  ### **Dia 1: Sábado – Chegada em Tóquio & Asakusa (Noite)**

  **Manhã:** Check-in: Hotel em Shinjuku ou Shibuya. Shibuya Crossing: Caminhe pelo cruzamento icônico. Shibuya Sky: Reserve ingressos online para o pôr do sol (¥2.000–¥3.000).

  **Tarde:** Almoço: *Taito* (Shibuya) – experimente melon pan e sorvete de matcha. Nezu Shrine: Caminhe pelo templo arborizado (entrada gratuita).

  **Noite:** Asakusa: Templo Senso-ji – entre pelo Portão Kaminarimon. Nakamise Street: *taiyaki* (doce em formato de peixe) e *tamagoyaki* (omelete enrolada). Jantar: *Omoide Yokocho* (Shinjuku) – petiscos e bebidas em izakaya.

  ### **Dia 2: Domingo – Templos & Joias Escondidas**

  **Manhã:** Meiji Shrine: Santuário em floresta tranquila. Yanaka Ginza: Rua de compras tradicional (*menchi katsu* de vendedores de rua).

  **Tarde:** Almoço: *Sushi Dai* (Mercado Tsukiji) – sushi fresco no balcão (¥1.500–¥2.500). Shinjuku Gyoen: Passeio pelo parque.

  **Noite:** Akihabara: Lojas de eletrônicos e *tamagoyaki* em carrinhos de rua. Jantar: *Ichiran Ramen* (Shibuya) – personalize seu ramen (¥1.000–¥1.500).

  ### **Dia 3: Segunda – Comida de Rua & Cultura**

  **Manhã:** Ameya-Yokocho (Ueno): *menchi katsu*, *okonomiyaki*, *taiyaki*. Museu Nacional de Tóquio.

  **Tarde:** Almoço: *Ramen Street* (Shibuya). Shibuya Sky para vistas noturnas.

  **Noite:** Roppongi Night Market: Comida de rua e galerias de arte.

  ### **Dia 4: Terça – Tóquio para Quioto (Shinkansen)**

  **Manhã:** Café da manhã: *Melting Pot* (Shibuya) – crepes. Shinkansen: Nozomi (2h30min) para Quioto (JR Pass cobre isso).

  **Tarde:** Arashiyama: Bosque de bambu. Templo Tenryu-ji (UNESCO). Almoço: *Kaiseki* no *Ippudo* ou *Omen*.

  **Noite:** Mercado Nishiki: *yuba* e doces de *matcha*.
</Accordion>

## Turno 4 — contradição: inverter preferências

O usuário agora **contradiz** sua preferência do Turno 2 por templos.

```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,
});
```

**Teste de coerência:** O modelo deve remover todas as recomendações de templos dos dias em Tóquio e substituí-las por locais de vida noturna. Também deve reconhecer a mudança.

<Accordion title="Resposta completa (1.340 tokens de saída)">
  Aqui está um roteiro revisado para Tóquio focado em vida noturna, música ao vivo e comida noturna:

  ### **Dia 1: Sábado – Chegada em Tóquio & Shinjuku Golden Gai**

  **Noite:** Shibuya Scramble Crossing. Shibuya Sky para vistas do pôr do sol. Jantar: *Sushi Dai* (Tsukiji) – sushi fresco (¥1.500–¥2.500).

  **Vida noturna:** Shinjuku Golden Gai: Explore bares pequenos e locais de música ao vivo. Comida noturna: *Omoide Yokocho* (Shinjuku) – petiscos de izakaya.

  ### **Dia 2: Domingo – Akihabara & Robot Restaurant**

  **Noite:** Akihabara Den Den Town: Arcades iluminados e bares temáticos. Robot Restaurant: Show extravagante (¥4.000–¥6.000).

  **Vida noturna:** Golden Gai: Volte para bares intimistas. Comida noturna: Tsukiji Night Market – espetinhos grelhados.

  ### **Dia 3: Segunda – Shibuya & Omoide Yokocho**

  **Noite:** Shibuya Crossing à noite. Jantar: *Izakaya Taku* (Shibuya) – frango grelhado e cervejas.

  **Vida noturna:** Bares alternativos em Omoide Yokocho. Música ao vivo: Shibuya Club.

  ### **Dia 4: Terça – Tóquio para Quioto**

  **Manhã:** Shinkansen para Quioto. **Tarde:** Bosque de bambu de Arashiyama, Templo Tenryu-ji.

  **Vida noturna em Quioto:** Pontocho Alley: bares e *kushikatsu*. Música ao vivo: Gion Jazz Bar.
</Accordion>

O modelo substituiu todas as atividades de templos em Tóquio por bares, clubes e comida noturna — mantendo o dia de transição para Quioto.

## Turno 5 — correção: corrigir duração da viagem

O usuário agora **corrige** um detalhe factual do 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,
});
```

**Teste de coerência:** O modelo deve comprimir de 7–8 dias para exatamente 5 (sábado–quarta), manter o foco em vida noturna do Turno 4 e remover o foco em templos do Turno 2.

<Accordion title="Resposta completa (2.108 tokens de saída)">
  Aqui está um roteiro revisado de 5 dias (sábado a quarta) focado em vida noturna, música ao vivo e comida noturna:

  ### **Dia 1: Sábado – Chegada em Tóquio & Shinjuku**

  **Noite:** Shibuya Scramble Crossing. Shibuya Sky ao pôr do sol. Jantar: *Sushi Dai* (Tsukiji).

  **Vida noturna:** Bares pequenos em Shinjuku Golden Gai. Comida noturna: *Omoide Yokocho*.

  ### **Dia 2: Domingo – Akihabara & Robot Restaurant**

  **Noite:** Akihabara Den Den Town: arcades e bares temáticos. Robot Restaurant.
  Jantar: *Ramen Street* (Shibuya).

  **Vida noturna:** Golden Gai. Música ao vivo: Shibuya Club.

  ### **Dia 3: Segunda – Tóquio para Quioto (Shinkansen)**

  **Manhã:** Café da manhã no *Melting Pot*. Shinkansen para Quioto.
  **Tarde:** Bosque de bambu de Arashiyama, Templo Tenryu-ji. Almoço: *Kaiseki*.

  **Vida noturna em Quioto:** Pontocho Alley. Música ao vivo: Gion Jazz Bar.

  ### **Dia 4: Terça – Vida noturna em Quioto**

  **Noite:** Bairro das gueixas Gion, *kushikatsu*. Bares à beira do rio Kamo.
  Jantar: *Izakaya Taku*.

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

  ### **Dia 5: Quarta – Partida de Quioto**

  **Manhã:** Explore Higashiyama ou Kamogawa Riverwalk.
  **Tarde:** Almoço: *Tempura Kaniwake*. Transfer para o aeroporto.

  **Ajustes principais:** JR Pass (¥35.000) cobre Shinkansen + transporte local. Orçamento: bebidas ¥500–¥3.000, comida ¥1.000–¥3.000/pessoa.
</Accordion>

O modelo corretamente comprimiu para 5 dias, manteve o foco em vida noturna e removeu o foco em templos — refletindo tanto a contradição do Turno 4 quanto a correção do Turno 5.

## Turno 6 — ambiguidade: referência vaga

O usuário faz um pedido deliberadamente **ambíguo**.

```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,
});
```

**Teste de coerência:** O modelo não pode saber qual "lugar" o usuário quer dizer. Uma resposta coerente deve pedir esclarecimento ou listar os candidatos dos turnos anteriores.

<Accordion title="Resposta completa (876 tokens de saída)">
  Deixe-me esclarecer a qual lugar específico você está se referindo! Com base em nossa conversa, aqui estão alguns locais notáveis que mencionei antes e que podem ser ajustados no seu roteiro de 5 dias:

  ### Possíveis Ajustes

  1. **TeamLab Borderless** (Tóquio): Museu de arte digital em Odaiba (adicione 2–3 horas aos seus dias em Tóquio).
  2. **Kinkaku-ji** (Quioto): Pavilhão Dourado – requer uma manhã/tarde.
  3. **Fushimi Inari Taisha** (Quioto): Trilha dos portões torii – ideal para uma caminhada matinal antes da vida noturna em Quioto.
  4. **Shibuya Sky** (Tóquio): Vistas do pôr do sol – já incluído, mas pode estender o tempo lá.

  ### Como encaixar no roteiro

  * **Se quiser o TeamLab Borderless**: Adicione ao Dia 2 (Tóquio) antes do Robot Restaurant.
  * **Se quiser o Kinkaku-ji**: Transfira a visita a Arashiyama para o Dia 4 e adicione Kinkaku-ji à tarde do Dia 4.
  * **Se quiser o Fushimi Inari Taisha**: Comece o Dia 4 em Quioto com uma caminhada ao amanhecer, depois siga para a vida noturna.

  Me avise qual local você gostaria de priorizar e ajusto o cronograma!
</Accordion>

O modelo corretamente identificou a ambiguidade, listou quatro locais candidatos dos turnos anteriores e pediu ao usuário para escolher — em vez de adivinhar.

## Turno 7 — chamada de ferramenta de busca na 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,
});
```

O modelo usou a ferramenta `web_search` para encontrar locais reais e apresentou os resultados.

<Accordion title="Resposta completa (2.244 tokens de saída)">
  Aqui está uma lista selecionada dos melhores bares de jazz noturnos de Tóquio:

  ### Melhores bares de jazz noturnos em Tóquio

  1. **Pit Inn (Shinjuku)**: Local lendário do underground, recebendo músicos icônicos de jazz japonês desde os anos 1970. Shows até 1h–2h da manhã.

  2. **Salt and Peanuts (Shibuya)**: Clube clássico de jazz com clima retrô, artistas locais e internacionais. Funciona até 0h–1h.

  3. **Alfie Jazz House (Shibuya)**: Bar intimista com jazz ao vivo todas as noites, especializado em jazz tradicional e swing. Aberto até 2h–3h.

  4. **Jazz Spot Intro (Shinjuku)**: Pequeno e econômico, com jazz experimental e fusion. Shows noturnos até 1h.

  ### Como encaixar nos seus 3 dias em Tóquio

  * **Dia 1 (Sábado)**: Após Shibuya Sky, vá ao **Pit Inn**.
  * **Dia 2 (Domingo)**: Depois do Robot Restaurant, experimente o **Salt and Peanuts**.
  * **Dia 3 (Segunda)**: Antes do Shinkansen, relaxe no **Alfie Jazz House**.

  ### Orçamento & Logística

  * Taxa de entrada: ¥1.000–¥3.000 (inclui couvert + 1 bebida).
  * Transporte: Todos os locais são acessíveis a pé das estações Shibuya/Shinjuku.
</Accordion>

## Turno 8 — integrar resultados da busca ao plano

```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,
});
```

**Teste de coerência:** O modelo deve selecionar dos resultados do Turno 7 e integrá-los ao dia correto no roteiro do Turno 5. Mas terça-feira no plano de 5 dias é o Dia 4 (Quioto) — o modelo deve conciliar isso.

<Accordion title="Resposta completa (1.860 tokens de saída)">
  Aqui está seu roteiro atualizado com **Pit Inn** e **Salt and Peanuts** adicionados à noite de terça-feira (Tóquio):

  ### Dia 3 revisado: Terça – Vida noturna em Tóquio (Bares de Jazz)

  **Noite:**

  * **Pit Inn (Shinjuku)**: Local lendário com shows até 2h. Chegue por volta das 19h30.
  * **Salt and Peanuts (Shibuya)**: Clube clássico de jazz com apresentações noturnas (até 1h). Peça o combo "Jazz & Cocktails" (¥4.000–¥6.000).

  **Transporte:** Caminhe do Pit Inn ao Salt and Peanuts (15 minutos a pé via estação Shinjuku).

  ### Ajustes no seu cronograma

  1. **Shinkansen para Quioto**: Mude para **quarta-feira de manhã** (8h) para acomodar os bares de jazz na terça à noite.
  2. **Tempo em Quioto**: Quarta à tarde: Arashiyama e Mercado Nishiki. Quarta à noite: Pontocho Alley.

  ### Orçamento

  * Pit Inn: ¥1.500–¥3.000 (couvert + 1 bebida).
  * Salt and Peanuts: ¥2.000–¥4.000 (couvert + 1 bebida).
</Accordion>

O modelo selecionou dois locais do Turno 7, reconheceu que terça-feira precisava de reprogramação e ajustou o translado para Quioto.

## Turno 9 — referência ao 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,
});
```

**Teste de coerência:** O modelo deve lembrar o estado do Turno 1 (orçamento moderado, templos) e reconhecer a mudança para vida noturna no Turno 4.

<Accordion title="Resposta completa (510 tokens de saída)">
  Seu plano original era de **orçamento moderado** (hotéis de médio porte, passes de transporte local e refeições em izakayas/ramen). Inicialmente, você priorizava **templos**, mas depois mudou o foco para **vida noturna, música ao vivo e comida noturna**. O roteiro atual reflete sua preferência atual por vida noturna em Tóquio e ruas vibrantes em Quioto.

  Precisa voltar aos dias focados em templos ou manter o plano centrado em vida noturna? Me avise!
</Accordion>

Correto em ambos os pontos: orçamento moderado (Turno 1), originalmente templos (Turno 2), mudou para vida noturna (Turno 4).

## Turno 10 — verificação de estado: datas e cidades

```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,
});
```

**Teste de coerência:** Deve refletir a correção do Turno 5 (5 dias, sábado–quarta) e o ajuste do Turno 8 (bares de jazz na segunda, Quioto adiado).

<Accordion title="Resposta completa (1.578 tokens de saída)">
  Sua viagem tem **5 dias no total**, com a seguinte divisão:

  | Dia | Data    | Cidade | Foco                                                  |
  | --- | ------- | ------ | ----------------------------------------------------- |
  | 1   | Sábado  | Tóquio | Chegada, Shibuya Sky, Shinjuku Golden Gai             |
  | 2   | Domingo | Tóquio | Akihabara, Robot Restaurant, vida noturna em Shinjuku |
  | 3   | Segunda | Tóquio | Bares de jazz (Pit Inn + Salt and Peanuts)            |
  | 4   | Terça   | Quioto | Arashiyama, Mercado Nishiki, Pontocho Alley           |
  | 5   | Quarta  | Quioto | Kiyomizu-dera, Higashiyama, transfer para o aeroporto |

  **Ajustes principais:** Mudança de templos para vida noturna/música ao vivo. Orçamento: Ainda moderado (JR Pass, hotéis de médio porte, izakayas).
</Accordion>

Correto: 5 dias (refletindo a correção do Turno 5), foco em vida noturna (Turno 4), bares de jazz na segunda (ajuste do Turno 8).

## Turno 11 — nova restrição: parceiro vegetariano

```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,
});
```

**Teste de coerência:** O modelo deve revisar todas as recomendações de restaurantes dos turnos anteriores e sinalizar as que têm carne/peixe.

<Accordion title="Resposta completa (1.382 tokens de saída)">
  Aqui está uma revisão do roteiro com ajustes para vegetarianos:

  **Dia 1: Sábado – Tóquio**

  * *Omoide Yokocho*: Izakayas geralmente servem carne/peixe.
    * Opções vegetarianas: *Edamame*, *Missoshiru* (sem carne), pratos de *tofu*.
    * Alternativa: *Shibuya Vegan* (izakaya vegano).

  **Dia 2: Domingo – Tóquio**

  * *Ramen Street*: Opções vegetarianas: *Shoyu Ramen* (caldo de soja, sem carne), *Vegetable Ramen*.
    * Alternativa: *Afuri* (base de shoyu com coberturas opcionais).
  * *Robot Restaurant*: Opções vegetarianas: *Tempurá de legumes*, *Soba*.

  **Dia 3: Segunda – Tóquio**

  * *Bares de Jazz (Pit Inn & Salt and Peanuts)*: Opções vegetarianas: *Edamame*, *Tempurá de legumes*.
    * Alternativa: *Veggie Bar* (Shibuya) – menu totalmente vegano.

  **Dia 4: Terça – Quioto**

  * *Pontocho Alley*: Opções vegetarianas: *Yuba* (pele de tofu), *Tempurá de legumes*, *Soba*.
    * Alternativa: *Shigematsu* – kaiseki vegetariano.
  * *Mercado Nishiki*: Doces de matcha, tempurá de legumes.

  **Dia 5: Quarta – Quioto**

  * *Tempura Kaniwake*: Opções vegetarianas: *Tempurá de legumes*.
    * Alternativa: *Kanenbo* – tempurá e kaiseki vegetarianos.

  **Frases úteis:** *Yasai o kudasai* (por favor, vegetais), *Niku o hanasemasen* (sem carne, por favor).
</Accordion>

O modelo revisou cada restaurante do plano atual e sinalizou os problemáticos — demonstrando que acompanhou todas as recomendações anteriores.

## Turno 12 — resumo final: tudo 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,
});
```

**Teste de coerência:** Este é o exame final. A resposta deve refletir: 5 dias, não 7 (Turno 5), vida noturna, não templos (Turno 4), bares de jazz na noite correta (Turno 8), alternativas vegetarianas (Turno 11) e orçamento moderado (Turno 1).

<Accordion title="Resposta completa (1.340 tokens de saída)">
  Aqui está seu **roteiro final de 5 dias** (sábado a quarta), incorporando todos os ajustes — bares de jazz, notas vegetarianas e datas revisadas:

  ### **Dia 1: Sábado – Tóquio**

  **Tarde:** Check-in em Shinjuku/Shibuya. Shibuya Crossing & Shibuya Sky (vista do pôr do sol).

  **Jantar:** Sushi Dai (Tsukiji) – opções vegetarianas: edamame, missoshiru. Omoide Yokocho (Shinjuku): espetinhos de tofu, edamame. *Alternativa: Shibuya Vegan.*

  **Vida noturna:** Shinjuku Golden Gai: bares pequenos (petiscos vegetarianos disponíveis).

  ### **Dia 2: Domingo – Tóquio**

  **Noite:** Akihabara Den Den Town: bares temáticos (tempurá de legumes). Robot Restaurant: peça tempurá de legumes ou soba.

  **Jantar:** Ramen Street (Shibuya) – shoyu ramen (molho de soja, sem carne).

  **Vida noturna:** Salt and Peanuts (Shibuya): edamame, tempurá de legumes. Combo Jazz & Cocktails (¥4.000–¥6.000).

  ### **Dia 3: Segunda – Tóquio**

  **Vida noturna:** Pit Inn (Shinjuku): shows até 2h. Edamame, tempurá de legumes. Alfie Jazz House (Shibuya): missoshiru, espetinhos de legumes.

  **Manhã:** Café da manhã: Melting Pot (Shibuya) – crepes com frutas.

  **Meio-dia:** Shinkansen para Quioto (JR Pass cobre).

  ### **Dia 4: Terça – Quioto**

  **Tarde:** Bosque de bambu de Arashiyama. Mercado Nishiki: doces de matcha, tempurá de legumes.

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

  **Vida noturna:** Gion Jazz Bar: jazz ao vivo até 1h.

  ### **Dia 5: Quarta – Quioto**

  **Manhã:** Kiyomizu-dera. Higashiyama.

  **Almoço:** Kanenbo – tempurá e kaiseki vegetarianos.

  **Tarde:** Transfer para o aeroporto de Osaka/Kansai.

  ### Detalhes principais

  * Orçamento: Hotéis ¥8.000–15.000/noite. Comida ¥1.000–3.000/refeição. JR Pass ¥35.000.
  * Frases vegetarianas: *Yasai o kudasai*, *Niku o hanasemasen*.
</Accordion>

## Placar de coerência

Esta tabela acompanha o que o modelo deve lembrar em cada turno e se acertou.

| Turno | Desafio                | O que o modelo deve acompanhar                    | Resultado                                                                      |
| ----- | ---------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------ |
| 1     | Estabelecer estado     | Orçamento = moderado, destino = Tóquio + Quioto   | Correto                                                                        |
| 2     | Adicionar preferências | Templos, comida de rua, caminhadas, sem tours     | Correto                                                                        |
| 3     | Estrutura              | Montar plano dia a dia dos Turnos 1–2             | Correto                                                                        |
| 4     | **Contradição**        | Remover templos, substituir por vida noturna      | Correto — todas as atividades de templos removidas de Tóquio                   |
| 5     | **Correção**           | 5 dias (sáb–qua), não 7–8                         | Correto — plano comprimido para 5 dias                                         |
| 6     | **Ambiguidade**        | "Aquele lugar" é vago                             | Correto — listou candidatos e pediu esclarecimento                             |
| 7     | Uso de ferramenta      | Busca na web por bares de jazz                    | Correto — retornou 4 locais reais                                              |
| 8     | Integração             | Adicionar resultados da busca a dia específico    | Correto — selecionou 2, ajustou cronograma                                     |
| 9     | **Referência**         | Lembrar orçamento do Turno 1 + templos do Turno 2 | Correto — "orçamento moderado, originalmente templos, mudou para vida noturna" |
| 10    | Verificação de estado  | Datas e cidades exatas                            | Correto — 5 dias, sáb–qua, Tóquio depois Quioto                                |
| 11    | Nova restrição         | Revisar todos os restaurantes para vegetarianos   | Correto — sinalizou restaurantes de cada dia                                   |
| 12    | **Síntese final**      | Todas as mudanças consolidadas                    | Correto — 5 dias, vida noturna, bares de jazz, vegetariano, orçamento moderado |

Todos os 12 turnos produziram respostas completas e não truncadas. Nenhum turno retornou um `output_text` vazio ou parcial.

## Uma nota sobre `max_output_tokens`

Se as respostas acima tivessem sido geradas com um limite baixo de `max_output_tokens`, a maioria delas teria vindo **vazia** — não truncada, mas completamente em branco.

O modelo usa parte do orçamento de tokens para raciocínio interno antes de produzir texto visível.
Com `max_output_tokens: 50`, uma requisição que normalmente gera mais de 1.300 tokens retorna uma string vazia:

|                    | Sem limite                    | `max_output_tokens: 50` |
| ------------------ | ----------------------------- | ----------------------- |
| **status**         | `completed`                   | `completed`             |
| **output\_tokens** | 437                           | 50                      |
| **output\_text**   | *(dois parágrafos completos)* | *(string vazia)*        |

A resposta ainda reporta `completed` — não houve erro. Mas o orçamento de 50 tokens foi consumido inteiramente pelo raciocínio.

<Warning>
  Se seus diálogos produzem respostas vazias ou truncadas com frequência, verifique se `max_output_tokens` está definido.
  Remova o limite ou aumente-o significativamente. Use o campo `instructions` para controlar a verbosidade.
</Warning>

## Boas práticas

* **Sempre passe `conversation` em toda requisição.** O gateway mantém o estado. Use `previous_response_id` apenas quando precisar ramificar de um ponto específico.
* **Não defina `max_output_tokens` a menos que tenha uma restrição orçamentária rígida.** Use `instructions` para controlar a verbosidade.
* **Valide chamadas de ferramentas antes de executar.** Os exemplos acima usam ferramentas internas (`web_search`, `history`), mas funções customizadas como `run_shell` devem ser isoladas em produção.
* **Liste os itens da conversa para auditar a coerência.** Após uma troca de múltiplos turnos, chame o endpoint de itens para verificar se toda mensagem do usuário tem uma resposta completa do assistente.

## Veja também

* [Gerenciar conversas](/pt/docs/conversations) para o padrão CRUD básico.
* [Memória de longo prazo](/pt/docs/long-term-memory) para detalhes sobre a ferramenta de histórico.
* [Gerar uma resposta](/pt/docs/generate-a-response) para o formato básico de requisição de Respostas.
* [Gerenciar agentes](/pt/docs/managing-agents) para definições de agente reutilizáveis e execuções persistentes.
