На практике у меня давно назревала задача: как не просто юзать один AI-агент, а создать сеть из нескольких, где у каждого своя роль, своя зона ответственности, и при этом все они разделяют общий контекст и имеют долгосрочную память. mvschwarz/openrig — проект, который пытается закрыть именно этот кейс. В этой статье разберу, что там внутри, как оно работает и где реально может быть полезно.
Почему один агент — мало, а команда — это уже vibe coding
Обычно мы запускаем Codex, Claude Code или Pi как одиночных кодеров/ассистентов. Они отвечают на запросы, пишут функции или помогают с рефакторингом. Но если задача сложная, то порой хочется разбить её на части и назначить разные роли: например, один — архитектура, другой — тесты, третий — документация. Чтобы не потерять контекст и не гонять туда-сюда файлы или промпты.
Именно здесь приходит идея agentic workflows — когда у тебя не один AI, а команда агентов, которые взаимодействуют между собой, делят состояние и помнят, что уже сделано. Это vibe coding: не просто писать код, а создавать атмосферу продуктивного взаимодействия между AI и человеком.
Openrig — это open-source фреймворк, который помогает построить такую сеть. На базе уже известных моделей — Claude Code, Codex, а теперь и Pi — вы создаёте persistent команды с ролями, общей памятью и распределёнными задачами.
Архитектура openrig: persistent teams с ролями и общей памятью
В основе openrig — идея persistent agents. Эти агенты не просто запускаются на запрос, а сохраняют своё состояние, чтобы помнить, кто что сделал, какие решения приняли и где остановились. Это важно для сложных проектов, где нужно не терять нить разговора.
Каждый агент в команде имеет определённую роль. Например:
- Architect — отвечает за архитектурные решения и дизайн
- Developer — пишет код и реализует задачи
- Tester — генерирует и запускает тесты
- Documenter — создаёт документацию и комментарии
Роли настраиваются кастомно под проект. Агентам передаётся shared context — общий контекст, куда складываются все артефакты: код, заметки, требования, результаты тестов. При этом каждый агент имеет owned work — часть работы, за которую он отвечает.
Так можно выстроить workflow, где Architect обсуждает с Developer дизайн, Developer отсылает код Tester’у, а Documenter обновляет документацию по ходу дела. Всё это происходит внутри единой persistent среды.
На практике: пример создания команды и workflow
Допустим, у нас есть задача: реализовать REST API для управления задачами. Мы хотим разделить роли на Architect, Developer и Tester.
import { OpenRig, Agent } from 'openrig';
// Создаём openrig инстанс
const rig = new OpenRig();
// Определяем агентов с ролями
const architect = new Agent('Architect', {
model: 'claude-code',
roleDescription: 'Designs system architecture and API contracts'
});
const developer = new Agent('Developer', {
model: 'codex',
roleDescription: 'Implements API endpoints and business logic'
});
const tester = new Agent('Tester', {
model: 'pi',
roleDescription: 'Generates and runs unit and integration tests'
});
// Регистрируем агентов в команде
rig.addAgent(architect);
rig.addAgent(developer);
rig.addAgent(tester);
// Стартуем workflow
(async () => {
// Architect создаёт спецификацию API
const apiSpec = await architect.run('Design a REST API for task management with CRUD operations');
rig.sharedContext.update('apiSpec', apiSpec);
// Developer реализует API по спецификации
const apiCode = await developer.run(`Implement API based on spec:\n${apiSpec}`);
rig.sharedContext.update('apiCode', apiCode);
// Tester пишет тесты для API
const tests = await tester.run(`Write tests for API:\n${apiCode}`);
rig.sharedContext.update('tests', tests);
console.log('API Spec:', apiSpec);
console.log('API Code:', apiCode);
console.log('Tests:', tests);
})();
В этом примере агенты работают в связке: у них общий контекст (sharedContext), где они видят результаты друг друга, и каждый отвечает за свою часть. Всё это в рамках одного persistent процесса.
Где openrig полезен, а где риски
Openrig отлично помогает, когда проект сложный и требует постоянного взаимодействия разных AI-агентов, а не просто одноразового запроса. Например, в vibe coding, где ты хочешь создать “живую” AI-команду, которая помнит детали, прогресс и может делить ответственность.
Однако есть и ограничения:
- Нужно время на настройку ролей и workflow, чтобы агенты не путались и не делали дублирующую работу.
- Модели всё ещё могут ошибаться, и без контроля человека команда может “зависнуть” в бесконечном цикле обсуждений.
- Persistent memory — это круто, но если контекст растёт, то latency и стоимость запросов увеличиваются.
- Пока openrig не очень распространён, документация и примеры ограничены — придётся ковыряться и экспериментировать самому.
Кому попробовать openrig и что дальше
Openrig — это для тех, кто уже на уровне senior, кто умеет работать с несколькими AI-моделями и хочет построить нечто большее, чем просто ассистента. Если вы пробовали Codex или Claude Code по отдельности и хотите более сложные agentic workflows с persistent командами — это ваш вариант.
Рекомендую поиграться с openrig на маленьких проектах, чтобы понять, как распределять роли и строить shared context. В ближайшем будущем стоит посмотреть на интеграции с Retrieval-Augmented Generation (RAG) для более умного доступа к знаниям, а также подключать MCP и vibe coding-паттерны, чтобы команда AI работала как настоящая.
Если же задача простая — писать отдельные функции или отвечать на вопросы, то openrig может быть избыточен и замедлит процесс. Но для сложных, многозадачных проектов с агентами, которые должны помнить и согласовывать работу — openrig даёт интересный каркас.
Пока что openrig — это экспериментальная площадка для агентных workflow. Но в мире, где AI становится не просто помощником, а полноценным team player, такие инструменты будут только набирать обороты. Если вам интересно погрузиться в агентные команды, поиграться с ролями и persistent контекстом — попробуйте openrig. Может, это именно то, что даст вам свежий подход к vibe coding и AI coding в ваших проектах.
Попробуй сам: Cursor — AI-редактор для разработчиков.
Источник: https://github.com/mvschwarz/openrig