Aplicación de ingeniería de contexto avanzada en agentes inteligentes codificados Basándose en su experiencia personal y en ejemplos del mundo real, el fundador de Human Layer, @dexhorthy, enfatiza la transformación del código prototipo al código de nivel de producción, cuyo núcleo es la optimización de la "ventana de contexto" del LLM; es decir, la calidad y la estructura de la información de entrada del modelo. Antecedentes: Los orígenes de la ingeniería de contexto y la evolución de la codificación de IA Dex rastreó los orígenes del término "ingeniería de contexto": en abril de 2022, publicó un manifiesto sobre "Agentes de 12 Factores", donde exploraba 12 principios para aplicaciones LLM confiables. En junio de 2024, el término ganó mayor popularidad. Citó dos ponencias magistrales de la conferencia AI Engineers de este año: "El Nuevo Código" de Sean Grove, que enfatizó que las especificaciones, más que el código en sí, son fundamentales para el futuro del software; y un estudio de la Universidad de Stanford que analizó datos de 100.000 desarrolladores y descubrió que, si bien la codificación con IA puede acelerar la creación de prototipos, a menudo conlleva retrabajo o incluso resultados contraproducentes en entornos empresariales a gran escala o con código heredado: el código generado por IA puede aumentar las tasas de retrabajo hasta en un 50 % para tareas complejas. Dex opina que los modelos actuales no pueden reemplazar por completo el código escrito por humanos para sistemas complejos (como las aplicaciones Go que implican condiciones de carrera y orden de apagado). Por lo tanto, el objetivo de la ingeniería de contexto es extraer el máximo provecho de los modelos existentes, diseñando cuidadosamente las entradas para mejorar la precisión y la eficiencia de las salidas. Desafío fundamental: ¿Por qué fallan los métodos de codificación de IA tradicionales? • Indicaciones ingenuas: Simplemente entablar un diálogo repetido con el agente (como "No, inténtalo de nuevo") puede agotar fácilmente la ventana de contexto, lo que provoca que el modelo se desoriente o genere "ruido" (información irrelevante). • Cuello de botella contextual: LLM es esencialmente una «función pura»; la calidad de la salida depende exclusivamente de la entrada. El proceso iterativo del agente de codificación (búsqueda de archivos, comprensión del proceso, edición de código) llena rápidamente la ventana, lo que provoca sobrecarga de información, omisiones o errores. • Problema del equipo: Las solicitudes de extracción generadas por IA con 20 000 líneas de código son difíciles de revisar, lo que provoca desconexión en el equipo. Dex compartió su experiencia personal: al trabajar con programadores de IA de primer nivel, se vio obligado a abandonar la revisión línea por línea y, en su lugar, confiar en las especificaciones para dar luz verde al código. Objetivo: Adecuado para bases de código grandes y complejas, resolución de problemas del mundo real, libre de código basura, salida de calidad de producción y maximización de la utilización de tokens. Estrategia clave: De la compresión a la refactorización del flujo de trabajo Dex propuso el concepto de «ingeniería de contexto para todo», optimizando cuatro dimensiones: corrección (sin información errónea), integridad (sin información faltante), tamaño (control del ruido) y trayectoria (mantenimiento de la dirección). Evitó herramientas ineficientes (como el simple comando /slashcompact) y, en su lugar, adoptó los siguientes métodos avanzados: 1. Compactación intencional: En lugar de un simple reinicio, se crea un "archivo de progreso" que registra resúmenes clave (como rutas de archivos, intenciones de cambio y planes de prueba). Este archivo es mucho más corto que el código original, lo que facilita que los proxies posteriores hereden el contexto. • Pensamiento formulaico: Tokens efectivos ≈ Tokens totales (~170k) - Tokens ruidosos. Dex cita el artículo de Jeff Huntley, "Ralph Wigum como ingeniero de software", para demostrar que repetir los mismos prompts (en lugar de iterar aleatoriamente) puede mejorar significativamente los resultados. 2. Control contextual de subagentes: • Se utiliza para aislar tareas, como "encontrar flujos de información", sin contaminar el contexto principal. Los subagentes devuelven respuestas estructuradas (p. ej., nombre de archivo + número de línea), evitando la distorsión de la información propia del "juego del teléfono descompuesto". Desafío: Los sistemas no deterministas son propensos a la confusión, por lo tanto, se necesita una guía precisa sobre cómo el agente padre debe instruir al agente hijo. 3. Compresión intencional frecuente y flujo de trabajo en tres etapas: • Fase de investigación: Utilice plantillas de comandos de código abierto para generar una descripción general del sistema (archivos, flujo de datos, ubicación del problema). El resultado es conciso, lo que facilita la rápida localización del agente. • Fase de planificación: El agente debe enumerar todos los cambios (documentos, fragmentos de código, pasos de verificación) para formar un "plan de implementación". El plan suele ser más corto que el código y más fácil de revisar para los humanos. • Fase de implementación: Según la codificación del plan, mantenga la utilización del contexto por debajo del 40 %. Actualice el plan y reinicie una nueva ventana después de completar cada paso. • Ciclo general: Investigación → Planificación → Implementación → Revisión humana → Iteración. Dex destaca: Revisar 200 líneas de planificación es mucho mejor que revisar 2000 líneas de código, ya que permite detectar errores a tiempo y mantener la «alineación mental» del equipo, el valor fundamental de la revisión de código. Estas plantillas de prompts son de código abierto y se pueden encontrar en GitHub. Dex admite: Esto no es "magia"; requieren una lectura atenta y ajustes. Caso práctico: De correcciones en Rust a la integración con WASM · Correcciones en el código Rust: Dex colaboró con Vibhav (creador de BAML), otro fundador de YC, para corregir errores en un código Rust de 300 000 líneas de una sola vez. El proceso se documentó en un podcast de 75 minutos y la solicitud de extracción se fusionó sin problemas por el CTO, demostrando su aplicabilidad a sistemas heredados sin necesidad de modificaciones. • Resolución de problemas complejos: En colaboración con el CEO de Boundary, generamos/escribimos 35 000 líneas de código en 7 horas, añadiendo compatibilidad con WASM, lo que equivale a 1-2 semanas de trabajo de ingeniería. Esto validó la viabilidad de la estrategia en un entorno de producción. Implicaciones y perspectivas futuras La principal conclusión de Dex: Los errores de código se originan en el origen: una mala investigación puede generar miles de líneas de código defectuoso, mientras que una mala planificación los multiplica exponencialmente. Por lo tanto, es fundamental priorizar la inversión en especificaciones y comprensión del sistema, en lugar de perderse en los detalles del código. Su equipo (de tres personas) consumió una gran cantidad de créditos de API en un mes, pero ahorró una cantidad significativa de tiempo de ingeniería: los becarios enviaron dos solicitudes de extracción el primer día y diez al octavo; el propio Dex no abrió ningún archivo que no fuera Markdown durante dos meses. Perspectivas: Los agentes de codificación tenderán a convertirse en un producto básico, pero el desafío reside en la transformación de los equipos (priorizando las especificaciones y realizando revisiones frecuentes). Human Layer está facilitando esta transformación, desde startups de Y Combinator con solo 6 personas hasta grandes empresas con miles de empleados. Dirección del vídeo:
Cargando el detalle del hilo
Obteniendo los tweets originales de X para ofrecer una lectura limpia.
Esto suele tardar solo unos segundos.
