Ouroboros について
Ouroboros は、再実行可能でポリシーに基づく AI コーディングワークフロー向けのローカルファーストなランタイムです。曖昧な依頼を実行前に固定仕様へまとめ、対応するコーディングエージェントのランタイムで作業を記録・評価できます。
主な機能
- 01ソクラテス式の要件インタビュー
- 02実行前に仕様を固定
- 03操作の記録と再実行
- 043 段階の自動評価
- 05複数のコーディングエージェントランタイムに対応
活用シーン
- 01コーディングタスクの開始前に範囲を明確化
- 02固定仕様に沿って実装を進行
- 03記録されたエージェント作業を再実行・確認
- 04検証ゲートで生成コードを評価
MCP 対応
Ouroboros は対応するエージェントホストに MCP サーバーを登録し、インタビューやワークフローのツールを提供します。DeepSeek Harness 連携には `ouroboros_interview` と `ouroboros_auto` があり、ランタイム設定でも MCP を利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
36掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| cwd | string | いいえ | 相対 seed パスの解決に使用する作業ディレクトリです。 |
| skip_qa | boolean | いいえ | 実行後の QA 評価をスキップします。デフォルト:false |
| seed_path | string | いいえ | seed YAML ファイルへのパスです。パスが存在しない場合、この値はインラインの seed YAML として扱われます。 |
| model_tier | enum | いいえ | モデルティアのルーティング:small/medium/large → frugal/standard/frontier の実行ティア(信頼できる分解済みの子タスクは1段階下のティアで実行される場合があり、再試行時には引き上げられます)。省略すると自動ランタイム選択が維持されます。medium を明示的に渡すと standard ルーティングに固定されます。small | medium | large |
| session_id | string | いいえ | 再開に使用する任意のセッション ID です。指定しない場合、新しいセッションが作成されます。 |
| auto_evolve | boolean | いいえ | 連鎖評価の execution.auto_evolve を上書きします。true の場合、明示的に却下された評価によって、上限付きの Ralph 継続ループが開始されます。 |
| seed_content | string | いいえ | 実行するインラインの Seed YAML コンテンツ。 |
| auto_evaluate | boolean | いいえ | この呼び出しで execution.auto_evaluate を上書きします。true の場合、完了したバックグラウンドの execute_seed 実行は、正式な 3 段階評価を独立した上限付きバックグラウンドジョブとしてキューに追加します。 |
| max_iterations | integer | いいえ | 実行イテレーションの最大数。デフォルト:10 |
| efficiency_mode | enum | いいえ | 実行効率ポリシー。adaptive は、分解された AC を低コストのティアで開始し、復旧時にティアを引き上げることができます。quality_first は子項目を親項目の開始ティアに維持します。新規開始時に省略すると、設定済みの execution.default_policy が適用されます。それ以外の場合は adaptive がデフォルトです。adaptive | quality_first |
| conductor_directive | object | いいえ | 選択された conductor の判断からそのままコピーされた、範囲限定の修正コンテキスト。新しい後続実行にのみ適用されます。 |
| frugality_assurance | enum | いいえ | 節約性の保証:off、lightweight observe、または明示的な strict ベースライン適格性。デフォルトは efficiency_mode に従います。strict が暗黙的に有効になることはありません。off | observe | strict |
| conductor_decision_id | string | いいえ | 新しい後続実行を承認する、選択された conductor 判断のレシート。 |
| predecessor_execution_id | string | いいえ | 新しい後続実行が引き継ぐ実行 ID。 |
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
◯ ─────────── ◯
O U R O B O R O S
◯ ─────────── ◯
自ら賢くなっていきます。私たちはただ、筋を通すだけです。
プロンプトエンジニアリングは不要です。エージェントは実行し、失敗し、世代を重ねるごとに賢くなります。採点コマンドと期待される結果が、エージェントに渡す成功条件に含まれることはありません。
再現可能なAIコーディングワークフローのためのAgent OS
クイックスタート · 理由 · 成果 · 仕組み · コマンド · 理念 · ガイド
# 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 を実行してください。詳細はクイックスタートをご覧ください。
実行はそれぞれ別々のホストで行います。タスクも意図的に異なります。共有されるのはプロンプトではなくエンジンです
![]() ターミナルCLI — タスク管理CLI: ouroboros init startが順序と範囲について質問し、曖昧さスコアを報告します | ![]() ChatGPT(Codex) — 動画公開用ハーネスでインテグレーションとして呼び出されます:インタビュー、アドバイザリーレーン、曖昧さ台帳 |
![]() Claude Code — YouTube自動化タスクで、インタビューの送信前に6つのアドバイザリーレーンを並列実行します | ![]() Hermes(Discord) — カートレースゲームをチャットボットとして実行し、 最終的な曖昧さ:0.15で終了します |
![]() DeepSeek Harness — dshチャットから操作するOSSトレンドのアウトリーチスクリプト: mcp__ouroboros__ouroboros_interviewを各ターンで呼び出し、ラウンド間にファンアウト結果を送信します | ![]() Kiro — Kiro CLIがOuroborosのインタビューフローを実行し、曖昧なリクエストを構造化されたテスト可能なSeedに変換します |
![]() 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/ourocode | Claude / Codex / Gemini の CLI をまたいで、1 つのセッションで ooo ワークフローを実行するネイティブのターミナル UI | TUI、wonderTool の選択肢、MCP ペインの状態、コマンドの検出 |
| アプリ(ドメインワークフロー) | Ouro-labs/ouroboros-plugins | UserLevel プラグインのコントラクト — コアプリミティブを組み合わせ、インストール可能なドメインプログラム(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"
この録画は、まさにこのコマンドを実行したものです。インストールする前にツールを確認できるよう、このページの先頭に掲載しています。
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
詳細については、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
レビューを始めて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 がない限り、時期尚早なコーディングを阻止します |
| 評価 | 「問題なさそう」/手動 QA | 3段階の自動ゲート:機械的 -> 意味的 -> 複数モデルによる合意 |
| 手戻り率 | 高い — 誤った前提が後になって明らかになります | 低い — 前提は PR レビューではなく、インタビューで明らかになります |
ループ
自らの尾をむさぼり食う蛇、ウロボロスは飾りではありません。これこそがアーキテクチャです。
Interview -> Seed -> Execute -> Evaluate
^ |
+---- Evolutionary Loop ----+
サイクルは繰り返されるのではなく、進化します。評価の出力が次の生成の入力としてフィードバックされ、システムが構築しているものを真に理解するまで続きます。
| フェーズ | 内容 |
|---|---|
| Interview | ソクラテス式の質問で、隠れた前提を明らかにします |
| Seed | 回答が不変の仕様へと結晶化します |
| Execute | ダブルダイヤモンド:Discover -> Define -> Design -> Deliver |
| Evaluate | 3段階のゲート:機械的($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 setup | ouroboros setup | ランタイムを登録し、プロジェクトを設定します(一度限り) |
ooo interview | ouroboros init start | ソクラテス式の質問で、隠れた前提を明らかにします |
ooo auto | ouroboros auto | 目標 → A 評価の Seed → 制限付きループで実行へ引き継ぎます |
ooo seed | (interview で生成) | 不変の仕様へと結晶化します |
ooo run | ouroboros run seed.yaml | ダブルダイヤモンド分解によって実行します |
ooo evaluate | (MCP 経由) | 3 段階の検証ゲート |
ooo evolve | (MCP 経由) | オントロジーが収束するまで進化ループを実行します |
ooo unstuck | (MCP 経由) | 行き詰まったときに使える、水平思考の 5 つのペルソナ |
ooo status | ouroboros status executions / ouroboros status execution <id> | セッションの追跡と(MCP 専用の)ドリフト検出 |
ooo resume-session | ouroboros resume | 進行中のセッションを一覧表示し、再接続コマンドを表示します |
ooo cancel | ouroboros cancel execution [<id>|--all] | 停滞した実行や孤立した実行をキャンセルします |
ooo ralph | (MCP 経由) | 検証されるまで永続的なループを実行します |
ooo tutorial | (対話型) | 対話型のハンズオン学習 |
ooo help | ouroboros --help | 完全なリファレンス |
ooo pm | (MCP 経由) | PM に特化したインタビューと PRD の生成 |
ooo qa | (スキル経由) | あらゆる成果物に対する汎用的な QA 判定 |
ooo update | ouroboros 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 のデータから生成され、自動的に更新されます。キャッシュにより更新が遅れる場合があります。
「始まりは終わりであり、終わりは始まりである。」
蛇は繰り返すのではなく、進化する。
MIT License
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。






