← 기사 목록
日本語https://zenn.dev/topics/llm/feed

土木事業管理における知識・判断継承のためのRAGシステム構築提案書(素案)

추출된 키워드

50
RAGシステム·5GraphRAG·5VectorRAG·5ドメインオントロジー·5CogGRAG·5土木事業管理·5認知思考型RAG·4LLM·4ナレッジグラフ·4HybridRAG·4多段推論·4技術基準書·4道路法·4河川法·4トリプル·4知識・判断継承·4Gremlin·3SPARQL·3Property Graph·3RDF·3ナレッジマップ·3エンティティリンク·3PDFのMD化·3ノード単語辞書·3類似単語辞書·3owl:sameAs·3Mermaid·3ハルシネーション·3河川砂防技術基準·3OWL公理·3SHACL·3公式スキーマ·3根拠提示·3非構造化テキスト·3マルチエージェント監理構造·3Provenance·3ナレッジ更新·3TTL·32トラック実装戦略·3docling·2cosine_similarity·2cl-nagoya/sup-simcse-ja-large·2sentence_transformers·2PoC·2YAMLフロントマター·2IBM·2pymupdf4llm·2marker-pdf·2Drools·2盛土補強工法·2

원문

35,946
土木事業管理における知識・判断継承のためのRAGシステム構築提案書(素案)

土木事業管理における知識・判断継承のためのRAGシステム構築提案書(素案)

土木事業管理における知識・判断継承のためのRAGシステム構築提案書(素案)

作成日: 2026年5月
対象: 事業管理部門・技術管理部門の意思決定者および技術担当者

エグゼクティブサマリー

本提案は、土木事業管理における「ベテラン技術者の暗黙知・判断ロジックの消失」という構造的課題に対し、4つの先進技術を統合したRAGシステムで解決することを目指すものである。

技術要素役割主な効果
GraphRAG 法令・基準間の関係をグラフ構造で保持多段推論(2ホップ以上)の実現
VectorRAG 非構造化テキストの意味検索類似事例・実務知識の高速参照
ドメインオントロジー 概念・用語の公式スキーマ定義用語の一意化・推論ルールの基盤
CogGRAG 人間の思考プロセスを模倣した問題分解複雑な問いへの構造化した推論

従来のVectorRAG単体と比較して、ハルシネーションの大幅抑制根拠提示(Provenance)による説明可能性の向上ナレッジ更新の自動化を実現する。

2トラック実装戦略: 本提案は段階的に着手できる2トラック構成を採用する。

トラックアプローチ期間対象
Track A(簡易) MD+システムプロンプトで近似実現(§4-B)数日〜1週間PoC・試用・小規模運用
Track A+C(★主力推奨) MD+マルチエージェント監理構造(§4-B/C)1〜2週間大多数の実務用途に対応。AIの進歩を直接享受
Track B(本格) 7ステップ+インフラ構築による完全実装(§4)2ヶ月〜法的監査証跡・10万件超・複数組織スキーマ共有

1. 背景と目的

土木事業管理の実務は、河川法・道路法をはじめとする複雑な法令、膨大な技術基準書、および現場特有の専門用語(ドメイン知識)が高度に絡み合う領域である。

従来のVectorRAGでは、関連するテキスト断片(チャンク)を類似度だけで抽出するため、複数の文書や条文にまたがる「関係の連鎖」を辿ることができない。その結果、以下の土木実務特有の課題において回答精度が著しく低下していた。

  • 多段推論の限界: 「基準Aの改定が、それに紐づく基準Bの適用条件、さらには現場報告書Cの工法選択にどう波及するか」といった複数の関係性を順に辿る推論ができない。
  • 知識の断片化: 文書を機械的に分割してベクトル化するため、概念間の意味的なつながりや体系的な文脈が失われる。
  • 用語の曖昧性: 同一概念が複数の略語・表記で登場した際に同一エンティティとして認識できない。

本プロジェクトでは、「HybridRAG(GraphRAG × VectorRAG)」「CogGRAG」「ドメインオントロジー」を統合し、ベテラン技術者の判断ロジックをAIが正確に再現・継承できる知識基盤を構築する。

2. 全体アーキテクチャ

3. 採用技術の詳細

3.1 GraphRAG(ナレッジグラフ検索)

  • 役割: 法令・技術基準・マニュアル間の「依存関係」「包含関係」をノード(実体)とエッジ(関係)による知識グラフとして保持する。
  • 適した問い: 「〇〇工法の適用を制限する河川法の条文はどれか」など、事実に基づき明確に特定できる抽出的な問い。
  • 利点: 多段の依存関係を正確にトレースした回答生成が可能。

