人工物に囲まれるということ

基盤のない不安

またまた理系離れの話。理系離れの問題は、今の社会ではある意味仕方のないことである。しかし、仕方がないで終わらせては問題だ。という話を今回はする。

現代では、自然科学の重要性が薄れてきてしまった。ここに、理系離れの主因がある。科学なんてもう進歩しなくてもいい、と大半の人が思っている。盛んに理系離れの問題を叫ぶ技術者や科学者は、そこがわかっていないか、あるいはわかっていて目をそむけている。

我々の身の回りから自然が消え、人工物があふれるようになった。そして、人々はそうした人工物を、原理を理解することなく魔法のように使う。自然科学の知識はもはや必要なく、人工物を魔法のように使いこなす知識だけでよいようになった。

人々が、魔法を使う側でいることに慣れてしまって、魔法を研究する側にやってこようとしない。魔法を使うことと魔法を研究することの区別がついていないからだ。パソコンやケータイをいかに使いこなそうと、パソコンやケータイの仕組みを知っていることにはならない。


「ソフトウェア」の存在が、この問題を端的に表している。初歩の技術者向きに、パソコンの解説をすることを考えてみよう。おそらく「パソコンの中にはCPUがあって、CPUがメモリやハードディスクの内容を読み書きして……」と説明を始めるだろう。そこから、OSやデバイスドライバの説明をするかもしれないし、Windowsの操作説明になるかもしれない。

しかし、ここに「トランジスタに電流を流すとスイッチング作用が起きて……」という説明が入るだろうか?まあ少しは説明する人もいるかもしれないが、こんなことはソフトウェアを作る上ではまったくどうでもいい知識である。しかし、パソコンというモノを本当に説明しているのは、この部分である。

「パソコンはなぜ動くのか?」という疑問に答えようとすれば、トランジスタから始まって、集積回路、ANDゲートやORゲート、フリップフロップ、状態機械ときて、CPUとバスを説明し、マシン語の話で完結する。この話をきちんと全部できる人は、そうはいない。

これを、自動車の解説と対比してみると面白い。最初は同じように「自動車の中にはエンジンがあって、変速機があって……」と説明を始めるだろう。しかし、その後に、「ピストンの中にガソリンが噴射されて……」という説明をきっと誰でも入れるだろう。自動車好きな人なら、このくらいは誰でも説明できる。

エンジンの動作原理は説明されるべきものだが、CPUの動作原理は説明されるべきものではない。自動車関係の技術者だったら、誰もがエンジンの動作原理を知っている。しかし、ソフト関係の技術者でCPUの動作原理を知っている人はそういないし、知らなくてもたいして問題がないものだとみなされている。

エンジンと違って、CPUは「魔法の箱」である。原理を知らなくても、使いこなせればそれでよい。だから、ここには科学の知識はもはや必要ない。しかし、科学的な知識でないものは、すぐ変わってしまい、無駄になってしまう。AND ゲートやORゲートの話は今でも有用だが、CP/Mのコマンド名などの知識は今ではほとんど意味がない。


我々は今では、人工物に囲まれた中で生活している。日頃使っているものの動作原理をいちいち考えないで、使い方だけを覚えて使っている。

それに伴って、魔法の箱の使い方を覚えることを、科学技術と勘違いしている連中が増えた。PCのアプリケーションソフトを作るのは、旧来の「技術屋」と呼ばれる類いの仕事ではないのだ。これを、ソフト屋も技術屋も勘違いしている。技術屋が、旧来の技術開発の延長線上でソフトを作ると、とんでもない泥沼にはまる。逆に、ソフト屋は、技術屋が常に意識している自然との関わり合いを無視しがちだ。(バカのために念のため書いておくが、技術屋とソフト屋は違うと言っているだけで、どちらが上だということはない。)

技術屋が常に持っている自然に対する意識とは、何が起きるかわからないという意識、常に想定外のことが起きる可能性があるという意識である。なぜなら、我々は自然界を正確に把握することはできず、必ず近似による単純化が入っているからである。

例えば、普通の電気回路では、線がつながっていれば瞬時に電気が流れると考える。しかし、本当は、光の速度で制限されるわずかな遅れがある。こうした遅れが、時には問題になることがある。同様に、電線の抵抗は0ではないし、正確に言うと電気が流れる速さも光の速度ではない。こうした「無視できるくらいわずかなもの」があちこちに存在する。

技術者は、あらゆる「わずかなもの」を想定しつつ、「これは無視できる」と勝手に決め付けて切り捨てるという作業をやっている。そしてそれが自分の勝手な決め付けであることも知っている。それだけではなく、「わずかなもの」は無限にあり、その中には自分が想定しきれていないものもあるということを知っている。

自然を相手にしている以上、何が起こるかを完全に予測することはできない。自然との戦いは、不確実さとの戦いだ。


