mcpField
O
Ouroboros

Ouroboros

ローカル
github.com/Q00AI・エージェント6.3k今日更新

Ouroboros について

Ouroboros は、再実行可能でポリシーに基づく AI コーディングワークフロー向けのローカルファーストなランタイムです。曖昧な依頼を実行前に固定仕様へまとめ、対応するコーディングエージェントのランタイムで作業を記録・評価できます。

主な機能

  1. 01ソクラテス式の要件インタビュー
  2. 02実行前に仕様を固定
  3. 03操作の記録と再実行
  4. 043 段階の自動評価
  5. 05複数のコーディングエージェントランタイムに対応

活用シーン

  1. 01コーディングタスクの開始前に範囲を明確化
  2. 02固定仕様に沿って実装を進行
  3. 03記録されたエージェント作業を再実行・確認
  4. 04検証ゲートで生成コードを評価

MCP 対応

Ouroboros は対応するエージェントホストに MCP サーバーを登録し、インタビューやワークフローのツールを提供します。DeepSeek Harness 連携には `ouroboros_interview` と `ouroboros_auto` があり、ランタイム設定でも MCP を利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"q00-ouroboros": {
"command": "uvx",
"args": [
"ouroboros-ai"
]
}
}
}
起動コマンドuvx ouroboros-ai

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiouroboros-ai0.51.5

ツール

36

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
cwdstringいいえ相対 seed パスの解決に使用する作業ディレクトリです。
skip_qabooleanいいえ実行後の QA 評価をスキップします。デフォルト:false
seed_pathstringいいえseed YAML ファイルへのパスです。パスが存在しない場合、この値はインラインの seed YAML として扱われます。
model_tierenumいいえモデルティアのルーティング:small/medium/large → frugal/standard/frontier の実行ティア(信頼できる分解済みの子タスクは1段階下のティアで実行される場合があり、再試行時には引き上げられます)。省略すると自動ランタイム選択が維持されます。medium を明示的に渡すと standard ルーティングに固定されます。small | medium | large
session_idstringいいえ再開に使用する任意のセッション ID です。指定しない場合、新しいセッションが作成されます。
auto_evolvebooleanいいえ連鎖評価の execution.auto_evolve を上書きします。true の場合、明示的に却下された評価によって、上限付きの Ralph 継続ループが開始されます。
seed_contentstringいいえ実行するインラインの Seed YAML コンテンツ。
auto_evaluatebooleanいいえこの呼び出しで execution.auto_evaluate を上書きします。true の場合、完了したバックグラウンドの execute_seed 実行は、正式な 3 段階評価を独立した上限付きバックグラウンドジョブとしてキューに追加します。
max_iterationsintegerいいえ実行イテレーションの最大数。デフォルト:10
efficiency_modeenumいいえ実行効率ポリシー。adaptive は、分解された AC を低コストのティアで開始し、復旧時にティアを引き上げることができます。quality_first は子項目を親項目の開始ティアに維持します。新規開始時に省略すると、設定済みの execution.default_policy が適用されます。それ以外の場合は adaptive がデフォルトです。adaptive | quality_first
conductor_directiveobjectいいえ選択された conductor の判断からそのままコピーされた、範囲限定の修正コンテキスト。新しい後続実行にのみ適用されます。
frugality_assuranceenumいいえ節約性の保証:off、lightweight observe、または明示的な strict ベースライン適格性。デフォルトは efficiency_mode に従います。strict が暗黙的に有効になることはありません。off | observe | strict
conductor_decision_idstringいいえ新しい後続実行を承認する、選択された conductor 判断のレシート。
predecessor_execution_idstringいいえ新しい後続実行が引き継ぐ実行 ID。

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

English | 한국어 | 简体中文


◯ ─────────── ◯

ウロボロス

O U R O B O R O S

◯ ─────────── ◯

自ら賢くなっていきます。私たちはただ、筋を通すだけです。
プロンプトエンジニアリングは不要です。エージェントは実行し、失敗し、世代を重ねるごとに賢くなります。採点コマンドと期待される結果が、エージェントに渡す成功条件に含まれることはありません。
再現可能なAIコーディングワークフローのためのAgent OS

GitHub stars PyPI テスト ライセンス GitHub Sponsors

Q00%2Fouroboros | Trendshift

クイックスタート · 理由 · 成果 · 仕組み · コマンド · 理念 · ガイド

# macOS / Linux / WSL 2
curl -fsSL https://raw.githubusercontent.com/Q00/ouroboros/main/scripts/install.sh | OUROBOROS_INSTALL_REF=readme-hero bash
# Windows (PowerShell) — no Python needed; installs Git and uv for you
irm https://raw.githubusercontent.com/Q00/ouroboros/main/scripts/install.ps1 | iex

