Prompt Engineering vs RAG para editar currículums

logros y calificaciones, estoy viendo un menor número de solicitudes de empleo para entrevistas, especialmente durante el último año. Al igual que otros, he considerado modelos de lenguajes grandes (LLM) para ayudar con la creación y edición de currículums. Lo ideal sería crear un nuevo currículum para cada trabajo que solicite, adaptando la forma en que expresa su experiencia laboral para que coincida con la redacción y las peculiaridades del puesto y la empresa específicos. Si se encuentra al menos en la mitad de su carrera, debería tener más experiencia laboral de la que cabe en un currículum y deberá determinar qué dejar fuera del currículum. Los LLM pueden ayudar a resumir, reformular y seleccionar la experiencia laboral más relevante para adaptar un currículum a una oferta de trabajo específica.

En este artículo, veremos el uso de ingeniería rápida y generación aumentada de recuperación (RAG) en Azure para complementar los LLM al escribir un currículum. Los LLM pueden ayudar a redactar currículums sin RAG, pero usar RAG nos permite experimentar con RAG y determinar si RAG da como resultado mejores currículums. También compararemos un LLM completo con un modelo de lenguaje más pequeño. Para comparar los diferentes casos, utilizamos las siguientes métricas (según Microsoft):

Conexión a tierra: La conexión a tierra evalúa qué tan bien las respuestas del modelo se alinean con la información de la fuente de entrada. Los LLM deben proporcionar respuestas basadas en los datos proporcionados. Cualquier respuesta fuera del contexto proporcionado no es deseable para escribir un currículum; ¡No queremos que el LLM recupere los logros laborales!

Relevancia: La relevancia mide cuán pertinentes son las respuestas del modelo a preguntas determinadas. Para nuestro caso, el LLM debe proporcionar contenido del currículum relevante para la descripción del trabajo dada.

Coherencia: La coherencia evalúa si el lenguaje proporcionado es claro, conciso y apropiado. Esto es especialmente importante en los currículums, donde la brevedad y la claridad son clave.

Fluidez: la fluidez mide qué tan bien el LLM se adhiere a las reglas adecuadas del inglés. El contenido del currículum debe tener gramática y ortografía adecuadas.

Evaluaremos la generación de currículums en tres casos: 1) solo ingeniería inmediata, 2) currículum RAG y 3) currículum RAG en un modelo base diferente. La evaluación será cualitativa de acuerdo con las métricas anteriores, y cada una se calificará de menor a mayor como insatisfactoria, marginal o satisfactoria.

Para que un LLM escriba el currículum debemos aportar experiencia. En la mayoría de los casos, esto se puede hacer fácilmente con una ingeniería rápida. La ingeniería rápida es una forma de guiar a los LLM para que brinden respuestas más útiles. Los LLM están capacitados en conjuntos de datos muy amplios (como Internet) para brindarles la mayor información posible sobre el lenguaje y los patrones humanos. Sin embargo, esto significa que necesitan contexto para brindar respuestas específicas (y útiles). Las técnicas de ingeniería rápida son formas de interactuar con los LLM para mejorar sus respuestas.

Para utilizar la ingeniería rápida para ayudar a redactar un currículum, proporcionamos el contexto (que el LLM nos ayudará con un currículum) y le brindamos experiencia laboral para que tenga datos de los cuales extraer. A continuación, le proporcionamos la oferta de trabajo y le guiamos a través de la redacción de un currículum. Sin embargo, con un largo historial laboral, podemos encontrar límites de tokens, lo que requiere reducir la experiencia o aumentar los límites de tokens (y, por lo tanto, el costo) con el LLM y la interfaz.

