AIがあるのに成果物の品質に差が出るのはなぜか
最近はAIの進化によって、コードを書く能力の差は以前より小さくなったように感じます。
しかし実際の現場では、同じAIを使っていても成果物の品質には大きな差があります。
結局今迄と同じで、AIがあっても知識と経験の差が成果物に反映されるという話です。
1. 問題設定の差
AIは問題を解くことはできますが、問題そのものを定義してはくれません。
そのため、AIが100点の回答を出しても、成果物としては0点になってしまうことがあります。
例えば同じ業務アプリでも、
- ユーザーの本当の課題を理解している人
- 言われたことをそのまま作る人
では成果物の価値が大きく変わります。
経験上、
- 客先の窓口担当やユーザー自身が本質的な問題を認識していない
- ユーザーが「ITで何ができるか」の認識範囲が狭い
というケースは少なくありません。
例えば、ユーザーから次のような要望があったとします。
全ての設備の故障率の推移が見えるようになりたい。推移グラフを作ってほしい。
しかし、その目的をヒアリングし、掘り下げると、
故障率を低下させたい
という課題が見えてきました。
この場合、言われた通りに単純に全設備の故障率推移を大量に表示しても、情報量が多すぎて現場では活用しにくいでしょう。
本質的な問題は「故障率そのもの」ではなく、ビジネスに直結する
生産ロスを減らすこと
かもしれません。
であれば、次のようなアプローチも考えられます。
- 生産ロスのパレート図
- 故障発生状況のヒートマップ
- 故障率推移から設備状態や作業者情報をホバー表示する分析画面
- 故障頻度や上昇率に基づくアラート機能
さらに現場利用が中心なら、
- 今日注意すべき設備一覧
- 担当者への割り当て情報
を表示した方が価値が高い場合もあります。
AIによって、ユーザの要求をシステム要件へ落とし込む作業ですら、AIによる支援が可能な時代です。しかし、ユーザ自身も認識していない問題は依然として人間の役割が大きいと感じます。
ユーザーと直接関わらない開発者であっても無関係ではありません。
客先担当者が提示した仕様をそのまま実装した結果、実は現場のニーズと合っておらず、最終的に使われなくなったりちゃぶ台返しをくらうこともあります。
2. AIへの指示の差
AIは入力された情報の範囲でしか答えられません。
例えば、
悪い指示
グラフを作って
良い指示
10万件のデータを扱うため初回以外は高速表示したい。
Excel更新時のみキャッシュを再生成し、
Dashで複数ユーザーが利用する前提で設計して。
同じAIを使っていても、得られる成果物は大きく変わります。
AIへの指示力とは、単なるプロンプト力ではなく、経験等からくるシステム設計や業務知識そのものだと思います。
3. AIの回答を評価する力
AIは間違えることがあります。
厄介なのは、間違っていても動いてしまうことです。
例えばAIは、
- パフォーマンスの悪い実装
- 保守しづらい設計
- セキュリティ上の問題を含むコード
- エラーを握り潰すだけの対応
- 業務仕様を考慮していない実装
を提案することがあります。
経験者は、
- 本当に正しいか
- 将来的な問題にならないか
- 業務要件を満たしているか
という観点で評価できます。
AIを使う能力と同じくらい、
AIの出力を見抜く能力
も重要です。
4. 業務知識の差
実際の現場では、技術だけで仕事は完結しません。
重要なのは、
- 業務フローの理解
- ユーザーとの調整
- 要件定義
- 運用設計
です。
AIはコードや設計の支援はできますが、組織の事情や暗黙知までは完全に理解できません。
例えば、
1日の生産数を集計してほしい
という要件でも、
1日は9:00〜翌8:59を指す
という運用ルールが存在することがあります。
こうした知識がなければ、どれだけ綺麗なコードを書いても正しい成果物にはなりません。
5. 品質へのこだわりの差
AIを使うことで、成果物の80%程度までは比較的容易に作れるようになりました。
しかし残り20%には大きな価値があります。
例えば、
- 使いやすさ
- 処理速度
- エラー対応
- テスト品質
- 保守性
といった要素です。
実務では、この20%が成果物の価値の大部分を決めることもあります。
なぜなら、ユーザーにとって
機能があること
は前提だからです。
その上で、
- 使いにくい
- 遅い
- エラーが多い
となれば、利用されなくなってしまいます。
車で例えるなら、
走ること
は当然の機能です。
その上で、
- 快適性
- 燃費
- 故障率
- 安全性
- 見た目
に価値を感じる人が多いのではないでしょうか。
まとめ
AIによって、
- コードを書く能力の差
は以前より小さくなりました。
一方で、
- 問題を定義する力
- AIへ適切に指示する力
- AIの出力を評価する力
- 業務を理解する力
- 品質を高める力
の差は依然として大きく残っています。
むしろAIによって実装のハードルが下がったからこそ、これらの差が以前より目立つようになったとも言えるでしょう。
そのため、AIを活用する時代になっても、成果物の品質には大きな差が生まれ続けるのだと思います。
AIが仕事を肩代わりしてくれる時代になったにもかかわらず、エンジニアが生き残るためには以前より深く考えることが求められるようになりました。
技術が進歩するほど、人間に求められるのは「手を動かす力」ではなく「より深く考える力」になるというのは、少し皮肉な話かもしれません。