「そこまで俺がする義理はないよ……」
そう言いながらソファーに倒れ込む。面倒な話がやってきた。このソフトウェアをとある公的機関で使いたいので内部で使っているソフトの一覧とかを用意してくれみたいな話だ。
権利上の問題、というのはわかる。しかしこれはただでさえ人工知能を相当に使っている上に、分割して修正して組み込んだ各種のソフトウェアのライセンスがかなり不思議なことになっているのだ。
具体的には合い挽き肉のハンバーグを牛肉成分と豚肉成分に分離してくださいみたいなものだ。あるいは黄色と青を混ぜて緑色になった色水をもとの二色に分けてください、みたいな。いや、上手く喩えになってないな。ちゃんとした問題に向き合おう。
一番問題になるのはGUIのあたりだ。実際に触ってみて便利だった複数のソフトウェアのものを混ぜているし、そこで参考にしたものはライセンスに表記されている。ただ、これらのどれぐらいをどのように組み合わせたのかと言われると難しいところになるのだ。
例えばヒストグラムとかを使ってパラメーターを表示するウィンドウがある。これのもとにしたソフトウェアでは独自に設定したデータログのファイルを読み込んで表示させるようになっていたが、それを別のソフトであった動的生成とキャッシュと組み込み、みたいな方法で実装した。そして実装方式は独自のものではなく、両方のソフトをかなり参考にして作ったものだ。
ただし、参考にしたのはロジック単位である。日本語の小説を二冊用意して、それをかなり下敷きにした英語の小説を見て、そのテキストパターンの一致だけでどれぐらいの依存度があるかを特定できるかみたいな話だ。これもまた不正確な気がしている。
うまい比喩が浮かばないのはそれを理解していない証拠だ、なんていうよくある話。この名言を残したファインマンはついぞ量子力学を理解することはできなかったのかもしれないが、現代の物理学をやる学生たちは学部一年生でなんとなくわかった気がしている。なんとなくというのは重要である。その蛮勇さと足元の曖昧な土台を見て見ぬふりをする精神がなければ、人類はここまで文明を築くことはできなかった。だから崖から飛び出して走っている最中に下を見ないほうがいいよ。
何の話だっけ。そうそう権利問題。国とかの組織で使うときはそういう制約があることも珍しくない。そして正直言ってそんなことを逐一やっていたら大変だ。BIFRONSにやらせれば別に数日で終わる話ではある。
もちろん、こういうものが要求される理由は理解できる。今どきはこういう依存関係を活用して変なものを埋め込む攻撃は珍しくない。ちょっと便利なものを作って公開するのが楽になったので、そこに例えば裏口を用意して、という発想だ。
それは別に裏口である必要も実はない。例えば特定の環境であれば計算をミスするようにしたり、あるいは電力消費に特定のパターンを出したりとか。上手に作ればマシン語レベルにそういうものを埋め込むこともできるので、追いかけるためには相当な知識が必要になってくる。
今回の俺が作ったシステムはそれなりに独立性があるし一応そのまま取り込んでいたり連携対象としているもの以外の、普通に俺の名前で責任を持っているソフトウェアコード全体はBIFRONSの監査が通っている。構造的にも変なものを仕込みにくいようにしてあるからあまり問題ないはずだ。
「来て」
「今行く」
四辻さんに呼ばれたので身体を起こして彼女の隣に立つ。ディスプレイにはコード。ああ、これは見覚えあるぞ。BIFRONSに丸投げしているとはいえ一応は最低限目を通しているので。だって自分が見ていたらあとで自分を責められるけど、そこを確認していなかったらBIFRONSのせいにしたくなるじゃないですか。俺はまだ人間らしさを捨てたくはない。
「この部分の意図は?」
四辻さんが見せる場所は一見すると特に何もないような画像表示に見えたがよく見ると二つの画面を同時に表示して重ねていた。いやまあ操作とかは同期するはずなので表示上の問題はほぼ変わらないはずなのですが、それでもちょっとだけ重くなったりするかもしれない。
「ミス。しかしこれ、BIFRONSが見落とした?」
「おそらく画像共有を行おうと思って複製してそのまま忘却されたものだと考えられる」
「あー、その手のミスは完全に取り除くことはできないからな……」
人間だってふとやっていることを忘れるのだ。あるいは単純作業に慣れているとマニュアルの工程を飛ばしてしまったりする。先入観があると一つ一つ丁寧に意識して追ってすらミスをするのだ。
そしてBIFRONSの記憶システムは、そういう問題を起こしやすい。これは欠点というよりも仕様の枠だ。記憶に依存した行動というのは世界の可能性を少なく見積もって、ありえないだろうというものにかけるコストを減らすことで成り立っている。
慣れとか学習というのは本質的にそういうものだ。それが嫌なら知性を下手に持たせるな。全部ルールベースにしろ。そうじゃなくて曖昧なことをさせたいならたまに変なことをするのは許容しろ。ということをわからない人は少なくないのである。そういう人ほどミスしたら許せっていうのだ。
「見直しの過程で気が付かなかった理由は?」
『ログには記録がありません。理由をつけることは不可能です』
「おっ言い訳をしない、偉いぞ」
人工知能は対話を学習してそれらしい言葉を返すように原則として設計されている。となると詰められると言い訳をするか謝罪するかとかいう常識的な対応になる。開き直るような応答は多くの場合望ましくない対応として扱われるのだ。
とはいえ、今回の場合はきちんと開き直ってもらわないと困る。別にBIFRONSがなにか失敗したからと言って俺はその責任を負わせることなどできないのだ。まあそれはそれとして再発防止を考えていくつかテストしてもらって可能であれば監視用の小型モデルに埋め込めないかどうかとかやってもらおう。というプランを俺は口頭で伝える。
別にBIFRONSに立てさせてもいいのだが、このあたりで人間を一回挟んでおくと変な均衡点にたどり着かないで変動を大きくできる、みたいな研究があったはずだ。具体的なタイトルまでは思い出せないし、再現できているのかは正直怪しいが、それでもこういうちょっとしたおまじないで、人間としての主導権を持っている気になるなら安いものである。