Cómo mejorar significativamente las LLM aprovechando la ingeniería del contexto

es la ciencia de proporcionar LLM el contexto correcto para maximizar el rendimiento. Cuando trabaja con LLMS, generalmente crea un mensaje del sistema, pidiendo al LLM que realice una determinada tarea. Sin embargo, cuando se trabaja con LLM desde la perspectiva de un programador, hay más elementos a considerar. Debe determinar qué otros datos puede alimentar a su LLM para mejorar su capacidad de realizar la tarea que le pidió que hiciera.

En este artículo, discutiré la ciencia de la ingeniería del contexto y cómo puede aplicar técnicas de ingeniería de contexto para mejorar el rendimiento de su LLM.

En este artículo, discuto la ingeniería del contexto: la ciencia de proporcionar el contexto correcto para sus LLM. Utilizar correctamente la ingeniería del contexto puede aumentar significativamente el rendimiento de su LLM. Imagen de Chatgpt.

También puedes leer mis artículos en Confiabilidad para aplicaciones LLM y Documento QA utilizando LLM multimodales

Tabla de contenido

Definición

Antes de comenzar, es importante definir el término Ingeniería del contexto. La ingeniería del contexto es esencialmente la ciencia de decidir qué alimentar en su LLM. Esto puede, por ejemplo, ser:

  • El mensaje del sistema, que le dice al LLM cómo actuar
  • Documentos de datos de datos utilizando Rag Vector Search
  • Ejemplos de pocos disparos
  • Herramientas

La descripción anterior más cercana de esto ha sido el término ingeniería rápida. Sin embargo, la ingeniería rápida es un término menos descriptivo, considerando que implica solo cambiar el mensaje del sistema que está alimentando a la LLM. Para obtener el máximo rendimiento de su LLM, debe considerar todo el contexto que está alimentando con él, no solo el mensaje del sistema.

Motivación

Mi motivación inicial para este artículo vino de leer este tweet de Andrej Karpathy.

Realmente estuve de acuerdo con el punto que Andrej hizo en este tweet. La ingeniería rápida es definitivamente una ciencia importante cuando se trabaja con LLM. Sin embargo, la ingeniería rápida no cubre todo lo que presentamos en LLM. Además del indicador del sistema que escribe, también debe considerar elementos como:

  • ¿Qué datos debe insertar en su aviso?
  • ¿Cómo se obtiene esos datos?
  • Cómo proporcionar solo información relevante al LLM
  • Etc.

Discutiré todos estos puntos a lo largo de este artículo.

Uso de API vs consola

Una diferencia importante para aclarar es si está utilizando las LLM de una API (llamándolo con código) o a través de la consola (por ejemplo, a través del Sitio web de chatgpt o aplicación). La ingeniería del contexto es definitivamente importante cuando se trabaja con LLM a través de la consola; Sin embargo, mi enfoque en este artículo estará en el uso de API. La razón de esto es que al usar una API, tiene más opciones para cambiar dinámicamente el contexto que está alimentando el LLM. Por ejemplo, puede hacer RAG, donde primero realiza una búsqueda vectorial, y solo alimenta a la LLM los bits de información más importantes, en lugar de toda la base de datos.

Estos cambios dinámicos no están disponibles de la misma manera cuando se interactúan con LLM a través de la consola; Por lo tanto, me centraré en usar LLM a través de una API.

Técnicas de ingeniería de contexto

Indicación de disparo cero

La solicitud de disparo cero es la línea de base para la ingeniería del contexto. Haciendo una tarea cero significa que el LLM está realizando una tarea que no había visto antes. Esencialmente solo proporciona una descripción de la tarea como contexto para el LLM. Por ejemplo, proporcionar a un LLM un texto largo y pedirle que clasifique el texto en la Clase A o B, de acuerdo con alguna definición de las clases. El contexto (rápido) está alimentando el LLM podría verse algo así:

You are an expert text classifier, and tasked with classifying texts into
class A or class B. 
- Class A: The text contains a positive sentiment
- Class B: The next contains a negative sentiment

Classify the text: {text}

Dependiendo de la tarea, esto podría funcionar muy bien. Los LLM son generalistas y pueden realizar la mayoría de las tareas simples basadas en texto. Clasificar un texto en una de las dos clases generalmente será una tarea simple, y la solicitud de cero disparos generalmente funcionará bastante bien.