コマンドひとつでインストールできます。その後、コーディングエージェント内で一度だけ ooo setup を実行してください。詳細はクイックスタートをご覧ください。

実行はそれぞれ別々のホストで行います。タスクも意図的に異なります。共有されるのはプロンプトではなくエンジンです

曖昧さスコアを報告するouroboros CLIインタビューのターミナル録画
ターミナルCLI — タスク管理CLI:ouroboros init startが順序と範囲について質問し、曖昧さスコアを報告します
ChatGPTアプリがOuroborosをインテグレーションとして呼び出す画面録画
ChatGPT(Codex) — 動画公開用ハーネスでインテグレーションとして呼び出されます:インタビュー、アドバイザリーレーン、曖昧さ台帳
Claude CodeがOuroborosの6つのインタビュー用アドバイザリーレーンを並列で実行する画面録画
Claude Code — YouTube自動化タスクで、インタビューの送信前に6つのアドバイザリーレーンを並列実行します
DiscordボットがOuroborosのインタビューを実行し、最終的な曖昧さ0.15を報告する画面録画
Hermes(Discord) — カートレースゲームをチャットボットとして実行し、最終的な曖昧さ:0.15で終了します
DeepSeek HarnessがOuroborosのインタビューツールを呼び出し、アドバイザリーのファンアウト結果を送信する画面録画
DeepSeek Harness — dshチャットから操作するOSSトレンドのアウトリーチスクリプト:mcp__ouroboros__ouroboros_interviewを各ターンで呼び出し、ラウンド間にファンアウト結果を送信します
Kiro CLIがOuroborosのインタビューを実行する10倍速の画面録画
Kiro — Kiro CLIがOuroborosのインタビューフローを実行し、曖昧なリクエストを構造化されたテスト可能なSeedに変換します
AntigravityがOuroborosのインタビューを実行し、選択した回答を送信する画面録画
Antigravity — YouTube公開自動化のインタビュー:自動化する対象を質問し、アドバイザリーレーンを表示して、選択した回答を送信します

曖昧なアイデアを、検証済みの動作するコードベースに変えます — Claude Code、Codex CLI、OpenCode、Hermes、Gemini、Kiro、Copilot、Pi、OMP、Zcode、Goose、GJC、Antigravity、Grokに対応しています。

Ouroborosは、AIコーディングのためのエージェントOSです。ローカル優先のランタイムレイヤーとして、非決定的なエージェントの作業を、再現可能で可観測性があり、ポリシーに準拠した実行契約に変えます。場当たり的なプロンプトを、仕様ファーストの構造化されたワークフロー(インタビュー、具体化、実行、評価、進化)に置き換えます。


The Ouroboros Agent OS Stack

他の OS と同じく、Ouroboros は、プリミティブを提供する安定した OS レイヤー、ドメインワークフローを提供する アプリケーションレイヤー、そして人間が実際に操作する シェル に分かれています。3 つのリポジトリで、1 つのスタックを構成します。

レイヤーリポジトリ役割提供するもの
シェル(ターミナルクライアント)Ouro-labs/ourocodeClaude / Codex / Gemini の CLI をまたいで、1 つのセッションで ooo ワークフローを実行するネイティブのターミナル UITUI、wonderTool の選択肢、MCP ペインの状態、コマンドの検出
アプリ(ドメインワークフロー)Ouro-labs/ouroboros-pluginsUserLevel プラグインのコントラクト — コアプリミティブを組み合わせ、インストール可能なドメインプログラム(PR 操作、Jira 同期、インシデント、リリース)を構成しますプラグインマニフェスト、スコープ付き権限、監査/来歴、リファレンスプラグイン
OS(このリポジトリ)Q00/ouroborosエージェント OS のコア — Seed、Ledger、Runtime、MCP、安全境界ooo コマンド、仕様ファーストのワークフローエンジン、マルチランタイムアダプター

相互の連携方法:

  ourocode  ──►  ooo / ouroboros-plugins  ──►  ouroboros core (Seed · Ledger · MCP · Runtime)
   shell             user-level apps                        kernel
  • カーネル(ouroboros)がコントラクトを管理します。どの LLM が実行するかにかかわらず、すべてのアクションは Seed に結び付けられ、台帳に記録され、再生可能なイベントになります。
  • プラグイン(ouroboros-plugins)は、このコントラクトに基づくスコープ付き機能を宣言します。そのため、ドメインワークフロー(PR のレビュー、Linear チケットのトリアージ、リリースの実行)は、単発のプロンプトではなく、監査可能でポリシーに準拠したものになります。
  • Ourocode はターミナルシェルです。MCP の状態、インタビューの質問、wonderTool による判断を、TUI の第一級要素として表示します。これにより、キーボードから手を離したり、CLI を切り替えたりせずに OS を操作できます。

