¿Qué es IA?
Lo que llamamos IA en estos últimos años (desde la salida de ChatGPT) son los modelos grandes de lenguaje, LLM por sus siglas en ingles. Y estos modelos lo que hacen es recibir texto como input y generar texto de regreso.
La complejidad de ese texto y la calidad de las respuestas es impresionante y sigue mejorando cada día, pero el funcionamiento sigue siendo el mismo, entra texto y sale texto.
Los LLM no tienen memoria
Estos modelos de lenguaje son "stateless" no tienen memoria como tal, cuando tienes una conversación con ChatGPT cada vez que envías un mensaje el modelo vuelve a procesar toda la conversación para generar el nuevo mensaje, por eso existen las "ventanas de contexto" la cantidad maxima de texto que el modelo puede procesar.
¿Cómo funcionan los Agentes y cosas como ChatGPT?
Lo primero son "herramientas", que son descripciones de funciones que hacen parte de los mensajes enviados a la LLM, estas funciones pueden ser cualquier código que podamos ejecutar, crear o leer archivos, cargar información desde una API, hacer operaciones matemáticas, etc...
El modelo de lenguaje puede "pedir" que se ejecute una de estas herramientas como respuesta en una conversación, un fragmento de código tradicional ejecuta la función, agrega el resultado al historial de conversación y vuelve a enviar todos los mensajes a la LLM, que puede decidir ahora si genera una respuesta final, o pide que se ejecute otra herramienta, a esto se le llama el Loop del agente.
Lo segundo es algo llamado RAG (retrieval augmented generation) estas son bases de datos que guardan texto teniendo en cuenta su significado, y las búsquedas funcionan recibiendo texto y devolviendo el texto que sea semánticamente mas relevante. Por ejemplo, podemos guardar un libro completo sobre carpintería y luego buscar "construcción de sillas" para obtener todos los capítulos sobre sillas del libro (y no los de mesas) buscar en el RAG es de hecho una "herramienta"
Entonces cuando usamos ChatGPT estamos usando un LLM + Herramientas + RAG en una aplicación web que maneja las cuentas de usuario, el historial de mensajes y todo lo demás.
¿Que hacen cosas como Claude Code?
Claude code usa una LLM como un motor para generar código, y guía esa generación de código con un montón de reglas internas + herramientas especiales para leer y editar archivos. Pero no es solo la LLM, hay mucho trabajo de ingeniería alrededor de ese motor para producir la experiencia de un asistente que escribe código.
¿Qué podemos hacer entonces con IA?
Cualquier proceso que se base en crear texto (información) a partir de otro texto es algo que potencialmente se puede resolver con IA. Qué tanto éxito se tenga depende de la cantidad de información inicial disponible y de qué tan "claro" y bien delimitado esté el problema que tengamos en las manos.
Siento que si se puede describir un problema en una serie de pasos lógicos, con las preguntas que deben responderse bien explicadas, probablemente se pueda crear un sistema que con LLM y código tradicional cumpla una tarea de principio a fin. Poder describir esas tareas en esa serie de pasos lógicos. Encontrar ese "caso de uso" es el problema que estoy viendo como desarrollador de software estos días.
Pero aquí quiero detenerme en algo, porque es donde más se confunde la gente. Cuando decimos "la IA revisa un correo y lo registra en HubSpot", suena a que la IA hace todo eso. Desarmemos esa frase en lo que realmente pasa:
- Conectarse a Gmail y descargar el correo → código tradicional
- Pasarle el texto del correo a la LLM → código tradicional
- Leer el correo y resumir de qué se trata → IA
- Decidir qué hacer con esa información → código tradicional (reglas que escribimos nosotros)
- Conectarse a HubSpot y guardar el resultado → código tradicional
- Manejar el error si HubSpot no responde → código tradicional
De esos seis pasos la IA toca uno. "Revisar" escondía cinco pasos de programación común y corriente, igual que siempre. si nuestra aplicación fuera un carro, la IA sería un motor impresionante. Pero un carro también necesita dirección, frenos, chasis y tablero.
No estoy tratando de minimizar la IA. Mi punto es justo el contrario: la IA hace una cosa, y la hace muy bien. Pero construir algo útil alrededor de esa cosa sigue necesitando ingeniería de verdad.
¿Qué NO puede hacer IA?
No puede desarrollar ideas nuevas por su propia cuenta. Si no puedes describir bien tu problema, no hay una IA que pueda ayudarte.
Por muy buenas que sean las respuestas, sigue siendo eso: texto que entra y texto que sale. La IA no puede resolver problemas que no sean específicos, no puede ser "flexible" ni crear "insights" solo con mostrarle una cantidad inmensa de datos. Necesita que alguien delimite el problema primero.
Lo curioso es que nada de esto es nuevo. Tener requisitos y objetivos claros siempre ha sido una necesidad en el desarrollo de software, y la IA no cambia eso. Lo único que cambia es que ahora tenemos un motor nuevo y muy potente. Pero sigue necesitando un carro bien construido a su alrededor, y alguien que sepa a dónde quiere ir.