Atualmente aprendo a organizar e a utilizar múltiplos agentes nos meus projetos, e a questão da escolha dos modelos e do esforço se mostra central. Assim, me dediquei a aprender mais sobre a questão e compartilho com vocês meus insights e a forma como passei a escolher modelo+esforço no meu dia-a-dia.
LLMs
Hoje, os chats e agentes de IA fazem uso de diversos modelos (LLMs) que são criados de formas diferentes, com sets de treinamento diferentes e por isso têm capacidades e utilidades diferentes.
Quanto mais compacto é o modelo – quanto menos parâmetros usados no seu treinamento – mais propenso a alucinações, a imprecisões e a ignorar ironia, contextos socio-culturais e outras nuances de texto. A contrapartida é que quanto mais compacto um modelo, menos tokens são usados para processar os prompts e mais rápidas são as respostas geradas.
Esforço
Um modelo em si não processa informações, ele será usado para processar e gerar as respostas. O modo como utilizamos o modelo pode variar e podemos controlar a quantidade de tokens de resposta gerados por meio de parâmetros de Esforço (effort).
Quanto maior o esforço, mais tokens serão usados para processar a requisição (prompt) e mais preciso tende a ser o resultado.
Maximalismo de modelos e esforço
Uma idéia equivocada e que tem sido combatida é a de que em tarefas muito importantes, de alto impacto, vale a pena usar apenas os modelos com mais parâmetros e sempre usar o esforço máximo. Afinal, se uma tarefa é de fato crucial, por que arriscar alucinações e imprecisões?
Entretanto, em larga escala, esse maximalismo de modelos e esforço traz custos altos de processamento e de tempo de resposta.
Além disso, uma melhor divisão de tarefas complexas utilizando modelos menores com esforço adequado pode trazer resultados melhores do que simplesmente usar o maior modelo com o esforço máximo, além de representar uma economia de ate 98% nos tokens utilizados [1].
Modelo e o esforço adequados
O uso efetivo de IA exige que se escolha o modelo e o nível de esforço adequados para cada tarefa. Não existem regras para quais pares modelo-esforço são melhores, e um certo trabalho de tentativa e erro é inevitável.
Entretanto, algumas diretrizes podem te ajudar na sua escolha de modelos-esforços de forma mais eficiente. Cito abaixo a forma como eu uso os modelos e os níveis de esforço no meu dia-a-dia.
- Haiku extended (esforço padrão único) – pesquisas na web. Dúvidas simples e busca de links
- Sonnet (esforço médio) – tarefas já definidas. Uso para gerar código e documentos cujas pesquisas estejam bem delineadas, os problemas conhecidos e o passo-a-passo das soluções decidido.
- Opus – planejamento e arquitetura. Usado para explorar idéias mais complexas, definir elementos e etapas de um projeto e arquitetar soluções. Uso esforço alto na fase de arquitetura (pensamento complexo sobre o problema) e esforço médio na fase de engenharia (projetar a solução)
Uma nota sobre prompts
Uma outra forma de otimizar o uso de IA é por meio de prompts claros e bem estruturados. É preciso reforçar que quanto melhor o seu prompt, melhores serão os resultados. Um prompt bem trabalhado, estruturado e feito com uma linguagem clara e concisa sempre trará resultados melhores do que um prompt “vomitado”, escrito com erros e sem uma estrutura clara.
É preciso tratar a IA como uma pessoa que lerá seus textos de prompt. Mesmo que os textos estejam confusos, ela vai conseguir inferir o que você queria dizer. Mas essa inferência – palpite – pode ser equivocada, especialmente em questões com nuances e detalhes importantes. De pouco adianta usar Opus com esforço máximo se você escreve igual que nem um babuíno.
Links
[1] FrugalGPT and Reducing LLM Operating Costs | Towards Data Science
https://towardsdatascience.com/frugalgpt-and-reducing-llm-operating-costs-ff1a6428bf96
[2] Your effort level is TOO DAMN HIGH – YouTube
https://www.youtube.com/shorts/iQb3F9UzBR4
[3] What is Extended thinking? Anthropic reasoning mode explain
https://www.promptlayer.com/glossary/extended-thinking
