“Tokens do prompt” geralmente significa a mesma coisa. O nome pode ser enganoso, porém, porque o prompt pode incluir material adicionado pelo aplicativo ou pela API.

A solicitação inteira, não apenas a sua mensagem

Imagine digitar “Resuma o relatório mais recente” em uma caixa de chat. Essa frase é uma parte da entrada. O aplicativo também pode enviar:

  • instruções que definem a função e o comportamento do assistente;
  • mensagens anteriores do usuário e do assistente;
  • o próprio relatório ou trechos recuperados dele;
  • definições das ferramentas que o modelo pode chamar;
  • resultados retornados por uma ferramenta; e
  • marcadores que identificam funções, limites de mensagens ou o ponto em que a geração deve começar.

Todas essas partes podem se tornar tokens de entrada. O conjunto exato depende do aplicativo, da API, do modelo e dos recursos ativados.

Isso dá aos tokens de entrada um limite preciso: eles são definidos pelo papel que desempenham em uma solicitação. O texto que o modelo gerou como saída em uma rodada pode ser entrada na rodada seguinte, quando o aplicativo o envia de volta como histórico da conversa.

Como uma solicitação se torna tokens de entrada

O caminho de uma interface até um modelo é assim:

system instructions ─┐
conversation history ├─> request formatting ─> tokenizer ─> input token IDs ─> model
documents and tools  ┤
current message ─────┘

Primeiro, o aplicativo reúne o contexto da solicitação. Uma chamada de API simples pode conter apenas um prompt. Um assistente em produção pode adicionar instruções, histórico, documentos recuperados, esquemas de ferramentas e outros conteúdos.

Em seguida, o serviço formata esse material para o modelo selecionado. Modelos de chat não recebem uma transcrição visual com balões de mensagens coloridos. Eles recebem uma sequência criada com um template de chat ou um formato interno equivalente. A documentação da API de chat do vLLM torna essa etapa explícita: mensagens estruturadas são convertidas em um prompt de texto com o template de chat do modelo.

Depois, um tokenizador converte a sequência formatada em IDs de tokens. Como mostra a referência de tokenizadores da Hugging Face, isso pode envolver normalização, divisão do texto em partes, mapeamento das partes para IDs e adição de tokens especiais. Como os modelos podem usar tokenizadores e templates diferentes, o mesmo texto visível não garante a mesma contagem de entrada.

Por fim, o modelo processa essa sequência de tokens e começa a gerar. Os metadados de uso da resposta informam como o provedor contabilizou a solicitação.

Exemplo prático

Suponha que um aplicativo informe o seguinte registro ilustrativo da solicitação:

  • Instruções do sistema: 36 tokens
  • Definições de ferramentas: 74 tokens
  • Histórico da conversa: 160 tokens
  • Mensagem atual do usuário: 12 tokens
  • Formatação de mensagens e tokens especiais: 15 tokens

A solicitação contém 297 tokens de entrada, embora a mensagem atual contenha apenas 12.

Agora suponha que a resposta contenha 60 tokens gerados. Esses 60 são tokens de saída para esta solicitação. Na rodada seguinte, o aplicativo pode incluir essa resposta no histórico. O mesmo texto então contribui para a contagem de entrada da próxima solicitação.

O armazenamento em cache altera o processamento e o preço de entradas repetidas, não seu papel conceitual. Se 200 dos 297 tokens de entrada vierem de um prefixo reutilizável, um provedor poderá informar ou precificar esses 200 separadamente como entrada em cache. Eles continuam sendo contexto fornecido ao modelo. A Anthropic, por exemplo, divide solicitações em cache entre vários campos de uso, enquanto a OpenAI expõe a entrada em cache como uma categoria de entrada distinta. Sempre leia as definições atuais dos campos, em vez de presumir que um campo chamado input_tokens seja o total completo.

Como contar tokens de entrada

Para um rascunho aproximado, um tokenizador compatível com o modelo pode estimar texto simples. Ele não consegue reproduzir de forma confiável a contagem completa da API, a menos que também aplique o mesmo template de mensagens, a formatação de ferramentas, os tokens especiais, a codificação de mídia e os acréscimos feitos pelo provedor.

