2024年夏、巡る思考。その記録。
薄らボヤケた視界、世界。
私は多くの「考えるべきこと」を抱えていた。
プログラミングのスキルアップ計画、学校の課題、人生についての問い。
そして、いつも私は迷子になっていた。私は何を、何のために学んでいるのか?
私は未来へ続く道を歩いているのか?私は今どこにいるのだろうか?
いつも悩んでいた。
常に噛み合わなかった。解決できなかった。
「”A”をやるには”A”をやるだけでは全く足りない。重要な何かがかけている。」
そう思っていた。
気づき ―天啓―
プログラミングは「要求から生じた仕様を形にする手段」であり、根本には「要求を生じさせた実在の問題」がある。
UI/UXは「使い手」が最も使いやすいサービスと体験を構想し、それを「表現するための手段」である。
数学は「ある実在の問題」があり、それを「論理で説明」することで「世界を定性的に観測」するためにある(と思う)。
ファッションは「着る環境」があって、「着る人」がいて、それらにあわせてデザインや材質が決まる。
「良い勉強」のためには、24時間の中に「いい睡眠」「運動の時間」を作り、無駄な行動を削ぎ落とし、「生活全体」を勉強のために作り変える必要がある。
全ては「より大きななにかの一部」だった。
その大きなものが何かを知り、その「大きな何かを構成する部品」である”それ”はどんな役割を担い、どう貢献するのかを知らなければならない。
そうでなければ、”それ”を正しく実行することなど出来るわけがない。
森を見ずして木を知ることは出来ず、木を知らずして森を知ることは出来ないというわけだ。
だが、そもそも、木を知る、森を知るとは?「知る」とはどういうことなんだろうか?
私はどの程度「知っている」のか?
私たちは何かについて「知っている」とか「知らない」答えたりする。
だが、「知っている」という語はどういう状態を表すのだろうか?
もし「知っている」が「真理を知っている」という意味なら世界中に賢者が居るということになるだろう。
この問題について、以前、より表面的に知識について考えていた時、役に立ちそうな考え方を既に得ていた。
「概念」「事実」「行動」という分類だ。
Ultra Learningという本で紹介された考え方で、それぞれ以下のように定義されている。
概念:それを有効活用するために柔軟な形で理解しておく必要のある考え方
事実:それを覚えておくだけで十分な情報
行動:実行する必要のあるアクション
情報を分解して整理するというアイデアを得られたのは当時の私にとっては大きな発見だった。しかし、正直言って不明瞭だ。このままでは現実に適用する際の解釈の幅が大きすぎる。
なので、私はこの考えをより詳細にし、同時に汎用性を維持するように拡張した。
事実情報:「AはBである」と整理できる情報。
概念情報:複数の事実情報がパッケージになっている情報。後述するが、概念を成立させるのに必要な「定義」やその「関係性」などの「事実情報」が含まれている。
行動情報:概念情報を現実に適用する際に求められる操作を指す。
そして、それらの情報を知識化するうえでの効果と習得コストについて考えた結果生まれたのが知識レベルという考え方だ。
「未知」から「無意識で使用可能」という5段階で整理しており、この時は、知識について学習する際に、学習コストと学習後のリターンのバランスを取る」ための早見表のようなものだった。
元のアイデアを拡張してはいるが、この考え方にも致命的欠落があった。
表内には「知らない」とか「知っている」とかの文言がある。
しかし、先に示した通り、私は「知っている / 知らない」について「知らない」。
なので、この点を明確にする必要があった。
「知らない」を再定義する
「知らない」という状況がどういう時生まれるか?
ChatGPTに「詳しくは知らない」というワードが入った文を作ってもらって思考のスタート地点とした。
結論から言うと、”知らない”とは「真偽不明」「詳細不明」「未知」の3つに分割できると私は考えた。
そして、これを反転させると、「知っている」という定義も見えてくる。
つまり、概要、詳細、正誤が「知っている / 知らない」を構成する要素ということだ。
この説明における「存在」や「詳細」、「正誤」の定義について、もっと明確な説明があるべきとは感じるが、この記事を執筆している次点ではまだ明確化が出来ていない。今後の課題だ。
次の課題 ―概念を解きほぐす―
「知っている / 知らない」についてある程度の考えの提示は出来たと思う。その上で次に問題となるのは「概念」の定義だ。
先ほど「複数の事実情報がパッケージになっている情報」と概念情報を説明したが、これだけでは不十分だ。
結論から始めてしまうが、私は「定義」「適用すべき状況」「内包する子概念」が概念の構成要素であると考えた。
定義は 「概念AはBという定義を持つ」 と表せる。
適用すべき状況は 「概念AはBのような状況、本質を持つ事物に適用される」 と表せる。
内包する子概念は 「概念AはBという概念、Cという概念、Dという概念を内包している」 と表せる。
お気づきだろうか?これらは「AはBである」と平易に説明ができる単純な構造を持った情報、つまりは「事実情報」だ。
概念を「複数の事実情報のパッケージ」と説明したのはこの点を根拠としている。
事実情報の「AはBである」という形は単語帳などのフラッシュカードを用いた学習と非常に相性がいい。
とくにSRSと呼ばれるツール、有名どころだとAnkiというツールがあるが、これらを使うことで、非常に効率的な学習が可能となる。
定義、適用すべき状況、内包する子概念は「知っている / 知らない」の定義における「存在」と「正誤」をほぼカバーする。
ただし、概念の「詳細」は完全にはカバーできていない。
なので次は、「詳細」を如何にカバーするのかを考えていく。
コアが残ってる
概念における「詳細」とは、「より詳細な概念の定義」、「概念の適用操作」の2つである場合が多い。
前者は構成要素で分解してやることでAnkiでカバーできるサイズへ切り分けられる。
問題は後者で、適用操作はSRSなどとは相性が悪い。
具体的操作を自分の中に落とし込むための方法は色々ある。
何度も同じ問題を解く、ひたすらスウィングの練習をするなどは代表的な方法だろう。
だが、どちらも非効率だ。無策だ。
なので私から新しい方法を提案したい。
言葉の定義を確定させる
具体的な方法を論じる前に、まずは以下で頻出する「手順」と「観察」という語について定義を示そう。
この説明においての「手順」とは「全体の流れにおいて連続的であり、同じ操作が必要となる塊で切り分けたもの」でありその塊一つを一手順と言う。
料理で複数の具材をカットする操作が連続していたら、それは「具材カット」とまとめられる「一手順」と言える。
次に「観察」についてだが、観察とは「その手順の役割、具体的に何をしているか?その手順がどのような出力を行っていて、その出力を次の手順はどう使うか?」などを見ることと定義している。
具体的な方法、その部品。
各操作内容はモジュールという形にまとめて整理した。
以下にモジュールごとの説明を示す。
トライ
全ての起点となる。手順または手順セットに対して以下の内容を適用する。
- 手順/手順セット全体の実行の流れを一度見る
- 手順/手順セットごとに実践してみる。
- クリアの場合は「チェック」へ、実行中に手が止まった場合は「トラブルシューティング」へそれぞれ派生。
リトライ:問題なくクリアできた場合
トライの段階でクリアしたものがまぐれでなかったことを証明する段階。
- 初回クリアから一定日経ってから再度手順を実践してみる。
- リトライでもクリアしたら「クリア済み手順/手順セット」として保留。実行中に手が止まったら「トラブルシューティング」へと派生。
トラブルシューティング:実行中に手が止まった場合
トライ、リトライで手が止まってしまった場合に、思考のリセットと手順の再把握を行うためのモジュール。
- 進行をその場で中断
- 手が止まった手順の操作の流れを再度観察する。時限式。時間は未定。
- トライのStep.3から再開。
実際の運用
学校で歌の練習をしたことはないだろうか?
もしあるなら、思い出してほしいのだが、その曲を頭から最後までをひたすら、間違っても歌い続けただろうか?
おそらくNoだと思う。
歌をいくつかに分割して、部品ごとで練習し、AメロがクリアできればBメロ・・・と徐々に出来る箇所を拡張して、最後に通しの練習を行うことで全体の歌として歌えるようにするはずだ。
そして、間違ったら一度止めて、間違えた場所について、先生から「もっとこう歌って!」とアドバイスを受けたりするものだと思う。
私の方法はまさにこれだ。
この方法の何が優れているかという点だが、第一に実行とフィードバック、つまりは「その実行に対する評価」が返ってくるまでのタイムラグを小さく出来るという点がある。
実行しては問題を指摘され、そのメロディの最初に戻って歌い、またダメなら指摘される。
この繰り返しによって人間のスパコンより遥かに高性能な「パターン認知」の力が引き出されやすくなる。
第二に一つの巨大な課題を複数の小さな課題とすることで負荷を分散できる点だ。
歌を最初から最後まで通しで初見で歌ったら、きっと問題点だらけでやりたくなくなるだろう。
「困難は分割せよ」ということだ。
私の方法はこれらの教訓を「手順」という区切りと「モジュール」という実行手順によって整理したものだ。
モジュールの使い方
上述の3つのモジュールを3つの段階で縮尺を変えながら使う。
まずは初期。単一手順を対象としてトライを実行する。
トライが成功し、次のリトライでも成功すればその手順はクリア済み手順になる。
そして、その単一手順での実行を繰り返し、クリア済み手順が3つが揃ったら、そのクリア済み手順3つをひとまとめにしてトライを実行する。
トライをクリアし、リトライもクリアできれば、その3つセットを 「クリア済み手順セット」 としてまとめ、保留する。
そして、最後。クリア済み手順セット全てと、3つセットにできずあぶれていたクリア済み手順全てをひとまとめにしてトライを実行する。
このトライが成功し、リトライでも成功できれば全手順を通貫して実行できると認定する。
複雑性と手順を砕いた。次は?
ここまでの私は、より実践的な学習法を探求する流れに沿って方法の構築や論理の整備を行っていた。だが、ここに来てより根本的問題に私は相対することになった。
それは、「情報の階層」が分からないという点だった。
世界は複雑な階層構造を持っている。
例えば、「りんご」を説明する場合、植物学的見地から見た「植物としての”りんご”」、聖書の知恵の実のような「象徴としての”りんご”」、あるいはジャムやコンポートのような「料理の具材としての”りんご”」としても説明できる。
また、それぞれには情報の詳細度と呼ぶべきものもある。「植物としての”りんご”」よりも「植物界の”りんご”」という方がいくらか具体的だし、「植物界、バラ目、バラ科、サクラ亜科、リンゴ属に属する”セイヨウリンゴ”」という方がもっと具体的だ。
この情報の詳細度が高いものは「高度な〇〇」と言われる。
「高度な技術」「高度な知識」などはいずれも詳細度が高く、適用出来る状況や対象の範囲が狭く、そしてその適用対象に対しては無類の有効性を示す。
そして、学習とは「特定の問題に対応する技術や知識を得ること」であり、その目指す先は「技術や知識の”高度化”」である。
よって、「知識世界の放浪」が目的である場合を除き、「知識世界の中で私がたどり着きたい場所」と「そこへ至る道のり」を知ることは学習において何より重要なことである。
知識世界の地形を私は知らない
ある知識にはその前提がある。その知識には派生する知識がある。
その構造を私は「知識の地形」とよんでいる。
先程のりんごの例は分かりやすい。
「大雑把なカテゴライズ」という形を取る知識のほうが含む情報の範囲が広く抽象的であり、簡単な場合が多い(詳細度が”低い”)。
逆に、具体的な知識は含む情報の範囲が非常に狭く、複雑かつ難解である場合が多い(詳細度が”高い”)。
霧に覆われた世界、氾濫する情報。
現代の世界は情報が氾濫している。
識者のみが検証された情報を「その時点で出せるマシな回答」として世に放っていた時代は、ブログやSNSをはじめとしたWeb 2.0の時流とSEOに最適化されて汚染されたインターネットよって崩壊した。
皆が好き勝手に検証されていない情報を垂れ流していて、その様は豪雨によって濁流とかした川のようである。
故に私には「目」が必要だった。
有象無象の情報という霧で見えなくなった知識世界を、その本来の景色を直に見ることが出来る「目」が必要だったのだ。
千里眼を求めて ―Project Clairvoyance―
この情報の濁流に嘆いているのは私だけではない。
濁流、もしくは霧に包まれた世界に対し、挑戦的なボリュームで世に放たれた書物がある。独学大全という本だ。
この本には自身の未知と向き合う術、調べる方法、まとめる方法など、霧の中にあっても目指す方向を間違えないようにする様々な技法が取り上げられている。
その中で取り上げられた技法に「ラミのトポス」という技法がある。
簡単に説明すると、自分が知りたい対象について以下のように問うことで、対象を多角的に認識するという技法だ。
ラミのトポスの問:
「それは何の一種か?」
「それは同類とどう違うのか?」
「それを構成する部分を列挙するとどうなるか?」
「それの定義はなにか?」
「それの語源はなにか?」
「それの反対はなにか?」
「それを生じさせた原因はなにか?」
これをChatGPTを使って自動化することで知りたい事象に対する多角的な視点を高速に得られるのではないかと考えた。
だが、そう簡単ではなかった。
作ったAIへのプロンプト(指示文)も悪くはなかった。求めたものに近い結果は得られたのだ。
だが、どうしても言葉である以上、曖昧さを含んでしまう。
その曖昧さにより回答に解釈の余地が生まれ、望んだ結果を得るには至らなかった。
深淵を目指して ―構造主義、ポスト構造主義へ続くポータル―
私の2024年夏の記録はここまでだ。
本当によく考えたものだと我ながら感心する。
ただ、千里眼を得るにはまだ至っていない。
「目」を求める旅は今夏、始まったばかりである。
現在の私はというと、答えを求めてより深く哲学の世界へと踏み込んでいる。
もとより、私が行ってきた実在の世界や自身の行動の思考傾向の分析・探求の姿勢は哲学的であり、この展開は必然的と言えるかも知れない。
また、人生観にも変化が生じている。
ここまで積み上げた洞察をサービスに落とし込んで立ち上げたいという思いはブレてはいないが、「そのためにキャリアを積む」のは現実的である一方、真実ではないと考えており、今後の私の行動や選択は、私をより広く、より深く拡張することに寄与するか否かで判断されていくのではないかと思う。
今後の課題
「知っている/知らない」について論じた際に「存在」や「詳細」、「正誤」の定義について確定していないと話したが、この点はこの記事を執筆している点に発見した私の思想の欠落点である。
存在、詳細、正誤など中々に難しそうな言葉たちだが、私なりの定義を見つけられるよう努力を続けていく所存だ。
また、先述の通り、構造主義やポスト構造主義についても学んでいかねばならない。同時に買ってある本として”生物学の哲学”などもあるので、そちらも読み、思考の幅を広げていくつもりだ。
それと、最近私は美術展によく行くようになり、その面での学びも非常に多い。
白状すると、美術品自体の凄さはよくわからないのだが、画家のエピソード、画家がぶつかった困難や偶然、そして私の感性が捉え読み取った作品の意味などから深い洞察が引き出せている。
日々を生き、行動するだけで、私は多くの発見や再発見、火花のようなアイデアの発火を経験できるほどになった。
具体的行動へ繋がるものは今は多くないが、思考が先行し続ける以上、いずれ体もそちらへ引きずられて走り出すだろう。
焦る必要も急ぐ必要もなかった。ただ自身と対話し、真実に対し誠実に生きることこそが今の私に最も必要な生き方だと確信している。
Discussion