3.2 VectorRAG(ベクトル類似度検索)

  • 役割: 過去の施工トラブル報告書・現場進捗記録などの非構造化テキストから、意味的な類似性に基づいて類似事例を検索する。
  • 適した問い: 「過去の軟弱地盤対策におけるトラブルの共通傾向は何か」など、生データに直接明示されていない抽象的なニュアンスを汲み取る要約的な問い。

3.3 CogGRAG(認知思考型RAG)

  • 役割: 人間の専門家が複雑な問題に直面した際の「思考の構造化」を模倣するフレームワーク。
  • メカニズム: 複雑な問いをマインドマップ状の「木構造」に自動分解し、各サブプロブレムに対してローカル・グローバル双方のナレッジグラフから構造的に検索し、ボトムアップで結論を導き出す。一足飛びの推論によるカスケードエラーを防ぐ。

3.4 ドメインオントロジー(知識の公式スキーマ)

オントロジーはシステム全体の「公式用語辞書」かつ「推論の基盤」であり、GraphRAGとCogGRAGの品質を根底から支える。

オントロジーが果たす役割

  • 用語の一意定義: 同義語・略語を正規化し、同一エンティティとして一貫して扱う(例: 「設計洪水位」「H.W.L」「計画高水位」を同一ノードに統合)。
  • 概念間関係の明示: 包含・依存・適用条件などの関係タイプを型として定義し、推論の精度を高める。
  • 推論ルールの基盤: 「条文Aが適用される場合、手続きXが必要」というルールをSHACLやOWL公理として表現し、自動判定を可能にする。

土木事業管理オントロジーの最小スキーマ

クラス主要プロパティ具体例
法令
施行年、所管省庁、委任先河川法、道路法
技術基準
参照法令、工事区分、発行年度河川砂防技術基準
工法
適用条件、制限条件、準拠基準盛土補強工法
構造物
種別、適用法令、設計基準堤防、橋梁
現場報告
工事番号、発注者、日付施工報告書2024-X号
リスク要因
影響を与える工法・構造物軟弱地盤、出水期

プロパティ(関係):

適用する
,
参照する
,
定義する
,
委任する
,
影響を与える
,
準拠すべき

TTLサンプル(説明用)

@prefix ex: <http://example.org/ontology#> .
ex:河川法_第26条 a ex:法令 ;
    ex:適用する ex:工作物新築許可 .
ex:工作物新築許可 ex:適用される ex:堤防掘削 .
ex:堤防掘削 a ex:工法 ;
    ex:準拠すべき ex:河川砂防技術基準 .

オントロジーのシステム統合ポイント

  • エンティティリンク: 文書トークンをオントロジーのエントリにマップし、ノードIDを付与する。
  • トリプル格納: 抽出したトリプルをKnowledge Graph(RDF/Property Graph)へ投入し、ソース(文書ID/ページ)をノード・エッジプロパティとして保持する。
  • 制約検索: GraphRAGはオントロジースキーマに基づくSPARQL/Gremlinクエリを実行する。
  • 推論エンジン: OWL推論・SHACL検証・ルールエンジン(Drools等)でドメインルールと整合性検査を行う。
  • 生成フェーズ: CogGRAGの各思考ステップにオントロジー由来の制約と根拠ノードリストを付与してLLMに渡す。

4. RAG知識整理の7ステップ実施手順

既存PDF等の資料をナレッジグラフ・オントロジーとして整備し、CogGRAGの推論テンプレートまで完成させるための具体的な実施手順を示す。各ステップは順番に依存しており、前ステップの成果物が次ステップのインプットとなる。

各ステップと採用技術(§3)の対応:

Step作業内容主に寄与する採用技術成果物
1 PDFのMD化 VectorRAG(テキストチャンク生成)
.md
ファイル群
2 MDへのメタデータ付与 GraphRAG(ノード候補の抽出) / ドメインオントロジー(エンティティ分類)
.entities.json
3 ノード単語辞書の作成 GraphRAG(グラフノード定義) / ドメインオントロジー(クラスインスタンス登録)
node_dictionary.json
4 類似単語辞書の作成 VectorRAG(クエリ正規化・同義語展開) / ドメインオントロジー
owl:sameAs
synonym_dictionary.json
5 Mermaidナレッジ図の作成 GraphRAG(エッジ=トリプルの可視化)
triples.json
/ Mermaid図
6 オントロジーの作成 ドメインオントロジー(クラス・推論ルール・SHACL制約の形式化)
ontology.ttl
7 CogGRAG推論テンプレートの作成 CogGRAG(問題分解パターン・サブクエリ・推論チェーン設計)
decomp_templates.yaml

Step 1〜7 で4技術がすべてカバーされる。CogGRAG(Step 7)はStep 1〜6の成果物を組み合わせて機能するため、必ず最後に実施する。

