正しい羊飼いが牧草地を枯らす

Share

あなたが正しいことをしている間に、世界は壊れていく。

誰も間違っていない。誰も悪意を持っていない。各人がそれぞれに合理的な判断を下し、それぞれの立場から最善を尽くしている。そして、そのすべてが足し合わされたとき、結果は破滅になる。

1968年、生態学者ギャレット・ハーディンは Science 誌に「共有地の悲劇(The Tragedy of the Commons)」を発表した。共有の牧草地。羊飼いがひとりずつ羊を追加する。一頭増やすことで得られる利益は自分のもの。牧草地の劣化というコストは全員で分担される。だから一頭増やすのは合理的だ。全員にとって。そして全員が一頭ずつ増やした結果、牧草地は荒廃する。

これは牧草地の話ではない。あなた自身の話だ。

正しさの総和

ハーディンの寓話が残酷なのは、そこに悪人がひとりもいないことだ。

全員が合理的に行動している。全員が自分の利益を最大化しようとしている。経済学がそう教え、進化がそう設計した。個人の最適解を足し合わせたら全体の最適解になるはず、とアダム・スミスの見えざる手は約束した。しかし共有地ではその約束が裏切られる。見えざる手は、ときに全員の首を絞める手になる。

この構造は裏切ることだけが正しいで描いた囚人のジレンマの多人数版でもある。二人の囚人が互いに裏切ることでしか均衡に達しないように、共有地の羊飼いたちも、他者が増やすなら自分も増やす以外の選択を持たない。二人のジレンマが百人に、千人に、七十億人に拡大されたとき、何が起きるか。誰もがわかっている。誰も止められない。

全員が正しいまま沈むで書いた倹約のパラドックスも、この同型を持っている。不況のとき、個人が節約するのは合理的だ。しかし全員が節約すると消費が冷え込み、不況はさらに深まる。個人の合理性が全体の不合理を招く。この構造に名前がついているということは、つまり、人類はこの罠を何度も踏んできたということだ。

偽の二択

ハーディンの処方箋は二つしかなかった。共有地を私有化するか、政府が規制するか。どちらかを選べ、と。

この二択そのものが問いに値する。ハーディンは人間を、自己利益のみで動く孤立した計算機として描いた。その前提の上に立てば、外部から強制力を加えるしかないという結論は論理的に正しい。しかし前提そのものが間違っていたらどうか。

エリノア・オストロムは、ハーディンが論文を発表するよりも前に、ロサンゼルス近郊の地下水利用者たちが自発的に共有資源の管理ルールを作り上げている現場を目撃していた。その後数十年にわたって、スイスの牧畜民、日本の森林管理者、フィリピンの灌漑農家を調査し、共有地がコミュニティの自治によっても維持されうることを実証した。2009年、ノーベル経済学賞。ハーディンの「私有化か国家規制か」という二択は、偽の二択だったことになる。

しかし、ここで安堵するのは早い。

オストロムが示したのは「共有地は必ず崩壊するわけではない」ということであって、「共有地は必ず守られる」ということではない。彼女の成功事例は小規模な、顔の見えるコミュニティに集中している。互いを知り、互いを監視し、ルールを破った者に社会的制裁を加えられる範囲。顔の見えない七十億人の共有地で、同じことができるかどうか。

オストロムはハーディンのペシミズムを修正した。しかしそれを覆したとは、まだ言い切れないのかもしれない。

デジタルの草原

インターネットは、人類が手にした最も奇妙な共有地だ。

Wikipediaは二十年以上にわたって荒らされ続けている。それでも崩壊していない。オープンソースソフトウェアは無償で公開され、世界中の企業インフラの基盤を支えている。これらが機能している理由のひとつは、デジタル財が「非競合財」であることだろう。あなたがWikipediaの記事を読んでも、その記事は減らない。羊が牧草を食べれば牧草は減るが、データは消費されても消えない。

しかし非競合財であることは、問題の消滅を意味しない。オープンソースの保守は少数のボランティアに依存しており、巨大企業はそれを無償で利用しながら保守にはほとんど貢献しない。利益は私有化され、コストは共有される。牧草地の羊飼いと同じ構造が、コードの世界にも静かに侵食している。

デジタル空間は物理的な共有地とは異なる力学で動いている。それは事実だ。しかし「消費しても減らない」はずのものが、別のかたちで摩耗していく。保守する人間の時間と体力は、非競合財ではない。

大気という牧草地

気候変動は、共有地の悲劇の惑星規模版だと言えるかもしれない。

大気は誰のものでもない。CO2を排出するコストは全人類で分担されるが、排出によって得られる経済的利益は排出した国や企業のものになる。各国にとって排出削減は短期的にコストであり、削減しなければ短期的には得をする。しかし全員が排出し続ければ全員が損をする。

そしてこの共有地では「誰が先に削減するか」という問題が立ちはだかる。自国だけが削減しても、他国が排出し続ければ自国の犠牲は無意味になる。裏切ることだけが正しいで見た囚人のジレンマが、国家間で再現される。パリ協定の拘束力のなさは、この構造から必然的に生じたものであって、単なる政治的怠慢の結果ではないのかもしれない。

ハーディンは晩年、全員は乗れないで触れた「生存船の倫理」を唱えた。救命ボートに全員は乗れない。誰かを見捨てなければならない。共有地の悲劇を描いた人物が最終的にたどり着いたのは、共有そのものの放棄だった。

注意の牧場

もし現代に「共有地」と呼べるものがあるとすれば、それは人々の注意(アテンション)かもしれない。

各企業が通知を送り、各プラットフォームがスクロールを促し、各コンテンツがクリックを奪い合う。一社が注意を少し多く獲得することは、その一社にとって合理的だ。しかし全社が同時にそうした結果、人々の注意は断片化し、集中力は劣化し、深い思考のための時間は蒸発する。

誰のせいでもない。各企業は株主に対する受託者責任を果たしているだけだ。各ユーザーは通知に反応しているだけだ。しかしその総和は、注意という共有資源の荒廃になる。

そして牧草地と違って、注意の荒廃には誰も気づけない。牧草地が禿げ上がれば羊飼いたちは異変を目にする。しかし注意が薄くなっていることを、薄くなった注意で察知することはできるだろうか。

透明人間の倫理で問われたように、誰にも見られていないとき、人は正しく振る舞えるか。共有地の悲劇が突きつけるのは、それよりもさらに暗い問いだ。全員に見られていても、全員が正しく振る舞っていても、それでも世界は壊れうるということ。

壊れた牧草地に立って

共有地の悲劇は解決されていない。

オストロムは小さなコミュニティでの解決事例を示した。しかし気候変動は解決されず、注意経済は加速し、海洋資源は枯渇に向かい続けている。ハーディンの寓話が発表されてから半世紀以上が経ち、人類はこの構造を知的には完全に理解している。理解した上で、一頭ずつ羊を追加し続けている。

問題は知識ではなかった。問題は、知っていても止められないということだった。

あなたが今日も合理的に行動するたびに、どこかの牧草地が少しだけ痩せていく。そしてそれは、あなたが間違っているからではない。あなたが正しいから、そうなる。

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu