O cenário de ferramentas de desenvolvimento para IA é vasto e muda rápido, então ajuda dividi-lo em camadas. Na base você tem motores de inferência — o software que realmente roda modelos. vLLM, llama.cpp, TensorRT-LLM e Ollama cuidam de carregar pesos de modelo em GPUs (ou CPUs), gerenciar memória, agrupar requisições e retornar saídas. Se você está hospedando modelos, escolher o motor de inferência certo para seu hardware é uma das decisões de maior alavancagem. vLLM domina para implantações multi-GPU em servidor com seu gerenciamento de memória PagedAttention. llama.cpp é o padrão para rodar modelos quantizados em hardware de consumo, incluindo laptops e até celulares. A escolha depende da sua escala, hardware e se você precisa de recursos como speculative decoding ou continuous batching.
Uma camada acima você tem frameworks de orquestração — LangChain, LlamaIndex, Haystack e o Vercel AI SDK. Esses lidam com a tubulação entre sua aplicação e o modelo: templating de prompt, chamada de ferramentas, geração aumentada por recuperação, memória de conversa e parsing de saída. A verdade honesta sobre esses frameworks é que são mais úteis quando seu caso de uso corresponde aos padrões embutidos e mais frustrantes quando não. LangChain, por exemplo, torna trivialmente fácil construir um chatbot RAG mas pode parecer uma luta contra o framework se você precisa de fluxo de controle não padrão. Muitos desenvolvedores experientes acabam usando esses frameworks para prototipar, e depois reescrevem o caminho crítico em código direto quando entendem exatamente o que precisam. Isso não é uma falha das ferramentas — é um workflow razoável. Velocidade de prototipagem e controle em produção servem objetivos diferentes.
Ferramentas de fine-tuning formam seu próprio ecossistema. Axolotl e Unsloth tornam possível fazer fine-tuning de modelos open-weights em uma única GPU de consumo usando técnicas como LoRA e QLoRA, que treinam um pequeno número de parâmetros adaptadores em vez do modelo completo. A biblioteca transformers do Hugging Face e sua Trainer API continuam sendo a fundação sobre a qual a maioria das ferramentas de fine-tuning é construída. No lado gerenciado, provedores como OpenAI, Google e Together oferecem APIs de fine-tuning onde você envia seus dados e recebe um modelo customizado sem gerenciar infraestrutura. A decisão entre fine-tuning auto-hospedado e gerenciado geralmente se resume a sensibilidade dos dados e velocidade de iteração. Se seus dados de treinamento não podem sair da sua rede, você auto-hospeda. Se quer experimentar rápido e os dados não são sensíveis, APIs gerenciadas têm muito menos overhead operacional.
O maior risco com ferramentas de desenvolvimento para IA é adotar muitas. Cada framework, biblioteca e plataforma adiciona uma dependência, uma camada de abstração e um ponto de falha. Equipes que tentam usar LangChain para orquestração, Pinecone para vetores, Weights & Biases para rastreamento de experimentos, Braintrust para avaliação e Vercel para deploy acabam gastando mais tempo integrando ferramentas do que construindo seu produto. A abordagem pragmática é começar com a stack mínima viável: uma API de modelo (ou motor de inferência local), um prompt simples e seu framework de aplicação existente. Adicione ferramentas só quando encontrar um problema específico — qualidade de recuperação é ruim, então você adiciona um banco vetorial; avaliação é ad hoc, então você adiciona um framework; latência é alta demais, então você adiciona caching. Cada ferramenta deve resolver um problema que você já sentiu, não um problema que acha que pode ter um dia.