AI駆動開発が当たり前になってきて、「コードを書く力」の価値は相対的に下がりつつあります。では何が差別化になるのか。最近の仕事を通じて、「ドメイン知識なんじゃないか」と思うようになりました。
きっかけ:業務アプリの引き継ぎ案件
最近、他のベンダーさんが開発していたシステムを弊社に乗り換えていただき、開発を引き継ぐ案件がありました。
よくある to C のアプリではなく、業務アプリです。そこで痛感したのが、その業務に関する知識がないと、仕様を把握しきれないということでした。
コードは読めます。AIに聞けば実装の意味も説明してくれます。それでも「なぜこの仕様なのか」「この画面は業務のどの場面で使われるのか」が分からないと、システム全体の理解がまるで進みません。
AI駆動開発では、仕様の理解が最も重要
AI駆動開発は、突き詰めると「仕様を人間が決めて、それをAIに実現させる」という営みです。
実装はAIがかなりの部分をやってくれます。だからこそ、人間側の仕事の重心は「仕様を正しく決めること」「仕様を正しく理解すること」に移っています。そして業務アプリにおいて、仕様の背後にあるのは業務そのものです。業務が分からなければ、仕様も決められないし、理解もできません。
「これできますか?」に答えられるか
業務知識が足りないと、お客さんへ適切な提案ができません。
「これってできますか?」と聞かれたとき、AIに聞けば何かしらの答えは返ってきます。問題は、その回答が「正しそう」なのか「怪しい」のか、自分で判断できるかどうかです。
もちろん、AIの出力を逐一正誤チェックする必要はありません。ただ、「これは確からしい」「これはちょっと怪しいから裏を取ろう」という嗅覚は人間側に必要で、その嗅覚の正体がドメイン知識だと思います。それがないと、AIの答えをそのまま横流しすることしかできなくなってしまいます。
AI駆動開発におけるエンジニアの価値は、掛け算だと思っています。
プロダクトオーナーやクライアントに足りないエンジニアリングの知識・ノウハウ × 業務への深い理解 × それをAIに実現させるノウハウ
掛け算なので、どれかがゼロに近いと全体の価値もゼロに近づきます。業務への理解がなければ、エンジニアが出せる価値は少ない。それなら「POやクライアントが直接AIを使った方がいい」ということになってしまいます。
虫食いの理解と、メンタルモデルのある理解
業務知識・理解が足りないと、仕様の把握が本当に大変です。
もちろん、「どこを操作するとどうなるか」を一つ一つ追えば動作は分かります。でも背景となる業務理解がないと、それらの知識はバラバラで、虫食いの理解になります。虫食いの理解は、考慮漏れにつながります。
一方、業務理解があればメンタルモデルがあります。メンタルモデルとは、「この業務はこういう流れで、こういう関係者がいて、こういうことに気をつける必要がある」という、頭の中にある業務の全体像・地図のようなものです。地図があれば、個々の機能を見たときに「これは地図のここに当たる部分だな」と位置づけながら理解できるので、サラッと触ってみるだけで理解がスムーズです。
この差を一番感じるのが、機能の探し方です。
- 業務理解がないとき:「へえ、こんな機能があるのか!」という発見型
- 業務理解があるとき:「この業務があるなら、こんな機能があるはずだ。どこだろう。……あった」という予測型
予測型で探せると、理解のスピードが圧倒的に速いです。しかも「あるはずの機能がない」ことにも気づけます。これは要件定義や設計の質に直結します。業務理解があると、要件定義も設計も適切なものになります。
まとめ:ドメイン知識が差別化になる
実装力の差はAIがどんどん埋めてくれます。でも、
- 仕様の背後にある業務を理解する力
- AIの回答の確からしさを判断する嗅覚
- 「あるはずのもの」から逆算して考えられるメンタルモデル
この辺りはAIを使う人間の側に残ります。だからこそ、AI時代のエンジニアの差別化はドメイン知識なんじゃないか、というのが最近の実感です。