それに対して、ソフトウェアの世界では、プログラムは書いたようにしか動かない。同じタイミングで同じ入力があれば、必ず同じ出力を返す。関数の入力を決めれば、自分が想定できていないものは何もない。だから、ソフトウェアでの問題は、すべて人間の勘違いに起因すると言える。プログラムを書けば、その動作にはあいまいさがまったくない。

しかし、それで済めば単純な話だが、そうはいかない。ソフトウェアは複数人で分担して作り上げるものだからだ。一人でソフトを作ったように見えても、OSやファームウェア、はてはCPUの設計など、他人が作ったものをブラックボックスとして使っている。

それぞれのブラックボックスは、それを作った人が完全に把握している。しかし、それぞれが自分の分担を完璧にこなして問題のないモジュールを作ったとしても、それをつなげてうまく動くとは限らない。それは、作る側と使う側で、モジュールの動作だと思っているものにずれがあるからだ。「思い」は、文書なり図なりにした時点で、いろんなことが省略されてしまう。つまり、作る側の「こういうつもりで作った」と、使う側の「こう動くと思って使った」の差である。これは、どちらが悪いわけでもない。ただ、言葉にし尽せていない暗黙の了解が違っていただけである。

ソフトウェアの問題は、本来は厳密に決まっているプログラムに混入する、様々なあいまいさの問題である。そして、そうしたあいまいさは常に人間が混入させる。つまり、ソフトウェアで起きた問題は、常に誰かのミスや誤解として片付けることができてしまう。

人間はバカなので、本来は完璧なはずのプログラムに、間違いを混入してしまう。人間はどこでミスをするかわからない。ソフトウェアは、人間のバカさ加減との戦いである。


だから、ソフトウェア業界ではよく責任問題が浮上する。本当のことを言えば、これは正しいとか間違いの問題ではなく相違の問題だから、どちらにも責任はあるともないとも言える。だからこそ、こうした問題はよくこじれる。

自然を相手にする技術者は、自然が責任を負ってくれない以上、すべては自分の責任である。想定外のことが起きたら、それは想定していなかった自分が悪い。しかし、ソフトウェアでは、想定外のことが起きたら、想定しなかった自分も悪いが、想定外のことを起こした方も悪い。

そして、ソフトウェアでは往々にして、想定外のことを起こした方が悪いことになる。ブラックボックスの使用者にしてみれば、中身がまったくわからない以上、何が起きるかを想定することは不可能である。想定ができない以上、想定していなくて当然であり、従って想定外のことを起こした方が悪いことになる。

これはつまり、ブラックボックスを提供する人と、それを使う人の関係である。ブラックボックスを使う人は、その箱がどんなものなのかがまったくわからないから、ただ提供者の言うことを信じて使うしかない。しかし、提供者が言わず使用者も質問しなかったことは、いったいどうなるのか。もしかしたらそのブラックボックスは水に触れると爆発するかもしれないし、強い放射線を出しているかもしれない。もし使用者が「この箱は一ヶ所にたくさん集めても大丈夫ですか?」と質問したなら、「バカ野郎!当然、臨界質量を越えてしまうと大爆発するぞ!そんなことも知らずに使おうとするな!」と怒られるようなモノだったとしても、その質問をすることすら思いつかなかったとしたら、そんなことを知らないまま、無造作にバケツで運んだりするかもしれない。

提供者は、使用者が何を知らないのかを質問することはできない。使用者は、何が暗黙の了解になっているのかを質問することはできない。だから、必要な事項が提供者から使用者に伝達されない可能性は常にある。しかし、提供者には少なくとも対象であるブラックボックスに対する知識があるのに対して、使用者の知識はゼロだ。何も知らないのだから、判断ができない。だから、責任がない。


技術者は、自然現象をうまく使って、目的を達成する。自然現象は完全に解明できないから、予想もしなかった何かが起きる可能性がある。それでも、他の誰にも責任を負わせることができない以上、自分で負うしかない。

それに対して、ブラックボックスの使用者は、何だかよくわからないけど言われた通りに操作して、目的を達成する。言われた通りに操作するから、その人に選択肢はなく、従って責任もない。

しかし、使用者は、自分が達成したい目的がきちんと伝わっていることを確認する手段がない。自分が望まない副作用が生じることを確認する手段もない。なぜなら、本当の問題は表現された部分に存在するのではなく、表現されなかった部分、意識にのぼらなかった部分に存在するからだ。

そういう意味で、ブラックボックスの原理を理解しないで使うことは、恐しいことでもある。渡された箱を使うと何が起こるかを、事前に確認する手段がないのである。自分か相手がひどく勘違いしているかもしれない可能性を捨てきれないし、渡した相手は、自分が聞くべきことを言っていない可能性もある。

