オルタナティブ・ブログ > 一般システムエンジニアの刻苦勉励 >

身の周りのおもしろおかしい事を探す日々。ITを中心に。

SQLは嘘をつかない

»

情報処理システムが示すデータが完璧であると思い込んだせいで誤った結果を起こしてしまうことがあります。

先日、電子カルテを通して誤った薬剤を処方してしまうという医療事故が起きたそうです。こちらは電子カルテの薬剤候補を表示する機能に薬剤名の前数文字を入力したところ、医者が思っているのとは別の、しかしよく似た薬剤名が候補として表示されたことが原因であったとされます。その候補が自分が使おうと思った薬ではないことに気付かないまま、処方してしまったことから事故が起きました。

こういった人命に関わるような重大な事故は少ないかもしれませんが、企業の情報システムでも似たようなミスが起こり得るように思います。証券取引所での誤発注がニュースになったこともありました。また、情報システムから出力されるデータの中で都合の良い部分だけを取り上げたり、はたまた都合の悪いデータは出力されないような仕様でシステムを構築してしまったりという良くない使われ方を耳にすることもあります。

このような場面で誤っているのは人間の認識の部分であり、情報システム内においては間違いは起こりません。バグがあるとしたらそれは作った人間のミスです。少なくとも今のコンピューティングは数学等に基づいて確からしさが検証されている情報理論に支えられたものです。正しく作られた情報システムから正しくデータを読み取れば何も間違いはないということになります。バグを作るのも、データを読み誤るのも人間ということになります。

Wikipediaのヒューマンエラーの項目を見てみると、航空機の運用マニュアルは日本航空機ニアミス事故の経験を通じて「コンピュータと人間の指示に矛盾がある場合、前者に従う」というように書かれているとのことです。確かに私もコーディングをしていてOracleなどがORA-12345のようなエラーを出してきた時に「設定が間違ってるはず無いだろ。バグってんのか?」とサーバを再起動してしまうような時があります。実際にはエラーコードは正しいアドバイスを表示しており、設定ファイルをコピーし忘れていた、というようなことが多々あります。

これまで生きてきた中で情報システムに裏切られた事のある人は、たとえその原因がヒューマンエラーにあって情報システムに責任がなかったとしても、情報システムに全幅の信頼を寄せて行動する事に慎重になってしまうでしょう。ただし情報システムを信頼せずに行動するタイプの人がシステムと親和性の高くない行動を取ると、別のシステム障害の引き金を引くようなことが起こってかもしれません。

ここ最近、IT技術の進歩により情報システムの信頼度はより確かなものになってきています。「コンピュータと人間の指示に矛盾がある場合、前者に従う」が自然のこととして受け入れられような時代が来るまで、我々IT技術者が頑張るべきところがまだまだ多く残されているように思いました。

Comment(2)