コミュニケーションを成立させることはとてもむずかしい

コミュニケーションが成立するためには、双方の発信器官、受信器官(ここで言う器官というのは身体的な器官のことではなく、「メカニズム」くらいの意味だ)が健全に稼働していることが必要条件となることは言うまでもないことだとおもう。片方の受信器官が壊れていたら、とうぜんもう片方がいくら発信したところでその信号はだれにも届かないまま消えていく。これは逆もまたおなじことが言えて、片方の発信器官が壊れていたら、とうぜんもう片方がいくらがんばって受信したところでそれは理解不能なものになるし、そもそも発信されてないものを受信することはできない。いくら耳をすましていても。

いま、双方の発信器官受信器官が健全に稼働していることをコミュニケーション成立の「必要条件」と言ったけれど、ではこれらの条件はコミュニケーション成立の「十分条件」だろうか? ということを考えてみたいと思う。換言すれば、「双方の発信器官も受信器官も健全に稼働しているが、コミュニケーションが成立しない、ということはありうるか」ということについて考えてみたい。少し考えると、「必要条件ではあるけれど十分条件ではない」ということに気づく。仮に日本語しか解さないひとと、英語しか解さないひとがコミュニケーションをしていることを考える。このとき、片方の日本語というルールを使った発信器官と受信器官は健全に稼働しているし、もう片方の英語というルールを使った発信器官と受信器官は健全に稼働している。だけど、当然日本語と英語ではそのままではコミュニケーションが成立しないことは想像にかたくない。

もうちょっと話を抽象化すると、これは「コミュニケーションが成立するためには、双方が同一の "プロトコル" を使った発信器官,受信器官が健全に稼働している必要がある」となる。「プロトコル」とはコンピュータ用語で「通信のお約束ごと」のことで、たとえば「まずは通信を始めたい側が決められた通りの信号を相手に送ります」「信号を受け取った側は決められたとおりの"受け取ったよ"という意味の信号を送ります」「"受け取ったよ"を受け取った側は、"受け取ったよを受け取ったよ"を発信します」みたいなもので、ソフトウェアエンジニアは、この「プロトコル」に沿った挙動をするソフトウェアを書くことで、自分とは別のところにあるソフトウェアと通信を行います(いまこの文章を読んでいるあなたの使っているソフトウェア(おそらくブラウザでしょう)は、はてなブログのサーバーと、事前に決められたプロトコルに沿って通信しているから、単なる01の羅列をこうして文字列として表示できているわけです)。

翻って、現実のわたしたちはどうでしょうか。同じ日本語を使っているはずなのに、なぜかコミュニケーションがうまくいかない。そういうことが日々おこっています。これは、「日本語」というレベルのプロトコルは同一であったとしても、「その意味解釈のしかた」というレベルでプロトコルが異なっている、と考えることができるのではないでしょうか。具体的な話をすると、ソフトウェアエンジニアの多くは、よく「うーん、できなくはないけどやりたくないですね」とか「うーんそれはかなりめんどくさいですね」という発信を行います。この発信に対して、同じソフトウェアエンジニア同士だと「なるほど、これをやることによって、ソフトウェアの保守性が犠牲になったりして、未来の変更が高コストになってしまうのだな、あるいは、高い負荷に耐えられないようなソフトウェアになってしまったりするのだな」と受信することが多い(当然、すべてのソフトウェアエンジニアがそうだとは言いませんが)のではないでしょうか。ただし、これは発信する側の意味解釈プロトコルと受信する側の意味解釈プロトコルが一致しているため、問題なく意思の疎通ができているだけです。このプロトコルを共有しないひとが受信したら「は? 仕事なのにやりたいやりたくないの話すんの? めんどくさい!?」というふうに受信してもなにひとつおかしくはないでしょう。

