CAEソフトはなぜ"便利"になるほど使いにくくなるのか ー 機能追加で壊れていく設計の話
CAEソフトを長く触っていると、あることに気づく。
バージョンが上がるたびに、なぜか「使いにくく」なっていく。
機能は増えている。できることも増えている。でも、なぜか重くなり、画面が複雑になり、「あの設定どこだっけ」が増えていく。
これは単なるUIの問題ではない。設計の問題だ。
機能追加は「追加」ではなく「割り込み」である
ソフトウェアに機能を追加するとき、開発者は「新しい能力を足している」と考えがちだ。
でも実際には、既存の文脈に新しいルールを割り込ませている。
メニューに項目が増える。設定画面にタブが増える。ダイアログに「詳細オプション」が生える。
最初は小さな変更に見える。でも積み重なると、ユーザーは「次に何をすればいいのか」を見失い始める。
CAEでは、これがかなり危険になる。
なぜなら、CAEのユーザーは「ソフトを操作したい」のではなく、「現象を理解したい」からだ。
操作の複雑さは、そのまま思考の中断になる。
CAEは「再現できない」が一番危険
普通のソフトなら、「ちょっと使いにくい」で済むことがある。でもCAEではそうはいかない。
例えば解析結果が変わったとき。
- 境界条件が変わったのか
- ソルバー設定が変わったのか
- GPU精度が変わったのか
- 乱流モデルが切り替わったのか
- 自動補完が働いたのか
これが追えなくなった瞬間、解析は「再現できない結果」になる。
「便利にしよう」がブラックボックス化を生む
ここで問題になるのが、「便利機能」だ。典型例が、自動フォールバックや自動補完。
同じことはAIにも起きている。
「AIがいい感じに設定してくれる」「推奨値に自動調整する」「最適条件を提案する」。
短期的には快適だ。でも結果がおかしくなった瞬間、因果関係が追えなくなる。
AIが補正したのか。solverの問題なのか。入力条件の問題なのか。物理モデルの限界なのか。
責任の境界が、全部曖昧になる。
本当に壊れているのはUIではなく「文脈」
機能追加で壊れるのはレイアウトではない。壊れるのは「文脈」だ。
いま自分は何をしていて、次に何をすべきで、なぜこうなっているのか。それが追える状態。これが、使いやすさの正体だと思っている。
CAEで言えば、
- 設定した条件が何に影響するか
- ソルバーが今どの状態にいるか
- どの仮定の上で結果が成立しているか
- 結果がなぜこうなったか
この流れが見えている限り、人は迷わない。
機能が100個あっても、文脈が保たれていれば使える。逆に、機能が10個しかなくても、文脈が壊れていれば人は途方に暮れる。
なぜ開発側は複雑化を止められないのか
ここには開発側の事情もある。
新機能は、「実装」より「接続」が難しい。
ソルバーを1つ追加するだけでも、UI・config・dump・visualization・validation・AI説明・後方互換、全部に影響する。
しかもCAEは、「結果が変わる」こと自体が重大な意味を持つ。本来は「どこが変わったのか」「なぜ変わったのか」「どの条件で変わるのか」を追跡できなければいけない。
でも現実には、締切もある。後方互換もある。既存ユーザーもいる。
結果として、「あとから継ぎ足す設計」になりやすい。その積み重ねが、巨大だけど理解できないソフトを生む。
本当に必要なのは「理由を追えるUI」だ
必要なのは「ボタンが少ないUI」ではない。
本当に必要なのは、
- なぜAbortしたのか
- なぜ不安定なのか
- なぜこの値が支配的なのか
- なぜこのソルバーが向いていないのか
これが追えるUIだ。
どれだけUIが綺麗でも、内部状態が見えない・自動変更される・勝手に補正されるなら、設計者は考えることができなくなる。
「説明できる設計」を維持するコスト
開発をしていると、「説明できる状態」を維持することが、いかに難しいか分かる。
新機能を入れるたびに問う必要がある。
あるCAEプロジェクトの開発では、こういう制約を明文化している。
「AIは判断しない。黙って変えない。不確かさを隠さない。」
これは倫理の話ではない。設計の話だ。説明できない機能を増やさないための、開発側の自己制約として機能している。
まとめ
CAEが使いにくくなる理由は、単純に機能が増えたからではない。
機能が増えるたびに、「今何が起きているか」が見えにくくなるからだ。
使いやすさとは、機能の少なさではない。文脈の透明さだ。
それを守り続けることが、CAEを作る側の仕事だと思っている。
Discussion