💭

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