かなり極端な例をあげましたが、こういうことは毎日そこらじゅうで起こっています。これは当然のことで、意味解釈のレベルでまったく同じプロトコルでコミュニケーションするなんて原理的に不可能なのです。なぜなら、わたしたちはそれぞれに異なった環境で育ってことなった体験をしてきて、その中でじぶんの認知を育ててきています。まったく同じ経験をするなんてことはできないので、多かれ少なかれ異なったプロトコルでコミュニケーションをしているわけです。当然、その違いには濃淡があり、似たようなプロトコルを使う同士ではコミュニケーション上の齟齬はおきにくいでしょうし、逆に全然似ていないプロトコルを使うもの同士ではコミュニケーションを成り立たせることにとても苦労することでしょう。

異なるプロトコル同士でコミュニケーションを成立させなくて良いのであれば楽なのですが、とうぜん人間ですのでそうは行かないことが多いでしょう。家族でも、職場でも、共通の問題に対して別々の立場の人間が協力して立ち向かわなければならないシチュエーションはたくさんあります。ではそのときに、どうやったら上手にコミュニケーションが成立するのか。とうぜん、最初に互いのプロトコルを知り、揃えていく必要があるわけです。しかし、ここでとても大きな問題にぶつかります。プロトコルを揃えるためには、とうぜんそのためのコミュニケーションが必要です。しかし、そのためのコミュニケーションを成立させるには、やはり共通のプロトコルが必要です。これはたいへんに困ったことで、コミュニケーション・プロトコルの問題を解くためには、コミュニケーション・プロトコルの問題を解決しなければならないという再帰的な構造になっているわけです。

これは困った。どうすればいいのか。

しかし、よく考えてみると、コミュニケーション・プロトコルというのは実は多層になっています。同じ日本語というプロトコルを利用していても、意味解釈のレベルでは異なるプロトコル、という例が良い例ですね。「コミュニケーション・プロトコルの問題を解くためには、コミュニケーション・プロトコルの問題を解決しなければならない」というのは、再帰的な構造ではありますが、無限再起、あるいはデッドロックではなく、何度も再帰していくうちに「同じ日本語」だとか、なんだとか、どこかで共通のプロトコルにぶつかることを期待することはできます(ぶつからないこともあるでしょう)(というか細かい話をすると、ほんとうはぶつかることはなくて、「同一ではないが妥協できるところ」が見つかるだけなのだけれど)。

まとめると、異なるプロトコルをしゃべるもの同士のコミュニケーションがうまくいかないときには、プロトコルを揃えるためのコミュニケーションが必要になるが、そのコミュニケーションにもまたプロトコルを揃える必要が出てきて、ここにはものすごいコストがかかるでしょう。というのが、プロトコルの異なるもの同士がコミュニケーションをするための大きな壁です。

そして、この壁を乗り越えるのを難しくしている要素のひとつとして、「相手とうまくコミュニケーションが成立しない」となったときには、相手の「発信器官」「受信器官」どちらかが壊れているように見える、という問題があると思います。同じプロトコル同士でしゃべるときには自分の発信器官も受信器官もうまく動いているように見えます(どっちかが壊れてたらコミュニケーションが成立しないからとうぜんですね)。さらに、「プロトコルが異なっているからうまくコミュニケーションが成立しない」なのか、「相手が壊れてるからうまく成立しない」なのかは、こちら側からは判断不可能です。両方のプロトコルを理解しているひとがはたからみたら判別可能ですが、両方のプロトコルを理解しているのであればそもそも困ってないわけですからね。そういう理由で、「相手とうまくコミュニケーションが成立しないのは相手の受信器官か発信器官が壊れているせいだ」と結論してしまうのはそう不自然なことではない、とぼくは思います。

そう不自然なことではないけれど、それでは問題は解決しないので、コミュニケーション上の問題が起こったけどそれを解決しないといけないときには、「相手が壊れていることを前提にせず、単にプロトコルが異なっているだけなのだと自分に強く言い聞かせながら、根気強く共通のプロトコルにぶつかるまでプロトコル調整のためのコミュニケーションを繰り返す」ということを双方が行わないとだめなわけですね。それってめちゃめちゃに難しいことだと思う。というわけで、コミュニケーションの成立って、そういうめちゃめちゃに難しいことなんだよ、という共通認識をまずは広く持ちたいなあ、という意図で書かれた文章なのでした。