見出し画像

「知っている」と「理解している」の決定的な違いとは

「知っている」と「理解している」の決定的な違いとは

私たちは日常的に多くの情報を目にし、それらを「知っている」と認識します。本で読んで知っている、テレビで見て知っている、誰かから聞いて知っている。しかし、その「知っている」の中身は人によって大きく異なります。また、「知っている」ことと「理解している」ことの間には、大きな違いがあります。今回は、その違いについて考えていきたいと思います。

「知っている」の段階

「知っている」とは、ある事実や情報を記憶し、それを再現できる状態を指します。しかし、その深さには、いくつかの段階があります。

最も初歩的な段階は「名前を知っている」程度のものです。「AIって知ってる?」「うん、知ってる」という会話で終わってしまうレベルです。認識はしているものの、その中身についてはほとんど把握できていない状態です。「聞いたことがある」と言い換えても良いでしょう。

次の段階は、ある程度の説明ができるレベルです。例えば「AIって何?」と聞かれて「人工知能のことで、人間の知的な活動をコンピュータで実現しようとするものだよ」と答えられる程度です。辞書的な定義を知っているレベルと言えます。

そして、より詳しい説明ができるレベルもあります。「AIには機械学習という手法があって、大量のデータから学習することで、より賢くなっていくんだ。例えば、画像認識の場合は...」といった具合に、より具体的な説明ができます。

しかし、これらは全て「知っている」の範疇に留まります。「知っている」状態の特徴として、以下が挙げられます。

  • 断片的な情報:個々の事実は知っているが、それらが他とどう関連しているかは分からない

  • 応用力の欠如:新しい状況や課題にその知識を適用するのは難しい

  • 表面的な理解:情報をそのまま受け取り、深く掘り下げることがない

  • 批判的思考の不足:情報をそのまま受け入れる傾向が強い

  • 例外への対応困難:想定外の状況には対応しにくい

「理解している」とは

一方、「理解している」とは、単なる情報の記憶を超え、その背景や構造、関係性を把握し、新たな状況に応用できる状態を指します。具体的には、以下のようなことができる状態です。

1. なぜそうなのかの説明ができる

知識の背景にある理由や原理を説明できます。「こうすれば上手くいく」だけでなく「なぜそうすれば上手くいくのか」を説明できます。例えば、プログラミングにおいて「この関数を使えば目的を達成できる」だけでなく、「なぜこの関数でそれが実現できるのか」の説明ができます。

2. 実践で活用できる

知識を実際の場面で適切に活用できます。マニュアルに書かれていない状況でも、持っている知識を応用して対応できます。例えば、料理のレシピを知っているだけでなく、材料や道具が変わっても適切に対応できます。

3. 新しい状況に応用できる

これまでに経験したことのない新しい状況でも、持っている知識を応用して対応できます。例えば、ある分野で学んだ問題解決のアプローチを、全く異なる分野の問題に適用できます。

4. 類似のものと比較・区別ができる

似ているように見えるものの違いを説明できます。また、一見異なって見えるもの同士の共通点も見出せます。例えば、異なるプログラミング言語の類似機能の違いや、異なる分野での類似の問題解決アプローチの共通点を説明できます。

5. 制限や例外を認識している

その知識がどういう条件下で使えて、どういう条件下では使えないのかを理解しています。例えば、ある解決策が効果的な条件と、逆効果になる可能性がある条件を説明できます。

6. 他人にわかりやすく説明できる

相手の知識レベルや興味に合わせて、適切な抽象度で説明できます。場合によっては具体例を使い、場合によっては概念的な説明ができます。


料理を例にとると、レシピを「知っている」人は、手順を暗記していて再現することはできます。しかし「理解している」人は

  • なぜその手順が必要なのかを説明でき(「この段階で塩を入れるのは、○○という効果があるから」)

  • 材料や道具が変わっても対応でき(「この食材の場合は火加減を調整する必要がある」)

  • 似たような料理との違いも説明でき(「〇〇料理と△△料理は一見似ているが、□□という点が異なる」)

  • その料理の制限も把握しています(「この調理法は△△の材料には向かない」)


プログラミングを例にとると、文法を「知っている」人は、テストで高得点を取れるかもしれません。

しかし、実際のプロジェクトで優れたコードを書けるとは限りません。

文法を「理解している」人は、以下の全てができる人です。

  • なぜその文法が必要なのかを説明できる

  • 実際のプログラミングで適切に使える

  • 新しい問題に対してその文法を応用できる

  • 似た機能を持つ他の文法との使い分けができる

  • その文法の制限や注意点を把握している

  • 初心者にもわかりやすく説明できる

このような違いが生まれる理由

「知っている」と「理解している」の違いは、知識の獲得過程と活用過程の両方に関係しています。

まず、知識を獲得する過程を見てみましょう。

