あなたはソフトウェアが信じられますか ?

少し前のことになるが「スパイウェア駆除ソフトから一部のスパイウェア検出が 故意に駆除対象から除外されていた」という
ニュース があった。
もともとスパイウェア駆除ソフトはすべてのスパイウェア検出を保証しているものではないし、
本来はユーザもそれを認識すべきことではあるのだが、一般的には、 スパイウェア駆除ソフトを入れていれば安心、
と考えている人が多いのではないだろうか。

「大体正しいだろう」

コンピュータのやることを100%信頼している、 と言い切ってしまう人は稀であろうが、実際のところは、
社会の仕組みがますますコンピュータに依存するようになって、 ソフトウェアやロボットに仕事を任せたり、
ソフトウェアの出す結果に基づいて意思決定を行ったりする傾向は、 今後もますます増えていくだろう。
私たちは、どのような根拠に基づいてそうしたソフトウェア達に安心して仕事を任せることができるのだろうか。
たとえば、私たちが日ごろ使っている業務ソフトやワープロソフト、 あるいは表計算ソフトなど。
ユーザから見れば、大体大丈夫だろう、というだけの話で、 100%正しいということが保証されているわけではない。

自己責任といわれても…

上で例示したような業務システムやワープロ、表計算の類のソフトは、 その構造は複雑ではあっても、やるべきことははっきりしていて、
答えが正しいか間違っているかをテストすることも比較的容易である。 開発者は、このようなテストをさまざまな設定で繰り返すことにより、
ソフトウェアに対する信頼性を与えていくことができるし、 ユーザから見ても、何ができて何ができないのか、比較的わかりやすい。

一方、今後ますます増えていくであろうと予想される、より知的なソフトウェア、
つまり、人間の判断に大きな影響を及ぼすようなソフトウェアではどうだろう。 たとえば、株価予想システムの助言にしたがって株を購入する、
メールフィルタリングソフトを使ってスパムと思われるメールをフィルタリングする、
情報収集エージェントで必要な情報を収集させる、などなど。 このようなソフトウェアでは、(その重要性にもかかわらず)
ユーザがその内部仕様を検証したり、 さまざまなケースを想定したテストを実施することなど不可能である。
ユーザはそうしたことを含めて納得した上で使用しなければならないのだが、 そもそも使用する前から信頼することなどできないはずだ。

一般に、ユーザが期待するような効果が得られなかったり、逆に予期できない損害を こうむったところで、
ソフトウェアの製造者に法的な製造物責任を負わせることはほぼできないといってよい。 ライセンス契約の中の免責事項として、
ソフトウェア使用により発生するいかなる損害についても、 それを理由に訴訟を起こす権利の放棄を顧客に求めているのが普通だからである。
すなわち、ソフトウェアは自己責任で使用することが求められているのである。
現状のソフトウェアでは、この自己責任の範囲をユーザが納得できるほど、 その機能や制限が明確になっているわけではない。
大規模な開発工程を経たソフトウェアでは、 実際の開発現場にいる技術者達でさえ、 その機能と制限の全貌は把握できていないはずだ。
にも関わらず、ソフトウェアはますます社会の中で重要な位置づけになってくる。 重要な意思決定をゆだねるケースもでてくるだろう。
未来の話かもしれないが、経営状況を常に監視していて、 適切な助言を与えるロボットがでてくるかもしれない。
このような状況では、「自己責任ですか?はいはいわかりました」 と安易な気持ちでライセンス契約に同意することもできないはずだ。

開発者の倫理、ユーザの倫理、そしてソフトウェアの倫理

