022_writing_clear_instructions_specifying_the_steps - IUGO-Studio/tech-ia GitHub Wiki
Resumen general:
El video explica cómo guiar a un modelo de lenguaje (como GPT-4 o ChatGPT) para que realice una tarea siguiendo una serie de pasos predefinidos. Se muestra un ejemplo donde se le pide al modelo que primero resuma un texto en una sola oración y luego traduzca ese resumen al español. Se utilizan prefijos ("summary" y "translation") para identificar cada paso.
Conceptos clave:
- Instrucciones paso a paso (Step-by-step Instructions): Dividir una tarea compleja en una secuencia de pasos más simples y describir cada paso de forma explícita en el prompt.
- Prefijos (Prefixes): Palabras o frases que se utilizan para identificar o etiquetar diferentes partes de la respuesta del modelo.
- Comillas triples (Triple Quotes): Se utilizan para delimitar el texto que el modelo debe procesar.
- Chain of Thought (Cadena de Pensamiento): Una técnica donde se le pide al modelo que muestre su razonamiento, esto se relaciona con el concepto de "paso a paso".
- Prompt Engineering: El arte de diseñar prompts.
- LLM: Modelo de lenguaje extenso.
Ejemplos prácticos:
-
Resumen y traducción de un texto:
-
Prompt:
- Paso 1: "The user will hand over a chunk of text enclosed in triple quotes. Your task is to condense this text into a single sentence starting with the phrase 'summary'."
- Paso 2: "Translate the summarization you made in step one into Spanish, leading the translation with the phrase 'translation'."
- Texto: """I love learning about prompt engineering. It's pretty interesting, let's keep going."""
-
Respuesta:
- "summary: The user expresses interest and enthusiasm in learning about prompt engineering."
- "translation: El usuario expresa interés y entusiasmo en aprender sobre la ingeniería de prompts."
-
Prompt:
Consejos y buenas prácticas:
- Divide la tarea en pasos lógicos: Identifica los pasos necesarios para completar la tarea y descríbelos de forma clara y concisa.
- Utiliza prefijos para identificar cada paso: Esto ayuda al modelo a comprender la estructura de la tarea y a generar una respuesta organizada.
- Utiliza delimitadores (como comillas triples) para separar el texto de las instrucciones: Esto evita confusiones y asegura que el modelo procese el texto correcto.
- Sé específico en tus instrucciones: Cuanto más claras sean tus instrucciones, mejor será el resultado.
- Adapta los pasos a la tarea específica: No todas las tareas se pueden dividir en los mismos pasos. Ajusta los pasos según sea necesario.
- "Chain of thought" implícito: Aunque no se pide explícitamente al modelo que "muestre su razonamiento", el hecho de obligarlo a seguir pasos predefinidos es una forma de controlar su "cadena de pensamiento". Se le está diciendo cómo debe abordar la tarea, en lugar de dejar que lo decida por sí solo.
Dudas o preguntas:
-
¿Cómo se puede adaptar esta técnica para tareas más complejas que requieren más pasos o pasos condicionales? Investigación: Se podrían definir pasos adicionales, utilizar estructuras de control de flujo (ej: "Si... entonces..."), o incluso combinar esta técnica con otras, como el "Chain of Thought" o el "Least to Most".
-
¿Cómo se puede asegurar que el modelo siga los pasos correctamente y no se salte ninguno? Investigación: Se pueden utilizar prefijos, delimitadores y ejemplos claros para guiar al modelo. También se puede implementar una lógica de verificación para comprobar si la respuesta incluye todos los pasos.
-
¿Cómo se puede manejar la situación en la que el modelo no puede completar uno de los pasos? Investigación: Se podría implementar una lógica de manejo de errores que detecte el fallo y proporcione una respuesta alternativa o solicite al usuario más información.
-
¿Los pasos deben ser siempre predefinidos? No necesariamente. La técnica de instrucciones paso a paso se refiere principalmente a guiar al modelo a través de un proceso estructurado. Los pasos pueden ser:
- Predefinidos: Como en el ejemplo del video, donde los pasos son fijos (resumir y traducir).
- Dinámicos: Los pasos podrían depender de la entrada o de los resultados de pasos anteriores. Esto requeriría un sistema más complejo que combine el LLM con código (Python, por ejemplo) para determinar los pasos a seguir. Un ejemplo de esto sería un agente.
- Generados por el propio LLM: En lugar de definir los pasos manualmente, se le podría pedir al LLM que genere los pasos necesarios para completar una tarea. Esto se asemeja más al Chain of Thought tradicional.