𝗘𝘂 𝘁𝗲𝗻𝘁𝗲𝗶 𝗮𝗱𝗶𝗰𝗶𝗼𝗻𝗮𝗿 𝗰𝗵𝗮𝘁 𝗱𝗲 𝗜𝗔 𝗮𝗼 𝗺𝗲𝘂 𝗮𝗽𝗽 𝗲 𝗯𝗮𝘁𝗶 𝗲𝗺 𝘂𝗺 𝗺𝘂𝗿𝗼
Tentei adicionar um assistente de chat de IA à minha ferramenta de gerenciamento de projetos. Achei que seria fácil. Planejei enviar todo o histórico do chat para uma API.
Falhou.
Após 15 mensagens, as respostas tornaram-se lentas ou apresentaram erros. A API retornou erros porque o texto era longo demais para o limite de tokens.
Aqui está o que eu tentei e o que funcionou.
Os problemas que enfrentei:
- Truncar o histórico: Mantive apenas as últimas mensagens. Isso resolveu a velocidade, mas a IA esqueceu tudo o que aconteceu no início do chat.
- Sumarização: Pedi à IA para resumir o chat a cada 5 mensagens. Isso ajudou na memória, mas aumentou meus custos e tempos de espera.
- Vector stores: Tentei pontuar as mensagens por relevância. Isso adicionou complexidade demais para as minhas necessidades.
A solução:
Parei de tentar enviar tudo. Usei dois métodos principais para corrigir a experiência.
Streaming: Usei Server-Sent Events para mostrar o texto conforme ele é gerado. Isso faz com que o app pareça rápido, mesmo que a IA leve um tempo para pensar.
Uma janela de contexto de três slots: Dividi meu orçamento de tokens em partes específicas.
- System Prompt: 500 tokens. Este permanece constante.
- Contexto dinâmico: 2000 tokens. Este contém atualizações recentes do projeto e estados das tarefas.
- Histórico de conversa: 4000 tokens. Esta é uma janela deslizante de mensagens recentes.
Ao gerenciar o orçamento dessa forma, reduzi o tamanho do meu payload em 40%. Isso economizou dinheiro e diminuiu a latência.
Meu conselho:
Adicionar IA não é apenas chamar uma API. Você deve gerenciar a quantidade de dados que envia. O streaming melhora a percepção de velocidade do usuário. Uma estratégia de contexto inteligente melhora a percepção de inteligência da IA.
Como você gerencia a memória de conversação em seus apps? Você usa janelas deslizantes ou sumarização?
Comunidade de aprendizado opcional: https://t.me/GyaanSetuAi