現代において、知識を得ること自体は、本を読む、講義を聞く、ネットで調べるなど、様々な方法で可能で、以前に比べてずっと容易になっています。しかし、その効率性や質には大きな個人差があります。この差を生む最も重要な要因の一つが、抽象化能力です。

抽象化能力が高い人は、新しい知識を得る際に

  • 既存の知識との共通点や相違点を見出しながら学習を進められます

  • 過去の学習経験から得たパターンを活用できます

  • どの部分が本質的で、どの部分が個別の事例に特有なものかを判断できます

  • 結果として、知識を効率的に構造化し、活用可能な形で取り込むことができます


一方、抽象化能力が低い人は

  • 新しい知識を個別の事実として記憶しがちです

  • 既存の知識との関連付けが難しく、知識が断片的になりやすいです

  • 本質的な部分と細かな違いの区別がつきにくいです

  • 結果として、同じ時間をかけても効率的な知識の獲得が難しくなります


次に、獲得した知識を活用する過程を見てみましょう。

知識を本当の意味で理解し、活用できるようになるには、以下のような能力が必要です。

  1. パターンを見出す力(パターン認識力)
    複数の事例から共通点を見出し、本質的な要素を抽出する力です。 新しい事例に出会った時、過去の経験と照らし合わせて共通するパターンを見出せるかどうかが重要になります。

  2. 状況に応じて適用できる判断力(適用判断力)
    その知識がどういう状況で使え、どういう状況では使えないかを判断する力です。 同じように見える状況でも、実は重要な違いがあることを見抜き、適切に対応できるかどうかが問われます。

  3. 抽象度を調整できる力(抽象化調整力)
    状況や相手に応じて、説明や実践の抽象度を適切に調整できる力です。 時には具体的に、時には抽象的に、状況に応じて最適な表現や行動を選択できることが重要です。

これら3つの能力は、まさに抽象化能力の異なる側面と言えます。つまり、知識の獲得過程と活用過程の両方において、抽象化能力が決定的な役割を果たしているのです。

そして重要なのは、これらの能力は単に知識を増やすだけでは身につかないという点です。実践や試行錯誤、様々な経験を通じて徐々に養われていきます。教科書やマニュアルを読むだけでは得られない、実践の中でしか培えない能力なのです。

このように、知識の獲得から活用まで一貫して抽象化能力が影響を与えているからこそ、同じように「知っている」と言っても、その先の「理解している」状態には大きな差が生まれるのです。

ただし、これは固定的なものではありません。適切な方法で継続的に学び、実践を重ねることで、抽象化能力自体を向上させることは可能です。次の章では、その具体的な方法について見ていきましょう。

どうすれば「理解している」状態に近づけるか

「知っている」状態から「理解している」状態へと深化させるには、段階的なアプローチが有効です。

1.         因果関係を理解する

まず最初のステップは、「なぜ」を深く考えることです。単に事実や手順を記憶するのではなく、その背後にある因果関係や構造を理解する必要があります。

例えば、プログラミングにおいて「この関数を使えば目的を達成できる」という知識は、「知っている」状態です。しかし「なぜこの関数でそれが実現できるのか」「この関数の内部でどのような処理が行われているのか」を理解することで、より深い知識となります。

料理であれば、「この段階で塩を入れる」という手順を知っているだけでなく、「なぜこのタイミングで塩を入れる必要があるのか」「塩を入れるタイミングによって、どのような違いが生まれるのか」を理解することです。

この段階での重要なポイント

  • 「どうやって」だけでなく「なぜ」を考える

  • 現象の裏にあるメカニズムを探る

  • 手順や方法の意味を考える


2.         パターンを見出す

次のステップは、複数の事例や経験を比較検討し、その中から共通点や相違点を整理することです。ここでは意図的に多くの事例に触れることが重要です。

一つの事例からは、個別の知識しか得られません。

しかし、複数の事例を比較検討することで、以下のことが可能となります。

  • 表面的な類似性と本質的な共通点の区別

  • 一見異なる事象の中にある共通のパターンの発見

  • どの要素が本質的で、どの要素が個別の事例に特有なものかの判断


例えば、プログラミングにおいて複数の言語を学ぶことは、プログラミングの本質的な概念と、各言語特有の実装の違いを理解することにつながります。

料理であれば、複数の調理法を比較することで、「火を通す」という本質的な目的に対して、茹でる、焼く、蒸すなどの方法があることを理解し、それぞれの特徴や使い分けがわかるようになります。


3.         適用条件を見極める

パターンを見出した後は、そのパターンがいつ適用でき、いつ適用できないのかを理解する必要があります。ここでは特に例外的な事例に注目することが重要です。

