AI時代の開発スタック

浅海 智晴 Created: 2026-02-16

📄 AI時代の開発プロセス考を起点に、📄 AI時代の開発プロセスの枠組みUPを補助線としながら、AI時代の開発プロセス (Development Process)について考察を進めてきました。

また📄 AI時代のComponent-Based Developmentでは、AI時代のCBDを「文芸モデル (literate model)DSL&自動生成+AI」という枠組みの中で再定義しました。

そこでは、伝統的CBDの弱点――発見の難しさ、仕様理解コスト、結合コストなど――が、AIとDSL、そして自動生成によって大幅に緩和される可能性を示しました。

DSLと自動生成に加え、CNCFという実行基盤が組み合わさることで、品質属性やクラウド対応といった実装上の難所まで構造的に扱える方向性が見えてきました。

本稿では、この流れを統合し、BoKから実行基盤までを貫く「開発スタック」の全体像を整理します。

要素技術を束ねる

これまでの記事では、

という形で個々の要素技術について説明をしてきました。

SimpleModelingはBoK文芸モデルDSL、実行基盤といった層を一つの技術体系として構築したものになります。

BoKで整理された知識は文芸モデルへと反映され、文芸モデルDSLへと落とし込まれ、DSLで定義された構造は実行基盤によって保証される。

この縦方向の連続性が確立されたとき、設計と実装は分断されず、構造が保たれたまま進化可能になります。

そして、この技術体系を束ねる軸となるものがAIです。

AIは各層を横断し、

  • 知識を理解し

  • モデルを整理し

  • 構造を展開し

  • 実行構成を補助する

ことで、自然言語世界と実装技術世界を接続します。

BoKと文芸モデル

SimpleModelingでは知識開発を軸にその出力としてITシステムが作成されるというアプローチをとっています。

この最上流に位置するのがBoKです。

BoKはSmartDoxによって構築することができます。

BoKでは自然言語によって知識の構造化・集約を行いますが、ITシステム化できる形で形式化していく必要があります。 この形式化を担うのが文芸モデルです。

文芸モデルは、自然言語の意味を保持したままITシステムの構築に必要な構造化・形式化を行うモデルです。

ITシステム化可能な構造化・形式化と同時に、概念・関係・制約が文章として記述され、AIが理解可能な形で整理されます。

文芸モデルは、自然言語による知識とITシステム、AIを結びつける要となっています。

文芸モデルとDSL

文芸モデルの構造化・形式化した部分はDSLとして機能します。 DSLは「実行可能な構造」を与える層です。

Cozyは文芸モデルDSLから知識を実装可能な形式へと落とし込みます。

  • エンティティ

  • 契約

  • 操作

  • 状態

  • 制約

が明示的に定義されます。

AIは、自然言語に対する処理、文芸モデルDSLといった構造化された情報に対する操作、モデル間の変換や、補完、整合性検査などを支援します。

文芸モデルは自然言語で記述するモデルなので、従来技術ではDSL部分のみが操作対象でしたが、AIを使用することで自然言語を含む文芸モデル全体が操作対象として活用されます。

DSLと実行基盤(CNCF)

CNCFでは、コンポーネントを実行単位としたクラウド・アプリケーション向けの実行基盤を提供しています。

CozyによってDSLから生成されたコンポーネントはそのままCNCFの実行基盤上で、現実のシステムとして動作します。

SimpleModelingではCBDをモデリングの軸としており、モデリング要素としてのコンポーネントが実行基盤上でもそのまま動作するという形で連携しています。

また、CNCFは以下の2つの特徴を持ちます。

  • クラウド・ネイティブ・アプリケーション向けの動作基盤

  • 品質属性などの関心の分離を行い、ドメイン・モデルの実現に集中できるコンポーネント開発を実現

これらの特徴はAIに対してもよい影響を持ちます。

AIは文脈が限定され、仕様が明確であるほど高精度の動作が可能になります。

コンポーネントを軸とすることで、思考範囲の文脈は限定されます。 また、コンポーネントの定義は厳格な仕様の集まりですが、明確に定義された仕様群がAIの思考の土台となります。

また関心の分離によって品質属性などの複雑なパラメタを取り入れる必要がなく、業務ドメインの仕様理解と実現方式に集中できるのもAIにとって大きな要因です。

各要素技術におけるAIの役割

以下の各要素技術についてAIの役割について見ていきます。

  • BoK : 知識の理解と探索

  • 文芸モデル : 意味の整理と一貫性維持

  • DSL : 構造の展開と生成

  • 実行基盤 : 構成と運用の補助

BoK ― 知識の理解と探索

AIは、

  • 関連概念の探索

  • 定義の要約

  • 概念間関係の抽出

  • 用語の揺れの検出

を支援します。

BoKを単なる文書群ではなく、構造化された知識基盤として活用できるのは、AIが意味を横断的に扱えるからです。

文芸モデル ― 意味の整理と一貫性維持

文芸モデルでは、

  • 記述の整形

  • 抽象度の調整

  • 冗長性の排除

  • 矛盾の検出

  • 用語統一

自然言語世界に秩序を与え、意味を保ったまま構造化を進める補助を担います。

DSL ― 構造の展開と生成

DSLでは、

  • モデルからのコード生成

  • 契約の補完

  • 制約の検証

  • 差分検出

といった作業をAIが支援します。

ここではAIは、構造を実装へと展開する補助装置として機能します。

実行基盤 ― 構成と運用の補助

