Este artículo de Sebastian Raschka explora el concepto de 'agentes de codificación' y su importancia creciente en el desarrollo de aplicaciones prácticas basadas en Modelos de Lenguaje Grandes (LLMs). Tradicionalmente, el rendimiento de los LLMs dependía principalmente de la calidad del modelo en sí. Sin embargo, el artículo argumenta que el 'harness' o sistema que rodea al modelo (herramientas, memoria, contexto del repositorio) juega un papel crucial, a menudo tan importante como el modelo mismo. Esto explica por qué herramientas como Claude Code o Codex CLI superan a los modelos base en interfaces de chat simples.
El artículo distingue entre LLMs (el modelo base), modelos de razonamiento (LLMs optimizados para razonamiento y verificación) y agentes (un bucle de control que utiliza el modelo junto con herramientas y memoria). Un 'harness' de codificación es una capa de software específica para tareas de ingeniería de software, que gestiona el contexto del código, las herramientas, la ejecución y la retroalimentación iterativa. Piensa en el LLM como el motor, el modelo de razonamiento como un motor mejorado y el harness como el sistema que te permite usar el motor de manera efectiva.
El artículo identifica seis componentes clave de un harness de codificación: 1) Contexto del repositorio en vivo: Permite al agente comprender el entorno de desarrollo (Git, rama, documentación). 2) Formato de prompts y reutilización de caché: Optimiza la forma en que se presentan las instrucciones al modelo y almacena prompts anteriores para mejorar la eficiencia. 3) Herramientas estructuradas, validación y permisos: Define qué herramientas puede usar el agente y cómo se ejecutan. 4) Reducción de contexto y gestión de salida: Maneja la información relevante para evitar sobrecargar el modelo. 5) Transcripciones, memoria y reanudación: Permite al agente recordar interacciones anteriores y retomar el trabajo. 6) Delegación y subagentes limitados: Permite al agente delegar tareas a otros agentes o componentes.
El autor utiliza el ejemplo de su 'Mini Coding Agent' (disponible en GitHub) para ilustrar estos componentes. La conclusión principal es que un buen harness puede mejorar significativamente el rendimiento de un LLM, incluso uno de código abierto, y que la elección del harness puede ser el factor determinante en la calidad de la experiencia de codificación. El artículo sugiere que, en el futuro, la optimización del harness podría ser más importante que la mejora continua de los modelos base.
