Con la difusión de aplicaciones de IA generativa como ChatGPT, está surgiendo una nueva carrera: prompt engineering, el arte (no la ciencia) de elaborar instrucciones eficaces para los modelos de IA.
"En diez años, la mitad de los puestos de trabajo del mundo estarán relacionados con prompt engineering", declaró Robin Li, cofundador y consejero delegado del gigante chino de la IA, Baidu. "Y los que no sepan escribir prompts se quedarán en camino".
Puede que sea un poco exagerado, pero no hay duda de que los prompt engineers se convertirán en los magos del mundo de la IA, engatusando y guiando a los modelos de IA para que generen contenidos que no sólo sean relevantes, sino también coherentes y consistentes con el resultado deseado.
Entonces, ¿qué es exactamente la prompt engineering?
Conseguir que la IA generativa haga lo que uno quiere no es tarea fácil. Cualquiera que haya probado sistemas de generación de imágenes como Dalle-E o MidJourney o modelos lingüísticos como ChatGPT lo puede comprobar. "En diez años, la mitad de los puestos de trabajo del mundo serán de prompt engineering ", declaró Robin Li, cofundador y consejero delegado del gigante chino de la IA, Baidu. "Y los que no sepan escribir prompts se quedarán obsoletos".
Esto se debe a que los modelos generativos de IA responden al lenguaje natural y éste es notoriamente impreciso. Una misma frase puede tener significados diferentes según el contexto, lo que dificulta que el modelo de IA entienda lo que el usuario quiere que genere. Y las indicaciones en lenguaje natural pueden no proporcionar suficiente contexto para que la IA comprenda plenamente la intención del usuario. Esto puede llevar a que la IA genere respuestas que no sean relevantes para las necesidades o expectativas del usuario.
Además, los modelos generativos de IA suelen entrenarse con grandes cantidades de datos de texto, pero los datos de entrenamiento pueden no contener ejemplos que coincidan con la intención específica de la indicación del usuario. Esto puede limitar la capacidad de la IA para generar respuestas que reflejen con precisión las necesidades del usuario.
Y, por último, los modelos generativos de IA se entrenan para generar respuestas basadas en patrones en los datos de entrenamiento, por lo que puede que no sean capaces de generar respuestas que sean realmente creativas o innovadoras. Así pues, hablar con un modelo de IA generativa es un poco como hablar con un sabio idiota: hay que entender a qué responden si se espera obtener los resultados deseados.
Ya están apareciendo expertos en prompt engineering por todas partes. Las startups ofrecen servicios de prompt engineering y las empresas están empezando a incluir prompt engineers como un título de trabajo. Los formadores y educadores se están desplegando para ayudar a las industrias a formar a los trabajadores sobre la mejor manera de utilizar la IA generativa, y sitios de videoconferencias como Udemy ya ofrecen muchos cursos sobre la formulación de prompts eficaces. Aumente o no la importancia del trabajo para satisfacer las expectativas de Robin Li, es probable que esté aquí para quedarse durante un tiempo.
Mientras tanto, con la creciente sofisticación de los algoritmos de IA, cada vez es más factible que los sistemas de IA asuman el papel de la codificación, dejando que los ingenieros de software se centren en tareas de más alto nivel, como formular intenciones y secuencias lógicas para guiar al generador de código. Este cambio requerirá probablemente que los ingenieros de software tengan un conocimiento más profundo de los algoritmos de IA y de su funcionamiento. Como resultado, serán capaces de elaborar indicaciones que puedan dirigir a la IA para que genere un código que cumpla con precisión las especificaciones deseadas.
La ingeniería de instrucciones será fundamental en el uso de generadores de código automatizados, ya que las instrucciones deben elaborarse cuidadosamente para captar con precisión la intención del código deseado. Además, la ingeniería de prompts puede ayudar a garantizar que el código generado se ajuste a las mejores prácticas, normas y directrices del sector.
El papel de los ingenieros de software evolucionará hacia el de guiar y supervisar el trabajo de la IA, proporcionando aportaciones y comentarios, y asegurándose de que el código generado cumple los requisitos del proyecto.
Ya estamos viendo la compilación de bibliotecas de prompt, como bibliotecas de código preescrito o componentes de software que pueden reutilizarse en diferentes programas o aplicaciones. Al igual que una biblioteca de código contiene componentes diseñados para ser reutilizables, lo que permite a los desarrolladores ahorrar tiempo en lugar de crear código nuevo desde cero, las bibliotecas de prompt harán lo mismo.
También están surgiendo especializaciones de prompt para la generación de código, pruebas de salida, generación de texto y generación de arte. En última instancia, la ingeniería de prompt consiste en saber qué comunicar a un modelo de IA para que produzca el resultado deseado, lo que permite a los usuarios optimizar la comunicación para obtener resultados precisos.
Hay una avalancha de empresas emergentes y nuevas herramientas para ayudar a diseñar prompts, como PromptPerfect y PromptingGuide. Las escuelas en línea están empezando a ofrecer cursos de prompting y PromptBase es un mercado en línea para comprar y vender prompts de alta calidad. La lista sigue y seguirá creciendo sin duda.
La startup Anthropic, cuya misión es crear sistemas de IA fiables, interpretables y dirigibles, ofrece un salario de hasta 335.000 dólares para un ingeniero de prompt con experiencia. El puesto implica averiguar los mejores métodos para impulsar la IA para diversas tareas, documentar estos métodos, construir una biblioteca de herramientas y crear tutoriales para que otros aprendan ingeniería de impulsos.
En última instancia, la ingeniería de prompt puede ayudar a mejorar la facilidad de uso y la fiabilidad de los generadores de código automatizados, haciéndolos más accesibles a los usuarios que quizá no tengan una sólida formación en programación. Esta clase emergente de operadores humanos cualificados que saben cómo interactuar con los modelos de IA de forma eficaz cerrará la brecha entre el mundo humano y el de la IA.
Por otra parte, la IA aprenderá sin duda a escribir instrucciones.