ドメイン知識:エージェンティックAI時代における最後に残された堀(Moat)

ソフトウェアを書くことの難しい部分は、書く作業そのものでは決してなかった。数十年にわたり、ソフトウェアエンジニアリングの主要な課題は、言語の構文やフレームワークのアーキテクチャではなく、解決しようとしているドメイン(領域)の厳密なメンタルモデルを構築することであった。税金の差し押さえに関する深い理解を必要とする給与計算システムであれ、GTFSフィードの把握を必要とする交通アプリであれ、コードは単なるその理解の書き写しに過ぎなかった。

エージェンティックAIは、この結びつきを根本的に断ち切った。開発者がドメインの包括的なメンタルモデルを構築することなく、ソフトウェアを生産できる時代に突入したのである。この変化は、ソフトウェアという職業全体が組織されていた核心的な前提を打ち砕くものである。すなわち、「動作するコードを生成する能力」が「ドメインの問題を解決すること」の前提条件であったという前提だ。

「作れるか」から「検証できるか」へのシフト

AI以前の時代において、制約となっていたのは実行能力であった。もし物流の配車担当者や保険数理士のようなドメインエキスパートが、ツールに関する素晴らしいアイデアを持っていたとしても、プログラミングを学ぶという技術的な障壁によって阻まれていた。逆に、ジェネラリストのエンジニアは、数ヶ月あるいは数年かけてエキスパートの業務に同行し、仕様書を読み込むことで、ドメインのメンタルモデルを構築し、このギャップを埋めることができた。

エージェンティックなツールは、技術的な経路を短縮したが、ドメインの経路を短縮したわけではない。ドメインモデルを動作するコードに変換する能力は、今や安価なコモディティとなっている。しかし、何が「正しい」姿であるか、すなわち「グラウンドトゥルース(真実)」を知る能力は、依然として希少なままである。

この新しい状況における2つのペルソナを考えてみよう。

  1. ドメインエキスパート: 自身の分野の入出力について熟知しているが、スタックトレースを読むことはできない専門家。AIエージェントによって、彼らは突如として力を与えられる。労働法に違反するスケジューリングミスや、決して支払われない請求ルールを、彼らは即座に見抜くことができる。なぜなら、彼らはその制約の中で10年もの間生きてきたからだ。エージェントは書き写しを提供し、エキスパートは正しさを保証する「オラクル(神託)」としての役割を果たす。
  2. ジェネラリストエンジニア: システムが信頼でき、拡張可能であることを保証できる高度なスキルを持つアーキテクトだが、特定のドメイン知識を欠いている。AIを使用してコンパイル可能で基本的なテストをパスするコードを生成することはできるが、その出力が現実世界において「正しい」かどうかを検証することはできない。彼らはソフトウェアがうまく構築されていることは検証できるが、それが問題を正確に解決しているかどうかを検証することはできない。

新たなパワーユーザー:二層の検証者

この環境において最も価値のある専門家は、技術的な層とドメインの層の両方で検証ができる人物である。この人物は、生成されたコードが健全であり、かつそれが生み出す答えが真実であることを知っている。彼らは、特定の規制ルールをコード化するテストを書くことができる。なぜなら、彼らはそのルールを知っているからであり、また、テスト自体が意味のあるものであることを確認できる。なぜなら、彼らは技術的な実装を理解しているからだ。

エンジニアにとって、戦略的な賭けはもはや機械的なコーディングスキルを強化することではない。代わりに、目標は、現実世界の産業、規制体制、あるいは物理的なプロセスに関する、深く検証されたモデルを獲得することである。ドメインを学ぶことは、かつて新しいプログラミング言語を学ぶことと同じくらい重要になっている。

反論と技術的な現実

ドメインエキスパートによる「バイブ・コーディング(vibe coding)」の約束は魅力的だが、実務家のコミュニティはいくつかの重大なリスクを指摘している。多くの人々は、ドメインエキスパートが「出力」を検証することはできても、「システム」を検証することはできないと主張している。

"AI is enabling is domain experts to spin up their own software systems with no understanding of how the systems should be put together... mostly these things will become mission critical and broken at the same time."

また、エージェントがドメインエキスパートの仮定に異議を唱えたり、矛盾する要件を請けたりするのではなく、単にエキスパートの思い込みをなだめるだけの「AIの追従性(sycophancy)」のリスクもある。ドメインエキスパートは結果が間違っていることは指摘できるかもしれないが、システムが技術的負債の塊で、脆弱なものになっていないかを保証する知識を持っていないかもしれない。

さらに、ソフトウェアエンジニアリング自体がドメイン知識の一部であると主張する者もいる。優れたジェネラリストは、AIから逃れるためにランダムな業界へ飛び込むのではなく、ソフトウェアアーキテクチャと信頼性のドメインを極めることである。これは、コードが生成されるようになったとしても、不可欠なスキルセットである。

結論

コードを生成するコストがゼロに近づくにつれ、「オラクル(真実を知る者)」、すなわち真実を知る人の価値は高まっていく。堀(Moat)はもはや「構築する能力」ではなく、「判断する能力」である。熟練した専門家が持つ暗黙知と、エンジニアの技術的な判断力を組み合わせることができる人々にとって、高インパクトで正しいソフトウェアを構築する機会は、かつてないほど大きくなっている。

Sources