Corría el año 1997. Estaba terminando la carrera de informática. Después de un accidente de coche, había tenido que ausentarme un cuatrimestre entero del año anterior, así que en quinto de carrera tuve trabajo "extra". Tenía poco tiempo, vamos.
El caso es que tuve un profesor muy curioso. Este profesor faltaba con tanta frecuencia a clases, que al final solo impartió alrededor de un tercio del temario, siendo generosos. De hecho, empezó una de las última clases del cuatrimestre afirmando "No sé qué ha pasado este año." Vaya. Pues yo creo que no era demasiado difícil de deducir. Para acabar de rematarla, resulta que de vez en cuando decía "Que sepáis que lo que os dije la semana pasada es mentira." Al final, tiré aquellos "apuntes" y me compré cierto libro de gran renombre sobre el tema.
Pero era en la práctica de otra asignatura donde se mascaba la tragedia. Mi compañera de prácticas y yo decidimos repartirnos el trabajo de una manera inédita para mi: ella me explicaba los pasos que tenían que dar los algoritmos que nos habían proporcionado los profesores, y yo lo implementaba. Parecía una buena idea, teniendo en cuenta mi falta de tiempo. Se trataba de un motor de inferencia, en el que el típico ejemplo era que lo alimentabas con datos como hijo(paula, pablo) e hijo(pablo, daniel) y con reglas como nieto(x, y) :- hijo(x, z), hijo(z, y), debía deducir nieto(paula, daniel).
Lo cierto es que yo no sabía ni eso del proyecto; solo había comprendido la forma más básica de implementar cada paso aislado de cada algoritmo, sin saber lo que realmente hacían, ni cada uno, ni mucho menos en conjunto. Y, quién lo iba a decir, aquel programa no funcionaba; vamos, que no deducía nada. La cuestión es: ¿cómo arreglas un programa que no sabes lo que tiene que hacer, ni tampoco cómo tiene que hacerlo? ¿Cómo saber dónde hay que mirar? La respuesta es simple: no puedes.
Al final, otro compañero tuvo que ayudarnos para salir del atolladero, y finalmente pudimos entregar aquello. Pero me sentía totalmente frustrado e incluso avergonzado... ¿cómo había podido acabar en aquella situación? Tenía en bastante buena estima mi propia pericia como programador. Sobre todo, porque siempre lo había disfrutado a tope, y de hecho, me había preocupado de estudiar más allá de lo que ofrecía la carrera, mediante libros, por ejemplo (Internet no era lo que es ahora, ni de lejos). Pero es que la cosa era peor: ¿cuál era el error concreto que había cometido?
Volvamos a aquel profesor peculiar. En una de sus clases, ni siquiera recuerdo por qué, va y nos suelta: "Nunca utilicéis algo que no entendáis como funciona."
Ahí fue cuando todo encajó con un sonoro "click" en mi cabeza. Había utilizado algoritmos que no entendía cómo funcionaban, simplemente aprendiendo al nivel más básico posible lo que hacían en cada paso, para crear código que creía que resolvía un problema que, en realidad, tampoco entendía. Y no podía arreglar algo que no entendía.
Y así fue como aquel profesor tan peculiar consiguió enseñarme algo finalmente. Y es algo tan básico que se aplica a toda esta locura de la IA. Si la utilizas para generar código que no entiendes cómo funciona... ¿quién lo va a arreglar cuando ocurra algún error?
Mi ideal de uso de la IA es: genial para condensar y explicar documentación, no tengo problema con que me sugiera código, es decir, soluciones para ciertos problemas (que habrá que "auditar"), pero desde luego nunca será en mis proyectos un agente "suelto" generando código por si mismo.
Top comments (0)