似ているように見える状況でも、実は重要な違いがあることがあります。例外事例に注目し、なぜその場合は当てはまらないのかを考えることで以下のことが可能となります。

  • 知識の適用条件をより正確に理解

  • 新しい状況での適用可否をより正確に判断

  • その知識の応用範囲と限界をより明確に把握


プログラミングで言えば、ある解決方法が効果的な条件と、パフォーマンスが悪化する可能性がある条件を理解することです。

料理であれば、ある調理法が効果的な食材と、不向きな食材があることを理解し、それぞれの理由を説明できるようになることです。


4.         実践で検証する

理論的な理解ができても、それを実践できるとは限りません。

実際に知識を活用してみることで得られる価値は以下のものです。

  • 理解の正確さの確認

  • 思わぬ例外に遭遇し、理解を深める機会

  • 理論と実践のギャップに気づき、より現実的な理解


特に失敗から学ぶことは多く、それが知識の適用限界をより正確に理解することにつながります。

また、実践を通じて、教科書やマニュアルには書かれていない暗黙知を獲得することもできます。これは「理解している」状態をより確実なものにする重要な要素です。


5.         他者に説明する

最後のステップは、理解した内容を他者に説明してみることです。これは単なる知識の共有ではなく、自身の理解を確認し、深めるための重要なプロセスです。

他者に説明するためには様々なことが要求されると同時に、得られるものがあります。

  • 論理的な整理が必須

  • 説明の過程で新たな気づきが得られる可能性

  • 相手の質問から自分の理解の不足に気づく可能性

  • 相手の理解度に合わせた説明の仕方を工夫する必要性(抽象化調整力)


これにより、より体系的な理解が得られ、また抽象化調整力も養われていきます。

重要なのは、これらのステップは必ずしも直線的に進むわけではないということです。実践の中で新たな疑問が生まれ、因果関係の理解に戻ることもあれば、他者への説明を通じてパターン認識が深まることもあります。

また、これらの活動は意識的かつ継続的に行う必要があります。単発的な取り組みでは、真の理解には至りません。日々の実践の中で、これらのステップを意識しながら、段階的に理解を深めていくことが重要です。


このプロセスを通じて、知識は単なる「知っている」状態から、実践的で応用可能な「理解している」状態へと深化していくのです。

結論

「知っている」と「理解している」の違いは、知識の保有と活用能力の違いと言えます。そしてその違いを生む大きな要因が抽象化能力です。抽象化能力は、知識の獲得過程と活用過程の両方に影響を与えており、効率的な学習と効果的な活用を可能にします。

私たちは日々、多くの知識を得ていきますが、それを真に理解し、活用できるようになるためには、意識的な努力と実践が必要です。知識の獲得自体は様々な方法で可能ですが、その知識を「理解している」状態にまで高めるには、継続的な取り組みが欠かせません。

そして、その過程で培われる「パターン認識力」「適用判断力」「抽象化調整力」が、真の理解への鍵となるのです。これらの力を意識的に育てていくことで、より効果的な学習と、より深い理解が可能になっていくのです。

「知っている」と「理解している」の位置付け

参考
1 なぜ、あの人との会話は噛み合わないのか?
2 会話の「噛み合わなさ」の正体
3 「同じミス」を繰り返す人は、「同じミス」だと思っていない
4 質問にきちんと答えられない人
5 思考にも「利き手」がある
6 「茶色い毛玉」か、「うちのミースケ」か?~「具体的知識」のレベル
7 「視野を広げる」ための4つのアプローチ
8 多角的な情報収集~「解像度を上げる」ためのアプローチ(1)
9 何がわが子に起こったか? 「観察」と「記録」と「分析」~「解像度を上げる」ためのアプローチ(2)
10 「抽象化能力」のレベル
11 活躍し続けるベテランは「パターン認識力」が優れている~抽象化能力を支える力1
12 「新入社員が辞めていくのは、新人教育が不十分だから」では、不十分な理由
13 上司の“武勇伝”には、「適用判断力」が欠けている~抽象化能力を支える力2
14 「工場長、本当にその方法で大丈夫なのでしょうか?」適用判断力~抽象化能力を支える力2
15 なぜ、上司によってこんなに評価が異なるのか?抽象化調整力~抽象化能力を支える力3
16 思考スタイルは抽象化能力と具体的知識の組み合わせで決まる
17 「困った人」への対処法1~思考スタイルを知ることで人間関係を楽にする 具体的知識1✕抽象化能力1
18 「困った人」への対処法2~思考スタイルを知ることで人間関係を楽にする 具体的知識1✕抽象化能力2
19 「困った人」への対処法3~思考スタイルを知ることで人間関係を楽にする 具体的知識2✕抽象化能力1
20 「困った人」への対処法4~思考スタイルを知ることで人間関係を楽にする 具体的知識2✕抽象化能力2
21 「知っている」と「理解している」の決定的な違いとは


いいなと思ったら応援しよう!