HeadlinesBriefing HeadlinesBriefing.com

Prime Agent на Rust: быстрее и чище

Hacker News •
×

Переписываем Prime Agent на Rust

С момента запуска Prime Agent в августе число загрузок превысило 300 000, а объём обработанных токенов — 8 триллионов. Сегодня команда выпускает более быструю и чистую версию, полностью переписанную с нуля на Rust.

В течение двух недель Prime Agent координировал рой из более чем 2 000 агентов, которые переписали его от начала до конца. Работа велась в более чем 10 000 Prime Sandbox и использовала свыше 200 миллиардов токенов с эндпоинта GLM-5.3 от Prime Inference. Переписывание стало серьёзной проверкой многоагентных возможностей, включая инфраструктуру песочниц и инференса для крупных роёв агентов, автономные исследования и обучение с подкреплением.

Для обеспечения паритета функций Prime Agent использовал субагентов для топологической сортировки зависимостей, а конечные автоматы структурировали циклические вычисления и проверки корректности. Архитектура кода была переписана, чтобы её было проще поддерживать. Для улучшения показателей производительности и поиска ошибок использовались эталонные тесты времени выполнения и реальные трассировки. Теперь Prime Agent работает быстрее и потребляет меньше ресурсов, чем большинство фреймворков для агентов-программистов. Реализация на Rust обработала 192,99 миллиарда токенов с 1 981 агентом на глубине 3, а версия на TypeScript — 35,70 миллиарда токенов с 228 агентами.

Почему Rust: TypeScript помог быстро выпустить продукт, но необязательные типы исчезают во время выполнения, ошибки передаются как непроверенные исключения, а ресурсоёмкие вычисления конкурируют с вводом с клавиатуры в одном цикле событий. Каждый процесс несёт издержки среды выполнения JavaScript и сборщика мусора. Rust подходит для цели — быстро выпускать продукт, одновременно поддерживая более высокий стандарт кода по мере его роста. Прирост производительности обеспечивается нативным кодом без сборщика мусора, отдельными рабочими процессами для каждой сессии и улучшением запуска. Конкурентность выигрывает от трейтов Send и Sync в Rust, которые позволяют компилятору проверять передачу данных между потоками. Гарантии времени компиляции, основанные на исчерпывающих перечислениях, владении и временах жизни, исключают целые классы ошибок. Дополнительные преимущества включают поддержку Windows, изоляцию сбоев сессий и более согласованный протокол демона.

Цель состояла в том, чтобы агенты выполнили переписывание автономно, с минимальным участием человека. Работа людей была сосредоточена на настройке верификации, которая позволяет автономно развёртывать систему в больших масштабах, опираясь на предыдущие работы по автоматическому переводу на Rust. Каждая спецификация охватывала свой вид паритета: паритет TUI сравнивает бинарные файлы TypeScript и Rust рядом друг с другом на одной и той же скриптованной модели, сопоставляя кадры терминала. Паритет харнесса сравнивает транскрипты сессий и запросы к провайдеру модели. Паритет протокола проверяет все типы сообщений протокола демона на соответствие реализации на TypeScript. Паритет функций предполагал покомпонентный аудит продукта на TypeScript. Объективные проверки обеспечивают согласованность API и протоколов.

Источник: Hacker News · Сводку подготовил HeadlinesBriefing