Usaremos Azure para realizar este experimento sin código. Comenzamos con la ingeniería rápida utilizando el modelo básico chat-gpt-4o. Seguiremos el tutorial de Azure para crear una aplicación basada en RAG. Para comenzar, siga todos los pasos de las secciones "Crear centro de Foundry" e "Implementar modelos" del tutorial. Para utilizar únicamente ingeniería rápida, omita las siguientes secciones, vaya a "Envíe mensajes de texto al índice en el patio de juegos" y siga los dos primeros pasos para implementar un modelo básico chapt-gpt-4o.

Daré tantos detalles sobre los métodos como sea posible, pero no proporcionaré mi propio currículum/experiencia laboral ni la oferta de trabajo específica que estoy utilizando por motivos de privacidad y profesionalismo.

Utilizaremos principalmente las mismas indicaciones para cada caso. El caso de ingeniería rápida agregará un paso en el que proporcionamos un currículum maestro para que el LLM lo utilice como material de referencia. Las indicaciones están adaptadas de un artículo de LinkedIn sobre el uso de indicaciones para escribir un currículum con LLM. Para comenzar, proporcionamos un mensaje del sistema en el cuadro "dar contexto y instrucciones al modelo" en el área de juegos de Azure. El mensaje del sistema es:

Actuará como un redactor de currículums profesional experto en presentar información de manera concisa y utilizar un lenguaje apropiado para su nicho, evitando al mismo tiempo términos redundantes y clichés. Su tarea es posicionar mi experiencia como una solución para mi puesto de trabajo objetivo, adaptándola específicamente para que quede claro que puedo gestionar los requisitos principales del trabajo. Es importante que no inventes logros que yo no tengo. Sólo reformule y reorganice la experiencia existente.

El mensaje del sistema proporciona la tarea básica al LLM (escribir currículums) junto con pautas generales sobre la base (no inventar logros), relevancia (posición… para mi puesto de trabajo objetivo) y coherencia (evitar términos redundantes y clichés).

Ahora proporcionamos un currículum maestro. El mensaje que utilicé fue: "Primero, proporcionaré una lista de mis logros laborales. Dibuje las viñetas y resúmenes de su currículum únicamente a partir de la información que le proporciono. A continuación se muestra mi experiencia laboral que debe utilizar. Avíseme si comprende". Luego proporcioné un currículum maestro. No usaré este mensaje cuando use RAG.

A continuación, le damos al LLM más contexto sobre la empresa contratante: "Aquí hay algunos detalles sobre la empresa contratante para que pueda adaptar de manera más efectiva las respuestas a las necesidades de la empresa. Avíseme si lo comprende". Seguí con la información de la empresa del anuncio de trabajo; A menudo, las ofertas de trabajo comienzan con uno o dos párrafos sobre la empresa. Luego proporcioné la publicación de trabajo configurada con el siguiente mensaje:

A continuación, le proporcionaré la descripción del trabajo. Usaremos la descripción del trabajo para elaborar un currículum con declaraciones resumidas y de 3 a 5 viñetas resumidas para cada función que tengo, paso a paso. Avíseme si comprende la descripción del trabajo y dígame el nombre del puesto que estoy solicitando. [pegue la descripción del trabajo aquí].

Para ayudar a orientar el LLM y proporcionar más contexto para los puntos del currículum, a continuación pregunté: "¿Cuáles son las habilidades técnicas más importantes necesarias para el trabajo? ¿Qué habilidades técnicas me darían una ventaja en este puesto?". y luego “¿Cuáles son las áreas de especialización más comunes para [el puesto]?”. El objetivo de estas preguntas es aumentar la relevancia de los puntos y resúmenes proporcionados.

Ahora es el momento de empezar a generar contenido para el currículum. Ya había decidido un formato aproximado para el currículum: comenzar con un resumen de párrafos, luego proporcionar de 3 a 5 viñetas para mis dos trabajos más recientes y luego de 1 a 3 viñetas para los demás. Concluyo con una sección de educación y un resumen de habilidades clave relevantes. El LLM proporcionará todo menos la sección de Educación.

Primero, le pedí que proporcionara un resumen:

Utilizando mi experiencia, escriba un resumen de 4 a 6 oraciones que muestre mis más de 10 años de experiencia, incluyendo solo lo que sea relevante para el puesto. Muestre cómo mi experiencia puede abordar las necesidades de [la empresa X]. Escríbelo usando una tercera persona pasiva, como corresponde a un currículum.

Ahora le pido que proporcione viñetas para cada uno de mis trabajos:

Escriba de 3 a 5 viñetas breves de mi experiencia en la empresa X que muestren mejor cómo cumplo con los requisitos para el puesto. Considere los requisitos técnicos y la experiencia más común discutidos anteriormente. Comience cada viñeta con un verbo de acción, seguido de la tarea y concluya con el resultado. Cuando haya información disponible, cuantifique cada declaración usando números, porcentajes y cantidades en dólares, etc. Las viñetas no deben exceder las 2 líneas en márgenes estrechos usando una fuente de 10 puntos.

Repito este mensaje para cada trabajo, agregando una cláusula para "Evitar la redundancia con viñetas anteriores" y cambiando la cantidad de viñetas solicitadas como se describió anteriormente.

Finalmente, una vez que tengo viñetas para cada experiencia laboral, le pido al LLM que proporcione un resumen de las habilidades técnicas relevantes:

Proporcione hasta cinco viñetas concisas que resuma las certificaciones clave y las habilidades técnicas que tengo y que sean relevantes para el puesto. Solo proporcione una viñeta resumida si tengo una certificación o habilidad técnica relevante específica.

Las respuestas a estas preguntas proporcionan un punto de partida para un currículum que debería requerir una edición mínima, principalmente para formatear y editar contenido que pueda ser inexacto o para garantizar que el currículum quepa en una página. Así termina el rápido caso de ingeniería.

El siguiente paso más allá de la ingeniería rápida es RAG. RAG permite a los usuarios crear sus propias bibliotecas para que sirvan como base de conocimientos para los LLM. En este caso, la biblioteca de documentos consta de currículums ya creados. Los currículums más antiguos brindan más detalles sobre los primeros logros profesionales. Para experiencia laboral más reciente, este enfoque es útil después de haber creado varios currículums que cubren el espectro de su experiencia laboral. Crear un RAG a partir de sus currículums ayudará a centrar el LLM en su propia base de experiencia sin necesidad de un modelo personalizado o entrenado. RAG no es necesario para usar LLM para escribir un currículum e incurrirá en costos computacionales, pero podría mejorar los resultados en comparación con solo la ingeniería rápida y facilitar la provisión de una mayor experiencia para que el LLM aproveche.

Usaremos los mismos mensajes para los casos de RAG, excepto que eliminaremos el primer mensaje que proporciona antecedentes de trabajo, ya que RAG lo proporcionará. Para utilizar RAG, volvemos al tutorial de Azure, esta vez completando las secciones “Agregar datos a tu proyecto” y “Crear un índice para tus datos”. Sin embargo, en lugar de utilizar los datos proporcionados en el tutorial, cree y cargue una carpeta con todos los currículums de los que le gustaría que se basara el LLM. Una vez completada la indexación, siga el paso cuatro de "Prueba en el índice en el patio de recreo" para agregar los datos al contexto del modelo. Después de eso, repetimos los mensajes utilizados anteriormente, excepto eliminando el primer mensaje que proporciona el historial de trabajo.

Finalmente, para evaluar la generación de currículums con un modelo fundamental diferente, implementamos un nuevo modelo en el proyecto, esta vez chat-gpt-4o-mini, para evaluar su desempeño con RAG. Los LLM tienen billones de parámetros y requieren alojamiento de nivel empresarial. Los modelos de lenguaje más pequeños (8 mil millones para chat-gpt-4o-mini frente a 1,8 billones para chat-gpt-4o) intentan proporcionar la mayor parte de la capacidad de los LLM en un factor de forma más compacto y flexible que admita la implementación localizada, especialmente importante para la seguridad y privacidad de los datos de empresas más pequeñas que tal vez no puedan soportar el alojamiento interno de un LLM. Una vez que se implementa el nuevo modelo, regresamos al patio de juegos, agregamos el mensaje del sistema y los datos del RAG y repetimos las mismas indicaciones que antes.