Pocas de disparo

Esta infografía resalta cómo realizar pocas solicitudes de disparo:

Ingeniería de contexto. Pocos indicadores de disparos
Esta infografía resalta cómo puede realizar pocos disparos de disparo para mejorar el rendimiento de LLM. Imagen de Chatgpt.

El seguimiento de la solicitud de disparo cero es Pocas de disparo. Con pocas solicitudes de disparo, usted proporciona a la LLM una solicitud similar a la anterior, pero también le proporciona ejemplos de la tarea que realizará. Este contexto agregado ayudará a la LLM a mejorar la realización de la tarea. Siguiendo el mensaje anterior, un mensaje de pocos disparos podría verse como:

You are an expert text classifier, and tasked with classifying texts into
class A or class B. 
- Class A: The text contains a positive sentiment
- Class B: The next contains a negative sentiment

<example>
{text 1} -> Class A
</example>
<example>
{text 2} -> class B
</example>

Classify the text: {text}

Puede ver que le he proporcionado al modelo algunos ejemplos envueltos en etiquetas . He discutido el tema de crear indicaciones robustas de LLM en mi artículo sobre la confiabilidad de LLM a continuación:

Peque indicación de disparo funciona bien porque está proporcionando al modelo ejemplos de la tarea que le está pidiendo que realice. Esto generalmente aumenta el rendimiento.

Puedes imaginar que esto también funciona bien en los humanos. Si le pregunta a un humano una tarea que nunca antes habían hecho, simplemente describiendo la tarea, pueden funcionar decentemente (por supuesto, dependiendo de la dificultad de la tarea). Sin embargo, si también proporciona al humano ejemplos, su rendimiento generalmente aumentará.

En general, me resulta útil pensar en las indicaciones de LLM como si le pidiera a un humano que realice una tarea. Imagínese en lugar de solicitar un LLM, simplemente proporcione el texto a un humano y se hace la pregunta:

Dado este aviso, y ningún otro contexto, ¿podrá el humano realizar la tarea?

Si la respuesta es no, debe trabajar para aclarar y mejorar su aviso.


También quiero mencionar la solicitud dinámica de pocos disparos, considerando que es una técnica con la que he tenido mucho éxito. Tradicionalmente, con pocos disparos, tiene una lista establecida de ejemplos que alimenta en cada aviso. Sin embargo, a menudo puede alcanzar un mayor rendimiento utilizando una solicitud dinámica de pocos disparos.

La solicitud dinámica de pocos disparos significa seleccionar los ejemplos de pocos disparos dinámicamente al crear la solicitud para una tarea. Por ejemplo, si se le pide que clasifique un texto en las clases A y B, y ya tiene una lista de 200 textos y sus etiquetas correspondientes. Luego puede realizar una búsqueda de similitud entre el nuevo texto que está clasificando y los textos de ejemplo que ya tiene. Continuando, puede medir la similitud vectorial entre los textos y solo elegir los textos más similares (de los 200 textos) para alimentar su aviso como contexto. De esta manera, estás proporcionando el modelo con Ejemplos más relevantes de cómo realizar la tarea.

TRAPO

La generación de recuperación aumentada es una técnica bien conocida para aumentar el conocimiento de los LLM. Suponga que ya tiene una base de datos que consta de miles de documentos. Ahora recibe una pregunta de un usuario y tiene que responderla, dado el conocimiento dentro de su base de datos.

Desafortunadamente, no puede alimentar toda la base de datos al LLM. A pesar de que tenemos LLM como Llama 4 Scout con 10 millones Ventana de longitud de contexto, las bases de datos suelen ser mucho más grandes. Por lo tanto, debe encontrar la información más relevante en la base de datos para alimentar su LLM. Rag hace esto de manera similar a la solicitud dinámica de pocos disparos:

  1. Realizar una búsqueda vectorial
  2. Encuentre los documentos más similares a la pregunta del usuario (se supone que la mayoría de los documentos similares son más relevantes)
  3. Solicite al LLM que responda la pregunta, dados los documentos más similares

Al realizar RAG, está haciendo ingeniería de contexto al proporcionar solo a la LLM los datos más relevantes para realizar su tarea. Para mejorar el rendimiento de la LLM, puede trabajar en la ingeniería del contexto mejorando su búsqueda de trapo. Esto se puede hacer, por ejemplo, mejorando la búsqueda para encontrar solo los documentos más relevantes.

