Dominando o TOON CLI

CLI
TOON

Se você trabalha com Large Language Models (LLMs), sabe que JSON é a língua franca da troca de dados. No entanto, você também sabe que JSON é notoriamente “falador”. Todos esses colchetes, aspas e chaves repetidas consomem sua janela de contexto, aumentam a latência e aumentam os custos de API.

É aqui que brilha TOON (Notação Orientada a Objetos). Embora a biblioteca TypeScript seja ótima para código de aplicativo, às vezes você só precisa fazer as coisas rapidamente no terminal. Esteja você depurando um prompt, preparando um conjunto de dados ou simplesmente curioso sobre quanto dinheiro você pode economizar em tokens, a CLI @toon-format/toon é seu novo melhor amigo.

Neste guia, veremos como aproveitar a interface de linha de comando TOON para integrar a otimização de dados diretamente em seus fluxos de trabalho de shell.

Configuração

Uma das melhores coisas sobre as ferramentas JavaScript modernas é que muitas vezes você não precisa “instalar” nada para começar. Se você quiser apenas experimentar o TOON em um único arquivo, você pode usar npx para executar o binário diretamente:

npx @toon-format/cli input.json -o output.toon 

No entanto, se você planeja usar isso com frequência – e depois de ver a economia de tokens, provavelmente o fará – uma instalação global é o caminho a percorrer. Dá acesso ao comando conciso toon em qualquer lugar do seu sistema.

npm install -g @toon-format/cli 
# ou 
pnpm add -g @toon-format/cli 

Depois de instalado, você estará pronto para começar a reduzir seus dados.

A magia da detecção automática

O TOON CLI foi projetado para ser inteligente sobre o que você está tentando fazer. Você raramente precisa dizer explicitamente para codificar ou decodificar; ele analisa as extensões dos seus arquivos para decidir.

Se você alimentá-lo com um arquivo .json, ele assumirá que você deseja codificá-lo para TOON. Se você fornecer um arquivo .toon, ele mudará para o modo de decodificação para retornar JSON.

# Codifica automaticamente para TOON 
toon data.json -o compactado.toon 

# Decodifica automaticamente para JSON 
toon compactado.toon -o restaurado.json 

Mas onde a CLI realmente prova seu valor é na “filosofia Unix” – pequenas ferramentas vagamente unidas. Como o TOON CLI lê da entrada padrão (stdin) e grava na saída padrão (stdout), você pode canalizar dados diretamente através dele.

# Canaliza JSON diretamente para TOON 
gato grande-dataset.json | desenho animado > dados.toon 

# Faça eco de um objeto rápido para ver como ele fica no TOON 
echo '{"nome": "Ada", "role": "admin"}' | desenho animado 

Quando você está canalizando dados via stdin, o padrão da CLI é o modo encode. Se você precisar decodificar um fluxo de dados TOON vindo de outro processo, simplesmente adicione o sinalizador --decode (ou -d).

Analisando economia de token

A otimização de formatos de dados geralmente envolve jogos de adivinhação. "Se eu remover os espaços em branco, quanto eu economizo?" "E se eu mudar para YAML?"

O TOON CLI elimina suposições com o sinalizador --stats. Ao codificar, esta opção calcula a contagem estimada de tokens e mostra a economia imediatamente. Isso é inestimável quando você está planejando um orçamento para chamadas LLM de alto volume.

toon context.json --stats 

Você poderá ver uma saída indicando uma redução de 30% ou 40% no tamanho. Isso não é apenas espaço em disco; isso representa 40% menos latência e 40% menos custo em tokens de entrada.

Ajuste Avançado: Delimitadores e Formatação

Por padrão, TOON usa vírgulas para separar itens do array, semelhante ao JSON. No entanto, diferentes tokenizadores LLM se comportam de maneira diferente com a pontuação. Às vezes, um caractere de tabulação ou uma barra vertical (|) é mais eficiente em termos de token do que uma vírgula.

A CLI permite que você troque delimitadores dinamicamente. Se você estiver lidando com dados tabulares, mudar para um delimitador de tabulação pode fazer com que a saída pareça mais limpa e processada com mais eficiência.

Para uma lista de produtos, isso transforma a saída de uma lista separada por vírgulas em uma estrutura limpa e separada por tabulações que se parece quase com uma planilha, que muitos modelos analisam excepcionalmente bem.

# Use abas para itens do array 
toon itens.json --delimiter "\t" -o itens.toon 

::: dica Dica profissional: Os delimitadores de tabulação geralmente reduzem a necessidade de escape de aspas e podem resultar em melhor tokenização para dados numéricos. Se você estiver processando conjuntos de dados massivos, tente --delimiter "\t" para extrair toda a eficiência. :::

Estrutura de compressão com dobramento de chave

Um dos recursos mais recentes (introduzidos na especificação v1.5) disponíveis na CLI é Key Folding. Os dados JSON geralmente são profundamente aninhados, com chaves wrapper como data.response.items que adicionam profundidade estrutural sem adicionar significado.

A CLI permite que você "dobre" essas chaves aninhadas em um único caminho com notação de ponto, nivelando a hierarquia e salvando tokens em recuo e colchetes.

toon deep-structure.json --key-folding safe -o flat.toon 

Isso transforma objetos aninhados:

{ "usuário": { "perfil": { "id": 1 } } } 

Em uma representação TOON concisa:

usuário.perfil.id: 1 

Se você precisar converter de volta para JSON completo posteriormente, você pode usar o sinalizador --expand-paths safe durante a decodificação para reconstruir perfeitamente a estrutura profunda do objeto.

integrando em pipelines

O verdadeiro poder do TOON CLI vem quando você o encadeia com outras ferramentas como curl e jq. Você pode buscar dados de uma API, filtrá-los até o essencial e convertê-los em TOON em uma única linha, prontos para serem colados em um prompt ou enviados para um endpoint de inferência.

Neste fluxo de trabalho, você busca os dados, extrai apenas os usuários ativos, converte-os em um formato TOON delimitado por barras verticais e obtém um relatório de estatísticas sobre quantos tokens você acabou de salvar.

curl -s https://api.example.com/users\ 
| jq '.data.active_users' \ 
| desenho animado --stats --delimitador "|" 

Resumo

O @toon-format/cli é mais do que apenas um conversor de arquivos; é um cinto de utilidades para a era LLM. Ao mover o processamento de dados para a linha de comando, você pode iterar com mais rapidez, visualizar otimizações imediatamente e integrar formatos eficientes em tokens aos seus fluxos de trabalho de engenharia existentes.

Esteja você preparando documentos RAG (Retrieval-Augmented Generation) ou simplesmente tentando encaixar um enorme blob JSON em uma pequena janela de contexto, experimente a CLI. Seu orçamento de tokens agradecerá.