Проблема «туннельного зрения» в автономном коде
Долгоживущие кодовые агенты (например, autoresearch) способны постоянно искать оптимизации для открытых задач. Однако они часто страдают от «туннельного зрения»: накопление огромного контекста в одном агенте и работа с единственным состоянием программы приводят к тому, что система застревает на одном высокоуровневом подходе. В результате упускаются более эффективные альтернативные стратегии решения проблемы.
Архитектура SwarmResearch: Пастух и Рой
Авторы (Yuvraj Virk, Zack Edds, Chunqiu Steven Xia, Lingming Zhang) предлагают новую архитектуру orchestrator-subagent. В ней ключевую роль играет Shepherd Agent (Агент-пастух), который использует глобальный контекст для управления популяцией Search Agents (Агентов-поисковиков). Каждый агент-поисковик работает в изоляции, используя локальный контекст в своей собственной ветке Git. Это позволяет параллельно исследовать различные высокоуровневые подходы к одной и той же задаче.
Результаты: 13 из 15 задач
В ходе тестирования на задачах открытой оптимизации SwarmResearch продемонстрировала превосходство над состоянием искусства (SOTA) в области эволюции, управляемой LLM, и другими многоагентными техниками. Система нашла лучшие или сопоставимые решения в 13 из 15 тестовых сценариев. Ключевым фактором успеха стала способность системы к высокоуровневому исследованию пространства решений, а не просто к низкоуровневым правкам кода.
| Метрика / Характеристика | SwarmResearch | Базовые методы (Serial/Parallel Agents) |
|---|---|---|
| Успешность оптимизации | Лучшие/сравнимые решения в 13/15 задач | Уступает в высокоуровневом поиске |
| Масштабируемость | Адаптивная параллельность (глубина поиска) | Фиксированное масштабирование |
| Изоляция контекста | Локальная (Git-ветки) + Глобальная (Shepherd) | Накопление в одном агенте |
Адаптивное масштабирование
В отличие от систем с фиксированным количеством агентов, SwarmResearch динамически адаптирует параллелизм в зависимости от глубины поиска. Это означает, что система может выделять больше ресурсов на исследование сложных ветвей решений и сокращать их там, где прогресс замедляется, что делает процесс вычислительно более эффективным.
Источник: arXiv cs.AI ↗