実行基盤においてAIは、

  • コンポーネント構成の提案

  • 実行パラメータの調整支援

  • ログ・トレースの解析

  • エラー分類の補助

構造が正しく実行されているかを横断的に確認する役割を果たします。

要素技術を束ねるAIの役割

ここまで見てきたように、AIは各層で個別の役割を持ちます。

しかしAIの役割は、それぞれの層を個別に支援することだけではありません。

AIの重要な役割は、これらの層を横断的に接続することにあります。

BoKで整理された知識が、文芸モデルに反映され、DSLに落とし込まれ、実行基盤で動作する。

この縦方向の連続性を、AIが理解し、維持し、補助します。

つまりAIは、

  • 意味の連続性を保ち

  • 構造の一貫性を維持し

  • 実行との整合性を確認する

縦方向の接続装置です。

自然言語世界と実装技術世界が分断されず、一気通貫で接続される。 AIがこの複雑な接続を担保するための重要な役割を担います。 そして、BoKから実行基盤までを貫く開発スタックが成立します。

まとめ

本稿では、BoKから実行基盤までを貫く縦方向の構造を整理しました。

次回📄 DSLと実行基盤が成立させるCBD:実装可能なコンポーネント構造では、この構造の上でCBDがどのように成立するのかを考察します。

参照

用語集

UP (Unified Process)

UMLを基盤とし、反復型・ユースケース駆動・アーキテクチャ中心のプロセスモデル。Rational Unified Process (RUP) などの派生形を持ち、CBD(コンポーネント指向開発)の実践基盤となる。

CBD (Component-Based Development)

CBD(コンポーネント指向開発)は、ソフトウェアを責務・契約・インターフェースを明確に定義したコンポーネント単位で構築・再利用する開発方式です。 コンポーネントは独立性と交換可能性を備え、システムを疎結合に構成することで保守性と再利用性を高めます。 論理モデルでは機能や契約を定義する抽象構造単位として、物理モデルでは実際の実装・デプロイメント単位として扱われます。

DSL (Domain Specific Language)

DSL(ドメイン固有言語)は、特定の領域(ドメイン)に特化して設計された言語であり、その分野の概念や構造を直接的かつ簡潔に表現することを目的とします。 一般的な汎用プログラミング言語(GPL)に比べ、DSLは特定ドメインの問題解決や自動生成に適した高い抽象度を持ちます。

Cloud Native Component Framework (CNCF)

Cloud Native Component Framework(CNCF)は、クラウド・アプリケーションを構成するコンポーネントを、単一かつ一貫した実行モデルで実行するためのフレームワークです。 Component / Service / Operation という構造を中核とし、command、server(REST / OpenAPI)、client、script といった異なる実行形態から、同一の Operation を再利用できることを特徴とします。 ログ、エラー処理、設定、配備といったクラウド・アプリケーションに必要な品質属性をフレームワーク側に集約することで、コンポーネントはドメイン・ロジックの実装に集中できます。 CNCF は、文芸モデル駆動開発および AI 支援開発を前提に、「何を実行するか」と「どのように呼び出すか」を分離するための実行基盤として設計されています。

BoK (Body of Knowledge)

SimpleModelingでは文脈共有の核となる知識体系をBoK (Body of Knowledge)と呼んでいます。 BoKの構築は、知識の共有、教育、AIによる支援、自動化、意思決定支援を可能にするための基盤です。

開発プロセス (Development Process)

開発プロセスとは、ソフトウェアの構築・運用・保守に関わる活動全体を指します。 計画、設計、実装、テスト、リリースなどを含み、ソフトウェア開発の一連の流れを体系的に表現する概念です。

文芸モデル (literate model)

文芸モデル(Literate Model)は、モデル構造と自然言語による語り(構造化文書)を統合した「読めるモデル」です。 文芸的プログラミング(Literate Programming)の思想をモデリング領域に拡張し、 構造(モデル)+語り(構造化文書) を一体化することで、人間とAIの双方が理解・操作できる知識表現を実現します。 「Literate Modeling(文芸的モデリング)」という発想自体は、 これまでにも一部の研究者や開発者によって試みられてきました。 しかし、それらは主にドキュメント生成やコード理解の支援にとどまっており、 モデルと言語・語り・AI支援を統合した体系的なモデリング手法として確立されたものではありません。 文芸モデル(Literate Model)は、SimpleModelingがAI時代に向けて新たに体系化・提唱したモデリング概念です。 文芸的モデリングの思想を継承しつつ、 AI協調型の知識循環とモデル生成を可能にする知的モデリング基盤として再構成されています。 文芸モデルは、単なるモデル記述技法ではなく、 人間の思考過程や設計意図を語りとしてモデルに埋め込み、 AIがそれを解析・再構成して設計や生成を支援するための枠組みです。

コンポーネント (Component)

責務・契約・依存関係を明示的に定義し、再利用可能で交換可能な単位としてカプセル化されたソフトウェア構成要素。論理モデルでは抽象構造単位として、物理モデルでは実装・デプロイメント単位として扱われる。

エラー (error)

汎用的な表現として用いられる用語。ソフトウェア工学では多義的に使われ、バグや障害全般を指す。SimpleModeling では広義のラベルとして使用し、個別には Mistake・Defect・Fault・Failure・Deviation に整理する。

仕様確認 (verification)

Verification(仕様確認)とは、規定された設計仕様や要求仕様に対して、実装が一致しているかを確認する行為である。