Hay muchos aspectos positivos que conlleva el uso de sistemas como Claude; toda la codificación rutinaria y repetitiva se automatiza, la investigación es más rápida y la depuración se vuelve más fácil. En general, para las personas que trabajan en software, la productividad aumenta y permite a los equipos realizar más envíos.
Sin embargo, el pequeño inconveniente de utilizar herramientas como Claude es que hay que mantenerse al día con estos agentes.
Esto no es sólo para evitar quedarse atrás y utilizar tecnología obsoleta. Esto también se debe a que los nuevos modelos están entrenados para funcionar de manera ligeramente diferente a sus predecesores.
En última instancia, esto significa que es posible que se pregunte: “¿Qué le pasa a Claude hoy? ¿Por qué no funciona correctamente?”. sin darte cuenta de que no estás utilizando Claude correctamente según los nuevos procedimientos esperados.
Esta es la razón por la que empresas como Anthropic no sólo muestran que los nuevos modelos son objetivamente mejores que los antiguos según algunos puntos de referencia, sino que también comunican a los usuarios cómo deben cambiar la forma en que interactúan con ellos.
Hace menos de un mes, Anthropic publicó “las nuevas reglas de ingeniería de contexto para los modelos Claude de quinta generación”.
El artículo explica en detalle cómo están cambiando los modelos y que la ingeniería rápida ya no es el personaje principal, dejando espacio para la ingeniería de contexto, que es la colección de todas las fuentes que los LLM utilizan para responder su pregunta/completar su pregunta.
En particular, este artículo habla de nosotros, los científicos de datos, e intenta responder a esta pregunta:
“¿Cómo cambian las nuevas reglas de la ingeniería contextual nuestro trabajo diario?”
Pero antes de hacer eso… ¿qué es siquiera “ingeniería de contexto”?
0. ¿Qué es la ingeniería de contexto?
Puede pensar en dos formas importantes de utilizar modelos antrópicos: llamadas API y código Claude.
Las llamadas API son un procesamiento único de la entrada. Su texto (la cadena de secuencia de entrada) es procesado por el LLM, que genera la cadena de secuencia de salida. Como no es propietario del LLM, el procesamiento se realiza en línea y usted paga por los tokens de entrada y salida. Eso es todo.
Sistemas como Claude Code (o Codex) funcionan de forma agente. Esto significa que el modelo todavía se usa y se llama a través de llamadas API, pero hace mucho más que simplemente leer la entrada. Se ejecutan una multitud de llamadas API, y cada llamada API es responsable de algo diferente (por ejemplo, razonamiento, codificación, generación de resultados, etc.). Lo que ves al final es el resultado final de todo el procesamiento que se realizó a través de diferentes llamadas API.
Para los casos en los que necesita (1.), la ingeniería de avisos, que es el arte de elaborar la información de entrada perfecta, es extremadamente importante: está realizando una tarea específica, toda la información para ejecutar la tarea está en el aviso y espera una respuesta confiable y verificable.
Cuando se utiliza un agente (2.), la ingeniería rápida es mucho menos el personaje principal. Esto se debe a que los agentes deben ser intuitivos, fáciles de usar y, en general, más potentes, ya que aprovechan sistemas internos masivos.
Sin embargo, esto no significa que Claude pueda leer tu mente 🙂
Toda la información que aún es necesaria para que Claude haga un buen trabajo debe estar en un conjunto de documentos, archivos de instrucciones y configuraciones definidas como “contexto”. Este contexto necesita ser “diseñado” para que el sistema agente lo utilice de manera óptima. Anthropic nos da pautas para hacerlo.
Ahora, revisemos estas pautas usando nuestro sombrero de detective de ciencia de datos.
1. “Confía en mí, hermano”
El primer punto del artículo habla sobre “CLAUDE.md”, que es el archivo que crea Claude Code cuando inicializa una carpeta. [If you are lost, you should probably check this out before you keep reading]
Acerca de “CLAUDE.md”, el equipo de Anthropic básicamente dice: dejen de ser condescendientes con Claude y de darle demasiadas instrucciones; sólo lo estás confundiendo. El punto que señalan es que los nuevos modelos pueden llenar el vacío, y al agregar una cantidad excesiva de información, solo estás agregando la probabilidad de que esta información sea incompatible entre sí.
Esto significa que puede escribir en “CLAUDE.md” ya sea que la carpeta sea una carpeta EDA, una carpeta de investigación o una carpeta de “código para entregar en producción”.
Entonces, Claude podrá comprender que debe tener mucho cuidado al implementar una función si se va a entregar en producción, y probablemente usará archivos .py en lugar de cuadernos, mientras que en una carpeta EDA ocurrirá lo contrario.
Volveremos a este concepto. Sigamos adelante.
2. “¡Sin spoilers!”
Claude está diseñado para utilizar habilidades. Puedes pensar en una habilidad como algo que te ahorra tiempo: cuando haces lo mismo una y otra vez, configuras esta información en un archivo determinado y rediriges tu conversación a ese archivo en lugar de explicar desde cero y repetirte.
Por ejemplo, es posible que tenga una habilidad notebook.md en la que le indique a Claude cómo trabajar con sus cuadernos, qué colores prefiere para los gráficos, qué bibliotecas usar para calcular las estadísticas, etc.
Anthropic básicamente nos dice: “Si pones todo en una sola habilidad, Claude no sabrá qué es realmente relevante en tu pregunta”. En otras palabras, nos piden que seamos concretos.
Miremos esto desde una perspectiva de ciencia de datos. Tenemos muchas tareas diferentes de las que ocuparnos y son diferentes entre sí. A veces cargamos los datos, a veces simplemente los exploramos, a veces configuramos Databricks y ponemos en marcha un clúster, a veces entrenamos un modelo. Cada microtarea debe crear una habilidad, que en última instancia está envuelta en otra macrohabilidad. Al final de nuestro diseño, construiremos una taxonomía, es decir, un árbol de habilidades. Por ejemplo:
No está creando una habilidad data.md que carga datos, verifica la calidad y los transforma. En realidad, data.md será breve y sencillo, y lo dirigirá a la subhabilidad adecuada para una pregunta específica más pequeña. Por ejemplo, si le pide a Claude que cargue los datos, Claude leerá el archivo data.md y luego consultará cargando.md.
3. “¡Gracias por los recuerdos!”
Otra breve pero importante actualización que el equipo de Anthropic comparte con nosotros es la siguiente: Los modelos Claude son muy buenos para recordar tus hábitos. Esto significa que en todo nuestro trabajo, CLAUDE.md se actualizará periódicamente con información significativa sobre nuestras preferencias.
Quiero agregar mi opinión personal a esto. Cuando encuentro que mi habilidad no funciona exactamente como quiero, le pido a Claude que la actualice para que funcione mejor la próxima vez.
Por ejemplo, si el preprocesamiento en preprocessing.md se realiza de una manera demasiado extrema (por ejemplo, filtrar completamente los NaN sin explorarlos primero), le pido a Claude que modifique ciertas partes de la habilidad.
4. “¡Subestimas mi poder!”
Por último, el equipo de Anthropic nos recuerda que Claude puede trabajar con muchos archivos y formatos diferentes.
Si tiene archivos .py y .json que son significativos, por ejemplo, un hyperparameter.json con el conjunto de parámetros para su entrenamiento, puede informar a la habilidad Training.md y el archivo se analizará y explorará cuando sea necesario.
No sólo eso, también puede utilizar archivos HTML enriquecidos, que se denominan artefactos.
Estos archivos son excelentes para presentar resultados, revisar el resultado internamente, probar diferentes partes de las canalizaciones y explorar los datos. [Take a look at the official documentation here]
5. Larga historia corta…
La moraleja de la historia es la siguiente:
Cuando el modelo falla es porque está analizando la información incorrecta y no tiene suficiente contexto.
La forma de evitar este tipo de fallos y utilizar la mayor cantidad de energía es mediante la “ingeniería de contexto”.
En la práctica, necesitamos:
Confíe en Claude para navegar a través de las solicitudes. Debemos dar una dirección general pero evitar la especificidad excesiva para evitar información contradictoria.
Modularizar nuestras habilidades en un conjunto de rutinas pequeñas pero específicas. Esto mantiene el contexto de Claude modular y eficiente.
Utilice la memoria autoactualizada de Claude y sus habilidades correctas a medida que avanzamos al final de nuestras sesiones.
Adoptar artefactos para enriquecer nuestra visualización y poder exploratorio.
Si bien esto es específico de Claude, la tendencia va en la misma dirección para otros proveedores: los modelos son cada vez más inteligentes y la ingeniería de contexto es el personaje principal para desbloquear todo su potencial.
Esto significa que herramientas como Codex probablemente necesitarán una traducción de esta guía, pero no estarán tan lejos en términos de “espíritu”.
¡Antes de salir!
Gracias de nuevo por tu tiempo. Significa mucho. Mi nombre es Piero Paialunga y soy este chico:
Soy originario de Italia, tengo un doctorado. de la Universidad de Cincinnati y trabaja como científico de datos en The Trade Desk en la ciudad de Nueva York. Escribo sobre IA, aprendizaje automático y la evolución del papel de los científicos de datos tanto aquí en TDS como en LinkedIn. Si te gustó el artículo y quieres saber más sobre el aprendizaje automático y seguir mis estudios, puedes:
R. Sígueme en Linkedin, donde publico todas mis historias.
B. Sígueme en GitHub, donde podrás ver todo mi código.
C. Si tienes dudas puedes enviarme un correo electrónico a piero.paialunga@hotmail