Ouroboros: Agent OS для спецификаций вместо промптов
Обзор Q00/ouroboros — открытого Agent OS для AI-кодинга: specification-first подход, сократический интервью-цикл и воспроизводимые эволюционные петли.
Ouroboros: Agent OS — хватит промптить, начни специфицировать
«Проблема не в возможностях ИИ — проблема в ясности человека.»
Что такое Ouroboros и для кого он создан
Ouroboros — это Agent OS для AI-кодинга: локальный runtime-слой, который превращает недетерминированную работу агентов в воспроизводимый, наблюдаемый контракт исполнения с заданными политиками.
Он заменяет хаотичный промптинг на структурированный specification-first воркфлоу: интервью, кристаллизация, исполнение, оценка, эволюция.
Проект ориентирован на разработчиков, которые:
- устали от непредсказуемых результатов LLM при постановке задач «вольным текстом»;
- работают с Claude Code, Codex CLI, OpenCode или Hermes;
- хотят повторяемые, аудируемые результаты вместо «угадай-что-я-имел-в-виду» итераций.
Большинство ошибок AI-кодинга происходит на входе, а не на выходе. Узкое место — не возможности ИИ, а ясность человека.
github.com/Q00/ouroboros и набрал более 1 100 ⭐ за несколько месяцев.Философия: змея, пожирающая собственный хвост
Уроборос — змея, пожирающая свой хвост — это не просто украшение: это и есть архитектура. Интервью → Семя → Исполнение → Оценка образуют эволюционный цикл. Каждый цикл не повторяется — он эволюционирует: результат оценки становится входом следующего поколения, пока система не поймёт, что именно она строит.
Три кита философии: Сократическая ясность — задавать вопросы, пока двусмысленность не станет ≤ 0.2; Онтологическая точность — решать корневую проблему, а не симптомы; Эволюционные петли — каждый цикл оценки улучшает спецификацию.
Ключевые возможности
1. Сократический интервьюер (ooo interview)
После одного цикла интервью скрытые допущения (до 12 штук) всплывают наружу через сократические вопросы, ответы кристаллизуются в неизменяемую спецификацию с показателем двусмысленности 0.15.
Интервью завершается не тогда, когда вам кажется, что вы готовы — оно завершается, когда математика говорит, что вы готовы. Ouroboros количественно измеряет двусмысленность. Порог: Ambiguity ≤ 0.2 — только тогда может быть создан Seed.
Пример запуска:
ooo interview "Хочу написать CLI для управления задачами"
Система зададит уточняющие вопросы вроде: «Задача удаляется или архивируется? Это одиночный или командный инструмент?» — прежде чем написать хоть строчку кода.
2. Seed — неизменяемая спецификация (ooo seed)
После интервью ответы «замораживаются» в YAML-файл (seed.yaml). Этот файл становится единственным источником истины для всех последующих шагов. Любое отклонение исполнения от спецификации фиксируется как drift.
3. Double Diamond исполнение (ooo run)
Ouroboros использует процесс Double Diamond: первый ромб — сократический: расходимся в вопросы, сходимся к онтологической ясности. Второй ромб — прагматический: расходимся в варианты дизайна, сходимся к верифицированной доставке. Каждый ромб требует предыдущего — нельзя проектировать то, что не понял.
ouroboros run seed.yaml
4. Трёхступенчатая верификация (ooo evaluate)
Этап evaluate включает три уровня верификации: Механический → Семантический → Консенсус.
5. Режим Ralph — «не останавливайся, пока не заработает»
Эволюционная петля (Интервью → Семя → Исполнение → Оценка → Эволюция) работает до тех пор, пока онтология не сходится. Ralph-режим сохраняется до прохождения верификации — камень не останавливается.
Команда ooo ralph запускает эволюционный цикл непрерывно — через границы сессий — до тех пор, пока не будет достигнута сходимость. Каждый шаг без состояния: EventStore восстанавливает полную линию событий, так что даже если машина перезапустилась, змея продолжит с того места, где остановилась.
6. Девять специализированных агентов
Девять агентов, каждый — отдельный режим мышления. Загружаются по требованию, никогда не преднагружаются. Один из них — только вопросы, никогда не строит.
7. MCP Bridge и публикация (ooo publish)
В версии v0.27.0 появился MCP Bridge — коммуникация сервер-сервер через MCP для подключения внешних инструментов. Автоматически обнаруживается ~/.ouroboros/mcp_servers.yaml, вся конфигурация MCP-серверов хранится там.
Навык ooo publish конвертирует Seed-спецификации в структурированные GitHub Issues.
8. Мультибэкенд без смены спецификации
Agent OS runtime предоставляет воспроизводимый контракт исполнения через обнаружение возможностей, политики, директивы, журнал событий и процессы агентов. Бэкенды — подключаемый слой абстракции (orchestrator.runtime_backend) с поддержкой Claude Code, Codex CLI, OpenCode и Hermes: одна спецификация воркфлоу, разные движки исполнения.
Архитектура цикла
graph TD
A[💬 ooo interview
Сократические вопросы] --> B[🌱 ooo seed
Неизменяемая спецификация
Ambiguity ≤ 0.2]
B --> C[⚙️ ooo run
Double Diamond исполнение]
C --> D[🔍 ooo evaluate
3-ступенчатая верификация]
D -->|action=EVOLVE| E[🔄 ooo evolve
Эволюция спецификации]
E --> B
D -->|action=DONE| F[✅ Верифицированная кодовая база]
style A fill:#6c3483,color:#fff
style B fill:#1a5276,color:#fff
style C fill:#1e8449,color:#fff
style D fill:#b7950b,color:#fff
style E fill:#922b21,color:#fff
style F fill:#117a65,color:#fff
Установка и быстрый старт
Установка через pip с опциональными зависимостями:
pip install ouroboros-ai # базовая
pip install ouroboros-ai[claude] # + зависимости Claude Code
pip install ouroboros-ai[litellm] # + LiteLLM мультипровайдер
pip install ouroboros-ai[mcp] # + MCP сервер/клиент
pip install ouroboros-ai[tui] # + Textual Terminal UI
pip install ouroboros-ai[all] # всё сразу
Требования: Python 3.14+, менеджер пакетов uv. Для разработки: клонировать репозиторий, выполнить uv sync, проверить версию uv run ouroboros --version.
pip install ouroboros-ai[all]- Запустите
ooo setupвнутри сессии Claude Code - Начните с
ooo interview "Моя идея" - После завершения интервью —
ooo seed, затемooo run
Тарифы и цены
Ouroboros — полностью бесплатный open-source проект (MIT License). Никаких подписок, никаких кредитов.
Однако стоимость использования складывается из API-ключей выбранных LLM-провайдеров:
| Провайдер | Способ подключения | Тарификация |
|---|---|---|
| Anthropic (Claude) | ANTHROPIC_API_KEY | Pay-per-token |
| OpenAI (Codex) | OPENAI_API_KEY | Pay-per-token |
| LiteLLM-провайдеры | Конфигурация | По тарифам провайдера |
max_turns и max_cycles.Плюсы и минусы
| ✅ Плюсы | ❌ Минусы |
|---|---|
| Полностью open-source (MIT) | Требует Python 3.14+ |
| Воспроизводимые, аудируемые сессии через EventStore | Кривая обучения для новичков |
| Формализует требования до написания кода | Сам не генерирует код — делегирует агентам |
| Работает с несколькими AI-бэкендами без изменения спецификации | Может задавать очевидные вопросы, которые можно найти в коде |
| Drift-мониторинг и 3-ступенчатая верификация | Высокий расход токенов в режиме Ralph |
| MCP Bridge для интеграции внешних инструментов | Зависит от качества интеграции с выбранным CLI-агентом |
| Онтологический подход устраняет целые классы переработки | Документация ещё развивается |
Сравнение с альтернативами
| Параметр | Ouroboros | Aider | Cursor |
|---|---|---|---|
| Подход | Specification-first, эволюционный цикл | Git-native кодинг в терминале | IDE-first, autocomplete + агент |
| Открытый исходный код | ✅ MIT | ✅ Apache 2.0 | ❌ Проприетарный |
| Формализация требований | ✅ Встроенная (Seed/Interview) | ❌ На усмотрение пользователя | ❌ На усмотрение пользователя |
| Воспроизводимость | ✅ EventStore + Replay | Через git-историю | Ограниченная |
| Drift-детекция | ✅ Встроенная | ❌ | ❌ |
| Цена инструмента | Бесплатно | Бесплатно | от $20/мес |
| Мультибэкенд | ✅ Claude, Codex, OpenCode, Hermes | ✅ 100+ моделей | ❌ Собственные модели |
| Кривая обучения | Высокая | Средняя | Низкая |
| IDE-интеграция | CLI/TUI | CLI | ✅ Полная IDE |
Aider картирует всю кодовую базу, поддерживает 100+ языков и автокоммитит с осмысленными сообщениями. Сила Aider в том, что он мыслит через git — каждое изменение это коммит, каждая сессия — ветка для ревью или отката.
Cursor силён в потоке: автодополнение быстрое и полезное, чат прямо в редакторе, задачи малого и среднего масштаба обрабатываются с минимальным трением.
Ouroboros занимает другую нишу: он не заменяет редактор и не пишет код сам — он предшествует кодированию, формализуя «что строим» до того, как начать «как строим».
Известные ограничения и активные задачи
Команда активно работает над контекстно-осведомлённым интервьюером, который сначала сканирует проект, а потом задаёт уточняющие (а не открытые) вопросы.
Вердикт: кому подойдёт Ouroboros
Ouroboros — не очередной AI-кодер. Это инфраструктурный слой для тех, кто хочет превратить хаотичный агентский кодинг в управляемый, воспроизводимый процесс.
Подойдёт:
- Разработчикам, которые работают с Claude Code / Codex CLI и хотят структурированных спецификаций
- Командам, где «потеря контекста» и «непонимание требований» — главные проблемы итераций
- Любителям CLI-workflow и DevOps-инженерам, ценящим аудируемость
- Open-source энтузиастам, готовым вложить время в настройку
Не подойдёт:
- Разработчикам, которым нужен быстрый IDE с автодополнением
- Тем, кто ищет zero-configuration решение
- Проектам с очень простыми, однозначными задачами
Рейтинг: 8 / 10
| Критерий | Оценка |
|---|---|
| Оригинальность концепции | 10/10 |
| Техническая реализация | 8/10 |
| Простота входа | 6/10 |
| Экосистема и интеграции | 8/10 |
| Документация | 7/10 |
| Соотношение цена/ценность | 9/10 |
ooo interview на следующем реальном проекте и оцените, насколько сократический диалог меняет качество результата.