automakeきらい。

新山さんの日記より。禿同。
automakeの設計思想って、あらかじめ想定された環境であれば非常に快適だけれど、そこからちょっとずれると無い方がマシ、と言う意味で非常にマイクロソフト的だと思う【よく知らんのにsvnseeds】。もっともマイクロソフトはこれを「あらかじめ想定された環境=自社製品」への囲い込みとして意識的にやってるわけだけど。

こっから飛躍。どんなシステムにしろ他のシステムの上に親亀小亀状態で構築されている。で、その親亀であるところの下部レイヤをずるずる辿っていったとき、最後に人間が登場するようなシステムは結局ハターン(はじょう)するんじゃなかろうか【破綻はどっちだsvnseeds】。
いやこれは言い過ぎかな・・・ほとんどのシステムに関して言えば、最後は結局人間なんだから。その人間に期待されていることが明示的なルールとなっていない場合、つまりどんな基準にせよ組織化されていない場合、そのシステムはダメだといえば良いのかな。要は最後の頼みの綱がばらばらな判断基準で動いているようじゃシステム全体の信頼性を損なう、と。

また飛躍。これはオープンソースの話だとかDQNの話だとか無脳の設計の話だとかに激しく通じるものがあると思う【ついていけんわsvnseeds】。
オープンソースに関して言えば「明示的なルール」がどの程度明示的であるべきかの話になる。現状、それは「文化」や「世界観」のような非常にソフトな言葉で語られていて、わかる人にはわかるがわからない人には全然わからない。これらがいったい明示的に語り得るものかどうかは微妙かもしれないけど。これってessaさん問題意識にも通じるものがあるのかな。
で、DQNの話の場合、「グリア細胞としてのシステム管理者(by おれカネ先生)」という表現がまさにそれなんだけど、システムをメンテナンスする立場の人間がどれだけ組織化されているか(組織に組み込まれているか)が重要となる。企業経営の話にも繋がるだろう(社員ひとりひとりに当事者意識を持たせる、など)。
それと無脳設計や人工知能の話では、例外があるたびに人間が出てきてルールを設定するような設計じゃダメだ、ということなので上2つの例とはちょっと違う。完全に人間と切り離されたシステムで無い限り、それは知性を持ったとは言えない(まあ無脳にそこまで求めてはいけませんよ)。となると目指すのはボトムアップで作られた自前のルールセットでトップダウンの判断を行えるようなシステムということになるんだろう。
茶筅などのツールが有効なのは、「ボトムアップで作られた自前のルールセット」部分をスキップしてトップダウン処理だけに集中できることだ。つまり人間の身代わりをしてくれているわけだけど、やはり最後は人間が登場しないといけないところが辛い(その問題を解決しようと思って形態素解析サーバなるものを思いついたのだけど、結局これは負荷を減らしはするが解決にならないわけだな。しかもDQN問題も持ち込んでしまうので余計にやっかいかもしれぬ)。
ボトムアップ部分はまた独立に研究対象になっているけれど、ここではルールセットの元になるseed ruleもしくはmeta ruleも問題になるだろうな(人間の場合は現実世界なわけだけど)。そしていずれはボトムアップトップダウン、2つのアプローチのmissing linkを繋ぐ必要が出てくるんだろう。トンネル工事みたいに。

うーむ、だらだら書いたわりにはまとまりなくてしかも当たり前の話ばかりだな・・・。なおこの日記はご先祖様の提供でお送りしました。