Para uma solicitação completa, use o endpoint de contagem de tokens do provedor quando houver um disponível. O endpoint de contagem de tokens da Anthropic aceita mensagens, prompts do sistema, ferramentas, imagens e PDFs. O guia de tokens do Google também distingue as contagens de entrada feitas antes da geração do uso retornado após a geração. As orientações da OpenAI sobre contagem de tokens observam que a estrutura da solicitação e as entradas que não são texto podem afetar a contagem completa.

Trate uma contagem prévia como uma estimativa de capacidade e custo. Após a solicitação, mantenha a resposta de uso do provedor como o registro de como aquela chamada foi efetivamente contabilizada e faturada.

Por que os tokens de entrada são importantes

Custo

Muitas APIs precificam separadamente a entrada, a entrada em cache e a saída. Um registro de custos útil é:

input cost =
  uncached input tokens × uncached input rate
  + cached input tokens × cached input rate

As tarifas e categorias mudam, portanto use a página de preços atual do provedor em vez de copiar um preço para a lógica do aplicativo. Instruções longas do sistema, definições de ferramentas repetidas, grandes trechos recuperados e um histórico de chat crescente podem fazer da entrada a maior parte de uma carga de trabalho.

Contexto disponível

Os tokens de entrada ocupam espaço no contexto do modelo. Mais entrada pode deixar menos espaço para a resposta, dependendo do modelo e das regras de limite da API. Portanto, enviar contexto extra não cria capacidade gratuitamente: ele compete com outras instruções, evidências e turnos da conversa pela atenção e pelo orçamento de tokens do modelo.

Tempo de resposta

O modelo precisa processar a entrada antes de produzir o primeiro token de saída. Entradas maiores geralmente exigem mais trabalho de processamento do prompt. Reutilizar um prefixo elegível em cache pode reduzir esse trabalho, mas o comportamento e os benefícios do cache são específicos de cada provedor.

Medição

As contagens de tokens de entrada ajudam a comparar solicitações em um nível mais útil do que caracteres ou palavras. Elas podem revelar um esquema de ferramenta grande demais, um sistema de recuperação que envia trechos em excesso ou um histórico de conversa que cresce a cada turno.

Equívocos comuns

“Tokens de entrada são as palavras que eu digitei”

Suas palavras são apenas a parte visível. A solicitação voltada ao modelo também pode conter instruções, histórico, documentos, ferramentas, mídia e formatação.

“Uma palavra equivale a um token de entrada”

Um token pode ser uma palavra, parte de uma palavra, pontuação ou outra unidade específica do modelo. Os limites dos tokens variam conforme o tokenizador. O que é um token em IA? explica essa unidade subjacente.

“Tokens em cache não são mais tokens de entrada”

Tokens em cache são entradas reutilizadas. O armazenamento em cache pode alterar a quantidade de computação, o preço e os campos de uso, mas o prefixo em cache ainda contribui com contexto para a solicitação.

“Mensagens do assistente são sempre tokens de saída”

Elas são saída quando são geradas. Se uma mensagem do assistente for incluída no histórico de uma solicitação posterior, ela será entrada para essa solicitação posterior. Entrada e saída descrevem lados de uma solicitação, não tipos permanentes de texto.

“Um tokenizador local fornece a contagem usada no faturamento”

Ele pode fornecer uma contagem de texto próxima. Pode não incluir marcadores do template de chat, esquemas de ferramentas, anexos e formatação feita pelo provedor. Use o uso informado pela API após a solicitação nos registros de faturamento.

Como os tokens de entrada se encaixam no sistema mais amplo

Tokens de entrada são a sequência inicial do modelo para uma solicitação. Tokens de saída são gerados depois dessa sequência, enquanto tokens de entrada em cache são uma subdivisão de processamento e faturamento da entrada. Juntas, essas categorias explicam a maior parte do registro de tokens exibido nas respostas da API e nas páginas de preços.

O hábito importante é medir a solicitação reunida. Quando uma mensagem curta do usuário produz uma contagem surpreendentemente grande, examine as instruções do sistema, o histórico, o material recuperado, as ferramentas e a formatação antes de culpar o tokenizador.

Próximos passos

Inspecione uma resposta real da API e identifique cada campo de uso que contribui para o total de entrada. Em seguida, execute o contador prévio do provedor na mesma solicitação e compare a estimativa com o uso final. Se os próprios limites dos tokens não estiverem claros, comece por O que é um token em IA?. Depois, continue para O que são tokens de saída?, e use Tokens de entrada vs. saída vs. raciocínio para comparar as três categorias de contabilização.