Ouroboros: Agent OS — хватит промптить, начни специфицировать

«Проблема не в возможностях ИИ — проблема в ясности человека.»

Что такое Ouroboros и для кого он создан

Ouroboros — это Agent OS для AI-кодинга: локальный runtime-слой, который превращает недетерминированную работу агентов в воспроизводимый, наблюдаемый контракт исполнения с заданными политиками.

Он заменяет хаотичный промптинг на структурированный specification-first воркфлоу: интервью, кристаллизация, исполнение, оценка, эволюция.

Проект ориентирован на разработчиков, которые:

  • устали от непредсказуемых результатов LLM при постановке задач «вольным текстом»;
  • работают с Claude Code, Codex CLI, OpenCode или Hermes;
  • хотят повторяемые, аудируемые результаты вместо «угадай-что-я-имел-в-виду» итераций.

Большинство ошибок AI-кодинга происходит на входе, а не на выходе. Узкое место — не возможности ИИ, а ясность человека.

ℹ Open Source
Проект полностью открытый (лицензия MIT), размещён на GitHub по адресу 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.

💡 Быстрый старт
  1. pip install ouroboros-ai[all]
  2. Запустите ooo setup внутри сессии Claude Code
  3. Начните с ooo interview "Моя идея"
  4. После завершения интервью — ooo seed, затем ooo run

Тарифы и цены

Ouroboros — полностью бесплатный open-source проект (MIT License). Никаких подписок, никаких кредитов.

Однако стоимость использования складывается из API-ключей выбранных LLM-провайдеров:

ПровайдерСпособ подключенияТарификация
Anthropic (Claude)ANTHROPIC_API_KEYPay-per-token
OpenAI (Codex)OPENAI_API_KEYPay-per-token
LiteLLM-провайдерыКонфигурацияПо тарифам провайдера
⚠ Важно
Ouroboros сам по себе бесплатен, но цикл Ralph может порождать множество итераций и, соответственно, значительные расходы на API. Устанавливайте лимиты через конфигурацию max_turns и max_cycles.

Плюсы и минусы

✅ Плюсы❌ Минусы
Полностью open-source (MIT)Требует Python 3.14+
Воспроизводимые, аудируемые сессии через EventStoreКривая обучения для новичков
Формализует требования до написания кодаСам не генерирует код — делегирует агентам
Работает с несколькими AI-бэкендами без изменения спецификацииМожет задавать очевидные вопросы, которые можно найти в коде
Drift-мониторинг и 3-ступенчатая верификацияВысокий расход токенов в режиме Ralph
MCP Bridge для интеграции внешних инструментовЗависит от качества интеграции с выбранным CLI-агентом
Онтологический подход устраняет целые классы переработкиДокументация ещё развивается

Сравнение с альтернативами

ПараметрOuroborosAiderCursor
Подход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/TUICLI✅ Полная IDE

Aider картирует всю кодовую базу, поддерживает 100+ языков и автокоммитит с осмысленными сообщениями. Сила Aider в том, что он мыслит через git — каждое изменение это коммит, каждая сессия — ветка для ревью или отката.

Cursor силён в потоке: автодополнение быстрое и полезное, чат прямо в редакторе, задачи малого и среднего масштаба обрабатываются с минимальным трением.

Ouroboros занимает другую нишу: он не заменяет редактор и не пишет код сам — он предшествует кодированию, формализуя «что строим» до того, как начать «как строим».


Известные ограничения и активные задачи

📝 Реальная обратная связь сообщества
В ходе сократического интервью агент задаёт открытые вопросы вроде «Есть ли у вас уже настроен X?» — хотя мог бы найти ответ самостоятельно, читая кодовую базу. Пользователи отмечают: «половина вопросов — то, что следовало проверить в коде самому».

Команда активно работает над контекстно-осведомлённым интервьюером, который сначала сканирует проект, а потом задаёт уточняющие (а не открытые) вопросы.


Вердикт: кому подойдёт 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
💡 Итоговый совет
Если ваши AI-агенты регулярно «уходят не туда» из-за размытых требований — Ouroboros решает именно эту проблему. Начните с ooo interview на следующем реальном проекте и оцените, насколько сократический диалог меняет качество результата.