La siguiente tabla resume el desempeño de cada caso:

CasoFundamentaciónRelevanciaCoherenciaFluidezIngeniería rápidaInaceptableMarginalAceptableAceptableRAGAceptableMarginalAceptableAceptableRAG-miniAceptableMarginalAceptableAceptable
Resumen del desempeño del caso a través de métricas

El currículum de ingeniería rápido tenía problemas sustanciales de base, de modo que no querría usarlo en absoluto. Inventó certificaciones que no tengo y montos en dólares por mejoras que no hice. Los dos currículums de RAG fueron mejores, pero aún tenían algunos problemas. Chat-gpt-4o estaba un poco más arraigado, pero aun así cometió algunos errores que el mini no cometió. Teniendo en cuenta los problemas conocidos de las alucinaciones LLM, deberíamos esperar verificar todas las afirmaciones. Los tres modelos tuvieron una relevancia marginal; no incluyeron varias frases importantes de la oferta de trabajo; Pudieron redactar viñetas aceptables, pero estas viñetas podrían mejorarse mediante edición manual. Los currículums de RAG, especialmente en el modelo completo, fueron un poco más relevantes. Todos los modelos eran aceptables por su coherencia, aunque las balas RAG eran más concisas. Todos los modelos proporcionaron un inglés escrito aceptable. Si tiene una gran cartera de currículums, probablemente valga la pena usar RAG si desea generar currículums, aunque sólo sea para reducir la probabilidad de alucinaciones (es decir, suponiendo que quiera ser honesto: ¡algunos de los logros que el LLM me atribuyó fueron bastante impresionantes!).

Algunas reflexiones finales sobre el uso de LLM para crear currículums. Los LLM proporcionaron un buen punto de partida para los currículums, especialmente si le resulta difícil encontrar nuevas ideas o frases o si desea comenzar de nuevo un currículum. Por lo general, es más fácil editar un primer borrador de currículum que crear uno nuevo, por lo que pueden ayudar a los solicitantes de empleo a elaborar currículums. Sin embargo, necesitaba viñetas de currículum existentes y experiencia laboral disponible para que el LLM pudiera aprovechar. Esto significa que necesito saber cómo escribir viñetas de currículum. Escribir estas viñetas es una habilidad perecedera, por lo que le recomiendo que no confíe en los LLM para escribir todos los currículums, especialmente a medida que adquiere nueva experiencia laboral. En segundo lugar, necesitaba reducir aún más las viñetas y seleccionar cuáles de las que proporcionó el LLM conservar; Podría haber evitado esto pidiéndole al LLM que escribiera un currículum completo de una página en lugar de proceder paso a paso, pero esto puede haber disminuido la calidad (especialmente la relevancia) de las respuestas. Finalmente, podría haber mejorado las respuestas utilizando la interacción en vivo para ayudar al LLM a editar y mejorar sus respuestas. Sin embargo, quería mantener las condiciones lo más controladas posible para mejorar la comparación entre los casos.

El uso de LLM puede ser útil en la carrera armamentista de IA en currículums para reducir el tiempo y el esfuerzo de cada currículum individual, pero recuerde mantener sus habilidades afiladas; cuanto más dejes que otra cosa piense por ti, menos capaz serás. Utilice los LLM para ayudar a editar y obtener nuevas ideas de redacción para currículums, no para inundar mejor las ofertas de trabajo con solicitudes. Lo más importante es construir conexiones humanas; Una red y conexiones en una empresa es la mejor manera de que su currículum sea revisado por los ojos humanos de un gerente de contratación en lugar de ser examinado por un robot de recursos humanos.