ouroboros を単独で使用して、サポートされている任意の CLI と組み合わせたり、ドメインワークフロー用にプラグインを追加したり、統一されたターミナルコックピットが必要な場合は ourocode をインストールしたりできます。

免責事項。 Ouroboros プロジェクトおよびコミュニティは、pump.fun やその他のローンチパッド上の「ouroboros」ティッカーを含む、いかなる暗号通貨、トークン、ミームコイン、取引コミュニティとも一切関係ありません。これはオープンソースの開発者向けツールです。コインを発行、推奨、保有することはありません。本プロジェクトとの関連を主張するトークンは、すべて無許可のものです。

名称について。 Anton Razzhigaev が開発した、自己改変型の自律メモリーエージェント(github.com/razzant/ouroboros)も、別の無関係なオープンソースプロジェクトとして「Ouroboros」という名称を使用しています。コードの共有も関係もありません。このプロジェクトは、独自のアーキテクチャを書き換えるのではなく、実行前に仕様を固定します。後者をお探しの場合は、そちらのプロジェクトをご覧ください。


なぜ Ouroboros なのか?

AI によるコーディングの失敗の大半は、出力ではなく入力にあります。ボトルネックは AI の能力ではなく、人間の明確さです。

問題起こることOuroboros による解決
曖昧なプロンプトAI が推測し、手戻りが発生するソクラテス式インタビューで隠れた前提を明らかにする
仕様がない構築中にアーキテクチャがずれていく不変の Seed 仕様で、コードを書く前に意図を固定する
手動 QA「問題なさそう」は検証にならない3 段階の自動評価ゲート

クイックスタート

インストール — 1 つのコマンドで、すべてを自動検出します。

# macOS / Linux / WSL 2
curl -fsSL https://raw.githubusercontent.com/Q00/ouroboros/main/scripts/install.sh | OUROBOROS_INSTALL_REF=readme bash
# Windows (PowerShell 5.1+ or pwsh 7+) — nothing to install first
irm https://raw.githubusercontent.com/Q00/ouroboros/main/scripts/install.ps1 | iex

Windows インストーラーは、Git と uv が見つからない場合は winget を使ってインストールします。uv には独自の Python をダウンロードさせ、その後 ouroboros-ai をインストールし、見つかったホストを設定します。ネイティブ Windows は試験的な機能であり、Codex CLI には WSL 2 が必要です。プラットフォームのサポートをご覧ください。

最初のコマンド — AI コーディングエージェントを開き、次のコマンドを順番に実行します。

> ooo setup
> ooo interview "I want to build a task management CLI"

ooo setup は一度だけ行う設定手順です。ooo interview は最初のワークフローコマンドで、ソクラテス式のインタビューを開始します。セットアップ後、Codex は現在選択されているモデルに従い、Claude Code は推奨モデル設定で起動します。特定のモデルをステージに固定したい場合にのみ、モデルを直接設定を選択してください。ブラウザーでローカル設定画面が開きます。ooo config を使えば、いつでも設定画面に戻れます。

または、エージェントホストを使わず、通常のターミナルから実行できます。

$ ouroboros init start --orchestrator "I want to build a task management CLI tool"

この録画は、まさにこのコマンドを実行したものです。インストールする前にツールを確認できるよう、このページの先頭に掲載しています。

Codex のルールとスキル、Hermes のスキル、OpenCode のプラグインと手順ガイド、Pi と GJC のブリッジをインストールする ouroboros setup refresh のターミナル録画。最後に Refreshed runtime artifacts: codex, hermes, opencode, pi, gjc と表示される

1 台のマシンで実行する ouroboros setup refresh。そのマシンに実際にインストールされているホストに、それぞれが想定する形式でインストールします。Codex にはルールとスキル、Hermes にはスキル、OpenCode にはプラグインと AGENTS.md、Pi と GJC にはブリッジを導入します。お使いのマシンには、インストール済みの 13 種類のうち該当するものが表示されます。

Claude Code、Codex CLI、GitHub Copilot CLI、OpenCode、Hermes、Gemini、Kiro CLI、Pi CLI、OMP CLI、Zcode、Goose、GJC、Antigravity CLI、Grok Build CLI に対応しています。インストーラーは利用可能なランタイムを検出し、ホストが対応している場合は MCP サーバーを登録します。明示的に選択するには、インストール後に ouroboros setup --runtime <opencode|kiro|copilot|gemini|pi|omp|zcode|goose|gjc|antigravity|grok> を実行してください。Copilot は GitHub Copilot models API を介してサブスクリプションのカタログをリアルタイムに検出します。Kiro の設定ピッカーは、認証済み CLI に kiro-cli chat --listmodels -f json で問い合わせるため、アカウントやエンタープライズの許可リストの変更が、モデル一覧をハードコードしなくても反映されます。