Puede leer más sobre RAG en mi artículo sobre el desarrollo de un sistema RAG para sus datos personales:

Herramientas (MCP)

También puede proporcionar a la LLM herramientas para llamar, que es una parte importante de la ingeniería del contexto, especialmente ahora que vemos el surgimiento de los agentes de IA. Las llamadas de herramientas de hoy a menudo se realizan usando Protocolo de contexto modelo (MCP), un concepto iniciado por antrópico.

Los agentes de IA son LLM capaces de llamar a las herramientas y, por lo tanto, realizar acciones. Un ejemplo de esto podría ser un agente meteorológico. Si le pregunta a un LLM sin acceso a herramientas sobre el clima en Nueva York, no podrá proporcionar una respuesta precisa. La razón de esto es, naturalmente, que la información sobre el clima debe obtener en tiempo real. Para hacer esto, puede, por ejemplo, darle a la LLM una herramienta como:

@tool
def get_weather(city):
    # code to retrieve the current weather for a city
    return weather

Si le da acceso a la LLM a esta herramienta y le pregunta sobre el clima, puede buscar el clima para una ciudad y proporcionarle una respuesta precisa.

Proporcionar herramientas para LLM es increíblemente importante, ya que mejora significativamente las habilidades del LLM. Otros ejemplos de herramientas son:

  • Buscar en Internet
  • Una calculadora
  • Buscar a través de la API de Twitter

Temas a considerar

En esta sección, tomo algunas notas sobre lo que debe considerar al crear el contexto para alimentar su LLM

Utilización de la longitud del contexto

La longitud de contexto de un LLM es una consideración importante. A partir de julio de 2025, puede alimentar a la mayoría de los LLM del modelo Frontier con más de 100,000 tokens de entrada. Esto le proporciona muchas opciones sobre cómo utilizar este contexto. Tienes que considerar la compensación entre:

  • Incluyendo mucha información en un aviso, arriesgando así la información que se pierde en el contexto
  • Faltar una información importante en el aviso, arriesgando así a la LLM que no tiene el contexto requerido para realizar una tarea específica

Por lo general, la única forma de descubrir el equilibrio es probar su rendimiento de LLMS. Por ejemplo, con una tarea de ClassificAition, puede verificar la precisión, dadas diferentes indicaciones.

Si descubro que el contexto es demasiado largo para que el LLM funcione de manera efectiva, a veces divido una tarea en varias indicaciones. Por ejemplo, tener un mensaje resume un texto y un segundo indicador que clasifica el resumen del texto. Esto puede ayudar a la LLM a utilizar su contexto de manera efectiva y, por lo tanto, a aumentar el rendimiento.

Además, proporcionar demasiado contexto al modelo puede tener una desventaja significativa, como describo en la siguiente sección:

Contexto de pudrición

La semana pasada, leí un Artículo interesante sobre la pudrición del contexto. El artículo fue sobre el hecho de que aumentar la longitud de contexto reduce el rendimiento de LLM, a pesar de que la dificultad de la tarea no aumenta. Esto implica que:

Proporcionar una información irrelevante de LLM disminuirá su capacidad para realizar tareas con éxito, incluso si la dificultad de la tarea no aumenta

El punto aquí es esencialmente que solo debe proporcionar información relevante a su LLM. Proporcionar otra información disminuye el rendimiento de LLM (es decir, El rendimiento no es neutral a la longitud de entrada)

Conclusión

En este artículo, he discutido el tema de la ingeniería del contexto, que es el proceso de proporcionar una LLM con el contexto correcto para realizar su tarea de manera efectiva. Hay muchas técnicas que puede utilizar para llenar el contexto, como pocos indicaciones, trapo y herramientas. Todas estas son técnicas poderosas que puede usar para mejorar significativamente la capacidad de un LLM para realizar una tarea de manera efectiva. Además, también debe considerar el hecho de que proporcionar una LLM con demasiado contexto también tiene desventajas. El aumento del número de tokens de entrada reduce el rendimiento, como podría leer en el artículo sobre la pudrición del contexto.

👉 Sígueme en sociales:

🧑‍💻 Ponerse en contacto
🔗 LinkedIn
🐦 X / Twitter
✍️ Medio
🧵 Trapos