Prompt engineering en construcción: cómo mejorar tus resultados usando ChatGPT
Técnicas para obtener los mejores resultados usando ChatGPT en la construcción
En el primer post de este newsletter hablamos sobre cómo se pueden utilizar los modelos de lenguaje en la construcción. Si no lo leíste podés hacerlo en el siguiente enlace:
LLMs y construcción
En este primer artículo vamos a hablar sobre LLMs: qué son, cómo se pueden usar dentro del campo de la construcción, los riesgos y plataformas gratuitas para probarlas.
En esta ocasión vamos a hablar sobre cómo obtener los mejores resultados cuando se trabaja con estos modelos en la construcción, utilizando prompt engineering.
¿Qué es el prompt engineering?
El prompt engineering es la práctica de diseñar y optimizar las instrucciones o preguntas (prompts) que se dan a un modelo de lenguaje como ChatGPT o ClaudeAI para obtener los mejores resultados posibles. Consiste en formular cuidadosamente las entradas para que el modelo comprenda mejor el contexto, la tarea y el resultado deseado, mejorando así la calidad, precisión y relevancia de las respuestas generadas.
Técnicas de prompt engineering
Supongamos que queremos utilizar a ChatGPT para que nos ayude a planificar las tareas de construcción y le pedimos “Dame un listado de tareas para la construcción de una casa”. Si bien este prompt nos va a dar una primera respuesta, probablemente sea una respuesta de baja calidad. Una estrategia posible para mejorar el resultado es recurrir a técnicas de prompt engineering. A continuación vamos a repasar algunas tácticas que podemos implementar para obtener mejores resultados.
Escribí instrucciones claras
¿Qué es lo que estás buscando en el caso anterior? ¿Un listado de tareas? ¿Una memoria de cálculo explicando las tareas? ¿Qué extensión y estilo debe tener? Una táctica que podemos implementar para mejorar la calidad de las respuestas es ser más claro con lo que pedimos (de la misma manera que lo haríamos si tenemos que pedirle esta tarea a una persona).
De esta manera podríamos transformar el pedido:
“Dame un listado de tareas para la construcción de una casa”
En algo como:
"Genera un listado detallado de tareas para la construcción de una casa unifamiliar de dos pisos. Organiza las tareas en orden cronológico, desde la preparación del terreno hasta los acabados finales. Incluye aproximadamente 30 tareas principales, cada una con una breve descripción de 1-2 líneas. Asegúrate de cubrir todas las etapas importantes de la construcción, incluyendo cimentación, estructura, instalaciones y acabados".
Incluye contexto en tu pedido
En algunas ocasiones es conveniente incluir además contexto adicional: ¿Estamos hablando de una casa de 1 piso, 2 pisos? ¿Cuántas personas van a vivir allí? ¿Dónde se ubica la construcción? ¿Qué tipos de materiales vamos a utilizar? Incluyendo contexto adicional vamos a ayudar a que el modelo nos dé resultados acordes a nuestra situación.
De esta manera podríamos continuar mejorando el prompt incluyendo contexto adicional:
"Genera un listado detallado de tareas para la construcción de una casa unifamiliar de dos pisos en la ciudad de Córdoba, Argentina. La casa tendrá una superficie de 150 m² y será habitada por una familia de 4 personas. Se utilizarán materiales tradicionales como ladrillo, hormigón y steel framing para algunas estructuras. La zona tiene un clima mediterráneo con veranos cálidos e inviernos suaves. Organiza las tareas en orden cronológico, desde la preparación del terreno hasta los acabados finales, considerando las regulaciones locales de construcción. Incluye aproximadamente 30 tareas principales, cada una con una breve descripción de 1-2 líneas. Asegúrate de cubrir todas las etapas importantes de la construcción, incluyendo cimentación, estructura, instalaciones y acabados, teniendo en cuenta las particularidades del clima y la ubicación."
Pedile al modelo que adopte un rol
Otra estrategia que podemos implementar es pedirle al modelo que adopte un rol en particular. Por ejemplo podemos pedirle que responda como un arquitecto con 20 años de experiencia en el diseño de viviendas unifamiliares. Esto ayuda a que el modelo contextualice mejor el problema y a que utilice lo que “aprendió” de este estilo de profesional
De esta manera podríamos continuar mejorando nuestro prompt de la siguiente manera:
"Asumí el rol de un arquitecto con 20 años de experiencia en el diseño y construcción de viviendas unifamiliares en Córdoba, Argentina. Basándote en tu experiencia, genera un listado detallado de tareas para la construcción de una casa de dos pisos de 150 m² para una familia de 4 personas. La casa se construirá utilizando materiales tradicionales como ladrillo y hormigón, con algunas estructuras en steel framing. Considera el clima mediterráneo de la zona y las regulaciones locales de construcción. Organiza las tareas en orden cronológico, desde la preparación del terreno hasta los acabados finales. Incluye aproximadamente 30 tareas principales, cada una con una breve descripción de 1-2 líneas, destacando aspectos críticos o consejos basados en tu experiencia profesional."
Indica los pasos necesarios para completar la tarea
Dividir una tarea compleja en pasos más pequeños puede ayudar al modelo a estructurar mejor su respuesta. Por lo que podemos guiarlo en la manera en la que debe enfrentar este problema.
De esta manera podemos continuar mejorando nuestro prompt incluyendo esta táctica:
"Asumí el rol de un arquitecto con 20 años de experiencia en la construcción de viviendas en Córdoba, Argentina. Tu tarea es crear un listado detallado de tareas para construir una casa de dos pisos de 150 m² para una familia de 4 personas. Seguí estos pasos:
Empezá con una breve introducción sobre las consideraciones principales del proyecto, teniendo en cuenta el clima mediterráneo de Córdoba y las regulaciones locales.
Dividí el proceso de construcción en 5 etapas principales: planificación y diseño, trabajos preliminares, construcción de la estructura, instalaciones, y acabados.
Para cada etapa, listá entre 5 y 8 tareas específicas, ordenadas cronológicamente. Cada tarea debe incluir:
Un título claro y conciso
Una descripción breve de 1-2 líneas
Un consejo práctico basado en tu experiencia
Destacá los puntos críticos o desafíos particulares que podrían surgir en cada etapa, considerando los materiales a utilizar (ladrillo, hormigón y steel framing).
Concluí con un párrafo resumiendo los aspectos más importantes a tener en cuenta durante todo el proceso de construcción.
Asegurate de que tu respuesta sea práctica, detallada y refleje tu experiencia en proyectos similares en la región."
Utiliza Chain of Thought
Esta técnica implica pedirle al modelo que muestre su proceso de pensamiento paso a paso. Es especialmente útil para problemas complejos de ingeniería o cálculos en construcción ya que obliga al modelo a reflexionar sobre el problema antes de dar una respuesta final.
Finalmente podemos incluir esta táctica para terminar de mejorar nuestro prompt:
"Asumí el rol de un arquitecto con 20 años de experiencia en la construcción de viviendas en Córdoba, Argentina. Tu tarea es crear un listado detallado de tareas para construir una casa de dos pisos de 150 m² para una familia de 4 personas. Seguí estos pasos:
Empezá con una breve introducción sobre las consideraciones principales del proyecto, teniendo en cuenta el clima mediterráneo de Córdoba y las regulaciones locales.
Dividí el proceso de construcción en 5 etapas principales: planificación y diseño, trabajos preliminares, construcción de la estructura, instalaciones, y acabados.
Para cada etapa, listá entre 5 y 8 tareas específicas, ordenadas cronológicamente. Cada tarea debe incluir:
Un título claro y conciso
Una descripción breve de 1-2 líneas
Un consejo práctico basado en tu experiencia
Destacá los puntos críticos o desafíos particulares que podrían surgir en cada etapa, considerando los materiales a utilizar (ladrillo, hormigón y steel framing).
Concluí con un párrafo resumiendo los aspectos más importantes a tener en cuenta durante todo el proceso de construcción.
Asegurate de que tu respuesta sea práctica, detallada y refleje tu experiencia en proyectos similares en la región. Mostrá claramente tu proceso de pensamiento en cada paso, explicando el porqué de tus decisiones y cómo se adaptan a las particularidades de este proyecto en Córdoba."
Otras técnicas de prompt engineering
Si bien en este artículo hablamos de 5 técnicas para mejorar los resultados usando LLMs se trata más de un arte que de una ciencia, por lo que en cada situación particular es posible que algunas de estas tácticas sean más útiles que otras.
Si querés explorar algunos recursos adicionales con técnicas de prompt engineering puedes visitar los siguientes recursos:
La guía oficial de Prompt Engineering de OpenAI (en inglés)
La Guía Prompt Engineering de DAIR AI
Nuevo modelo gratuito: Claude Sonnet 3.5 el nuevo modelo gratuito que supera a GPT4
El 20 de Junio de 2024 Claude liberó un nuevo modelo, Claude Sonnet 3.5, que tiene una performance similar a GPT 4. Algunos usuarios indicaron que obtuvieron mejores resultados con Claude que con GPT4, en especial a lo referido a escritura, mientras que GPT4 suele funcionar mejor en problemas de lógica. Lo mejor de este modelo es que puede utilizarse gratuitamente en la página de claude, por lo que recomendaría probarlo para tu caso de uso y elegir cuándo usar GPT4 o Claude Sonnet 3.5.
Para visitar la página de Claude podés visitar este enlace.
Conclusión
Bueno, llegamos al final de este artículo que recorre algunas de las técncias de prompt engineering que pueden aplicarse para mejorar los resultados cuando se usan modelos LLMs en la construcción.
Como dijimos anteriormente, se trata más de un arte que de una ciencia exacta (incluso un mismo prompt puede generar diferentes resultados en un mismo modelo), por lo que es importante no conformarse con el primer resultado y continuar probando alternativas implementando alguna de las técnicas indicadas anteriormente.
Eso sí, no perdamos de vista que por más inteligentes que sean estos modelos, no dejan de ser herramientas. Pueden ser unos ayudantes geniales, pero no reemplazan el ojo crítico y la experiencia de un buen profesional de la construcción. Siempre revisá las respuestas antes de aplicarlas en el mundo real ya que es posible que los modelos “alucinen” y den respuestas incorrectas que suenan reales.