- A forma como LLMs processam todo o resultado de chamadas de ferramentas é lenta, cara e pouco favorável à escalabilidade
- Em vez disso, propõe-se uma abordagem em que o LLM orquestra o processamento de dados estruturados com base em esquemas de saída por meio de código
- Essa abordagem é adequada para processar grandes volumes de dados com encadeamento de funções via código e gerenciamento de memória baseado em variáveis
- A abordagem de processamento de dados baseada em execução de código oferece alta precisão e escalabilidade, já que o LLM não precisa reconstruir os dados diretamente
- A construção de um ambiente de runtime de IA seguro está surgindo como um novo desafio, e há necessidade de um ambiente de execução sustentável e capaz de manter estado
LLM function calls don't scale; code orchestration is simpler, more effective.
Limitações da abordagem tradicional de reenviar ao LLM os resultados das chamadas de ferramentas
- Ao usar ferramentas MCP (Machine Context Protocol), normalmente o resultado da ferramenta é enviado ao LLM como mensagem para induzir a próxima ação
- Em casos de uso reais, os servidores MCP da Linear e da Intercom retornam respostas grandes em formato JSON
- JSON é semelhante a uma API, mas sem um esquema de saída definido, o LLM tem o ônus de analisar todo o texto
- Por exemplo, o resultado da consulta da lista de issues no Linear é muito grande: 70.000 caracteres em 50 itens, cerca de 25.000 tokens
- Muitos campos
id não têm significado prático, mas consomem tokens, e se o LLM precisar reproduzi-los como estão, o custo e a chance de erro aumentam
Necessidade de separar processamento de dados e orquestração
- A abordagem atual mistura processamento de dados e orquestração em uma única sessão de chat
- Alguns criam outras threads como “agentes” para isso, mas quando o JSON já é estruturado, isso é ineficiente
- Uma abordagem melhor é processar os dados estruturados diretamente com código
- Ex.: para ordenar issues, em vez de o LLM gerar a saída, o código executa
sort e retorna apenas o array resultante
Processamento de dados baseado em execução de código
- Computação de IA por meio de execução de código já é usada em vários interpretadores de IA
- Essa abordagem permite uma estrutura simples em que o LLM não produz os dados diretamente e só precisa decidir como usar as ferramentas
Conceitos principais
- Uso de variáveis como memória: atribuir um valor = armazenar, exibir = consultar, passar como argumento ao chamar funções
- Suporte a encadeamento de funções: combinação de várias chamadas de função em paralelo ou em sequência, com dependências expressas naturalmente no fluxo do código
- Processamento escalável de grandes volumes de dados: em conjunto com NumPy, pandas etc., é possível lidar facilmente com milhares ou dezenas de milhares de registros
- Também é possível chamar outros LLMs: dentro do código escrito pelo LLM, outro LLM pode ser chamado para processar dados não estruturados
O MCP está preparado?
- A especificação do MCP já define um esquema de entrada, e recentemente também foi submetido um PR de esquema de saída
- Quando esquemas de saída se tornarem comuns, usos como os seguintes passam a ser possíveis:
- painel de status de issues
- relatório semanal de tickets concluídos
- a IA monitorando tickets parados e enviando alertas
Desafios do ambiente de execução de código
- Segurança é a questão central: como se executa código gerado por IA/usuário, é necessário projetar mecanismos para evitar exposição de chaves de API e dados
- No caso da Lutra, o ambiente de execução é estruturado em modo sandbox, e ao modelo é fornecida apenas a documentação de chamadas de API
- Ambientes de execução com manutenção de estado (como Jupyter) têm alto custo, e para sessões de longa duração são necessárias características de sem estado (stateless) + persistência (persistent)
- Isso forma uma nova categoria de runtime de IA, cujo design ainda está sendo desenvolvido ativamente
Conclusão
- A abordagem tradicional de inserir no LLM os resultados de chamadas de ferramentas para processamento tem limitações de custo e precisão
- A orquestração baseada em código permite um processamento simples, escalável e preciso
- Ambientes de execução de código para IA estão ganhando atenção como a próxima geração de runtimes com segurança, persistência e escalabilidade
1 comentários
Comentários do Hacker News