調べた。試した。わからなかった。試行錯誤の見切りどき
目次
エラーが出る。検索して、上から順に記事を開く。AIにも聞いて、返ってきたコードを貼り付ける。動かない。別の書き方を試す。また動かない。
気づけば3時間。画面の前にはずっといたのに、何がわかったのかと聞かれると答えられない。
この3時間は無駄だったのでしょうか。
実はこの問いには、正反対に見える2つの答えがあります。そして、どちらにも根拠があります。
「試行錯誤は悪」と「苦労は身につく」は、どちらも正しい
マイクロソフトでAzure Functionsの開発に携わる牛尾剛さんは、『世界一流エンジニアの思考法』で「試行錯誤は悪だ」と書いています。優れたエンジニアは闇雲に試さず、事実から仮説を立てて、それを確かめる手順を踏む。理解が足りないまま手や検索を動かしても空回りするだけで、身につかない、という主張です。
一方、学習科学には逆向きに見える知見があります。デビッド・ロブソン氏は『知性の罠』で、答えをすぐ教わるより、自力でもがいて間違える経験を挟んだほうが、深い理解と応用力が残ると紹介しています。「生産的失敗」と呼ばれる考え方です。
この考え方には、まとまった裏付けがあります。2021年、ETHチューリッヒのターンメイ・シンハ氏とマヌ・カプール氏は、53件の研究(166の比較)を統合したメタ分析を発表しました(Review of Educational Research掲載)。
比べたのは、先に説明を受けてから問題を解く順番と、先に自力で問題に取り組んでから説明を受ける順番です。結果は後者が上回り、効果量はg=0.36でした。生産的失敗の設計原則に忠実な実践に絞ると、0.37から0.58まで上がっています。
ただし、例外もあります。小学2年生から5年生と、特定の分野に依存しない汎用スキルの学習では、先に説明するほうが有利でした。
ここで見落としやすいのが、この研究の「勝った側」の中身です。自力で苦しむだけで終わる条件ではありません。もがいた後に、必ず説明を受けています。しかもカプール氏の実践では、説明の段階で教師がまず生徒たちの考えた解き方どうしを比べてみせ、そのあとで正しい解き方を示しています。自分の試行が、説明を理解する材料として使われているわけです。
つまり、苦労が学びに変わるかどうかは、苦労の量より、その途中と終わり方で決まります。
空回りする試行錯誤は、前の失敗を使っていない
では、途中で何が違うのか。
1986年、ハーバード大学のデビッド・パーキンス氏らは、BASICやLOGOを学ぶ小中高生を観察し、伸びる子と伸びない子の違いを報告しました(Journal of Educational Computing Research掲載)。多くの子に見られたのは、次のような行動です。
- 困ったとたんに課題から離れる
- 書いたコードを読み返して、プログラムが実際に何をしているかを追わない
- 壊れたプログラムを、場当たり的にいじって直そうとする
パーキンス氏らは、こうした学び方の癖が、同じ授業を受けても伸びに差が出る理由の1つだと考えました。
パーキンス氏らは、困ると手が止まる子を「ストッパー」、手を止めずに書き換えては実行し続ける子を「ムーバー」と呼びました。ムーバーの中には、意図を持って変更しているとは思えない速さで書き換え続ける子もいます。
面白いのは、手を動かすこと自体は否定されていない点です。小さく書き換えて様子を見るやり方は、うまく回れば前進につながります。問題になるのは、無計画に書き換えて、間違いを積み増していく場合です。
冒頭の3時間は、まさにこの形です。貼り付けたコードが動かなかったとき、「なぜ動かなかったのか」を確かめずに次を貼る。すると、1回目の失敗から得られたはずの情報が、2回目に引き継がれません。
たとえば「設定ファイルの場所」「権限」「ライブラリのバージョン」の3つを原因の候補として書き出していれば、1回試すごとに候補が1つ消えます。失敗しても、残りの候補は確実に減っている。牛尾さんの言う「事実から仮説を立てて確かめる」とは、この候補を減らす作業のことだと私は読んでいます。
ロブソン氏も同じ本で、「早く、たくさん失敗しろ」を掲げる起業家の多くが、失敗の原因を外に求めて自分のやり方を振り返らず、同じ失敗を繰り返しがちだと指摘しています。回数を重ねても、振り返りがなければ中身は1回目と変わりません。
空回りは、早い段階で見分けがつく
それでも、粘ればいつかはわかるのではないか。この期待を揺さぶる研究があります。
2013年、ウースター工科大学のジョセフ・ベック氏とユエ・ゴン氏は、数学の学習支援システムの記録を分析し、「ホイールスピニング(空回り)」という現象を報告しました(AIED 2013)。3問続けて正解することを習得とみなし、決められた回数の練習(一方のシステムでは10回)のうちに習得できなかった状態を空回りと定義したものです。
分析の結論は、早い段階で習得できなかった生徒は、その後も苦戦し続け、おそらく習得に至らないというものでした。
2020年には、ウィスコンシン大学のイエユー・ワン氏やペンシルベニア大学のライアン・ベーカー氏らが、同じ数学システムの1つ(ASSISTments)の記録を生徒と問題セットの組み合わせ単位で分析しています(AIED 2020)。10問以上取り組んだ組のうち、習得して後日の確認テストにも合格したのは2,093組でした。残る6,855組は、習得できないか、後日のテストで落ちていました。粘った組のうち、報われたのは4分の1に届きません。
さらに、最終的に空回りする組と、粘って習得する組は、最初の3回分の記録だけで区別できたと報告されています。
空回りと結び付いていた行動の1つが、答えそのものを表示するヒントを多く使うことでした。ベック氏らの2013年の分析でも、4回目以降の練習でこのヒントを求めた組ほど、空回りに終わりやすい傾向が出ていました。答えを見ても、それを自分の間違いと結び付けなければ、次の問題では同じところでつまずきます。AIが出したコードを理由を確かめずに貼るのと、よく似た構図です。
もちろん、これは学校の数学練習システムの記録で、仕事の問題解決にそのまま当てはまるわけではありません。それでも、「粘れば報われる」が前提にならないこと、そして空回りの兆候は序盤から出ることを知っておくだけで、粘り方は変わります。
見切りどきは、時間より「情報が増えたか」で決める
ここまでの研究を仕事に置き換えると、3つの行動になります。
誤解:わかるまで一人で粘るのが、力のつく試行錯誤 → 前の失敗を使わない試行は、何回重ねても1回目と同じです。粘った時間は、理解の量を保証しません。
正しいアプローチ:試すたびに、候補が減ったかを確かめる → 試行錯誤の価値は、失敗から情報を取り出せたかで決まります。
具体的には、次の順で進めます。
1つ目は、試す前に仮説を1行書くことです。たとえば「エラーの原因は権限だと思う。だから管理者で実行すれば通るはず」。これだけで、結果がどちらに転んでも候補が1つ減ります。今日からでも、5分かからずに始められます。
2つ目は、打ち切りの条件を先に決めておくことです。私が勧めたいのは、時計より中身で区切るやり方です。たとえば「候補が1つも減らない試行が3回続いたら、一人で試すのをやめる」。3回という数字は、序盤で空回りを見分けられるという知見を仕事向けに置き換えた私の目安で、研究が示した値ではありません。自分の分野に合わせて調整してください。
3つ目は、打ち切ったら答えを見に行くことです。ただし、見る前に「自分が試したこと」と「なぜダメだと思うか」を書き出しておきます。そのうえで公式ドキュメントを読む、AIに説明させる、詳しい人に聞く。生産的失敗の研究で効果が出ていたのは、この「もがいた後の説明」と自分の試行を突き合わせる段階でした。
答えを見るのは、試行錯誤に負けることとは違います。試行錯誤を学びとして完結させる、最後の工程です。
おわりに
「調べた。試した。わからなかった。」
この3行のあとに、「何がわからないのかは、わかった」と書けるなら、その3時間は無駄ではありません。候補は減り、次に何を聞けばいいかが見えています。
次にエラーが出たら、検索窓を開く前に、原因の候補を3つ書いてみてください。それが、一人で試す時間と、答えを見に行く時間の境目を決める材料になります。
この記事で参考にした本
『世界一流エンジニアの思考法』牛尾剛さん → 闇雲な試行錯誤をやめ、事実から仮説を立てて確かめる。理解に時間をかけるほど後が速くなる、という働き方の土台
『知性の罠 なぜインテリが愚行を犯すのか』デビッド・ロブソン氏 → もがいて間違える経験が深い理解を残す「生産的失敗」と、振り返りのない失敗は繰り返されるという指摘
合わせて読みたい
『失敗の科学』マシュー・サイド|なぜ航空事故は減り、医療ミスは減らないのか 失敗から情報を取り出せる仕組みと、取り出せない仕組みの違いを、組織の規模で描いた本です。この記事の「前の失敗を次に使う」を、チームに広げて考えたい人に向いています。
『Learn Better』アーリック・ボーザー氏|蛍光ペンと読み返しは、ほぼ意味がなかった 読み返しのような「やった感」の強い学び方が、なぜ身につかないのかを扱った本です。試行錯誤に限らず、学び方そのものを見直したいときに読んでみてください。
一人で30分悩み、聞いたら5分。人に聞けない本当の理由 この記事の3つ目の行動「詳しい人に聞く」で、なぜ私たちは聞くのをためらうのかを扱ったコラムです。打ち切りを決めても聞けない、という人に役立ちます。