Elegir la herramienta adecuada en la era de la inteligencia artificial
La inteligencia artificial puede intervenir actualmente en casi cualquier proceso. Esa versatilidad está generando la impresión de que también debería utilizarse para resolver cualquier problema.
Convertir documentos, realizar cálculos, organizar rutas, consultar datos o transformar archivos son tareas en las que una IA puede ayudarnos. Pero que pueda hacer algo no significa necesariamente que sea la herramienta más apropiada.
En ocasiones, utilizar IA para una operación sencilla es como matar moscas a cañonazos: incorporamos un sistema complejo y probabilístico para resolver algo que una herramienta convencional podría ejecutar de manera más rápida, económica, verificable y reproducible.
Una regla sencilla, aunque no absoluta
Como orientación inicial, podemos utilizar esta regla:
- Si el problema consiste principalmente en aplicar unas reglas conocidas, probablemente encaje mejor con programación convencional.
- Si requiere interpretar información ambigua, reconocer patrones o trabajar con incertidumbre, probablemente la IA pueda aportar valor.
- Si el problema combina interpretación y trabajo repetitivo, la mejor solución probablemente sea un sistema híbrido.
No es una frontera perfecta. Existen problemas que pueden resolverse de diferentes maneras y técnicas situadas a medio camino entre la programación tradicional, la optimización matemática y lo que académicamente se considera inteligencia artificial.
Aun así, esta distinción ayuda a evitar que utilicemos sistemas complejos para tareas que ya cuentan con soluciones sencillas y fiables.
Un programa convencional recibe unos datos, aplica unas instrucciones y produce un resultado verificable. En condiciones equivalentes, normalmente podemos reproducir ese resultado y conocer exactamente qué reglas se han aplicado.
Un modelo generativo, en cambio, resulta especialmente útil cuando las reglas no pueden describirse con facilidad: interpretar un texto, clasificar una imagen, reconstruir un documento deteriorado, reconocer una intención o responder a una petición expresada de muchas formas diferentes.
La eficiencia no consiste en utilizar siempre lo más nuevo
Cuando aparecieron los ordenadores, muchas de las tareas que asumieron ya podían realizarse manualmente. Los arquitectos podían trabajar con paralex, plantillas, tiralíneas, Rotrings y planillas de presupuestos.
La informática no inventó todas esas actividades, pero aumentó enormemente la velocidad, precisión y capacidad con la que podían ejecutarse.
La inteligencia artificial representa otro gran salto tecnológico, aunque conviene recordar que computación e IA no son sinónimos.
Toda IA necesita computación, pero una enorme cantidad de tareas informáticas no requiere IA. Una hoja de cálculo, una base de datos, un conversor de archivos, una calculadora o un algoritmo de optimización son también productos de la computación.
La verdadera eficiencia no consiste en aplicar la tecnología más reciente a todos los problemas. Consiste en utilizar la herramienta más sencilla, fiable y económica que resuelva correctamente cada uno.
La IA no sustituye al reloj
El reloj ofrece un ejemplo muy claro.
Primero tuvimos relojes analógicos y después relojes digitales. Ahora incluso podemos preguntarle la hora a una IA. Sin embargo, la IA no conoce por sí sola la hora actual: para responder con exactitud necesita consultar el reloj del sistema o algún servicio externo que le proporcione ese dato.
La IA comprende nuestra pregunta y presenta la respuesta de una forma natural, pero debajo continúa existiendo un mecanismo determinista que mide el tiempo.
Si únicamente queremos saber la hora, basta con mirar un reloj. Añadir una IA no mejora la medición; simplemente incorpora una nueva capa de interacción.
La situación cambia si preguntamos:
¿A qué hora debería llamar a Tokio para que allí sean las nueve de la mañana?
En ese caso, la IA puede interpretar nuestra intención y facilitar la interacción. Sin embargo, seguirá apoyándose en información estructurada sobre zonas horarias y en cálculos programados para obtener una respuesta fiable.
La IA no ha sustituido al reloj. Ha creado una manera más flexible de relacionarnos con él.
Incluso la IA utiliza programación
Con los cálculos sucede algo parecido.
Un modelo de lenguaje puede responder perfectamente que 2 + 2 son 4. Por tanto, no sería preciso afirmar que una IA es incapaz de sumar. Sin embargo, tampoco funciona internamente como una calculadora ni ofrece por sí sola las mismas garantías matemáticas que un algoritmo diseñado específicamente para calcular.
Cuando una IA necesita realizar operaciones complejas con precisión, puede generar y ejecutar un pequeño programa en Python o recurrir a una calculadora. La propia documentación de OpenAI describe su intérprete de código como una herramienta que ejecuta Python para ayudar al modelo a producir una respuesta.
En esas situaciones, la IA interpreta el problema, determina qué operaciones hacen falta y explica el resultado. Pero es un procedimiento programado el que efectúa los cálculos.
Esto revela algo importante: la IA no elimina la programación. Frecuentemente la utiliza, la coordina y la hace accesible mediante el lenguaje natural.
Un ejemplo práctico: cuando la IA sí aporta valor
En una ocasión necesité recuperar el texto de una página de un libro muy antiguo.
No era posible escanearla completamente plana sin introducir deformaciones. Además, los sistemas tradicionales de reconocimiento óptico de caracteres tenían dificultades con las letras torcidas, la impresión irregular y algunos fragmentos emborronados.
En lugar de utilizar un OCR convencional, fotografié la página y se la proporcioné a ChatGPT.
En este caso, la IA no se limitó a reconocer caracteres de manera aislada. Utilizó el contexto para interpretar el contenido. El resultado fue especialmente bueno en aquellos fragmentos donde la forma de las letras no estaba suficientemente clara.
La IA era la herramienta apropiada porque el problema no consistía únicamente en identificar caracteres. También requería interpretar palabras incompletas, compensar las deformaciones de la fotografía y deducir determinados fragmentos a partir del contexto del libro.
El planteamiento funcionaba perfectamente para una página. El problema apareció cuando tuve que procesar más de cien.
Enviar cada fotografía manualmente, esperar la respuesta, copiar el texto y repetir el proceso habría requerido varias horas. Además, era una secuencia mecánica y repetitiva que no necesitaba intervención humana en cada paso.
Por eso desarrollé un pequeño sistema en Python que recibía todas las fotografías de una vez, las ordenaba, las enviaba mediante una API al modelo y guardaba las respuestas como archivos Markdown estructurados y preparados para trabajar con ellos.
El proceso completo tardó aproximadamente dos minutos.
La programación se ocupó de todo lo repetitivo y predecible:
- Recorrer las imágenes.
- Mantener el orden de las páginas.
- Realizar los envíos.
- Recoger las respuestas.
- Asignar nombres a los archivos.
- Guardar los resultados en Markdown.
La IA se ocupó de aquello que requería interpretación:
- Reconocer una impresión irregular.
- Compensar las deformaciones de las fotografías.
- Reconstruir palabras parcialmente ilegibles.
- Comprender el contexto general del libro.
- Resolver palabras cortadas al final de una página que continuaban en la siguiente.
- Deducir algunos caracteres emborronados gracias al resto de la frase.
Ninguna de las dos soluciones habría sido igual de eficaz por separado.
El OCR tradicional era rápido, pero interpretaba mal demasiados caracteres. Utilizar ChatGPT manualmente ofrecía buenos resultados, pero convertía el procesamiento de más de cien páginas en una tarea lenta. Python podía automatizar el flujo, pero no interpretar por sí solo los fragmentos ambiguos.
La solución más eficaz fue híbrida: programación para automatizar el proceso e inteligencia artificial para interpretar el contenido.
Este ejemplo muestra que utilizar la IA con criterio no significa evitarla. Significa emplearla precisamente donde sus capacidades aportan una ventaja real.
El caso contrario: un problema complejo que no necesitaba IA generativa
También existen problemas enormemente complejos que no necesitan un modelo generativo ni aprendizaje automático.
En uno de nuestros proyectos queríamos mejorar la comunicación y los recorridos dentro de unas oficinas. Para comprender cómo funcionaban realmente las relaciones, diseñamos un formulario con una serie de preguntas cuidadosamente elegidas.
A partir de las respuestas analizamos la intensidad de las relaciones entre empresas, departamentos y personas: empresas con otras empresas, departamentos con otros departamentos, personas con otras personas y todas las combinaciones posibles entre esos niveles.
El resultado fue una enorme cantidad de datos.
Sabíamos quién necesitaba relacionarse con quién y con qué frecuencia. La cuestión verdaderamente difícil era decidir cómo utilizar esa información para encontrar una distribución de las oficinas que facilitara las comunicaciones y redujera los desplazamientos innecesarios.
No necesitábamos que una IA generativa interpretase el problema. Las relaciones, las restricciones y el objetivo podían expresarse mediante números y reglas.
Lo que necesitábamos era explorar una cantidad inmensa de distribuciones posibles y encontrar una suficientemente buena en un tiempo razonable.
Para hacerlo utilizamos un algoritmo de optimización por colonia de hormigas, una técnica inspirada en la manera en que estos animales encuentran caminos hacia la comida.
Cuando una hormiga encuentra un recorrido, deja un rastro de feromonas. Si ese camino resulta eficaz, otras hormigas tienden a utilizarlo y refuerzan el rastro. Mientras tanto, las feromonas de los caminos menos utilizados se evaporan progresivamente.
Con el tiempo, la colonia acaba concentrándose en los recorridos más favorables.
El programa aplicaba una idea semejante. Generaba posibles distribuciones de las oficinas y puntuaba cada una según lo bien que resolvía las relaciones y los recorridos.
Las mejores opciones reforzaban determinadas decisiones, mientras que las peores iban perdiendo peso. En las siguientes iteraciones, el sistema utilizaba esa información para construir nuevas soluciones con mayores probabilidades de ser buenas.
Probamos el proceso con miles de soluciones candidatas e incluso llegamos a ejecutar 50.000. Sin embargo, observamos que, a partir de unas 500, la mejora adicional era prácticamente insignificante: aproximadamente un 0,000000001 %.
En unos dos segundos de cálculo obteníamos una distribución con una puntuación de adecuación del 98,7 % según los criterios que habíamos definido.
No podíamos asegurar que fuera la mejor solución imaginable, porque este tipo de algoritmo no garantiza necesariamente el óptimo absoluto. Pero sí proporcionaba una solución excelente en muy poco tiempo y evitaba tener que examinar manualmente una cantidad inabarcable de combinaciones.
En este caso no utilizamos un modelo generativo, una red neuronal ni un sistema entrenado con nuestros datos. Utilizamos relaciones cuantificadas, reglas explícitas, una función matemática para puntuar las soluciones y un algoritmo programado para explorar las alternativas.
Conviene introducir aquí un matiz: la optimización por colonia de hormigas se incluye en ocasiones dentro de la inteligencia artificial en su sentido académico más amplio, concretamente dentro de la denominada inteligencia de enjambre.
Pero no es la clase de IA a la que solemos referirnos actualmente cuando hablamos de modelos generativos o aprendizaje automático. No interpreta textos ni aprende qué distribución es mejor a partir de ejemplos anteriores. Explora posibles soluciones aplicando repetidamente un procedimiento matemático definido por nosotros.
Este caso complementa al del libro antiguo.
En el primero, la IA resultaba útil para interpretar imágenes ambiguas, mientras que Python automatizaba el trabajo repetitivo. En el segundo, aunque el problema era mucho más complejo, las variables y los objetivos estaban suficientemente definidos para resolverlo mediante optimización programada.
La complejidad de un problema no determina si necesita IA. Lo determinante es la naturaleza de lo que le estamos pidiendo.
El caso de la conversión de documentos
La conversión de PDF a Markdown también admite matices.
Si el PDF contiene texto digital con una estructura sencilla, un conversor convencional probablemente será más rápido, barato y reproducible. No hace falta que un modelo interprete algo que puede extraerse siguiendo unas reglas.
Pero si el documento está escaneado, contiene tablas complejas, columnas, notas al margen o una jerarquía visual difícil de reconstruir, entonces el reconocimiento óptico y la IA pueden resultar muy útiles.
La pregunta adecuada no es «¿puede hacerlo una IA?». Actualmente la respuesta será afirmativa para muchísimas tareas.
La pregunta verdaderamente útil es:
¿Qué parte del problema necesita interpretación y qué parte puede resolverse mediante reglas?
Utilizar la IA con criterio
Entender esta diferencia ayuda a utilizar la IA con más criterio. No se trata de aplicarla a todo, sino de reconocer cuándo aporta valor, cuándo basta una solución más sencilla y cuándo la mejor respuesta consiste en combinar diferentes herramientas.
Antes de incorporar IA a un proceso, merece la pena preguntarse:
- ¿El resultado debe ser siempre idéntico ante los mismos datos?
- ¿Podemos describir las reglas con claridad?
- ¿Necesitamos interpretar lenguaje, imágenes o situaciones ambiguas?
- ¿Existe incertidumbre o información incompleta?
- ¿Qué consecuencias tendría una respuesta incorrecta?
- ¿Debe ser posible auditar y explicar cada paso?
- ¿Existe ya una herramienta convencional que resuelva el problema?
- ¿Qué partes son repetitivas y pueden automatizarse?
- ¿Qué partes requieren realmente interpretación?
En muchos casos, la mejor solución no será exclusivamente programación ni exclusivamente IA.
Será un sistema híbrido: la IA interpretará la petición, un programa ejecutará las operaciones, una base de datos proporcionará la información exacta y la IA explicará el resultado.
La inteligencia artificial es extraordinariamente valiosa. Precisamente por eso conviene utilizarla donde realmente aporta algo.
El progreso no consiste en sustituir cada herramienta anterior por una IA. Consiste en construir soluciones mejores combinando interpretación, programación, matemáticas y automatización con criterio.
Al final, la IA puede decirnos la hora de una forma muy humana. Pero todavía necesita que haya un reloj debajo.