DeepSeek のサポート。 Ouroboros は DeepSeek に 2 つの方法で対応します。--llm-backend dsh(ouroboros mcp serve --runtime claude-cli --llm-backend dsh、または OUROBOROS_LLM_BACKEND=dsh)を指定すると、インタビュー/Seed/QA パイプラインで DeepSeek 独自のモデルを利用できます。内部では DeepSeek Harness の ACP サーバーを使用します。逆に、dsh-ouroboros プラグイン(dsh plugin --profile <your-profile> add "github:Q00/ouroboros#main&path:integrations/dsh-plugin")をインストールし、DeepSeek Harness のチャットで ooo interview/ooo auto と入力する方法もあります。同じ ouroboros_interview/ouroboros_auto ツールが、ソクラテス式の質問を含め、DeepSeek Harness 内でネイティブに実行されます。両方の方法と、1 つの環境変数以外に dsh バックエンドで必要なものについては、DeepSeek Harness ガイドをご覧ください。

Codex プラグインのクイックスタート

PATH に codex が、ホストに uvx が必要です(プラグインの MCP 記述子は uvx を使ってサーバーを起動します)。uv は pipx install uv、pip install --user uv、または brew install uv でインストールできます。

codex plugin marketplace add Q00/ouroboros
codex plugin add ouroboros@ouroboros

Codex の新しいセッションを開始し、次のコマンドを順番に実行します。

ooo setup
ooo interview "Build a task management CLI"

ooo setup は、一度だけ行うランタイムの準備です。準備ができると、Ouroboros は Codex の現在のデフォルトモデルに従います。パイプラインのステージに特定のモデルを固定したい場合にのみ、モデルを直接設定を選択してください。

Kiro CLI のクイックスタート
pipx install 'ouroboros-ai[mcp]'       # or: uv tool install 'ouroboros-ai[mcp]'
ouroboros setup --runtime kiro         # detects Kiro CLI, registers MCP server, and
                                        # writes OUROBOROS_RUNTIME=kiro into
                                        # ~/.kiro/settings/mcp.json (the trusted,
                                        # setup-managed location -- a project .env
                                        # is untrusted input and this key is ignored there)

その後、Kiro CLI のセッション内で ooo コマンドを使用します。

GitHub Copilot CLI のクイックスタート
gh auth login                                # one-time GitHub auth (used for live model discovery)
pipx install 'ouroboros-ai[mcp]'             # or: uv tool install 'ouroboros-ai[mcp]'
ouroboros setup --runtime copilot            # discovers models live, picks a default,
                                             # registers MCP server in ~/.copilot/mcp-config.json
Copilot CLI のセッションを再起動し、その中で `ooo` コマンドを使用してください。モデル ID のマッピングはカタログに基づいて制御されます。以前の直接指定および OpenRouter の Opus 5 の指定は、その ID が存在する場合に `claude-opus-5` に解決されます。現在の Anthropic API の指定では、末尾の数字の区切り文字のみを変換し、検出されたカタログに候補が完全一致で含まれる場合に限って変換します。不明な ID はそのまま維持されるため、Copilot は別のモデルを暗黙に選択せず、モデルが利用できないことを明示するエラーを報告します。ロールモデルは未設定のままにしてセットアップで検出された ID を書き込ませるか、Copilot で有効な ID を明示的に設定してください。詳しくは[Copilot ランタイムガイド](./docs/runtime-guides/copilot.md)をご覧ください。

詳細については、GitHub Copilot CLI ランタイムガイドをご覧ください。

その他のインストール方法

Claude Code プラグインのみ(Python パッケージやグローバル Python のインストールは不要です。ホストには、MCP サーバー用の uvx と、スキルの Python >= 3.12 フォールバックの両方を提供する uv が必要です):

claude plugin marketplace add Q00/ouroboros && claude plugin install ouroboros@ouroboros

次に、Claude Code のセッション内で ooo setup を実行してください。

pip / uv / pipx:

pip install 'ouroboros-ai[mcp,tui]' && ouroboros setup --runtime claude-cli  # recommended MCP v2 default
pip install 'ouroboros-ai[claude]'      # Claude Agent SDK profile (MCP 1.x, isolated)
pip install 'ouroboros-ai[claude-cli]'  # dependency-free Claude CLI worker
pip install 'ouroboros-ai[claude-sdk]'  # explicit alias for the Claude SDK profile
pip install 'ouroboros-ai[litellm]'     # + LiteLLM multi-provider; Python 3.12-3.13
pip install 'ouroboros-ai[mcp]'         # MCP v2 server/client without the GUI
pip install 'ouroboros-ai[tui]'         # settings GUI only
pip install 'ouroboros-ai[all]'         # MCP 1.x app bundle; excludes MCP 2 by design
ouroboros setup                         # configure runtime

