Right Reasons について
Right Reasonsは、業務知識を4層のオントロジーに整理し、AIエージェントが意思決定の根拠を決定的に取得できるようにします。バージョン管理された関係、人間によるレビュー、OPS Contractで組織の推論を外部の作業項目につなぎます。
主な機能
- 01業務知識を4層のオントロジーで整理
- 02関係をたどって推論を追跡
- 03SQLによる決定的なクエリ
- 04候補変更のレビューとバージョン管理
- 05外部作業向けOPS Contractの生成
活用シーン
- 01業務上の決定やルールの根拠を追跡
- 02AIが提案した知識変更をレビューして登録
- 03外部タスクに組織の背景情報を付与
- 04オントロジーの差分と監査履歴を確認
MCP 対応
MCPサーバーは、オントロジー検索、グラフ走査、候補変更、OPS Contract、Dolt操作のための18個のツールを提供します。知識変更は、人間の認証後にのみ正規オントロジーへ登録できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Right Reasons
AI エージェントが組織の推論に確定的にアクセスできるようにする、構造化されたビジネスオントロジーです。
Markdown + RAG を使う AI エージェントは、「なぜ?」という質問に対して想起率が 0%です。同じエージェントが Right Reasons を使うと、想起率は 100%になります。独立した 2 人の評価者が、48 セッションにわたって検証しました。実験結果の全文 →
実験結果
実際のビジネス領域で検証しました(48 回の実行、8 種類のタスク、独立した 2 人の LLM 評価者)。
| 指標 | Markdown + RAG | Right Reasons | 差 |
|---|---|---|---|
| エンティティ想起率 | 0.514 | 0.976 | +90% |
| 「なぜ?」という質問の想起率 | 0.000 | 1.000 | 0% → 100% |
| 推論の品質 | 1.96 / 5 | 4.33 / 5 | +121% |
| 安定性(分散) | 1.457 | 0.472 | 3 倍安定 |
| レイテンシ | 284.6s | 183.8s | 35% 高速化 |
| ペア比較での勝利数 | 0 | 20 | (引き分け 4) |
機能
Right Reasons は、ビジネスナレッジを 4 層のオントロジーにマッピングします。
LORE (beliefs, worldview)
↓ interpreted_into
VISION (goals, theses, priorities, boundaries)
↓ operationalized_into
RULES (policies, decision rules, tactical concepts)
↓ applied_to
OPERATIONS (initiatives, decisions, tasks, events)
各層をつなぐすべての関係にはアサーションが付与されます。これは、その関係が存在する理由を明示的に説明するものです。これにより AI エージェントは、あらゆる業務上の意思決定から、その根拠となる基本的な信念までをたどることができます。
主な概念
- 確定的な検索:ベクトル検索ではなく SQL クエリを使用します。確率的なハルシネーションは発生しません。
- 具体化可能な関係:すべてのエッジに、バージョン管理された「なぜ?」の説明を付与できます。
- 人間による検証:AI が提案した変更はすべて、差分ベースの承認を経ます(Dolt はデータ版の Git です)。
- OPS Contracts:外部システムの作業に組織のコンテキストを付与する、推論エンベロープです。
- EPICAL パイプライン:抽出 → 熟考 → 質問 → 調整 → 認証 → 読み込み。
クイックスタート
前提条件
- Docker と Docker Compose
- Python 3.11+
1. データベースを起動する
docker compose up -d
これにより、スキーマとサンプルのシードデータを使って Dolt が初期化されます(4 つすべての層にわたる 11 個のオブジェクト、8 個の関係)。
2. MCP サーバーをインストールする
cd mcp-server
python -m venv .venv
source .venv/bin/activate
pip install -e .
3. AI エージェントを接続する
Claude Desktop / Claude Code の MCP 設定に追加します。
{
"mcpServers": {
"right-reasons": {
"command": "/path/to/mcp-server/.venv/bin/right-reasons-mcp",
"env": {
"RR_DOLT_HOST": "127.0.0.1",
"RR_DOLT_PORT": "3307",
"RR_DOLT_DATABASE": "right_reasons"
}
}
}
}
4. 試してみる
エージェントに次のように尋ねます。
Why did we choose Provider A over Provider B for identity?
Use the get_explanation_packet tool with object ID "ex_ops_02".
エージェントは、次の推論の連鎖をたどります。
- OPERATIONS:Provider A を選択(手頃な価格で、OIDC に対応)
- RULES:まず手頃な ID プロバイダーを使い、後で移行を計画する
- VISION:マイクロプレナー向けのセルフサービスツールを構築する
- LORE:小規模事業者は自分で会計処理を行いたいと考えている
MCP ツール(18)
クエリツール(9)
| ツール | 説明 |
|---|---|
list_objects | 層、タイプ、検索語、検証ステータスで絞り込んでオブジェクトを一覧表示 |
get_object | 単一オブジェクトの詳細を取得 |
list_relations | アサーションの説明付きで関係を一覧表示 |
get_relation_assertion | 関係のアサーション履歴全体を取得 |
traverse_graph | オントロジーグラフをたどり、「なぜ?」の連鎖を追跡 |
get_schema_info | すべてのオブジェクトタイプ(14)と関係タイプ(20)を取得 |
get_authentication_trail | 誰が提案、確認、検証したかの監査履歴 |
get_explanation_packet | オブジェクトのコンテキスト全体を 1 回の呼び出しで取得 |
query_sql | 高度なクエリ向けの読み取り専用 SQL |
変更ツール(4)
| ツール | 説明 |
|---|---|
create_session | EPICAL インテークセッションを開始 |
propose_object | 候補オブジェクトをステージング(昇格の前に認証が必要) |
propose_relation | 候補関係をステージング |
promote_candidate | 認証済み候補を正式版に昇格 |
OPS Contract ツール(3)
| ツール | 説明 |
|---|---|
generate_ops_contract | オントロジーから外部作業向けの推論エンベロープを自動生成 |
get_ops_contract | 解決済みの参照を含むコントラクトを取得 |
list_ops_contracts | ステータスまたは種類でコントラクトを一覧表示 |
Dolt ツール(2)
| ツール | 説明 |
|---|---|
dolt_status | 作業セットのステータス(git status と同様) |
dolt_diff | コミット間の行レベルの差分(git diff と同様) |
dolt_commit | メッセージを付けて変更をコミットします |
EPICAL:知識がオントロジーに取り込まれる仕組み
Right Reasons では、AI エージェントが正規オントロジーに直接書き込むことはできません。すべての知識は EPICAL パイプラインを通過します。
Source docs ──▶ EXTRACT ──▶ PONDER ──▶ INTERROGATE ──▶ CALIBRATE ──▶ AUTHENTICATE ──▶ LOAD
│ │ │ │ │ │
raw text identify challenge adjust human promote to
intake candidate claims & confidence validates canonical
objects & assumptions scores via Dolt ontology
relations diff review
| ステージ | 実行内容 | 担当 |
|---|---|---|
| Extract | ソース文書を解析して断片化します | エージェント |
| Ponder | 候補となるオブジェクトと関係を特定します | エージェント |
| Interrogate | 主張を検証し、欠落を明らかにします | エージェント |
| Calibrate | 確信度と持続性のスコアを調整します | エージェント |
| Authenticate | 人間が Dolt の差分を確認し、承認または却下します | 人間 |
| Load | 認証済みの候補を正規のステータスに昇格させます | エージェント |
認識論的な境界は厳格です。promote_candidate には、ステータスが authenticated または calibrated であることが必要です。エージェントが人間による検証を迂回することはできません。
OPS Contracts:外部作業のための推論エンベロープ
OPS Contracts は「ラストマイル」の課題、つまり組織の推論を実際に作業が行われるシステム(Jira、CI/CD、計画ツール)にどう届けるかを解決します。
OPS Contract はタスクマネージャーではありません。推論エンベロープ、つまり外部システムの作業項目に範囲を限定した組織的なコンテキストを添付するクリップです。
External work item OPS Contract Ontology
(Jira, GitHub, etc.) (reasoning envelope) (4 layers)
┌──────────────┐ ┌─────────────────────┐ ┌──────────────────┐
│ TASK-123: │────▶│ Clauses (from RULES)│◀────│ RULES: policies, │
│ Prepare │ │ Constraints │ │ decision rules │
│ annual │ │ Success criteria │ ├──────────────────┤
│ report │ │ References (31) │ │ VISION: goals, │
│ │ │ Reasoning chain (13)│ │ boundaries │
└──────────────┘ └─────────────────────┘ ├──────────────────┤
│ LORE: beliefs, │
│ worldview │
└──────────────────┘
エージェントは、1 回の呼び出しでこれを生成します。
generate_ops_contract(
external_work_ref="jira://TASK-123",
description="Prepare annual report for submission",
contract_kind="annual_reporting"
)
この契約は、実行エージェントに対して、このタスクがなぜ重要なのか、どのルールが適用されるのか、どの境界を越えてはならないのかを伝えます。エージェントがオントロジー全体を自ら照会する必要はありません。
スキーマ
完全なスキーマは schema/LOAD1st_bootstrap.sql にあります。
主要なテーブル:
rr_object— レイヤー、確信度、検証ステータスを含む正規のビジネスオブジェクトrr_relation— オブジェクト間の型付きエッジrr_relation_assertion— バージョン管理された「なぜ?」の説明(再化可能な関係)rr_object_type— 4 つのレイヤーにまたがる 14 種類の型rr_relation_type— 5 つのファミリーに属する 20 種類の関係タイプops_contract— 外部の作業項目向け推論エンベロープsrc_session、src_candidate_object、src_candidate_relation— EPICAL の取り込みパイプラインsrc_authentication_event、rr_validation_record— 監査証跡
オブジェクト型(14)
| レイヤー | 型 | 説明 |
|---|---|---|
| LORE | lore_item | 基盤となる信念または世界観の要素 |
| VISION | strategic_goal | より長期的に実現したい成果 |
| VISION | strategic_thesis | 成功をどのように生み出すかに関する方向性を示す信念 |
| VISION | strategic_priority | 戦略的な方向性間の相対的な重み付け |
| VISION | strategic_boundary | 戦略上の禁止領域または明示的な制限 |
| RULES | policy | 上位レイヤーの戦略から導かれる運用ポリシー |
| RULES | decision_rule | 行動を形作る個別のロジック |
| RULES | escalation_rule | 上位へのエスカレーションまたは人間によるレビューのトリガー |
| RULES | tactical_concept | 再利用可能な、適用済みの運用パターン |
| OPERATIONS | initiative | 範囲が定められた取り組みまたはプログラム |
| OPERATIONS | situation | 解釈を必要とする進行中の状況 |
| OPERATIONS | decision | 選択または推奨された行動方針 |
| OPERATIONS | task | 具体的な行動単位 |
| OPERATIONS | event | 観測された結果またはシグナル |
関係タイプ(20)
5つのファミリーに分類されています。再実体化可能な関係(✓)には、バージョン管理された主張の説明を付与できます。
Transition — 推論の中核を形成するレイヤー間のリンク:
| Code | Description | Reifiable |
|---|---|---|
interpreted_into | LORE → VISION の解釈上の移行 | ✓ |
operationalized_into | VISION → RULES の運用化 | ✓ |
applied_to | RULES → OPERATIONS の適用 | ✓ |
Structural — レイヤー内の関係:
| Code | Description | Reifiable |
|---|---|---|
supports | 肯定的な貢献 | |
constrains | 制限する関係 | |
conflicts_with | 緊張または対立 | |
depends_on | 依存関係 | |
affects | 実質的な影響 | |
relevant_to | 文脈上の関連性 |
Reasoning — 正当化と優先順位付け:
| Code | Description | Reifiable |
|---|---|---|
justified_by | 明示的な推論による裏付け | ✓ |
validated_against | 別のオブジェクトに照らした検証 | ✓ |
prioritized_over | 相対的な順位付け | ✓ |
escalates_to | エスカレーション先 | ✓ |
Governance — 所有権と権限:
| Code | Description | Reifiable |
|---|---|---|
owned_by | 所有権 | |
reviewed_by | レビュー関係 | |
authorized_by | 承認 | |
overridden_by | 上書き(説明を伴う) | ✓ |
Feedback — 観察と結果:
| Code | Description | Reifiable |
|---|---|---|
observed_in | コンテキスト内での観察 | |
resulted_in | 因果的な結果 | ✓ |
evaluated_by | 評価 | ✓ |
アーキテクチャ
┌─────────────┐ ┌──────────────┐ ┌──────────┐
│ AI Agent │────▶│ MCP Server │────▶│ Dolt │
│ (Claude, │ │ (Python / │ │ (Git │
│ GPT, etc.) │◀────│ FastMCP) │◀────│ for │
│ │ │ 18 tools │ │ data) │
└─────────────┘ └──────────────┘ └──────────┘
│
stdio / SSE / HTTP
- Dolt はデータに Git のセマンティクスを提供します:ブランチ、コミット、差分、マージ、PR 形式の検証
- MCP はエージェントとツール間の通信における事実上の標準です(SDK のダウンロード数は9,700万件以上)
- Python / FastMCP により、サーバーをシンプルに保てます(7ファイルで約700行)
例:OPS 契約の生成
generate_ops_contract(
external_work_ref="jira://TASK-123",
description="Prepare annual report for submission",
contract_kind="annual_reporting"
)
以下を含む推論エンベロープを返します:
- 条項:RULES レイヤーのオブジェクトから導出
- 制約:ポリシーから取得
- 成功基準:意思決定ルールと戦術的概念から取得
- 参照:全4レイヤーにわたるすべての関連オブジェクトへの参照
- 推論チェーン:LORE → VISION → RULES → OPS の全トレースを表示
ライセンス
Business Source License 1.1 — LICENSE を参照してください。
コントリビューション
Right Reasons は開発初期段階です。コントリビューションやビジネスでの利用に関心がある場合は、issue を作成するか、お問い合わせください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。