ビジネスあるいは社会を構成する一要素として、
コンピュータソフトウェアを信頼できるパートナーとして受け入れることができるだろうか。哲学的なテーマにもなりかねないこのような問題は、
コンピュータ倫理あるいは情報倫理といった分野の中で、 近未来の新しいテーマとして論じられているケースが多い。
このようなコンピュータの与える社会的責任に関して、 たとえば、欧米の大学では、 CCSRRCCSといった研究組織が設置されているほか、 研究者らで構成された公益法人である CPSRなどがある。
また、この問題に関するよいサーベイとして、スタンフォード大学のサイトに コンピュータとその道義的責任 (Computing and Moral
Responsibility)と題する論文が掲載されている。

上の論文によれば、この種の問題は、 開発者側の倫理とユーザ側の倫理に帰着させる考え方が一般的である。 つまり、
できることではなく、できないことを明確にするソフトウェアの見せ方、 単にライセンス条項だけでなく、
コンピュータにはその結果の責任がとれないことを明確にするようなインタフェース、
あるいは安全で信頼できるソフトウェアの規範を確立することが必要であり、また、 それをユーザがよく理解することが必要である、と説く。
人間同士の場合でも、できないこともできそうにいってしまう人よりも、
できないことはできないとはっきりいえる正直な人の方が信頼できるはずである。
また、「信頼できるソフトウェアの規範」についていえば、たとえば、 セキュリティ分野では Common Criteria などの情報セキュリティシステムが満たすべき国際評価基準があり、
もちろんこれが満たされたからといって100%安心して使えるというわけではないが、 少なくとも安心の根拠と責任の範囲を与えるものである。
人工知能ソフトウェアに対しては、現状このような評価基準があるわけではない。 現在のような状況においては、
人間が安心して知能ソフトウェアに任せられる仕事はかなり限定的なものになら ざるを得ないだろう。
「ソフトウェアはヘマをするかもしれないが、 仮にヘマをしたところでたいしたことにはならない」というような分野。
残念ながら、これが現状のユーザの自己責任でカバーできる範囲ということになる。

一方で、高度に知能を持ったソフトウェア(あるいはロボット)では、 コンピュータ自体に責任をとらせるべきだ、とする考え方もある。
映画「2001年宇宙の旅」に登場するHAL9000が人殺しをしたときの責任は誰にあるのか、
チューリングテスト(*註)に合格するようなシステムは、 自身が語る言葉に責任があるのではないか ?
いやそう考えるのが自然ではないのか、という考え方だ。 考え方として納得できる部分もあるが、
しかし、責任があるからといって、では実際にどのように責任を取らせるのか、
例えば、コンピュータが謝ってくれるのか、あるいは損害を保証してくれるのか、
それでユーザは納得できるのか、ということまで考えなければ実質的には意味がない。

エジンバラ大学の Henry Thompson は、 コンピュータが人間並みの心(自己意識と人間社会への参加意識)
を持つのでない限り、ソフトウェア自体に本当の信頼を与え、 重要な意思決定をゆだねることなどできない、という。
つまり人格をもったコンピュータでなければ、 本当の信頼を与えることなどできないということだ。 誰か信頼できる人に仕事を託すとき、
その人の行動スペックのすべてを把握しているなどということはあり得ない。 それでも人を信頼して仕事を任せることができる。それはなぜか ?
人工無脳のような、知的には見えるがほとんど責任のある仕事をしないソフト。
これに対して、知的な仕事をして人間社会の一翼を責任をもって担うソフト。
両者の間には、技術的な差異よりももっと大きな倫理上の壁があるようである。

註) チューリングテスト:
ある機械が知能を持っているといえるかどうかを判定するためのテスト。 アラン・チューリングが 1950年に「Computing
Machinery and Intelligence」 の中で提唱(この論文の和訳→ 「計算する機械と知性」)。 人間を模倣するコンピュータと本物の人間を(端末での会話を通じて)
第三者が区別できないとき、その機械は知能を持っている、とした。
最近では、知能の本質は環境との相互作用や身体性を含めたものであるとされ、
チューリングテスト自体が適切なものであるかどうかは論議を呼んでいるが、
いずれにしてもこれに変わる有効な知能測定方法が提案されているわけではない。