Core および LiteLLM を含まないインストールは Python 3.12〜3.14 に対応しています。LiteLLM を含むインストール([litellm]、[all]、およびソースからの --extra all)は Python 3.12〜3.13 に対応しています。現在の例では Python 3.13 を使用してください。プラットフォームサポートをご覧ください。

推奨されるスタンドアロンインストールは ouroboros-ai[mcp,tui] をインストールした後、MCP v2 互換ランタイムを明示的に選択する方法です。この例では --runtime claude-cli を使用しています。codex、opencode、hermes、gemini、goose、kiro、copilot、pi、gjc など、互換性のある別のランタイムに置き換えてください。[claude] と [claude-sdk] は、分離された MCP 1.x 環境でのみ使用してください。

pip install 'ouroboros-ai[mcp]' は、すでに分離された Python 環境に MCP クライアント/サーバーライブラリを組み込む用途では有効ですが、ホストへの登録には uvx --isolated --python '>=3.12' または pipx が必要です。ouroboros setup --runtime <claude-cli|codex|opencode|hermes|gemini|goose|kiro|copilot|pi|gjc> を実行する前に、pipx install 'ouroboros-ai[mcp]' または uv tool install 'ouroboros-ai[mcp]' を使用してください。どちらの分離ランチャーも利用できない場合、セットアップはランタイム設定を変更せずに終了します。

レガシー互換性:ouroboros-ai[dashboard] は互換性エイリアス/no-op として引き続き受け付けられますが、ダッシュボードのランタイムペイロードはインストールされません。ouroboros-ai[all] には互換性のため、この no-op エイリアスのみが含まれます。

Homebrew(macOS/Linux):

brew tap q00/tap
brew install ouroboros-ai
ouroboros setup                         # configure runtime

セルフホストの tap であり、現時点では homebrew-core には登録されていません。PyPI で公開されているものと同じパッケージをインストールします。

ランタイムガイド:Claude Code · Codex CLI · Hermes · OpenCode · Kiro CLI · Gemini CLI · GitHub Copilot CLI · Zcode · Pi JSON モード · OMP(Oh My Pi) · Goose · GJC · Antigravity CLI · Grok Build CLI

アンインストール
ouroboros uninstall

すべての設定、MCP 登録、データを削除します。詳しくはUNINSTALL.mdをご覧ください。