Step 1:PDFのMD化

目的: 原文書の構造(見出し・表・条文番号)を保持しながらテキストを機械処理可能な形式に変換する。

推奨ツール:

ツール特徴向いている文書
marker-pdf
高精度・レイアウト保持技術基準書・マニュアル
pymupdf4llm
高速・表変換が得意表が多い仕様書
docling
(IBM)
複雑レイアウト対応図表混在の報告書

出力フォーマット(YAMLフロントマター付き):

---
doc_id: "kasen_law_26"
title: "河川法(抜粋)"
doc_type: "法令"
applicable_law: "河川法"
issue_date: "2023-04-01"
organization: "国土交通省"
work_type: ["河川", "堤防"]
---

## 第26条 工作物の新築等の許可

河川区域内の土地において工作物を新築し、改築し、又は除却しようとする者は、
国土交通省令で定めるところにより、河川管理者の許可を受けなければならない。

チェックポイント: 見出し階層・表・条文番号が正しく変換されているか人手で抜き取り確認する。

Step 2:MDにノード単語のメタデータ付与

目的: MD内の専門用語をエンティティとして識別し、後続のノード辞書作成に必要なタグ情報を付与する。

エンティティ種別(タイプ定義):

タイプ
法令
河川法第26条、道路法第32条
技術基準
河川砂防技術基準、道路設計要領
工法
盛土補強工法、深層混合処理工法
構造物
堤防、橋梁、擁壁
手続き
河川管理者許可、占用申請
リスク要因
軟弱地盤、出水期、液状化

処理方法(LLMプロンプト例):

以下のMarkdownテキストから土木実務のエンティティを抽出し、
JSON形式で返してください。
タイプは[法令, 技術基準, 工法, 構造物, 手続き, リスク要因]から選択。

テキスト:
{chunk_text}

出力形式:
[{"text": "河川法第26条", "type": "法令", "start": 15, "end": 23}, ...]

付与後のMD(サイドカーJSON方式):

// kasen_law_26.entities.json
[
  {"text": "河川管理者の許可", "type": "手続き", "node_id": "河川管理者許可", "section": "第26条"},
  {"text": "工作物", "type": "構造物", "node_id": "工作物", "section": "第26条"}
]

注意: サイドカーJSON方式のため、MDファイル本体(。エンティティ情報は
kasen_law_26.md
)は変更しない
kasen_law_26.entities.json
として隣に置く。Step 3でこのJSONをまとめてノード辞書へ統合する。

Step 3:ノード単語辞書の作成

目的: Step 2で抽出した全エンティティを一元管理する辞書を作成し、ノードIDと正規形を確定する。

辞書スキーマ(1レコード例):

{
  "node_id": "河川法_第26条",
  "canonical_name": "河川法第26条",
  "entity_type": "法令",
  "definition": "河川区域内における工作物の新築・改築・除却に河川管理者の許可を義務付ける条文",
  "source": {
    "doc_id": "kasen_law_26",
    "section": "第26条",
    "page": 12
  },
  "aliases": []
}

辞書MD版(人が読む形式):

## 河川法第26条
- **ノードID**: 河川法_第26条
- **タイプ**: 法令
- **定義**: 河川区域内における工作物の新築・改築・除却に河川管理者の許可を義務付ける条文
- **出典**: 河川法 第26条(p.12)

管理ファイル:

node_dictionary.json
および
辞書MD/法令.md
,
辞書MD/工法.md
等をタイプ別に分割して管理する。

Step 4:ノード単語辞書の類似単語辞書の作成

目的: 同一概念の異なる表記・略語・関連語を一つの正規ノードに集約し、検索時の漏れを防ぐ。

作成方法(2段階):

① 埋め込みベクトルによる自動検出:

# 全ノードの canonical_name を埋め込みベクトル化
from sentence_transformers import SentenceTransformer
import numpy as np

model = SentenceTransformer("cl-nagoya/sup-simcse-ja-large")
names = [node["canonical_name"] for node in node_dict]
embeddings = model.encode(names)

# コサイン類似度でペアを抽出(閾値0.85以上を候補として提示)
from sklearn.metrics.pairwise import cosine_similarity
sim_matrix = cosine_similarity(embeddings)

② LLMによる略語・同義語生成:

以下の土木専門用語について、
同義語・略語・別称・関連表現を列挙してください。

用語: 設計洪水位
出力: ["H.W.L", "HWL", "計画高水位", "設計最高水位", "計画洪水位"]

類似単語辞書スキーマ:

