ポートフォリオに戻る

プロジェクト概要

KGBase

KGBase

企業システムの設計書・業務資料を構造化し、設計対象・関係・証拠を知識グラフとして管理する基盤です。資料ナビゲーション、差分確認、影響範囲分析、将来的なコード実装検証までを支えることを目的としています。

Python / FastAPI PostgreSQL + AGE Elasticsearch Kafka MinIO Knowledge Graph

プロジェクト概要

企業の設計資産を構造化し、設計対象・関係・証拠を一貫して管理する知識グラフ基盤です。

主線本体は、L1 資料構造層、L2 設計記述層、L3 設計オブジェクト層、L4 関係・整合層で構成しています。L4B は後から接続するコード実装検証層として切り分けています。設計書が古い、資料が分散している、変更時の影響範囲を追いにくい現場での活用を想定しています。

課題

  • 関連する資料や章を見つけにくい
  • 用語や設計の意味が文書ごとにずれる
  • 変更時の影響範囲が追いにくい
  • 設計書と実装の差分確認に時間がかかる

今できること

  • 主線本体(L1〜L4)の読み込みと管理
  • フォルダと文書の取り込み
  • 資料構造と metadata の整理
  • DesignFragment・設計オブジェクト・関係候補の抽出
  • Staging Area での確認と Graph 化

今後の拡張

  • コード解析モジュールの接続
  • 設計書復元の強化
  • 三者差分確認の強化
  • コード側の影響分析強化

進め方

どう解くか

次の 4 ステップで、KGBase の本体設計と Graph の考え方を示します。

1

本体を先に決める

L1 資料構造、L2 設計記述、L3 設計オブジェクト、L4 関係・整合を先に定義し、AI が自由に schema を増やさないようにします。

2

文書から候補を作る

資料を読み、`DesignFragment`、設計オブジェクト、正式関係の候補を抽出します。

3

候補を人が確認する

AI の結果をそのまま使わず、Staging Area で確認します。

4

確認済み結果を Graph にする

確認済みの `DesignFragment`、設計オブジェクト、正式関係を Graph として保持し、検索、比較、差分確認、影響分析に使います。

全体像

システム全体像

この図で、何を入力し、どう処理し、何を Graph として保持し、何に使うかを示します。L1〜L4 と L4B はその下で簡潔に説明します。

flowchart LR
    A["文書 / フォルダ"]
    B["文書解析"]
    C["DesignFragment / オブジェクト / 関係候補"]
    D["Staging Area"]
    E["人手確認"]
    F["確認済み Graph"]
    G["検索・差分確認・影響分析"]
    H["L4B コード実装検証層(後接)"]

    A --> B --> C --> D --> E --> F --> G
    H -.-> F

主線本体(L1〜L4)

L1 資料構造層、L2 設計記述層、L3 設計オブジェクト層、L4 関係・整合層を先に定義し、主線として扱います。

L4B コード実装検証層(後接)

あとから接続し、確認済み Graph に対して check と証拠補強を行います。

設計の考え方

設計で大事にしていること

本体を先に定義する

主線本体は L1〜L4 で定義し、L4B は後から接続する層として分けます。

AI の結果をそのまま正式化しない

すべての候補は一度 Staging Area に置き、人が確認してから正式化します。

確認済み結果を Graph として持つ

確認済みの `DesignFragment`、設計オブジェクト、正式関係を Graph として保持し、あとからたどれるようにします。

証拠と拡張性を残す

source_link で元資料へ戻れるようにし、L4B コード実装検証層をあとから追加できる構成にしています。

詳細資料を開く 面接中に深掘りされたときだけ使う想定です 詳細版
詳細資料を開くと内容を表示します。