ブラックボックスを使う人は、作った人に自分の将来の一部を左右される。相手が自然であれば、自分の将来の一部は自然の出来事に左右される。両者は同じ構造に見えるが、内容は同じではない。

相手が自然であれば、あきらめるより他に手はない。天災の責任は、誰も負ってはくれない。しかし、自然は我々人間とは無関係に存在していて、起きそうなことを予想できる。自然は我々を騙そうとしたりはしない。自然は、調べれば調べるだけ詳しく内容を明かしてくれる。自分が努力すればするだけ、より正確な答えが得られる。

それに対して、相手が人間の場合、どんなことだってあり得る。人間は、どんな間違いだって犯す可能性があるからだ。目の前のブラックボックスに対して相手がどんな効能を言ったとしても、それが間違っていると判断することができない。相手にどんなにしつこく聞いても、相手が間違って思い込んでしまっていたら、正しい答は得られない。

ブラックボックスの恐さは、使う人に何も知らされないところだ。使う人はどうやっても正しさの根拠を持つことができないのである。根拠を持つには、箱の蓋を開けて中身を解析するしかない。そしてそれには、科学を学ぶ必要がある。


さて、恐しいことに、ブラックボックスはもうこの世の中の至るところに存在し、もはやそれ無しでは普通の生活を送れないところまで来てしまった。ブラックボックスを受け入れることが当たり前になってしまった。

ブラックボックスを使う側でいる限り、その人は選択肢はなく、従って責任もない。最近では「責任がない」と言うと良いことに思う人がいるのだが、まったく良いことではない。責任がないということは、自分が無力だということ、自分の力ではどうにもならないということである。

例えば、構造設計書が偽装されたマンションを買う人は、セールストークに騙されて、安いけど地震で崩れるようなマンションを買わされる。マンションを買った人の自己責任だとか何とか言う人もいるけれど、実際に自分が買う身になって考えてみれば、セールストークに騙されるなという方が無理だ。

自分が買おうとしている「マンション」の耐震強度を確かめる術は事実上ないし、いちいち確かめていては身が持たない。相手の言うことを信じて買うしかない。そして、大枚はたいてインチキマンションを買って、多額の借金を背負う。もちろん「インチキじゃないか!」と文句を言うことはできる。しかし、いくら「インチキじゃないか!」と言っても、相手の会社が倒産して社長が自殺したら、泣き寝入りになってしまう。

「責任がない」というのは、かように恐しい状態なのである。マンションを買おうと思って最初に訪れた店がインチキかそうでないかという運だけで、自分の将来が決まってしまう。だから、人は「責任を持てるようになりたい」と願い、自分の責任範囲を拡大するよう努力する。これは、自分の将来を運まかせにしないということである。

ブラックボックスを使う側に徹するということは、願いを叶えてくれる不思議な杖を使って生活することである。杖を一振りすれば何でも願いを叶えてくれる。それがいつまで続くのか、その結果どうなるのかを知らないまま。一定回数振ったら爆発するのかもしれないし、徐々に魂を抜かれて生ける屍になってしまうかもしれない。もしかしたら、ずっと願いを叶え続けてくれるのかもしれない。

形式上、使用者には、杖を振るか振らないかという選択がある。しかし、これは事実上は選択ではない。なぜなら、振ると何が起こるかがわからないからだ。わからないのだから、判断のしようがない。


ブラックボックスが物理的な制約を離れてネットに接続されたおかげで、本当にどんなことでも可能になった。ネットがないうちは、いかにブラックボックスといえども、コンセントから供給されている電力以上のことはできなかった。しかし今では、箱についているボタンを一つ押すだけで、一瞬にしていろいろなことができる。

ネット上ではどんなことだって可能だ。それは、ネットが単なる通信手段だからである。目の前にあるブラックボックスは単なるリモコンスイッチなのだから、大きさや重さといった物理的な制約はまったくない。そして、その箱の先につながっているものが何なのかを、スイッチを押す人は知ることができない。「テレビを見る」と書いてあるボタンは、どこかの画像サーバにつながっているのではなく、実は銀行につながっていて、自分の銀行口座をそっくり他人に移し替えるものなのかもしれない。

自然はインチキをしない。自然は決してミスをしない。自然は時には予測不可能だが、突拍子もないことは起きない。だから、自然を土台にしたものは、ある程度信頼できる。その箱が小さくて軽いものだったら、たぶん街一つを吹き飛ばすようなパワーはないだろうという推測が成り立つ。箱から出ている電線が銀行のオンラインシステムではなくアンテナにつながっていることを確認すれば、どう間違ってもせいぜいアンテナが壊れるだけで、自分の銀行口座がどうにかなってしまうことはないと推測できる。

