HeadlinesBriefing HeadlinesBriefing.com

Prime Agent reescrito en Rust: más rápido

Hacker News •
×

Reescribiendo Prime Agent en Rust

Desde el lanzamiento de Prime Agent en agosto, las descargas superaron las 300.000 y el procesamiento de tokens superó los 8 billones. Hoy, el equipo presenta una versión más rápida y limpia, reescrita desde cero en Rust.

Durante dos semanas, Prime Agent coordinó un enjambre de más de 2.000 agentes para reescribirse de principio a fin, operando en más de 10.000 Prime Sandboxes y con más de 200.000 millones de tokens del endpoint GLM-5.3 de Prime Inference. La reescritura sometió a prueba las capacidades multiagente, incluida la infraestructura de sandbox e inferencia para enjambres de agentes a gran escala, la investigación autónoma y el aprendizaje por refuerzo.

Para garantizar la paridad de funciones, Prime Agent utilizó subagentes para ordenar topológicamente las dependencias, con máquinas de estados finitos que estructuran los cálculos en bucle y las comprobaciones de corrección. La arquitectura del código se reescribió para facilitar su mantenimiento. Se usaron benchmarks de tiempo de ejecución y trazas reales para mejorar las métricas de rendimiento y depurar errores. Ahora, Prime Agent funciona más rápido y consume menos recursos que la mayoría de los arneses de agentes de programación. La implementación en Rust procesó 192.990 millones de tokens con 1.981 agentes a profundidad 3, mientras que TypeScript manejó 35.700 millones de tokens con 228 agentes.

Por qué Rust: TypeScript ayudó a lanzar rápidamente, pero los tipos opcionales desaparecen en tiempo de ejecución, los errores viajan como excepciones no comprobadas y el trabajo intensivo en CPU compite con la entrada del teclado en un único bucle de eventos. Cada proceso paga por un entorno de ejecución de JavaScript y un recolector de basura. Rust se ajusta al objetivo de lanzar rápido manteniendo el código a un estándar más alto a medida que crece. Las mejoras de rendimiento provienen del código nativo sin recolector de basura, de procesos trabajadores por sesión y de mejoras en el arranque. La concurrencia se beneficia de los traits Send y Sync de Rust, que permiten al compilador verificar el movimiento de datos entre hilos. Las garantías en tiempo de compilación de los enums exhaustivos, la propiedad y los tiempos de vida descartan clases enteras de errores. Entre otras ventajas se incluyen el soporte para Windows, el aislamiento de fallos por sesión y un protocolo de demonio más consistente.

El objetivo era que los agentes realizaran la reescritura de forma autónoma y con una intervención humana mínima. El trabajo humano se centró en configurar la verificación para permitir el despliegue autónomo a escala, siguiendo trabajos previos sobre traducción automática a Rust. Cada especificación cubrió distintos tipos de paridad: la paridad de TUI compara los binarios de TypeScript y Rust lado a lado frente al mismo modelo con guion, comparando los fotogramas de terminal; la paridad de arnés compara las transcripciones de sesión y las solicitudes al proveedor del modelo; la paridad de protocolo verifica todos los tipos de mensaje del protocolo de demonio frente a la implementación en TypeScript; y la paridad de funciones implicó una auditoría componente por componente del producto en TypeScript. Las comprobaciones objetivas garantizan la coherencia entre las API y los protocolos.

Fuente: Hacker News · Resumido por HeadlinesBriefing