Pair Mailbox: Автономный протокол парного кодинга для AI-агентов
Оркестрация независимых AI-CLI (Claude Code, Codex, OpenCode) в тандем «Писатель — Ревьюер» с доведением задачи до проверенного Pull Request без участия человека.
Клиент
Open Source / Собственная разработка
Услуги
Multi-Agent System Orchestration, Deterministic Protocols, CLI Agent Supervision, Automated Code Review
Услуга
Задача
Автономные кодинг-агенты в терминале (Claude Code, OpenAI Codex, OpenCode) при решении комплексных задач сталкиваются с контекстным дрейфом: одиночная модель постепенно теряет системные инварианты, уходя в бесконечные правки синтаксиса и накапливая скрытые регрессии. При этом разработчику приходится вручную пересылать код между моделью-генератором и моделью-ревьюером. Цель проекта: разработать протокол оркестрации и легковесный локальный сервер без внешних зависимостей, объединяющий два независимых процесса кодинг-CLI в детерминированную пару («один пишет код, второй независимо ревьюит архитектуру и проверяет тесты») до выпуска проверенного Pull Request.
Решение
Pair Mailbox реализует строгий детерминированный протокол взаимодействия поверх локального IPC и файловых замков. В основе лежит принцип Single-Writer Lock: проект имеет право изменять исключительно агент-«Писатель», тогда как агент-«Ревьюер» работает в режиме строгого чтения (Read-Only) и передает замечания через структурированные патч-пакеты. Межагентные сообщения и диффы фиксируются в неизменяемом журнале аудита. Встроенный супервизор отслеживает жизненный цикл процессов CLI, перезапускает упавшие агенты и мгновенно блокирует попытки несанкционированного изменения окружения.
Протокол взаимодействия агентов (State Diagram)
┌────────────────────────┐
│ Task Ticket │
└───────────┬────────────┘
│
▼
┌──────────────────────────────────────┐ Structured Patches ┌──────────────────────────────────────┐
│ Writer Agent │ ────────────────────────────► │ Reviewer Agent │
│ (Write Authority: Files & Tests) │ ◄──────────────────────────── │ (Read-Only: Architecture Audit) │
└──────────────────┬───────────────────┘ Critique & Approval └──────────────────┬───────────────────┘
│ │
│ │
▼ ▼
┌──────────────────────────────────────────────────────────────────────────────────────┐
│ Immutable Audit Mailbox Log (Single-Writer Guard) │
└──────────────────────────────────────────┬───────────────────────────────────────────┘
│
▼ Tests Pass & Approved
┌─────────────────────────┐
│ Clean Pull Request │
└─────────────────────────┘
Уровни автономности супервизора
| Режим | Поведение агентов | Зона ответственности человека |
|---|---|---|
observe | Агенты готовят диффы и ревью | Ручное подтверждение каждого шага |
semi | Автономный кодинг и локальные тесты | Пауза перед деплоем, миграциями и секретами |
auto | 100% сквозной цикл от тикета до PR | Финальный мердж в GitHub |
Ключевые особенности
- Замок единственного писателя (Single-Writer Rule): Строгое разделение ролей исключает гонки состояний и гарантирует целостность кодовой базы.
- Неизменяемый журнал аудита (Audit Mailbox): Полная фиксация всех предложенных изменений, прогонов тестов и замечаний ревьюера.
- Гранулярные уровни автономности: Поддержка режимов observe (ручное подтверждение), semi (пауза перед деплоем/миграциями) и auto (сквозной автономный цикл до PR).
- Супервизор процессов и аварийные стопоры: Фоновый мониторинг процессов, предотвращающий зацикливание и защищающий критические файлы окружения.
- Zero External Dependencies: Ядро реализовано на стандартных библиотеках среды Node.js/TypeScript без сторонних фреймворков и облачных зависимостей.
Технологии
Архитектура и развертывание
Парный протокол продемонстрировал 100% автономность выполнения инженерных задач — от чтения тикета в трекере до прогона тестов, устранения архитектурных замечаний ревьюера и открытия готового Pull Request в GitHub без вмешательства человека.
Понравился инженерный подход?
Спроектируем и запустим надежную систему под задачи вашего бизнеса — от архитектуры до релиза и поддержки.