Harness EngineeringとSimpleModeling

浅海 智晴 Created: 2026-03-30

Harness Engineeringは、AI時代において不可欠な基盤です。AIがコード生成を加速する一方で、構造の不安定性や品質属性の欠落が顕在化しています。これらを抑制するには、実行側で制約と保証を与える仕組みが必要です。

SimpleModelingは、BoK(知識基盤)からDSL、実行基盤までを一貫して接続し、「意味に基づいて実行を制御するHarness」を提供します。その結果、開発者はドメインロジックに集中しつつ、AI生成コードも含めて一貫した品質と再現性を確保できます。

Harness Engineeringの本質

Harness Engineeringとは、アプリケーションを直接実行するのではなく、実行を制御する基盤(Harness)を介して動作させることで、品質・再現性・安全性を統一的に担保するアプローチです。

その本質は、ソフトウェアを直接動かすのではなく、制約された実行環境を通じて動作させる点にあります。この考え方は、DevOpsやPlatform Engineeringが提供する基盤の上で、実行のあり方を定義し、品質を統一的に担保する役割を担います。

  • 品質属性をフレームワーク側に集約する

  • 再現性と安全性を担保する

AIによるコード生成が一般化した環境では、構造や品質属性が暗黙的になりやすく、実行側で制約と保証を与えることが不可欠です。Harness Engineeringは、この不安定性を制御し、生成コードを安全かつ一貫した形で動作させるための基盤となります。

SimpleModelingの構造

SimpleModelingは、次の4層構造を持ちます。

この構造は、単なる実行制御にとどまらず、「意味 → 仕様 → 実行」を一貫して扱うことを目的としています。

BoKがもたらす拡張

従来のHarness Engineeringは、主に実行と運用のレイヤを対象としています。これに対してSimpleModelingは、BoKを導入することで、Harnessの対象領域を拡張します。

意味の管理

BoKは、概念・関係・文脈を体系化した知識基盤です。これにより、システムは単なるコードの集合ではなく、意味構造を持つ対象として扱われます。

AIとの接続

BoKはAIにとっての推論基盤となります。AIはBoKを参照することで、仕様生成やコード生成の精度を高めることができます。

この拡張により、Harnessは単なる実行制御にとどまらず、意味を扱う基盤へと変化します。

Executable Harnessという概念

SimpleModelingが提示するのは、単なるHarnessの拡張ではなく、ドメイン構造と品質属性があらかじめ固定された実行枠組みとしてのHarnessです。

従来の開発では、ドメイン構造、実行方式、品質属性が明確に分離されているわけではなく、実際には一体として設計・実装する必要がありました。熟練した開発者はこれらを意識的に分離して扱うことができますが、そうでない場合は構造が混在し、複雑で不安定な実装になりがちです。AIによる生成コードも同様に、このような混在した構造になりやすい傾向があります。

SimpleModelingでは、この問題に対して、ドメイン構造はDSLとモデルコンパイラによって定義され、品質属性は実行基盤(CNCF)によって担保される形で明確に分離・固定されます。

その結果、開発者は構造や品質属性を個別に設計する必要がなくなり、ドメインロジックの記述に専念できるようになります。

この「構造と品質が固定された実行枠組み」こそが、Executable Harnessの本質です。これは、Harness Engineeringを構造レベルで実現したものと言えます。

まとめ

SimpleModelingは、Harness Engineeringと高い親和性を持ちながら、その対象領域を「意味」まで拡張します。それは単なる実行基盤ではなく、意味・仕様・実行を一貫したものとして扱うための開発基盤です。このアプローチにより、開発者はドメインロジックに集中しながら、AI生成コードを含めたシステム全体の品質と再現性を安定して確保することができます。これは、AI時代におけるソフトウェア開発の新しい基盤モデルを示すものです。

参照

用語集

BoK (Body of Knowledge)

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

DSL (Domain Specific Language)

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

文芸モデル (literate model)

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

CML (Cozy Modeling Language)

CMLは、Cozyモデルを記述するための文芸モデル記述言語です。 SimpleModelingにおける分析モデルの中核を担うDSL(ドメイン固有言語)として設計されています。 モデル要素とその関係性を自然言語に近い文体で記述できるよう工夫されており、AIによる支援や自動生成との高い親和性を備えています。 CMLで記述された文芸モデルは、設計モデル、プログラムコード、技術文書などに変換可能な中間表現として機能します。

Cloud Native Component Framework (CNCF)

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