コンテンツにスキップ

Nagi

Nagi はデータの期待状態を宣言的に定義し、その評価と収束を継続的に行う data reconciliation engine です。

Motivation

「ジョブの成功」は「データが期待どおりであること」を保証しません。ジョブが正常終了しても、データが古い、NULL が混入している、集計値に不整合がある、といったことは起こり得ます。

Nagi は「データが期待どおりであるか」の評価を起点に動作します。データの期待状態を継続的に評価し、乖離しているデータを見つけた場合は、それに対応する収束操作を実行します。期待状態と収束操作を宣言的に定義することで、状態評価と定常的な Extract/Load/Transform、障害対応をひとつのループに統合します。

Traditional Approach

graph LR
    subgraph Orchestrator["オーケストレーター"]
        Schedule["スケジュール /<br/>イベント起動"] --> Run["ジョブ実行"]
        Run --> JobFail{"ジョブ失敗?"}
        JobFail -->|No| Test["データテスト"]
        Test --> DataFail{"データ破損?"}
        DataFail -->|No| Schedule
        JobFail -->|Yes| Alert["アラート"]
        DataFail -->|Yes| Alert
    end
    subgraph Human["ユーザー"]
        Investigate["調査・修復"]
    end
    Alert --> Investigate
    Investigate --> Orchestrator

Nagi Approach

graph LR
    subgraph Nagi
        Eval["データの状態を評価"]
        Drift{"期待状態と<br>異なる?"}
        Conv["収束操作を実行"]
    end
    subgraph User["ユーザー"]
        Define["データの期待状態を定義"]
    end
    subgraph UserAI["ユーザー / AI エージェント"]
        Check["状態の確認"]
    end
    Define --> Eval
    Eval --> Drift
    Drift -->|No| Eval
    Drift -->|Yes| Conv
    Conv --> Eval
    Nagi -->|"アラート"| UserAI
    UserAI -->|"マニュアル操作"| Nagi

Principles

  • Declarative — Define the desired state; let Nagi handle convergence.
  • Composable — Use with your existing tools, or let Nagi take the wheel.
  • AI-collaborative — Designed for humans and AI agents to work as one.

What's Next

  • Concepts — Reconciliation Loop の仕組みを知る