編者注
これまでの回では、AI 時代の下層ハードウェアの変化と、企業アーキテクチャがどう護城河を築いていくかを見てきました。ただ、毎日キーボードを叩く開発者や、日々ソフトウェアを使う普通の人にとって、いちばん大きな衝撃が来るのはたいていアプリケーション層です。この連載の最終回では、自然言語がどのようにして究極のプログラミング言語に近づいていくのか、そして固定された「ユーザーインターフェース」が、動的な「生成型 UI」によってどう覆されていくのかを考えます。
コンピュータ科学の歴史を振り返ると、そこには一つのはっきりした流れがあります。人間はより高い抽象レイヤーを作り続け、そのたびに下層の複雑さを機械へ引き渡してきた。
何十年も前、プログラマはアセンブリを手で書き、CPU のレジスタを直接操作していました。その後 C 言語とコンパイラが登場し、私たちは「コンパイラに任せた方が、手書きより良い機械語を出せる」と考えるようになった。
いま私たちは、ソフトウェア工学の歴史の中でも最大級の抽象化の跳躍を体験しつつあります。先端 AI 研究者の Andrej Karpathy は、これを「Software 3.0」と呼びました。この時代では、大規模言語モデル(LLM)そのものが新しい計算機であり、プログラミング言語は英語、あるいは任意の自然言語になる、というわけです。
「Vibe Coding」から「Agentic Engineering」へ
この 1 年ほどで、技術者でない人でも、AI にあいまいな自然言語の要望をいくつか投げるだけで、とりあえず動く Web ページを作れるようになりました。こうした直感と確率に寄った開発スタイルは、半ば冗談交じりに「Vibe Coding」と呼ばれています。
ただ、エンジニアの立場から見れば、Vibe Coding だけで工業レベルのソフトウェアは作れません。大規模モデルの出力は本質的に確率的で、ハルシネーションも起こすし、文脈を忘れることもある。数ターン対話しただけで、もともと正しかったロジックを壊してしまうことさえあります。これは、C のコードを書いたあと、それをアセンブリへコンパイルし、元の C ソースをその場で捨ててしまうようなものです。それでは長期的な保守も反復的な改善も成り立ちません。
そのため、2025 年から 2026 年にかけて、ソフトウェア工学の中心的な流れは、単なるコード生成から Agentic Engineering(エージェント工学) へと移りつつあります。
この新しい枠組みの中で、AI は単なるコード補完の「タイピスト」ではありません。コンパイラのフィードバックループ を内蔵した自律システムとして振る舞い始めています。たとえば MIT が発表した EnCompass フレームワークでは、AI が生成したコードがサンドボックス内でコンパイルに失敗したり、テストでエラーになったりすると、そのログを保持したまま状態を巻き戻し(Backtracking)、別のロジック分岐を試していく。最終的には、コンパイラやテストの検証を通る解へたどり着くまで反復する仕組みです。
ここで起きているのは、大規模言語モデルと、強い型付けを持つコンパイラやテストフレームワークとの深い結合です。自然言語は柔らかいけれど曖昧で、コンパイラは厳密だけれど融通が利かない。この二つを組み合わせることで、自然言語の確率的な弱さを、コンパイラの決定性が補う形になりつつあります。
この先、開発者の中心的な役割は、「一行ずつコードを書く人」から、「システムアーキテクチャを設計し、形式的な仕様を定義し、AI が生成したモジュールを監督・審査する人」へと移っていくはずです。
インタラクションの転換、固定 UI から User Intent へ
コードの作られ方が変われば、ソフトウェアの見せ方も当然変わります。
この 40 年あまり、CLI であれ GUI であれ、ソフトウェアの基本思想はほぼ同じでした。つまり、「ユーザーがソフトウェアの使い方を学ぶ」という前提です。デザイナーはあらかじめ静的なボタンと固定メニューを設計し、ユーザーはそこを順にたどって必要な機能へ到達する。
しかし 2025 年ごろから、この前提がひっくり返り始めています。User Interface(UI)から User Intent(ユーザー意図)への転換です。
これからは、ユーザーがソフトウェアの使い方を覚える必要はなくなるかもしれません。むしろ、システムの側がユーザーの意図を先に理解しようとする。その変化を支えているのが、生成型 UI(Generative UI)です。
生成型 UI の世界では、インターフェースはフロントエンドに固定でハードコードされたものではありません。ユーザーが要望を入力すると、AI エージェントがその意図を解釈し、必要なデータ、CSS スタイル、インタラクションのロジックを含んだ UI コンポーネントをその場で生成し、画面上へ流し込んでいく。
これを単なる未来予想だと思う必要はありません。すでにプロダクトのシグナルはかなり明確です。たとえば次のようなものがあります。
- `v0.dev`:自然言語からそのまま動くフロントエンド画面や UI コンポーネントを生成する。
- `GPTs` や AI アプリのワークフロー:対話の意図を、そのままインタラクティブな小さなアプリの形へ写し取る。
- `Notion AI` blocks:ユーザーの目的記述に応じて、コンテンツブロックやページ構造を動的に組み立てる。
- `Copilot Workspace`:タスクの意図から出発し、要件理解、コード変更、結果検証までを一続きの流れとしてつなぐ。
形はまだ進化の途中ですが、どれも指している方向は同じです。UI は「前もって設計された固定の入口」から、「ユーザー意図に応じてその場で編成される入口」へと変わり始めている。
たとえば、財務責任者が「前四半期の欧州地域における売上と利益の比較を見たい」と考えたとします。従来なら、複雑な BI ツールの中で複数のメニューをたどり、フィルタ条件を細かく設定しなければならなかった。しかし生成型 UI の時代では、要望をそのまま伝えるだけで、AI が必要なインタラクティブチャートと集計結果を含んだ小さなアプリケーションパネルをその場で組み立てる。ユーザーの意図が、そのまま専用の画面に変わるわけです。
音声と生成型Webが溶け合うとき
インタラクションの終着点は、動的な画面だけではありません。より本質的なのは、マルチモーダル(Multimodal)な統合です。
最新の実装を見ていくと、音声 UI はもはや初期の Siri のように天気だけ答える「目の見えないアシスタント」ではなくなりつつあります。一方で、Web UI も、マウスでクリックしないと動かない「耳の聞こえない画面」のままではありません。これからのシステムは、音声コマンド、視覚的な文脈、生成型 Web UI を一つに束ねていきます。
ユーザーは、ごく自然な話し言葉で複雑な業務要求を伝えられる。するとシステムは、それに対応した動的な画面を瞬時に構築する。そのあとで、ユーザーは画面に現れた要素を手で触って調整してもいいし、声で続きを指示してもいい。両者は切れ目なくつながっていきます。
そのとき、ソフトウェアの物理的な境界は少しずつ曖昧になります。ソフトウェアは単なる道具から、深く理解し、対話し、一緒に作業するデジタル協働者のようなものへ近づいていきます。
シリーズ結語、次の「386 時代」を引き受ける
これで、この《AI アーキテクチャ進化シリーズ》もひと区切りです。
大規模言語モデルを「保護モードを備えた 386 的 OS」として捉える見方から始まり、「メモリの壁」を打ち破ろうとするウェハスケールハードウェア、企業がローカルで回す「データフライホイール」、そして自然言語がコンパイラに近づき、フロントエンドが生成型の意図駆動インタラクションへ進んでいく流れまでを見てきました。
こうした変化が底層で絡み合っている以上、生成AIを単なる賢いチャットボットとして片づけることはもうできません。これは、インターネット登場以降でも最大級の、システムアーキテクチャ全体の再編です。
ただし、変化のスピードはたいてい、楽観的な予想より遅い。生成型 UI がどれほど魅力的でも、ユーザーは依然として決定的で安定した画面を求めますし、「勝手に変わる」ことへの不安も強い。既存のソフトウェア生態系が持つ慣性もまた大きい。歴史を振り返れば、コマンドラインから GUI への移行にもほぼ 10 年を要し、PC からモバイルへの移行も一夜では起きませんでした。
何十年か後に振り返ったとき、いま私たちが目にしている華やかな AI 技術は、新しい時代における「DOS 1.0」にすぎなかったと語られるのかもしれません。この技術の波のただ中にいるエンジニアにとって、それは可能性に満ちた時代であると同時に、忍耐と現実主義が同じだけ求められる時代でもあります。

Comments