努力できない仕組みの分析

Share

「努力が足りない」と言われて、反論できなかった経験が、たぶん誰にでもある。

課題を出さなかった。締め切りを守れなかった。やると決めたことが三日で終わった。そのたびに自分を責めた。意志が弱い。根性がない。甘えている。そうやって自分を責めることで、次こそは、と思う。そして次もまた同じことが起きる。

もし「努力できない」が意志の問題なら、意志の強い人間は存在するのだろうか。それとも、ただ仕組みが違うだけなのか。

脳は未来を割り引く

行動経済学に「現在バイアス」という概念がある。人間は、将来の大きな報酬よりも、目の前の小さな報酬を好む傾向がある。1年後の15万円より、今日の10万円。来月の高評価より、今夜の動画視聴。

これは意志の弱さではなく、脳の報酬系がそう設計されているからだ。進化的に見れば、不確実な未来の報酬より確実な現在の報酬を選ぶことは、生存戦略として合理的だった。明日生きているかどうかわからない環境では、今食べることが正解だった。

問題は、現代社会の報酬構造が、この脳の設計とまるで噛み合っていないことだ。勉強の成果が出るのは数ヶ月後。キャリアが形になるのは数年後。報酬が遅延すればするほど、脳はそれを「割に合わない」と判断する。

あなたが怠けているのではない。あなたの脳が、まっとうに損得計算をした結果、今この瞬間の快楽を選んでいるのだ。

環境という見えない壁

もうひとつ、努力できない原因として見落とされがちなのが、環境設計の問題だ。

「努力できる人」と「努力できない人」の差は、しばしば意志力の差として語られる。だが実際には、環境の差であることが多い。勉強机が散らかっている。スマートフォンが手の届くところにある。部屋が寒い。あるいは暑い。周囲に同じ目標を持つ人がいない。フィードバックが返ってこない。

これらはすべて、努力の「摩擦」として機能する。摩擦が大きければ、どんなに意志が強くても行動は鈍る。逆に摩擦が小さければ、意志の力を借りなくても行動は起きる。

ゲームがわかりやすい例だ。ゲームの経験値システムは、行動と報酬の間の距離を極限まで縮めている。敵を倒せば数値が上がる。レベルが上がれば新しい能力が手に入る。進捗は常に可視化されている。「いつか」は来ないのが現実だとしても、ゲームの中では「いつか」が確実に来る。だから何時間でも没頭できる。

それは「ゲームが楽しいから」ではなく、「ゲームの報酬構造が脳の設計と一致しているから」だ。

努力信仰の暴力

この社会には、努力を美徳とする根深い信仰がある。「努力は報われる」、「石の上にも三年」、「やればできる」。これらの言葉は、努力できる人間にとっては励ましになる。だが、努力できない人間にとっては、それは糾弾だ。

努力が報われるなら、報われていない自分は努力していないことになる。努力していない自分は、怠惰で、甘えていて、価値がないことになる。

誰も何も選んでいないのだとすれば、努力「する」・「しない」もまた、選択の結果ではないのかもしれない。環境と脳の構造と報酬のタイミングが組み合わさった結果として、たまたま「努力しているように見える行動」が出力されているだけなのかもしれない。

努力できないことを責めるのは、背の低い人間に「もっと伸びろ」と言うようなものだ。構造の問題を意志の問題にすり替えているだけだ。

テクニックを知っていてもできない理由

「習慣化」のテクニックは世の中に溢れている。ポモドーロ・テクニック、if-thenプランニング、習慣スタッキング。どれも一理ある。だが、問題はそこではない。

テクニックを知っていてもできないのは、テクニックを実行すること自体が努力を要求するからだ。「毎朝5時に起きてランニングする」ための習慣化テクニックを実行するには、まず「毎朝5時に起きてテクニックを実行する」という努力が必要になる。これは無限後退だ。

努力できないことへの処方箋が努力を前提としている。この構造に気づいたとき、人はもう一段深い無力感に沈む。

永遠の素振りのように、手段が目的化する逆説もある。習慣化のテクニックを調べること自体が、実際の行動の代替物になってしまう。準備し続けることで、本番を永遠に先延ばしにする。

何もしなかった日の重さ

結局のところ、努力できないという状態は、意志でも性格でもなく、人間という生き物の設計と、現代社会の要求との構造的な不一致から生まれている。

それがわかったところで、何も解決しない。

明日もまた、やるべきことを前にして動けない自分がいるだろう。理由がわかっても、構造が変わるわけではない。何も起きなかった日が積み重なっていく。あなたが怠惰だからではなく、世界がそうできているからだ。

それでも、明日の自分に「もうちょっとがんばれ」と言ってしまうのだろう。その言葉が何の役にも立たないと知りながら。

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