← Volver a FAQ IA

Como se lle dá "memoria" a un chatbot con IA?

Daniel García·

Cando empecei a montar o primeiro chatbot con IA para un cliente, dei por feito que o modelo “lembraba” a conversa igual ca unha persoa. Non é así, e entendelo cambia bastante como se deseña isto.

Un modelo de linguaxe non garda nada entre unha pregunta e a seguinte por defecto. Cada vez que lle mandas unha mensaxe, en realidade estáslle a mandar outra vez toda a conversa anterior (ou un resumo dela) xunto coa mensaxe nova. O que chamamos “memoria” é, na maioría dos chatbots que usamos a diario, simplemente reenviar o historial completo cada vez que escribes algo.

Iso ten un límite práctico: canto máis longa é a conversa, máis texto hai que reenviar, e os modelos teñen un tope de canto texto poden procesar dunha soa vez, a chamada “ventá de contexto”. Para conversas longas, algunhas ferramentas resumen o antigo e gardan literal só o recente, para non quedar sen espazo.

Logo está a memoria de verdade, a que persiste entre conversas distintas, que un asistente lembre algo que lle dixeches a semana pasada. Iso non é maxia do modelo, é unha base de datos á parte onde se gardan datos concretos (o teu nome, unha preferencia, un dato da túa empresa) e que se lle inxectan ao modelo ao principio de cada conversa nova, coma unha chuleta.

Para un chatbot de atención ao cliente, isto tradúcese nunha decisión de deseño moi concreta: que datos do cliente paga a pena gardar e reinxectar (o seu nome, o estado dun pedido) e cales non fai falta nin ten sentido gardar de forma permanente. Gardar de máis tamén é un risco de privacidade, non só un gasto técnico innecesario.

A primeira vez que un cliente nos preguntou por que o chatbot non se lembraba do que lle dixera o día anterior, tiven que explicarlle que a resposta non era un fallo, era que ninguén lle pedira ao sistema que gardase esa información dun día para outro. Pódese facer, pero hai que deseñalo así a propósito.

iachatbot