{
  "node_id": "設計洪水位",
  "canonical_name": "設計洪水位",
  "synonyms": ["H.W.L", "HWL", "計画高水位", "設計最高水位"],
  "related_terms": ["計画高水流量", "計画規模", "基本高水"],
  "narrower": [],
  "broader": ["洪水位"]
}

辞書MD版(人が読む形式):

## 設計洪水位
- **ノードID**: 設計洪水位
- **タイプ**: 技術基準値
- **同義語**: HWL, H.W.L, 計画高水位, 設計最高水位
- **関連語(上位)**: 洪水位
- **関連語(周辺)**: 計画高水流量, 計画規模, 基本高水

管理ファイル:

synonym_dictionary.json
(機械処理用)+
辞書MD/同義語.md
(人手レビュー用)。RAGの検索前処理でクエリ中の単語をこの辞書で正規化してから検索する。

Step 5:ナレッジとしての単語連携Mermaid作成

目的: Step 3・4のノード間の関係(トリプル)を可視化し、ナレッジグラフの構造を人が確認・修正できる形にする。

トリプル抽出プロンプト:

以下のテキストから「主語 - 述語 - 目的語」の関係を抽出し、
JSON形式で返してください。
述語は[規定する, 適用される, 準拠すべき, 要求する, 委任する,
       定義する, 影響を与える, 違反した, 参照する]から選択してください。

テキスト: {chunk_text}

出力:
[{"subject": "河川法第26条", "predicate": "規定する", "object": "工作物新築許可", "source": "kasen_law_26:p12"}]

Mermaid生成(トリプルからの自動変換):

def triples_to_mermaid(triples: list[dict]) -> str:
    lines = ["graph LR"]
    for t in triples:
        s = t["subject"].replace(" ", "_")
        o = t["object"].replace(" ", "_")
        lines.append(f'    {s}["{t["subject"]}"] -- "{t["predicate"]}" --> {o}["{t["object"]}"]')
    return "\n".join(lines)

出力例(土木事業管理コンテキスト):

管理ファイル:

triples.json
(全トリプル)+
knowledge_map/[テーマ名].md
(テーマ別Mermaid図)

knowledge_map/[テーマ名].md のフォーマット:

---
doc_id: "knowledge_map_kasen"
title: "河川法関連ナレッジマップ"
doc_type: "ナレッジ図"
theme: "河川法"
source_steps: ["Step3", "Step4"]
---

河川法関連ナレッジマップ

収録トリプル一覧

主語述語目的語出典
河川法第26条規定する工作物新築許可kasen_law_26:p12
工作物新築許可適用される堤防掘削工事kasen_law_26:p12
堤防掘削工事準拠すべき河川砂防技術基準kasen_standard:p5

テーマ別に1ファイル作成する(例:

knowledge_map/河川法.md
,
knowledge_map/道路法.md
)。収録トリプル一覧があることで、人手での確認・修正が容易になる。

Step 6:オントロジー作成

目的: Step 3〜5で蓄積したノード・関係を形式化し、推論ルール・整合性制約を定義する。これによりRAGの検索精度と自動判定能力が向上する。

① クラス・プロパティ定義(TTL形式):

@prefix ex: <http://example.org/doboku#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

# クラス定義
ex:法令      a owl:Class .
ex:技術基準  a owl:Class .
ex:工法      a owl:Class .
ex:構造物    a owl:Class .
ex:手続き    a owl:Class .
ex:リスク要因 a owl:Class .

# プロパティ定義
ex:規定する    a owl:ObjectProperty ; rdfs:domain ex:法令 ;     rdfs:range ex:手続き .
ex:適用される  a owl:ObjectProperty ; rdfs:domain ex:手続き ;   rdfs:range ex:工法 .
ex:準拠すべき  a owl:ObjectProperty ; rdfs:domain ex:工法 ;     rdfs:range ex:技術基準 .
ex:委任する    a owl:ObjectProperty ; rdfs:domain ex:法令 ;     rdfs:range ex:法令 .
ex:影響を与える a owl:ObjectProperty ; rdfs:domain ex:リスク要因 ; rdfs:range ex:工法 .

② 同義語の統合(OWL sameAs):

ex:設計洪水位 owl:sameAs ex:HWL .
ex:設計洪水位 owl:sameAs ex:計画高水位 .

③ 推論ルール(SHACL制約の例):

@prefix sh: <http://www.w3.org/ns/shacl#> .

ex:工法制約 a sh:NodeShape ;
    sh:targetClass ex:工法 ;
    sh:property [
        sh:path ex:準拠すべき ;
        sh:minCount 1 ;                  # 工法は必ず技術基準を持つ
        sh:class ex:技術基準 ;
        sh:message "工法には準拠すべき技術基準が必要です" ;
    ] .