> **Python >= 3.12 が必要です。** LiteLLM を含むプロファイルは Python 3.12~3.13 をサポートしています。[プラットフォームのサポート](./docs/platform-support.md#python-profile-matrix)と[pyproject.toml](./pyproject.toml)を参照してください。 > > **MCP サーバーとしてインストールする場合は、0.51.1 以降を使用してください。** それ以前のバージョンでは、既存の環境が `[mcp]` プロファイルを上書きすると、起動時に `Failed to reconnect to plugin:ouroboros:ouroboros: -32000` が発生することがあります([#2012](https://github.com/Q00/ouroboros/issues/2012))。PyPI ではなく下流のパッケージを通じてインストールする場合は、それらの更新が遅れることがあるため注意が必要です。

レビューを始めて3つ目のファイルに目を通す頃、自分の説明が不明確だったと気づく人は少なくありません。
心当たりがある方は、次にこれが役立つ人が見つけられるよう、GitHub で Q00/ouroboros にスターを付けてください。


得られるもの

Ouroboros のサイクルを1周すると、漠然としたアイデアが検証済みのコードベースになります。

ステップ前後
インタビュー「タスク用 CLI を作って」12個の隠れた前提を明らかにし、曖昧さを0.19と評価
シード仕様なし受け入れ基準、オントロジー、制約を含む不変の仕様
評価手動レビュー3段階のゲート:機械的(無料) -> 意味的 -> 複数モデルによる合意
何が起きたのでしょうか?
interview  ->  Socratic questioning exposed 12 hidden assumptions
seed       ->  Crystallized answers into an immutable spec (Ambiguity: 0.15)
run        ->  Executed via Double Diamond decomposition
evaluate   ->  3-stage verification: Mechanical -> Semantic -> Consensus

AI コーディングエージェントのセッション内で ooo <cmd> を使うか、ターミナルから ouroboros init start、ouroboros run seed.yaml などを実行してください。

蛇は1周を完了しました。周回を重ねるごとに、前回より多くのことを学びます。


比較

AI コーディングツールは強力ですが、入力が不明確なときには間違った問題を解決してしまいます。

標準的な AI コーディングOuroboros
曖昧なプロンプトAI が意図を推測し、前提に基づいて構築しますソクラテス式インタビューで、コーディングの前に明確化を促します
仕様の検証仕様がなく、構築中にアーキテクチャがぶれます不変のシード仕様で意図を固定します。曖昧さゲート(<= 0.2)により、明示的な force がない限り、時期尚早なコーディングを阻止します
評価「問題なさそう」/手動 QA3段階の自動ゲート:機械的 -> 意味的 -> 複数モデルによる合意
手戻り率高い — 誤った前提が後になって明らかになります低い — 前提は PR レビューではなく、インタビューで明らかになります

ループ

自らの尾をむさぼり食う蛇、ウロボロスは飾りではありません。これこそがアーキテクチャです。

    Interview -> Seed -> Execute -> Evaluate
        ^                           |
        +---- Evolutionary Loop ----+

サイクルは繰り返されるのではなく、進化します。評価の出力が次の生成の入力としてフィードバックされ、システムが構築しているものを真に理解するまで続きます。

フェーズ内容
Interviewソクラテス式の質問で、隠れた前提を明らかにします
Seed回答が不変の仕様へと結晶化します
Executeダブルダイヤモンド:Discover -> Define -> Design -> Deliver
Evaluate3段階のゲート:機械的($0)-> 意味的 -> マルチモデル合意
Evolve問いかけ (「まだ何がわかっていないのか?」) -> 省察 -> 次の生成

「ここでウロボロスは自らの尾を食べます。評価の出力が 次の生成のシード仕様の入力になるのです。」 -- reflect.py

オントロジーの類似度が >= 0.95 に達したとき、システムが自ら問い直すことで明晰さを得て、収束に至ります。

Ralph:決して止まらないループ

ooo ralph は収束に達するまで、セッションの境界を越えて進化ループを継続的に実行します。各ステップはステートレスです。EventStore が系譜全体を再構築するため、マシンが再起動しても、蛇は中断したところから再開します。

Ralph Cycle 1: evolve_step(lineage, seed) -> Gen 1 -> action=CONTINUE
Ralph Cycle 2: evolve_step(lineage)       -> Gen 2 -> action=CONTINUE
Ralph Cycle 3: evolve_step(lineage)       -> Gen 3 -> action=CONVERGED
                                                +-- Ralph stops.
                                                    The ontology has stabilized.

コマンド

AI コーディングエージェントのセッション内では、ooo <cmd> スキルを使用します。ターミナルからは ouroboros CLI を使用します。

スキル(ooo)CLI 相当機能
ooo setupouroboros setupランタイムを登録し、プロジェクトを設定します(一度限り)
ooo interviewouroboros init startソクラテス式の質問で、隠れた前提を明らかにします
ooo autoouroboros auto目標 → A 評価の Seed → 制限付きループで実行へ引き継ぎます
ooo seed(interview で生成)不変の仕様へと結晶化します
ooo runouroboros run seed.yamlダブルダイヤモンド分解によって実行します
ooo evaluate(MCP 経由)3 段階の検証ゲート
ooo evolve(MCP 経由)オントロジーが収束するまで進化ループを実行します
ooo unstuck(MCP 経由)行き詰まったときに使える、水平思考の 5 つのペルソナ
ooo statusouroboros status executions / ouroboros status execution <id>セッションの追跡と(MCP 専用の)ドリフト検出
ooo resume-sessionouroboros resume進行中のセッションを一覧表示し、再接続コマンドを表示します
ooo cancelouroboros cancel execution [<id>|--all]停滞した実行や孤立した実行をキャンセルします
ooo ralph(MCP 経由)検証されるまで永続的なループを実行します
ooo tutorial(対話型)対話型のハンズオン学習
ooo helpouroboros --help完全なリファレンス
ooo pm(MCP 経由)PM に特化したインタビューと PRD の生成
ooo qa(スキル経由)あらゆる成果物に対する汎用的な QA 判定
ooo updateouroboros update更新を確認し、最新バージョンにアップグレードします
ooo brownfield(スキル経由)ブラウンフィールドリポジトリ/ワークツリーのデフォルト設定をスキャンして管理します
ooo publish(スキル/ランタイム機能。gh CLI を使用)チームのワークフロー向けに、Seed を GitHub の Epic/Task イシューとして公開します

すべてのスキルに CLI 相当の機能があるわけではありません。evaluate、evolve、unstuck、ralph、publish などは、ouroboros <subcommand> というシェルコマンドではなく、エージェントスキル、ランタイムルール、または MCP ツールから利用できます。 /resume は Claude Code の組み込みセッションピッカー用に予約されています。Ouroboros の進行中のセッションには ooo resume-session を使用してください。 Claude Code では /run、/status、/help、/config も予約されています。安全な 直接スキル形式は /ouroboros:ouroboros-run、 /ouroboros:ouroboros-status、/ouroboros:ouroboros-help、および /ouroboros:ouroboros-config です。おなじみの ooo run、ooo status、 ooo help、ooo config という形式も引き続き使用できます。

詳細については、CLI リファレンスを参照してください。


9つのマインド

以下の9つの注目エージェントに加え、さらに12の専門エージェントを利用できます(合計21)。すべてオンデマンドで読み込まれ、事前に読み込まれることはありません。

エージェント役割中核となる問い
ソクラテス式インタビュアー質問のみを行います。決して構築しません。「何を前提にしていますか?」
オントロジスト症状ではなく本質を見つけます「これは本当は何ですか?」
シードアーキテクト対話から仕様を結晶化します「これは完全で曖昧さがありませんか?」
評価者3段階で検証します「正しいものを構築できましたか?」
逆張り役あらゆる前提に異議を唱えます「反対が正しいとしたらどうでしょう?」
ハッカー型破りな道筋を見つけます「実際に存在する制約は何ですか?」
シンプリファイアー複雑さを取り除きます「機能する最もシンプルなものは何ですか?」
リサーチャーコーディングを止め、調査を始めます「実際にどのような証拠がありますか?」
アーキテクト構造的な原因を特定します「最初からやり直すとしても、この方法で構築しますか?」

内部の仕組み

アーキテクチャの概要 -- Python >= 3.12
src/ouroboros/
+-- bigbang/        Interview, ambiguity scoring, brownfield explorer
+-- routing/        PAL Router -- 3-tier cost optimization (1x / 10x / 30x)
+-- execution/      (deprecated — logic moved to orchestrator/ and mcp/tools/)
+-- evaluation/     Mechanical -> Semantic -> Multi-Model Consensus
+-- evolution/      Wonder / Reflect cycle, convergence detection
+-- resilience/     4-pattern stagnation detection, 5 lateral personas
+-- observability/  3-component drift measurement, auto-retrospective
+-- persistence/    Event sourcing (SQLAlchemy + aiosqlite), checkpoints
+-- orchestrator/   Runtime abstraction layer (Claude Code, Codex CLI, OpenCode, Hermes, Gemini, Kiro, Copilot, Pi, OMP, GJC, Goose, Antigravity, Grok, Zcode)
+-- core/           Types, errors, seed, ontology, security
+-- providers/      LiteLLM adapter (100+ models)
+-- mcp/            MCP client/server integration
+-- plugin/         Plugin system (skill/agent auto-discovery)
+-- tui/            Terminal UI dashboard
+-- cli/            Typer-based CLI

主な内部機能:

  • PAL ルーター -- Frugal(1x) -> Standard(10x) -> Frontier(30x)。失敗時に自動で上位へ切り替え、成功時に自動で下位へ切り替えます
  • ドリフト -- 目標(50%)+ 制約(30%)+ オントロジー(20%)の加重測定。しきい値は <= 0.3
  • ブラウンフィールド -- 複数の言語エコシステムにわたって設定ファイルを自動検出します
  • 進化 -- 最大30世代。オントロジーの類似度が >= 0.95 で収束します
  • 停滞 -- 空回り、振動、ドリフトなし、収穫逓減のパターンを検出します
  • エージェント OS ランタイム -- ケイパビリティの検出、ポリシー、指示、イベントジャーナル、エージェントプロセスを横断する、再生可能な実行契約
  • ランタイムバックエンド -- プラグイン可能な抽象化レイヤー(orchestrator.runtime_backend 設定)を備え、Claude Code、Codex CLI、OpenCode、Hermes、Gemini、Goose、Kiro、Copilot、Pi、OMP をファーストクラスでサポートします。同じワークフロー仕様で、実行エンジンを切り替えられます

設計ドキュメントの全文はアーキテクチャをご覧ください。


驚きからオントロジーへ

Ouroboros の哲学的エンジン

驚き -> 「どう生きるべきか?」 -> 「『生きる』とは何か?」 -> オントロジー -- ソクラテス

偉大な問いはすべて、より深い問いへとつながります。そして、その深い問いは常にオントロジー的です。問うのは*「どうすればよいか?」ではなく、「これは本当は何なのか?」*です。

   Wonder                          Ontology
"What do I want?"    ->    "What IS the thing I want?"
"Build a task CLI"   ->    "What IS a task? What IS priority?"
"Fix the auth bug"   ->    "Is this the root cause, or a symptom?"

これは抽象化そのものを目的とするものではありません。「タスクとは何か?」――削除できるのか、アーカイブできるのか? 個人で行うのか、チームで行うのか?――に答えれば、手戻りの原因となる問題をひとまとまり取り除けます。オントロジー的な問いこそ、最も実践的な問いです。

Ouroboros はダブルダイヤモンドを通じて、この考え方をアーキテクチャに組み込んでいます。

    * Wonder          * Design
   /  (diverge)      /  (diverge)
  /    explore      /    create
 /                 /
* ------------ * ------------ *
 \                 \
  \    define       \    deliver
   \  (converge)     \  (converge)
    * Ontology        * Evaluation

最初のダイヤモンドはソクラテス式です。問いを広げ、オントロジーの明確さへと収束させます。2つ目のダイヤモンドは実践的です。設計の選択肢を広げ、検証済みの成果へと収束させます。それぞれのダイヤモンドは、その前のダイヤモンドを必要とします。理解していないものを設計することはできません。

曖昧さスコア:驚きとコードの間にあるゲート

インタビューは、準備ができたと感じたときに終わるのではありません。計算によって準備ができたと示されたときに終わります。Ouroboros は、曖昧さを重み付き明確度の逆数として定量化します。

Ambiguity = 1 - Sum(clarity_i * weight_i)

各次元は LLM によって 0.0~1.0 で評価され(再現性を高めるため、温度は 0.1)、その後、重み付けされます。

評価項目新規開発既存開発
目標の明確さ -- 目標は具体的ですか?40%35%
制約の明確さ -- 制限は定義されていますか?30%25%
成功基準 -- 成果は測定可能ですか?30%25%
コンテキストの明確さ -- 既存のコードベースを理解していますか?--15%

しきい値:曖昧さ <= 0.2。 これを超えるスコアでは、Seed の生成がブロックされます。これを回避するには force を明示的に渡す必要があり、CLI では続行とキャンセルの選択肢とともに、その選択が画面に表示されます。このゲートは、議論の余地があるデフォルト設定であり、絶対的な制約ではありません。

Example (Greenfield):

  Goal: 0.9 * 0.4  = 0.36
  Constraint: 0.8 * 0.3  = 0.24
  Success: 0.7 * 0.3  = 0.21
                        ------
  Clarity             = 0.81
  Ambiguity = 1 - 0.81 = 0.19  <= 0.2 -> Ready for Seed

なぜ 0.2 なのでしょうか?重み付けされた明確さが 80% に達していれば、残る未知の要素はコードレベルの判断で解決できるほど小さいためです。このしきい値を超えている場合、アーキテクチャについてはまだ推測している段階です。

オントロジーの収束:サーペントが止まるとき

進化のループは永遠には続きません。連続する世代でオントロジー的に同一のスキーマが生成されると停止します。類似度は、スキーマのフィールドを重み付けして比較することで測定されます。

Similarity = 0.5 * name_overlap + 0.3 * type_match + 0.2 * exact_match
構成要素重み測定内容
名前の一致50%両方の世代に同じフィールド名が存在しますか?
型の一致30%共通するフィールドの型は同じですか?
完全一致20%名前、型、説明がすべて同一ですか?

しきい値:類似度 >= 0.95 -- ループは収束し、進化を停止します。

ただし、類似度の生の値だけがシグナルではありません。システムは、問題のあるパターンも検出します。

シグナル条件意味
停滞3 世代連続で類似度 >= 0.95オントロジーが安定した
振動第 N 世代 ~ 第 N-2 世代(周期 2 のサイクル)2 つの設計の間を行き来している
フィードバックの反復3 世代にわたり質問の重複率が >= 70%Wonder が同じことを尋ねている
上限30 世代に到達セーフティーバルブ
Gen 1: {Task, Priority, Status}
Gen 2: {Task, Priority, Status, DueDate}     -> similarity 0.78 -> CONTINUE
Gen 3: {Task, Priority, Status, DueDate}     -> similarity 1.00 -> CONVERGED

2 つの数学的なゲートに、1 つの理念があります。明確になるまでは構築せず(曖昧さ <= 0.2)、安定するまでは進化を止めない(類似度 >= 0.95)。


貢献

git clone https://github.com/Q00/ouroboros
cd ouroboros
uv sync --python 3.13 --all-groups
uv run --python 3.13 --no-sync pytest

課題 · ディスカッション · 貢献ガイド


スポンサー

Ouroboros は MIT ライセンスで、オープンに開発されています。手戻りの削減に役立った場合、またはループの進化を支援したい場合は、スポンサーをご検討ください。スポンサーからの支援は、メンテナンス、新しいランタイム統合、スポンサー限定の詳細コンテンツに直接活用されます。

GitHub で Q00 をスポンサーする

スポンサーの皆さまのおかげで、サーペントは進化を続けられます。ありがとうございます。


アクティビティ

これらの数値は GitHub のデータから生成され、自動的に更新されます。キャッシュにより更新が遅れる場合があります。

貢献者 コミットアクティビティ クローズされたプルリクエスト 最終コミット


「始まりは終わりであり、終わりは始まりである。」

蛇は繰り返すのではなく、進化する。

MIT License

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。