BoKビルディング
SimpleModeling (シンプルモデリング).orgは、文芸モデル駆動開発 (LMDD, Literate Model-Driven Development)(Literate Model (モデル)-Driven Development)を軸としたモデリング技術を主題とする技術情報サイトです。
同時に、生成AIを活用したAI駆動開発(AI-Driven Development)の実現に向けた知識構築・共有基盤の研究と実践も視野に入れています。
AIによる文芸モデル支援を実現するためには、モデルや設計思想、用語定義、開発パターンといった「開発の文脈」をAIと共有する必要があります。
この文脈共有の核となる知識体系をSimpleModelingではBoK (Body of Knowledge)(Body of Knowledge)と呼んでいます。
BoKの構築は、知識の共有、教育、AIによる支援、自動化、意思決定支援を可能にするための基盤です。
BoKビルディングとは、特定の分野における専門的な知識・技術・概念・実践を体系的に整理し、再利用可能な知識構造として構築するプロセスを指します。
SimpleModelingでは、BoKの構築と運用をAI活用の中核的テーマと位置づけています。
Webを通じたBoKの提供
BoKの基盤としてWeb技術を最大限に活用します。
人間の理解とAIの処理の両方を考慮し、以下の観点で知識を整理・公開します。
人とAIの両立
-
人間が読んで理解・活用できるドキュメント
-
AIが構造的に把握し解釈できるメタデータ
従来の構造化データは機械処理には向いていますが、人間にとっては読みにくく、学習・理解には適しません。
逆に、人間中心のドキュメントは、AIにとっては文脈を把握しにくいことがあります。
SimpleModelingではこのギャップを埋めるBoKの設計を目指します。
サイト構成の知識表現
リンク構造や分類体系も、知識の一部です。以下の仕組みを整備することでBoKの明瞭化を図ります。
-
サイト構成
-
キーワード
-
索引
-
参考文献
-
外部参照リンク
-
文脈情報
用語は文脈に応じて意味が変わります。文脈を明示できれば、AIはより正確に用語の意味を把握できます。
SimpleModeling.orgは、こうしたオントロジー技術と生成AIを連携させる実験の場でもあります。
国際化対応
グローバルな開発環境では、国際化(I18N)が不可欠です。
英語ともう一つの主要言語(例:日本語)に対応することで、多くのニーズに対応できます。
SmartDoxでは多言語対応のための構造化手段を用意しており、BoK構築においても言語切替や翻訳支援が容易です。
BoK構築のための技術基盤
SimpleModeling.orgでは、BoKを構築・運用するために以下の技術スタックを用いています。
- SmartDox
-
ドキュメント記法・ツール群
- Arcadia
-
サイトトップなど視覚的ページを生成する静的サイトジェネレータ
- Antora / Asciidoc
-
技術記事を扱う構造化文書フレームワーク
SmartDox
SmartDoxは、SimpleModeling.orgの主宰者である浅海が開発した、Markdownの軽快さにAsciidocやOrg-modeの構造表現力を融合した独自の文書記法とオープンソースの文書処理系です。
複数のSmartDoxファイルを階層的にまとめることで、1つのサイト構造(SmartDoxサイト)を形成できます。
このSmartDoxサイトを元に、以下の2種類の出力を生成できます:
- Arcadiaサイト
-
トップページやビジュアルな誘導ページ用
- Antoraサイト
-
BoK本文や技術ドキュメント用
SmartDoxサイトは、階層ディレクトリにSmartDox文書とメタデータのテキストファイルを配置する構成のため、Gitなどのテキストベースのバージョン管理システムで管理できます。
データベースなどの特別なミドルウェアは不要で、階層ディレクトリとメタデータからサイトの構造を自動的に読み取り、適切にデータ化されます。
Arcadia
Arcadiaは浅海が開発したオープンソースの静的サイトジェネレータ(SSG)です。 Bootstrap 5ベースのレスポンシブなWebページを生成します。
SimpleModeling.orgでは、ArcadiaとAntoraを以下のように使い分けています:
- トップページ、カテゴリトップページ
-
Arcadiaで生成(視認性重視)
- 記事ページ
-
Antoraで構築(可読性・構造重視)
AIとの知識共有
BoKは、AIと開発者の知識の共有インターフェースでもあります。
以下の形式でBoKをAIが学習することが可能です:
-
HTMLサイト(汎用性が高い)
-
Antoraサイト(技術文書として構造化)
-
SmartDoxサイト(最も文脈密度が高い)
HTMLサイトはWebとして公開することで、AIが通常のWebサイトの解析手法を使って解析を行うことができます。
これらはいずれもテキストベースの構成のため、Gitでの管理やAI入力に適しています。
Antoraは広く使われている技術なので、その構造を把握できるAIにとっては、高精度な学習ソースとなります。
SmartDoxサイトも、AIに構造を学習させれば、さらに高精度の学習ソースとなります。
SSGによるBoK構築の利点
データベースを用いた動的生成型サイトは、コンテンツの構造がリクエスト時に動的に生成されるため、BoKのソースとしては構造把握が難しく、不利です。
またAngularやReactなどのJavaScriptフレームワークを用いたSPA(Single Page Application)形式のサイトもDOMがクライアント側で動的に構築されるため、検索エンジンやAIがHTML構造を直接解析するには不向きです。
特にAIがBoKを学習・解釈する際には構造が明示されたHTMLやマークアップを静的に取得できることが重要です。静的HTMLであればリンク構造や文書階層、用語の位置づけなどをAIが高精度に理解できます。
BoKビルディングにおいては、SSG(静的サイトジェネレータ)による構造化・明示的な知識の公開が、AIとの連携において極めて重要です。
SimpleModeling.orgでは、こうした要件に対応するために、ArcadiaやAntoraといった静的サイト生成技術を採用し、構造的に整理されたBoKを確実にAIに届ける仕組みを構築しています。
また、開発者にとっての可読性や使いやすさを高めるために、CSSやJavaScriptの最新技術を静的構造と共存させることで、視認性とビジュアル性を損なうことなく表現力を強化しています。
これにより、人間とAIの両方にとって扱いやすく、構造的かつ直感的に理解可能なハイブリッドなBoKサイトが実現されています。
まとめ
-
簡単に導入できる構成で、BoK構築のハードルを下げる
-
Webメタデータに基づく意味づけにより、検索エンジンやAIによる理解を支援
-
自動リンク構築機能により、BoK内の用語や文脈を相互に接続
-
多言語対応の仕組みにより、国際的な利用者とAIの双方に対応
-
SmartDox/Antora/Arcadiaにより、構造・視認性・拡張性を両立したBoKを構築
-
Gitベースの管理で、履歴追跡・チーム運用・AI学習への提供が容易
-
AIと人間の双方が活用できるBoKとして、「読める+解析できる」文書を実現
-
SPAに依存 (Dependency)せず、静的構造と最新のWeb技術を両立させることで、AIと人間の双方に最適なBoKを実現
参照
用語集
- モデル (Model)
-
Modelとは、対象を特定のPurposeとConcernに基づいて選択し、理解、判断、検証、構築に利用できる形で表した抽象です。対象そのものではなく、目的に必要な要素、関係、意味を保持する表現です。
- 文芸モデル駆動開発 (LMDD, Literate Model-Driven Development)
-
文芸モデル駆動開発(Literate Model–Driven Development, LMDD) は、自然言語による語りと形式的なモデル構造を統一されたテキスト基盤上で統合するソフトウェア開発手法です。従来のモデル駆動開発(MDD)を拡張し、ドキュメントとモデルを単一の整合的ソースとして扱います。 LMDDでは、開発成果物の記述要素と構造要素をSmartDox言語を用いて同時に表現します。この統合的な表現から、ModelDoxが構造データを抽出し、CML(Cozy Modeling Language)がドメイン固有モデルを定義し、Cozyが実行可能なコード、ドキュメント、構成情報などの成果物を生成します。 人工知能(AI)は、語りの文脈を解析し、構造の整合性を検証し、モデルおよび生成成果物の改良を支援することでLMDDプロセスに関与します。すべての成果物はテキスト形式で表現されるため、トレーサビリティ、バージョン管理、標準的な開発環境との相互運用性が確保されます。 ドキュメント、設計、実装の間に形式的かつ機械可読な関係を定義することにより、LMDDは人間による記述と機械による推論が同一の表現層で機能する、AI支援型モデル駆動開発の基盤を提供します。
- シンプルモデリング (SimpleModeling)
-
SimpleModelingは、KnowledgeからDomain Modelを構成し、CMLで形式化し、CozyとAIによって実行可能ソフトウェアへ実現し、Textus上で動作させる、モデリング中心のソフトウェア開発方法論と技術体系です。
- BoK (Body of Knowledge)
-
SimpleModelingでは文脈共有の核となる知識体系をBoK (Body of Knowledge)と呼んでいます。 BoKの構築は、知識の共有、教育、AIによる支援、自動化、意思決定支援を可能にするための基盤です。
- RDF
-
W3C により標準化された、情報を「主語–述語–目的語」の三つ組(トリプル)で表現するための知識記述モデル。
- 用語集 (Glossary)
-
Glossaryとは、対象領域で使用する用語について、名称、意味、境界、同義語、識別子を管理する知識資源です。関係者が同じ用語を同じ意味で扱うための共通基盤になります。
- 依存 (Dependency)
-
UMLにおけるDependencyは、ClientとなるModel Elementの仕様または実装が、Supplierとなる別のModel Elementの定義へ意味的または構造的に依存することを表すDirected Relationshipです。
- 文芸モデル (Literate Model)
-
Undefined