しかし、技術革新によって、そうした自然の制限がどんどん小さくなってしまった。もう、何が起きてもおかしくはない。電線がつながっていないからといって外部と通信していない証拠にはならないし、小さいからといってそれが複雑な仕組みを持っていないという証拠にもならない。さらに、もしそれが単なるリモコンスイッチだったとしたら、それによって何が起きてもおかしくない。

ブラックボックスに物理的な制約がなくなったおかげで、使用者は箱自体からは何の情報も得られなくなってしまった。自分がインストールするフリーウェア一つ一つが、実際は自分の銀行口座をカラにしたり、勝手に商品を注文して支払いだけさせられたりするソフトウェアである可能性が常にある。


本来、契約とは、当事者が双方とも内容をよく理解した上での合意である。しかし、今では、そういう本当の意味での契約を結ぶことができない。買い手は、ブラックボックスを何だかよくわからないまま買うのだから。契約という概念が成り立たないところに、この問題の根の深さがある。

この問題の根の深さを理解していないと、クレーマーと呼ばれる客になってしまう。クレーマーは、自分が何だかよくわからないまま買って、それが自分の思った通りのものでないといって文句を言う。(中には悪意でやっている人もいるが)

クレーマーにとって、いや普通の消費者にとっても、小売店と霊感商法の違いがなくなってきている。「この壷を買えば幸運が舞い込みます」というのと「パソコンを買えばテレビもインターネットもできて人生が豊かになります」というのは、パソコンのことをよく知らない人にとっては大差ない。「簡単にインターネットできるというから買ったのに、全然簡単じゃないじゃないか」とクレームをつける方もつける方だが、相手を見極めずに「簡単にインターネットできます」と言う方にも問題がある。

昔は、商品に問題があれば売った側の責任、問題がなければ買った側の責任と明確に分かれていた。これは、売り手と買い手が双方ともに商品の特性を知っているという前提があってはじめて成り立つ。この前提が成立しなくなってきて、対等の関係が崩れてきた。

今では、買い手が満足しなければすべて売り手の責任になってしまう。なぜなら、売り手は「顧客の満足」を売っているからである。しかし、満足というものは主観的なものであり、「俺は満足していない」と言えば、満足していないことになってしまう。買い手が買った後で勝手に基準を決められるのだから、売り手にとってみればたまったもんじゃない。

では客観的な基準を作ればいいかというと、そんなに簡単な話ではない。客観的な性能基準は、買い手には理解できないからだ。CPUが何GHzでメモリが何メガのっていて……ということがわかる人なら、家電屋さんで「インターネットでブロードバンドをやりたんだけど」なんて言ったりはしない。そんな人にどんな数字を並べても無駄だ。そもそも、パソコンで何がやれるのかすらわかっていない人に、選択などできるはずもない。

結局、主観的な判断を人に委ねるところに問題がある。主観は伝えきれないものなのだから、その判断を人にやってもらうことはできない。しかし、自分が欲しいものを理解できない人は、自分で判断することができない。


人工物を使うとはつまるところ、人間同士の約束事にのっとって言われた通りの事をやるということだ。つまり、自分でも何が何だかわかってないことをやるということだ。

その行為が恐しいことだからこそ、消費者保護という名で様々な補助をしている。しかし、自分でもよくわかっていないままやることに慣れると、その行為の持つ本質的な恐さを忘れてしまい、それが当たり前になってしまいがちである。それは当たり前ではないということを自分によく言い聞かせて、感謝しながら受け入れなくてはならない。

責任がないというのは、恐しいことである。自分のことについての判断を人に委ねるということだからだ。そんなことをしたら、騙されて有り金を全部奪われて捨てられるのが当たり前。今の社会がそうなっていないのは、皆の努力によるものである。皆の努力によって支えられているものを、あって当たり前だと思ってしまうと、そのありがたみがわからなくなってしまう。

自分の周囲がブラックボックスだらけになってしまったのは、そんなに昔のことではない。せいぜい10年20年程度の歴史しかない。田舎へ行って自給自足の生活をすれば、ブラックボックスのない生活は今でもできる。テレビもパソコンもケータイも、はては電気もガスも、無ければ無いでなんとかなってしまうものだ(場所を選べば、の話だが)。

魔法を使うことに慣れてしまう恐さは、魔法を使わないと何もできないと思い込んでしまう恐さでもある。現代生活で便利な様々なものを、無くても何とかなるものだと思えない。自分たちの今の生活が、基礎から積み上げられているのだということを認識できず、最先端のうわべだけを取って満足している。そしてそこには、自分が知っていることがいつ役立たずになるかわからないという不安が常にある。

SFでよくある話に、現代人が古代へタイムスリップして、現代の知恵を使って大活躍する話がある。もし我々が古代にタイムスリップしたとして、本当に古代人に感心されるような知恵を提供できるだろうか?古代人にとっては何の役にも立たない知識ばかりが詰め込まれているのではなかろうか?