BoKビルディング
SimpleModeling.orgは、文芸モデル駆動開発(Literate Model-Driven Development (LMDD, 文芸モデル駆動開発))を軸としたモデリング技術を主題とする技術情報サイトです。
同時に、生成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などのテキストベースのバージョン管理システムで管理できます。
データベースなどの特別なミドルウェアは不要で、階層ディレクトリとメタデータからサイトの構造を自動的に読み取り、適切にデータ化されます。
用語集やキーワードに対しては、自動的にリンクが貼られ、BoKとしての可読性とAI解釈性の両立が実現されます。
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サイトが実現されています。
図解:AI活用のアーキテクチャ
この図は、サイトの目的で説明した文芸モデル駆動開発全体のアーキテクチャを示しています。
本記事で扱ったBoKビルディングは、このアーキテクチャ内における「AI学習」および「BoK管理」に相当する部分を深掘りしたものです。
BoKは、AIが文芸モデル (literate model)を支援するための知識共有インターフェースであり、AI駆動開発の基盤技術として不可欠な要素です。
本図は、BoKとAI支援の位置づけを理解するための参考としてご活用ください。
参照
用語集
- 文芸モデル駆動開発 (LMDD, Literate Model-Driven Development)
-
文芸モデル駆動開発(Literate Model–Driven Development, LMDD) は、自然言語による語りと形式的なモデル構造を統一されたテキスト基盤上で統合するソフトウェア開発手法です。従来のモデル駆動開発(MDD)を拡張し、ドキュメントとモデルを単一の整合的ソースとして扱います。 LMDDでは、開発成果物の記述要素と構造要素をSmartDox言語を用いて同時に表現します。この統合的な表現から、ModelDoxが構造データを抽出し、CML(Cozy Modeling Language)がドメイン固有モデルを定義し、Cozyが実行可能なコード、ドキュメント、構成情報などの成果物を生成します。 人工知能(AI)は、語りの文脈を解析し、構造の整合性を検証し、モデルおよび生成成果物の改良を支援することでLMDDプロセスに関与します。すべての成果物はテキスト形式で表現されるため、トレーサビリティ、バージョン管理、標準的な開発環境との相互運用性が確保されます。 ドキュメント、設計、実装の間に形式的かつ機械可読な関係を定義することにより、LMDDは人間による記述と機械による推論が同一の表現層で機能する、AI支援型モデル駆動開発の基盤を提供します。
- BoK (Body of Knowledge)
-
SimpleModelingでは文脈共有の核となる知識体系をBoK (Body of Knowledge)と呼んでいます。 BoKの構築は、知識の共有、教育、AIによる支援、自動化、意思決定支援を可能にするための基盤です。
- RDF
-
W3C により標準化された、情報を「主語–述語–目的語」の三つ組(トリプル)で表現するための知識記述モデル。
- 文芸モデル (literate model)
-
文芸モデル(Literate Model)は、モデル構造と自然言語による語り(構造化文書)を統合した「読めるモデル」です。 文芸的プログラミング(Literate Programming)の思想をモデリング領域に拡張し、 構造(モデル)+語り(構造化文書) を一体化することで、人間とAIの双方が理解・操作できる知識表現を実現します。 「Literate Modeling(文芸的モデリング)」という発想自体は、 これまでにも一部の研究者や開発者によって試みられてきました。 しかし、それらは主にドキュメント生成やコード理解の支援にとどまっており、 モデルと言語・語り・AI支援を統合した体系的なモデリング手法として確立されたものではありません。 文芸モデル(Literate Model)は、SimpleModelingがAI時代に向けて新たに体系化・提唱したモデリング概念です。 文芸的モデリングの思想を継承しつつ、 AI協調型の知識循環とモデル生成を可能にする知的モデリング基盤として再構成されています。 文芸モデルは、単なるモデル記述技法ではなく、 人間の思考過程や設計意図を語りとしてモデルに埋め込み、 AIがそれを解析・再構成して設計や生成を支援するための枠組みです。