BookinglyTech News
Inteligencia artificial

Una página para medir el plugin de contexto de chamnan antes de instalarlo

Chamnan 1.23.1 incluye un medidor que ejecuta sus módulos sobre cualquier repositorio público en el navegador, sin servidor, para mostrar qué se inyectaría en el contexto.

3 min de lecturaDev.to0 vistas

Chamnan 1.23.1 ha llegado con una herramienta que ningún otro plugin de esta categoría ofrece: una página web donde puedes medir el impacto real de su plugin de contexto en tu propio repositorio antes de instalarlo. La página, alojada en arcticfox2029.github.io/chamnan-measure, acepta una URL de un repositorio público de GitHub, descarga el código en tu navegador y ejecuta los módulos reales de chamnan (mapper, rollup, redactor) mediante Pyodide, no una reimplementación. El resultado muestra qué se inyectaría en el contexto de un agente en cada sesión, qué alteraría el redactor y una simulación de cincuenta vueltas sobre los archivos del propio repositorio. No hay servidor, ni subida, ni clave API. El código fuente se descarta en cuanto se generan los números. Soporta cinco lenguajes.

La página ya incluye medidas de trece repositorios conocidos. La tabla muestra que el tamaño del bloque inyectado apenas varía entre 6,2 y 6,7 KB aunque el tamaño del repositorio crezca de 56 KB a 3.782 KB. El autor insiste en que la columna interesante no es la ratio de compresión, sino el límite: el índice se ajusta a un presupuesto de tokens, así que un repositorio más grande compra un mapa más grueso, no una factura mayor. Citar solo la ratio sería la versión halagadora: el propio autor admite que una medición sobre un corpus con archivos binarios produce 223x frente a 25,4x, y que corrigió un número por haber elegido un corpus favorable.

La versión también corrige catorce apariciones de un mismo defecto: una regla aplicada a algunos miembros de un conjunto y olvidada en otros idénticos. Por ejemplo, Path.glob lanza NotImplementedError en lugar de ValueError para patrones que empiezan por '/', una regla que omitía el bloque de contexto completo al faltar un campo en un archivo, un desajuste de tipos en un índice de herramientas que rompía un sort, y varios fallos con caracteres de ancho cero y nombres de repositorio con backticks que podían inyectar instrucciones al modelo. Once de esos casos envolvían nombres derivados del repositorio con backticks, algo que POSIX permite en un nombre de archivo y que cierra el span de código haciendo que los datos del repositorio se muestren como voz de la herramienta.

El autor también comparte lo que aprendió sobre pruebas multiplataforma: la columna de Windows en CI capturó cinco problemas que en macOS no aparecían, y cuatro de ellos eran localizables sin Windows pero no los buscó. El quinto era un defecto de concurrencia real que reprodujo en macOS reduciendo una constante de espera de 2 segundos a 0,05 segundos: con 400 vueltas a través de un candado, el contador llegaba a 41 en Windows. Ahora esa prueba forma parte del chequeo permanente.

El proyecto es MIT, usa solo la biblioteca estándar, y su código está en GitHub. Soporta 21 lenguajes con 23 adaptadores, probado en Ubuntu, macOS y Windows con Python 3.8 y 3.13. La medida en tu propio repositorio antes de instalar es algo que se agradece en un ecosistema donde cada plugin promete reducir costes de contexto sin ofrecer forma de comprobarlo.