Об этом проекте
BareAgent — это легковесная библиотека оркестрации агентов без зависимостей для Node.js, предоставляющая цикл думай→действуй→наблюдай для ИИ-агентов. В отличие от более тяжелых фреймворков, таких как LangChain, CrewAI или AutoGen, BareAgent фокусируется на компонуемых строительных блоках, а не на монолитном фреймворке; ядро не импортирует ничего.
Основные возможности:
- Цикл (Loop): центральный цикл думай→действуй→наблюдай, который выполняется до завершения цели, с опциональными точками расширения для политик управления, инженерии контекста и обрезки транскрипта.
- Планировщик и runPlan: разбивает цели на DAG шагов и выполняет шаги параллельными волнами с учётом зависимостей и повторами на каждом шаге.
- recurse (RLM): примитив рекурсивного разложения, который разбивает сложные задачи, распределяет подзадачи, проверяет результаты и синтезирует итоговый ответ. Поддерживает управляемое моделью порождение, принудительное разветвление и разбиение по данным. Включает честный подсчёт по корпусам на основе поиска, который считает кодом, а не полагается на числа, названные моделью.
- Память: постоянное хранение и восстановление между сеансами через заменяемый интерфейс Store (JSON, SQLite или litextx).
- Управление: опциональная интеграция bareguard предоставляет единый шлюз политик для всех вызовов LLM и инструментов, с аудитом, лимитами бюджета и контрольными точками одобрения человеком.
- Устойчивость: повторы с экспоненциальной задержкой и джиттером, автоматический выключатель и переключение провайдера.
- Провайдеры: поддержка API, совместимых с OpenAI, Anthropic, Gemini, Ollama, CLIPipe и пользовательских провайдеров. Все возвращают нормализованную структуру с честными метриками токенов и стоимости, включая отчётность по уровням кэша подсказок.
- Инструменты: любая функция может быть инструментом. Встроенные: веб-браузинг (barebrowse), управление мобильным устройством (baremobile) и выполнение команд в оболочке. MCP Bridge автоматически обнаруживает MCP-серверы из конфигураций IDE.
- Кросс-язычность: может запускаться как подпроцесс из Python, Go, Rust, Ruby или Java через JSONL на stdin/stdout.
- Стриминг: структурированные JSONL-события для прогресса в реальном времени.
- Оценщик и refine: оценка вывода по предикату, рубрике или агентному критику, с ограниченным циклом генерация→оценка→регенерация.
- Планировщик задач: cron- или относительные триггеры с сохранением задач между перезапусками.
- Контрольная точка: шлюз одобрения человеком с собственным транспортом.
- Spawn: порождение дочерних агентов с общим журналом аудита и бюджетом.
- Defer: постановка действий в очередь для последующего выполнения пробуждающим агентом.
- SkillRegistry: предоставление навыков по требованию через каталог метаинструментов.
- stash: вынос завершённой работы из активного окна контекста или автоматическое сворачивание при нехватке токенов.
Библиотека достаточно легковесна, чтобы полностью понять её, и достаточно полна, чтобы не изобретать велосипеды. Поставляется без обязательных зависимостей; опциональные сопутствующие включают bareguard для управления, better-sqlite3 для SQLite-хранилища и cron-parser для планирования. Лицензия Apache 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.