④ ステップ成果物とRAGへの接続:

成果物用途
ontology.ttl
Knowledge GraphのスキーマとしてGraph DBに登録
node_dictionary.json
エンティティリンク処理の正規化辞書
synonym_dictionary.json
クエリ前処理・ベクトル検索の拡張辞書
triples.json
Knowledge Graphのエッジデータ
knowledge_map/*.md
人手レビュー・ドキュメント共有用

Step 7:CogGRAG推論テンプレートの作成

目的: Step 1〜6で整備した知識基盤を活用して、CogGRAGが複雑な問いを「どう分解し・どの知識源をどの順で参照するか」を定義する問題分解テンプレートを作成する。これが存在しないとCogGRAGは汎用的な分解しかできず、土木実務特有の推論ができない。

テンプレートの構成要素:

要素説明
query_pattern
このテンプレートが対応する問いのパターン(正規表現またはキーワード)
decomposition
問いを分解するサブクエリのリスト(順序・依存関係付き)
knowledge_sources
各サブクエリで参照すべき知識源(GraphRAG / VectorRAG / オントロジー)
reasoning_chain
サブクエリの結果を統合するロジック(AND条件 / OR条件 / 推移的結合)
validation_rule
最終回答の整合性チェックルール(例: SHACL制約との照合)

テンプレートYAMLサンプル:

# decomp_templates.yaml
templates:
  - id: "工法適用可否判定"
    query_pattern: "(?:工法|施工方法).+(?:適用|使用|採用).+(?:可能|問題|許可)"
    decomposition:
      - step: 1
        subquery: "対象工法はどの技術基準に準拠すべきか"
        source: GraphRAG        # triples.json + ontology.ttl
        sparql_hint: "SELECT ?standard WHERE { ?method ex:準拠すべき ?standard }"
      - step: 2
        subquery: "その技術基準に関連する法令条文は何か"
        source: GraphRAG        # 2ホップ: 工法→基準→法令
      - step: 3
        subquery: "現場条件(地盤・時期等)に類似した過去事例はあるか"
        source: VectorRAG       # synonym_dictionary.json で正規化後に検索
      - step: 4
        subquery: "法令・基準・事例に矛盾はないか"
        source: Ontology        # SHACL制約で整合性確認
    reasoning_chain: "step1 AND step2 → 法的根拠確定; step3 → 実績補強; step4 → 最終検証"
    validation_rule: "ex:工法制約(sh:minCount 1 on ex:準拠すべき)を満たすこと"

  - id: "法令改定影響分析"
    query_pattern: "(?:法令|基準|告示).+(?:改定|改正|変更).+(?:影響|波及|適用)"
    decomposition:
      - step: 1
        subquery: "改定された条文を参照しているノードを列挙"
        source: GraphRAG
        sparql_hint: "SELECT ?node WHERE { ?node ex:参照する <改定条文URI> }"
      - step: 2
        subquery: "そのノードに依存する工法・手続きを列挙(推移的閉包)"
        source: GraphRAG        # 多段ホップ
      - step: 3
        subquery: "影響を受ける工法の代替案はあるか"
        source: VectorRAG
    reasoning_chain: "step1 → step2(推移的)→ step3(代替案補完)"
    validation_rule: "影響ノード数 > 0 の場合は必ず根拠トリプルを出力"

テンプレート作成手順:

  • 典型問い収集: 担当者へのヒアリングや過去のQAログから代表的な問いを20〜50件収集する。
  • クラスタリング: 問いを「工法適用可否」「法令解釈」「リスク評価」「手続き確認」等のカテゴリに分類する。
  • 分解パターン設計: 各カテゴリに対してサブクエリ・知識源・統合ロジックをYAML化する。
  • テスト検証:
    triples.json
    node_dictionary.json
    ontology.ttl
    を使って実際にSPARQLクエリとベクトル検索を実行し、期待する回答が得られるか確認する。
  • 反復改善: 回答が不十分な場合は Step 2〜6 に戻り、不足ノード・トリプル・制約を補強する。

管理ファイル:

decomp_templates.yaml
(全テンプレート)+
test_queries/[カテゴリ].md
(テストQAセット)

4-B. 簡易実装アプローチ:MD+AI指示による近似実現

§4(7ステップ)はフル実装版である。PoC・小規模運用では、4種のMDファイル+システムプロンプトで同等の効果を近似できる。インフラ不要・構築期間は数日単位。

フル実装 vs 簡易実装の対応関係

フル実装(7ステップ)採用技術簡易実装での代替手段
Step 1: PDF→MD変換VectorRAG 同じ(変換ツールは共通)
Step 2: エンティティ抽出GraphRAG / オントロジー
entity_dictionary.md
の手動作成
Step 3: ノード単語辞書GraphRAG / オントロジー
entity_dictionary.md
の定義欄
Step 4: 類似単語辞書VectorRAG / オントロジー
entity_dictionary.md
の同義語欄
Step 5: Mermaidナレッジ図GraphRAG
knowledge_map.md
(Mermaid図のみ)
Step 6: OWL/SHACL オントロジードメインオントロジー
system_prompt.md
の制約ルール欄
Step 7: CogGRAGテンプレートCogGRAG
system_prompt.md
の回答手順欄

簡易実装のファイル構成

knowledge/
├── source_docs/             # Step 1と同じ: PDF→MD変換済み文書
│   ├── 河川法抜粋.md
│   └── 河川砂防技術基準.md
├── entity_dictionary.md     # Steps 2-4の代替
├── knowledge_map.md         # Step 5と同じ(Mermaid図)
└── system_prompt.md         # Steps 6-7の代替(AIへの指示)

entity_dictionary.md(Steps 2-4 代替)

エンティティ定義・タイプ・同義語をMarkdownテーブルで管理する。LLMはこのファイルをRAGで参照して用語を正規化する。

---
doc_id: "entity_dictionary"
doc_type: "辞書"
---

エンティティ辞書

ノードID正規名タイプ定義(1行)同義語・略語
設計洪水位設計洪水位技術基準値設計に用いる洪水時の水位HWL, H.W.L, 計画高水位, 設計最高水位
河川法_26河川法第26条法令河川区域内工作物の新築等の許可義務河川法26条, 第26条(河川)
盛土補強工法盛土補強工法工法軟弱地盤での盛土安定のための補強工法盛土補強, 補強盛土
軟弱地盤軟弱地盤リスク要因沈下・液状化リスクのある地盤軟弱地

関係定義

関係タイプ意味
規定する法令が手続きを定める河川法第26条 → 工作物新築許可
準拠すべき工法が技術基準に従う必要盛土補強工法 → 河川砂防技術基準
影響を与えるリスク要因が工法選定に影響軟弱地盤 → 盛土補強工法

knowledge_map.md(Step 5 代替)

Mermaid図で概念間の関係を可視化する。RAGのコンテキストに含めることで、LLMが関係を辿って回答できる。

---
doc_id: "knowledge_map"
doc_type: "ナレッジ図"
---

土木事業管理ナレッジマップ

system_prompt.md(Steps 6-7 代替)

このファイルをDify・n8n等のRAGシステムのシステムプロンプトとして設定する。オントロジーの制約ルールとCogGRAGの分解手順をAIへの指示として記述する。

役割

あなたは土木事業管理専門のAIアシスタントです。
参照可能なファイルは

source_docs/
(法令・基準書)、
entity_dictionary.md
(用語定義)、
knowledge_map.md
(概念関係図)です。

回答手順(CogGRAGの代替)

  • 問いの分解: 問いを以下の観点に分解する
    • ① 関連する法令・条文は何か
    • ② 準拠すべき技術基準は何か
    • ③ 類似の過去事例はあるか
    • ④ リスク要因に影響はあるか
  • 用語の正規化:
    entity_dictionary.md
    を参照し、略語・別称を正規名に統一する
  • 関係の確認:
    knowledge_map.md
    の関係図を参照し、関連ノードを辿る
  • 回答の整合確認: 以下の制約ルールに違反しないか確認してから回答する

制約ルール(オントロジー・SHACLの代替)

  • 工法を提案する場合: 必ず準拠すべき技術基準を明示すること
  • 法令を引用する場合: 条文番号(例: 第26条)まで特定すること
  • 根拠の明示: 回答の最後に「根拠: [文書名, セクション]」の形式で出典を記載すること
  • 不明な場合: 推測で回答せず「該当する規定が確認できませんでした」と明示すること

回答フォーマット

回答: [結論を1〜2文で]

根拠:

  • 法令: [条文名・番号]
  • 技術基準: [基準名・セクション]
  • 事例: [関連文書名](あれば)

3トラック比較

観点Track A

MD+単一プロンプト

Track A+C

MD+マルチエージェント

Track B

フル実装(7ステップ)

構築期間数日1〜2週間数ヶ月
インフラ不要不要Graph DB + Vector DB
更新コスト MD編集のみ(最低) MD編集のみ(最低) 複数DB更新(高い)
分業化 MD担当者のみで可 MD担当者のみで可 知識エンジニア必須
多段推論精度低(LLM依存)中(エージェント連携)高(SPARQL厳密走査)
整合性検証プロンプト依存監理エージェントが検証SHACL自動検証
変化への対応即日(MD更新のみ) 即日(MD更新のみ) 数時間〜数日(DB再構築)
AIの進歩の恩恵直接受ける 直接受ける 限定的(インフラが固定)
推奨用途 試用・小規模 ★主力推奨 監査証跡・大規模・マルチ組織

4-C. マルチエージェント拡張:監理構造による品質向上

理論的な答え:「可能」— ただし限界は異なる

簡易実装(Track A)の弱点は「1回のLLM呼び出しがすべてを担う」ことにある。
マルチエージェントで役割を分離相互監視させることで、フル実装(Track B)の主要機能を段階的に代替できる。

マルチエージェント構成(5エージェント)

各エージェントの役割:

エージェント役割参照先代替する技術
オーケストレーター 問いを「法令/基準/事例/リスク」に分解し各エージェントに指示
system_prompt.md
の回答手順
CogGRAG(分解)
法令エージェント 関連する法令・条文を特定し根拠を返す
source_docs/
+
entity_dictionary.md
GraphRAG(法令ノード)
技術基準エージェント 適用すべき基準・仕様を特定する
source_docs/
+
knowledge_map.md
GraphRAG(基準ノード)
事例エージェント 類似施工事例・トラブル事例を検索する
source_docs/
(報告書類)
VectorRAG
リスクエージェント 禁止事項・リスク要因・注意事項を検索する
entity_dictionary.md
(リスク要因欄)
GraphRAG(リスクノード)
監理エージェント 4エージェントの回答の矛盾・根拠欠落を検証し、不十分なら差し戻す
entity_dictionary.md
+
system_prompt.md
の制約ルール
SHACL制約検証
回答統合エージェント 検証済み情報を構造化回答(根拠付き)に統合する監理エージェントの出力CogGRAG(統合)

監理エージェントのプロンプト(チェックリスト)

以下の4エージェントの回答を検証してください。

【法令エージェント回答】: {law_agent_result}
【技術基準エージェント回答】: {standard_agent_result}
【事例エージェント回答】: {case_agent_result}
【リスクエージェント回答】: {risk_agent_result}

## 検証項目(全てYESなら統合エージェントに渡す、NOなら差し戻し)
1. [ ] 法令と技術基準に矛盾はないか
2. [ ] 工法を提案する場合、準拠すべき技術基準が明示されているか
3. [ ] 事例の工法と現在の法令状態が整合しているか(廃止・改定漏れ)
4. [ ] リスクエージェントが指摘した禁止事項と提案内容が衝突していないか
5. [ ] 各エージェントの回答に具体的な根拠(文書名・条番号)があるか

検証結果: OK / 差し戻し(理由: [具体的な矛盾点])

理論的な品質向上の限界

マルチエージェントは品質を向上させるが、フル実装と等価にはならない

課題マルチエージェントでの限界フル実装での解決
3ホップ以上の推論エージェントが順次推論できるが、見落としが起きやすいSPARQLによる厳密なグラフ走査で網羅的
用語の正規化漏れ
entity_dictionary.md
にない略語は見落とす
OWL
owl:sameAs
で全略語を自動統合
大量ノードの処理コンテキスト長に上限があり200ノード超で精度低下Graph DBは原理的にノード数無制限
整合性の網羅性監理エージェントのチェックリストに書いた項目しか検証しないSHACLは定義した全制約を自動的に検証

結論:
マルチエージェント拡張により、簡易実装の品質は**「Track A + マルチエージェント」≒「Track B のPoC相当」**まで引き上げ可能である。ただし、大規模・高信頼性・厳密な整合性保証が求められる本番運用にはフル実装への移行が必要。

3段階のアップグレードパス

4-D. MD分業管理とAI進歩を活用した変化対応戦略

Track A+C が主力になる理由

AIの推論能力・コンテキスト長の急速な向上を考慮すると、「MDファイル + マルチエージェント」は単なる代替手段ではなく、変化対応力において Track B を超える優位性を持つ

視点Track A+C の優位性
AIの進歩の恩恵 LLMの推論能力向上・コンテキスト長拡大は即座に品質向上に直結。Track B はインフラ固定のため恩恵が限定的
法令・基準の改定対応 担当者がMDを1ファイル更新するだけで完結。Track B はGraph DB再構築・SHACL再検証が必要
分業化の容易さ 専門知識がある担当者がMarkdownを書けばよい。知識エンジニア不要
障害点の少なさ インフラ障害なし。MDファイルが壊れることはない
コスト構造 ランニングコストはLLM API費用のみ。Track B はDB運用・保守費が継続発生

Track A+C が主力になる理由

MD分業管理マトリクス

誰が・どのMDを・いつ更新するかを明確にすることで、Track A+C はチーム運営可能な持続可能なシステムになる。

MDファイル担当者更新トリガー目安工数
source_docs/法令.md
法務担当者法令・告示の改定時1〜2時間/件
source_docs/技術基準.md
技術担当者基準書改定・通知発出時2〜4時間/件
source_docs/施工事例.md
現場担当者工事完了・トラブル発生時1時間/件
entity_dictionary.md
知識管理担当新規用語登場・略語追加時30分/件
knowledge_map.md
知識管理担当新しい概念関係の発見時1時間/件
system_prompt.md
AI担当者AI品質問題・新しい問いパターン時半日

運用ポイント: 各担当者は自分の専門領域のMDのみを管理すればよく、他の仕組みを知る必要がない。法令担当者はMarkdownの書き方を覚えるだけでシステムの精度向上に直接貢献できる。

AIの進歩による品質曲線

Track B が依然必要な条件(限定的)

Track A+C で対応できない領域は以下に限定される。

条件理由
法的監査証跡の要求 どの法令バージョンに基づいて判断したかを証明する義務がある場合
文書数10万件超 コンテキスト長の物理的上限を超える規模
複数組織間スキーマ共有 標準化されたOWLオントロジーで組織をまたいだデータ統合が必要
リアルタイム整合性保証 ミリ秒単位でSHACL違反を検知・阻止する必要がある

これらの条件に該当しない限り、Track A+C がコスト・変化対応・維持管理の全面において Track B より優れた選択である。

Track B が依然必要な条件_限定的

6. 導入効果と評価指標(KPI)

効果説明KPI目標値
ハルシネーション抑制 全出力にグラフ上の具体ソース(根拠ノード)を明示根拠提示率 ≥ 90%
多段推論の自動化 2ホップ以上の法令依存を自動追跡多段推論成功率 ≥ 80%
用語の一意化 同義語・略語をオントロジーで正規化エンティティリンク精度(F1) ≥ 0.85
更新コスト削減 新規文書のKG統合を数時間で自動実行文書統合工数 ≤ 4人時/件
ユーザー満足度 若手技術者・事業管理者の業務効率化満足度スコア ≥ 4.0/5.0

7. 実装ロードマップ

8. 費用概算と人員計画

フェーズ要員期間主なツール・インフラ
PoC 知識エンジニア×1、ドメイン専門家×2(数日)、エンジニア×12〜3ヶ月Graph DB(Neo4j等)、Vector DB(Milvus等)、LLM API
拡張 知識エンジニア×1〜2、SWE×1〜2、運用スタッフ×13〜9ヶ月ETLパイプライン、OWL推論エンジン、CI/CD
運用 運用スタッフ×1(継続)、ドメイン専門家(レビュー体制)継続モニタリング基盤、ガバナンスツール

9. リスク管理

リスク影響軽減策
オントロジーのカバレッジ不足未定義概念の検索精度低下PoCでコア概念に限定し段階的に拡張
エンティティリンク誤認KGの汚染・回答誤り人手検査ループ+モデル再学習のフィードバック
運用コスト増大ガバナンス負荷の増加変更管理のCI/CD化・自動整合性チェックの導入
文書改訂への追従遅れ旧情報による誤回答文書更新トリガーによる差分自動再抽出パイプライン
LLM出力の不安定性推論品質のばらつきDual-Process Verificationと人手エスカレーション閾値の設定

10. 結論と次のアクション

本システム(HybridRAG × CogGRAG × ドメインオントロジー × 観察駆動型エージェント)は、単なるドキュメント検索を超えた「知識の構造と判断プロセスの継承」を実現する。

PoC成功基準:

  • 根拠提示率 ≥ 90%
  • 多段推論成功率 ≥ 80%
  • 典型問い合わせ10件のうち8件以上で実務利用可能な回答

次のアクション(2トラック):

#Track A(簡易:即日着手可能)Track B(本格:計画的着手)
1対象文書を選定してPDF→MD変換(1日)PoCスコープ確定(主要概念30〜50件・典型問い合わせ10件)
2
entity_dictionary.md
knowledge_map.md
を手動作成(2〜3日)
概算見積り・人員確保(知識エンジニア・ドメイン専門家)
3
system_prompt.md
をDify/ChatGPT等に設定して試用(1日)
評価基準の関係者合意(KPI定義と判定基準)
4精度確認 → 限界を把握 → Track Bへの移行判断キックオフ(2026年6月〜、Track Aの知見を引継ぎ)

推奨: まず Track A で1週間以内に動く実証環境を作り、現場担当者に触れさせてフィードバックを収集する。その知見(どんな問いが多いか・どこで精度が落ちるか)をTrack Bの設計に活かすことで、本格実装の精度と費用対効果を最大化できる。

GitHubで編集を提案