NISHIO Hirokazu[日本語][English]

LLMを使いこなすエンジニアの知的生産術(講演資料)

2024-06-06 西尾泰和 @nishio

今回のきっかけ エンジニアの知的生産術の増刷 image 2018年に出版した「エンジニアの知的生産術」が出版してから5年以上も経って増刷された

  • ロングセラー化=長期的に売れ続けているということ(p.15)
  • 書籍は出版から時間が経つと売れなくなっていく
    • ところが一部の書籍は売れ続ける。それは、読んだ人が他の人にすすめるから(価値の社会的証明)
    • X/Twitterで時々エゴサーチしてると「知人が勧めてたので読んだ」的な投稿を見かける(p.141)
  • 出版してから5年経っても売れ続けているということの意味
    • 5年間の時の試練に耐えた
    • この5年間で陳腐化しない長期的に価値がある内容が書かれている
    • カバーの「10年後も役立つ」を半分実証した
      • image

今後も価値のある内容か?

  • 次の5年はどうだろうか?
  • ChatGPT(2022)に代表されるLLMの発展
    • 執筆時点(2017)でまったく予期できなかった
    • この技術変化は本書で書かれた知的生産の方式にどのような影響を与えるか?
  • 自分以外の視点が欲しい、そこでLLMに聞いてみた(実験)
  • nishio.iconプロンプト:
  • これは2018年発売の私の本「エンジニアの知的生産術」の序文と目次です。LLM技術が発展して文章の理解や生成が機械によって強力に加速している2024年現代の視点で見返してコメントしてください。

  • claude.iconClaude 3 Opus:
  • 2024年の視点から見ると、「エンジニアの知的生産術」の内容は、ますます重要性を増していると言えます。

  • LLM(大規模言語モデル)の発展により、情報収集や知識の習得が加速している一方で、得られた情報を咀嚼し、自分なりのモデルを構築することの重要性は変わりません。本書が提唱する「学びのサイクル」は、現代でも有効なフレームワークだと考えられます。

  • image
    • これは今まさにやっていること
      • LLMについて調べたり、実際に体験したりして情報を収集する
      • 予測モデルができ「こう使えば有益な結果が得られるのでは?」という仮説が生まれる
      • その仮説を実践して検証する、うまくいけば有益、うまくいかなければ学びの機会
  • 続きの出力も紹介する(灰色がAIの出力)
  • 「やる気を出す」ことに関する章は、AIの発展によって自動化が進む中でも、人間の創造性意欲が重要であり続けることを示唆しています。

  • 「記憶を鍛える」技術は、AIが情報を記憶・検索する能力が飛躍的に向上した現在でも、人間にとって重要なスキルです。単なる情報の記憶ではなく、知識を構造化し、応用する能力が求められています。

    • 情報の記憶は機械に委ねられるようになった。それらのツールを効率よく使うための知識の構造化と応用のスキルが重要になった。
  • 「効率的に読む」スキルは、情報の氾濫がさらに加速した現在、より一層重要になっています。本質を素早くつかみ、必要な情報を取捨選択する能力が求められます。

    • 最近は論文をClaude 3 Opusに読ませたりしている。効率的に読むために「読むという行為」や「読むことの目的」を考え直すこの章は、ツールの変化に伴う「読み方」の変化を考える土台になるだろう。
  • 「考えをまとめる」ことは、ChatGPTなどの言語モデルが発展した現在でも、人間の固有の能力として重要です。機械によって生成された情報を批判的に吟味し、自分なりの考えを形成することが求められています。

    • まったくその通り。LLMによってアイデアのブレインストーミングなどで素材がたくさん生成できるようになった。その素材をどう「まとめる」のかの指針が必要だ
  • 「アイデアを思いつく」プロセスは、AIが発展した現在でも、人間の創造性が発揮される領域です。機械による発想支援はできても、最終的に価値あるアイデアを生み出すのは人間の仕事だと言えます。

    • 「価値のあるアイデア」とは何かの考察が重要だ。実行されないアイデアに価値はなく、実現不可能なアイデアにも価値はない。アイデアの種の中から将来価値につながるものを育て上げるプロセスの重要度が高まるのだ。
  • 「何を学ぶかを決める」ことは、AIの発展によってさらに重要になっています。与えられた課題を効率的にこなすだけでなく、自ら学ぶべき対象を見極める能力が求められています。

    • 世界に大きな変化が起こるとき、かつて「これを学ぶと良い」とされていたものが今後も有用であるかがわからなくなる。誰にも未来はわからないので、他人に委ねることができない、自分で選ぶしかない。
  • 総じて、「エンジニアの知的生産術」で提示されている考え方やスキルは、AI時代を生き抜く上でも重要な示唆を与えてくれる良書だと評価できます。機械の力を活用しつつ、人間としての創造性を発揮するための指針として、現代でも大いに参考になる内容だと考えられます。

  • LLMを使うことによってこのような文章がローコストに生み出せる時代が到来した
    • この文章を読んだ人が「面白いな」と思ったなら、「面白さ」という価値が生産されたということ
    • この文章を読んだ人が説得力を感じて本を買えば、過去の知的生産物に光を当てて、現金価値が生産されたということ
  • 僕は、出力された文章自体も面白いし、「本の内容をLLMに読ませたらこの出力が出た」というプロセスも面白いと思う
    • これこそ「LLMを用いた知的生産」の実例
    • 「エンジニアの知的生産術」は「コーディングを支える技術」という一冊の本が執筆される知的生産プロセスの観察から生まれた
    • いま「LLMを用いた知的生産」のプロセスの観察から新たな知的生産物が生まれつつある

執筆後の変化

  • 知的生産の方法論の進化を語る上でまず2018年から今までの変化を語る
    • そうしなければ現在と未来を語るための前提知識が足りない
  • 大きく分けると3つある
    • ブログからScrapboxへ
    • 紙のKJ法からKozanebaへ
    • LLMの発展

ブログからScrapboxへ

  • 2000年代前半からブログを書いていた
    • 2000年にGoogle検索が日本語でのサービスを開始した。インターネット上に学んだことのメモを書いておけば「以前やったアレ、なんだっけな」と思ったときにGoogle検索で見つかる
    • 最初は個人的メモが動機で始めたが、たくさんの人から感謝された。SNSの発展と共に言及に気付きやすくなった
    • インターネット上で資料を公開しておくと、たまに SNS などで言及されて思い出すきっかけになります。社会的に需要の高いものほど高頻度で言及されるので、より高頻度で見なおされ、改善されていきます。(p.141)

  • 3つのメリット
    • 書くことのメリット: 消えなくなる(p.149)
    • デジタルで書くことのメリット: 検索できる(p.20)
    • 公開の場に書くことのメリット: 社会的な価値発生(p.141)
  • Scrapbox(注: 2024年5月にScrapboxはCosenseへと名前が変わったが、この講演ではScrapboxと呼ぶ)
    • 「エンジニアの知的生産術」執筆中の2017年にScrapboxを試し始め、2018年の出版の頃にはとても気に入っていた
    • が、構成の関係で書籍にScrapboxの章を追加することはできなかった(p.175の脚注でギリギリ言及している)
    • 2024年現在、約2万記事、文章量にして書籍60冊分のコンテンツがScrapboxに書かれている
  • Scrapboxの特徴
    • リンク特化の記法: []で囲うだけでリンクになる。情報間の関連性を低コストに表現できる
    • 存在しないページへのリンク: リンク先のページがまだ存在しなくても、リンクを作成できる。これが知識の拡張を促進する
    • 自動的な曖昧検索: リンク作成時に自動的に検索して関連しそうなページを提示してくれる。知識の関連性を見つけるのに役立つ
  • これらの特徴により、Scrapboxは知識のネットワーク構造としての表現を加速する。
    • 蓄積が溜まるほどメリットが増える
    • 蓄積が少ない初期段階では、ネットワークが十分に形成されないため、メリットを実感しにくい
  • Scrapboxの良さ
    • 自分の中に浮かんだ連想を、低コストでストックできる
    • リンクをたどって過去に考えたことが再発掘される
    • 今考えていることに関連した過去の記述に出会うことで、新しい気づきを得られる
      • 過去に経験したことを、現在の自分の視点から捉え直すことができる
      • 過去と現在の経験を「似たもの」として比較することで、理解が深まり、抽象化が進む
    • 重要なことほど繰り返し言及され、ページが充実していく
      • 社会的トリガーは他人だより運任せだった
      • Scrapboxによって「過去の自分」との相互作用が発生する

紙のKJ法からKozanebaへ

  • p.176でKJ法の電子化について書いた、執筆が終わってから実際に実装した
  • デジタル文房具Kozanebaを作って、十分満足いくものになったので紙でのKJ法をしなくなった
  • 電子的KJ法のメリット
    • 物理的空間を占有しないし、長期的に汚れずに保管できる
    • コピーペーストができる
      • 壊すことが不安になったらコピーしてバックアップを取ることで安心して新しい構造を試すことができる
    • 線を引く機能
      • 情報間の関係を明示的に示すために線を引く
      • 関係を明示したまま動かすことができる
      • 物理的な紙では線を引いた後でふせんの位置を動かすのが面倒なので、線を引くと動かすことを妨げてしまう
    • ズーム機能
      • 無限に広いキャンバスは、物理的に用意するのは難しいが、デジタルなら簡単
      • claude.iconズーム機能を使うことで、全体像を俯瞰したり、特定の部分に焦点を当てたりと、自由自在に表示範囲を変更できます。これにより、アイデアの関連性を探るのが容易になります。
      • 重要なふせんは大きくすれば見やすい
        • これも紙では面倒だが、デジタルでは簡単
  • 個人的にはKozanebaを使っているけどKJ法勉強会@ロフトワークではMiroを使った
    • 使い慣れたものを使うのが良いと思う、MiroはKJ法に特化して作られてはいないが全体的な機能はよくできている
    • 特に何人もが同時に一つの画面の中でKJ法をすることで、隣の人がやっていることをみられることが「似たものと比べることで理解が進む」効果をもたらす
    • (KJ法に関しては正直書き足りなかった。上記勉強会の資料でだいぶ加筆したので興味があれば読んでほしい)

LLMの発展(個人の知識ベースとの結合)

  • 2022年11月 OpenAIのChatGPT登場
    • 夏にGPT3のAPIは試していたが、ChatGPTを見るまでその威力を理解できていなかった
  • 2023年3月
    • 自分のScrapboxをChatGPTにつないだ(詳細)
      • 個人の知識ベースとLLMをつなげる試み
    • LLMが自分のScrapboxの2万記事、書籍60冊分のコンテンツを読んで話すようになった
      • 自分の過去の知見やアイデアを、LLMとの対話の中で活用できる
    • 今で言うRAG(Retrieval-Augmented Generation, 検索で強化された生成)
      • claude.iconRAGとは、LLMが持つ一般的な知識に加えて、特定のデータベースからの情報を検索し、それを活用することで、より具体的で文脈に即した応答を生成する技術です。
      • 汎用的なLLMが持っていない知識を持たせることができる
      • 他の人が持ってるのと同じLLMに同じプロンプトを入れれば、似た内容が生成される、これでは差別化につながらない(コモディティ化)
      • 個性的なデータと組み合わせることで自分好みにパーソナライズできる
  • GPT Builderを使って、ChatGPTのカスタムGPT NISHIO Hirokazu's Assistant(nihia)nihia.icon としてリリースした
    • このScrapboxの内容と"エンジニアの知的生産術" "コーディングを支える技術"の内容が入っている
  • デジタルデータになってるから入れられる
    • 7年間の間にScrapboxにデジタル形式で書き連ねてきたものが活用されている
    • 書くことによって消えなくなり、蓄積し、検索可能になる
    • その「検索」がLLM技術で進歩した
  • エンジニアの知的生産術のPDFを"検索"というキーワードで検索してみよう
    • image
    • ヒットしたところに目を通してまとめる作業をLLMは人間より何倍も速くやる
    • nishio.icon検索が知的生産に与える効果を簡潔に文章で説明して
    • nihia.icon検索が知的生産に与える効果は、情報の迅速な取得と知識の効率的な整理にあります。検索を活用することで、必要な情報を素早く見つけ出し、全体像を把握しながら詳細な理解を深めることができます。これにより、問題解決に近づく感覚を得るとともに、知的生産の質と速度を向上させることができます。
    • 「知識の効率的な整理」という切り口は面白い
      • 特定のキーワードが出てくる場所を集めてそれを読む
      • 「そのキーワードが使われる文章」という「似たもの」を「比べる」ことで「理解が進む」
      • imagep.39-41

LLMの発展(コンテキストウィンドウの拡大競争)

  • claude.iconコンテキストウィンドウとは、LLMが一度に処理できるテキストの最大量を指します。このコンテキストウィンドウが大きいほど、LLMは長い文章や会話の流れを理解し、一貫性のある応答を生成できます。
  • 2024年3月、AnthropicのClaude 3 Opus、コンテキストウィンドウが200Kトークン
    • 大雑把にいうと文庫本1冊が100K程度
    • 文庫本より文字数の多い専門書で50ページ分を入れて要約させる実験をしたが、問題なく動く
    • 日々英語の論文を丸ごと貼り付けて日本語で解説させるなどの使い方をしている
  • エンジニアの知的生産術p.122
  • image
  • 速く読みすぎて理解度が足りなければもう一度読めばよいですが、遅く読みすぎて時間を浪費すると取り戻しようがないので、適切なバランスがわからなければ速い側に倒すとよいでしょう。

  • Claude 3 Opusは50ページの書籍を読んで数十秒で要約を出力するので1ページ1秒以下
    • 日本語ネイティブの僕が日本語の本を読むのより速く速読する
    • それを英語でも中国語でも実行できる
    • 質問をすればそれに答えてくれる=興味関心によって掘り下げていける=個々人の興味関心にあわせたパーソナライズ要約

コンテキストウィンドウ拡大→一貫した文脈の維持

  • コンテキストウィンドウが大きくなると、一貫した文脈を維持しやすくなる
    • たとえば特定のプロジェクトに関して何日にもわたって会話をする
    • 人間の記憶は時間があくと揮発してしまう、過去の会話ログを読み返すのは高コスト
    • LLMが過去ログをコンテキストに持って会話してくれると「プロジェクトの記憶」を覚えてる人みたいに振る舞う
  • 実はこの「LLMを使いこなすエンジニアの知的生産術」はLLMにプロジェクト管理をさせる実験の一環
    • 「書籍を書くプロジェクト」をLLMに管理させる実験として始まった
    • その途中で講演の打診がきたので、講演資料の作成に寄り道している
    • 実践によって、何がLLMで便利になるのか、何がまだLLMではできないのかを明らかにしていく
  • 「LLMを使いこなすエンジニアの知的生産術」プロジェクトは知的生産物と知的生産プロセスをScrapbox上で公開しながら進めている
  • LENCHI_前書き
    • 私たちは今、言語を理解し生成するAIであるLLM(Large Language Model)の劇的な進化の只中にいます。ChatGPTに代表されるLLMは、単なる会話や文章作成のツールにとどまらず、知的生産そのものを変革する可能性を秘めています。
    • 私は長年、個人やチームの知的生産力を高めることに取り組んできました。2013年に出版した『コーディングを支える技術』では、プログラミングという知的生産を言語の側面から捉え直し、2018年の『エンジニアの知的生産術』では、エンジニアリングに限らず、あらゆる知的生産に通底する普遍的な技法を提示しようと試みました。
    • そうした問題意識の延長線上に、LLMの登場があります。LLMは人間の知的生産を補助し、時に代替さえしうる存在として、私の目の前に突如現れました。これは知的生産の在り方そのものを問い直す契機となるはずです。言語と知的生産の関係を見つめ、その普遍的な技法を探求してきた私としては、LLMの登場を、自らの研究を飛躍的に進める絶好の機会と捉えずにはいられません。
    • 本書では、LLMを自らの知的生産に実践的に活用し、その可能性を探求していきます。プログラマとしての技術、研究者としての好奇心、著述家としての言語感覚。さまざまな顔を持つ私が、LLMとの対話と協働を通じて、新しい知的生産の在り方を模索する過程をお伝えします。
    • 本書は、実例満載のノウハウ本でもなければ、大上段に構えた理論書でもありません。むしろ、LLMを「使いこなす」ことで、自らの知的生産を進化させていく1人のプロフェッショナルの奮闘の記録であり、知的生産の本質を問い直し、その新しい形を生み出そうとする1つの実験の軌跡と呼ぶべきものです。
    • さあ、LLMを携えて、知的生産の新天地を切り拓いていきましょう。
  • LENCHI_前書き生成過程 一部抜粋
    • あなたは有能な編集者である。私は「エンジニアの知的生産術」という本の著者である。LLMを使った知的生産術の本を企画している。アシスタントして。

      • 役割と目的を明示している
    • 陳腐ですね。なぜ陳腐かというと、著者がこの本を書く著者ならではの必然性がないからです。もっとも、あなたは著者の情報を知らないようなので、それを与えます。 PASTED エンジニアの知的生産術 著者公式ページ

      • 具体的な情報を与えてないので、コモディティ的な陳腐な内容が提案された、具体的な知識を与える
    • 方針はそれで良いと思うが、著者の名前は西尾泰和です。自己紹介データを添付します。 PASTED 自己紹介

      • 知識を与えている
    • 今回のケースにおいて、従来の書籍企画で一般的な「まず章見出しを作ろう」というアプローチはイマイチだと思います。そうではなく、スモールスタートから始めて疾走していくことから始め、その過程でLLMを使い倒して実例とするのが良いと思います。

      • 大方針を示している
    • 「LLMを使いこなす知的生産の職人」としてのノウハウを言語化していく創発的なアプローチ、いいフレーズですね。なおこのチャット自体も実例に使う予定です。書籍の適切なスタートとしては、文脈のない人が読める短い前書きがまずあり、それから実例の簡単な紹介と実例、という形かなと思います。

      • 大方針を示している
    • 入り方はエモくて良いと思うが、早い段階で著者の過去の行動と接続して、この著者ならではのものが書かれることを示すべきだと思うな

      • 大方針を示している

現在の課題と未来

  • 検索を繰り返したり、大きすぎるコンテンツを入れた時にコンテキストを食い尽くして記憶喪失になる
    • これは現状のチャットUIの設計の問題
      • 大部分の人はチャットとしてしか認識しておらず、コンテキストの中身をコントロールしたいと思わない
      • なのでそれができる設計になってない
      • 実はChatGPTはツリー探索が可能だけど使いにくい&プレイグラウンドでは一部履歴の削除ができるけどチャットUIにはない
    • チャットは今まで「人間と人間のコミュニケーション」のためのツールであって、相手の記憶を編集したりなどしなかった
      • 人間同士の会話ではホワイトボードに書きながら議論するとか、議事録を共同編集で作りながら議論するとかが近い
      • 人間とLLMが協力して情報を集め、編集して「よいコンテキスト」を作っていくUIが必要になる
      • それはおそらくチャットよりもScrapboxの方が近い
    • (もしくはコンテキストウィンドウがさらに10100倍になり速度も10100倍になって整理の必要がなくなるか、人間が整理を手伝わなくてもLLMが人間より上手く整理するようになる)
  • 収束の支援が必要
    • LLMによるブレインストーミングの加速は発散的思考に有効
    • 一方で、収束的思考をどのようにLLMで支援するかが課題
    • コンテキストの広いLLMは目的や文脈をふまえた収束の手助けになる可能性がある(=要約の亜種)
    • KJ法的な手法とLLMの組み合わせによる収束的思考の支援もありえる

要約の発展

  • Claudeに英語論文を貼って「要約して」というだけで要約してくれる
  • GPT4でも同様、しかし出力にはだいぶ差がある
  • 「要約」という言葉が、人間がLLMにやって欲しいことを特定するには曖昧すぎる表現で、LLMによって解釈の揺れが大きい
  • 同じLLMでもプロンプトの書き方でだいぶ変わる
    • Claudeにビデオ会議の音声文字起こしを渡して「要約して」「議事録を作って」
    • 論文を渡して「要約して」「この論文は何がすごい?」「Xとの違いは?」
    • 自分が得たい情報を出力させる「指示の言語化スキル」で効果が大きく変わる
  • Fractal Reader
    • 入力に対して異なる詳細度で要約を提示するサービス(コンピューターインタラクションについての研究開発をしている学生の@blu3moさんの作成) image
    • このUIの設計は面白い p.20「まずは大雑把に」のアプローチを実現するツール
    • 人間は要約対象を見る前に適切な詳細度を指定できない(詳しく読みたいかざっくりで良いかは内容によって決まる)
    • まずざっくりとした要約を見て、詳しく見たいところだけより詳細な要約を見ていくことで、ユーザーは必要な情報を柔軟に取得できる

ブロードリスニング

  • 要約技術の発展は単に本を読むことを支援するだけでなく、人々のコミュニケーションのあり方を変える
  • image
  • 情報の複製技術が進んだことで大勢の人に聞かせる「ブロードキャスティング」が発生した
    • claude.iconブロードキャスティングとは、放送のように一方向的に情報を発信することを指します。
    • しかしこれは情報の発信者から受信者への一方通行のコミュニケーションだった
  • 要約技術の発展によって、大勢の人の意見を聞くことがもっと容易になる
    • これによって新しいコミュニケーション形態「ブロードリスニング」が発生する
  • Audrey TangGlen Weylが書いた「⿻數位 Plurality: 協働技術と民主主義の未来」という本に詳しいことが書いてある
    • image
    • 実はこの本の Contributor & Editor でクレジットにも名前が載っている
    • 日本語版は山形浩生さんの翻訳でサイボウズ式ブックスから出版予定
    • 「本を読んで理解を組み立てること」を共同化する実験としてScrapboxで本の機械翻訳コンテンツをダシにして会話するフォーラムを作ってある
    • ここに書いたものは毎日Github ActionsでEmbeddingされてカスタムGPT⿻Plurality Assistantのデータになる
      • (=コミュニティ内の会話を毎日全部読むAIアシスタント)
    • 興味のある方はこちらからぜひご参加ください: /plurality-japanese/初めに読んでね

「本を読む」という行為の変化

  • 従来の「本を読む」アクティビティ
    • 紙の本を手に取り、一字一句読み進めていくという、線形的な読書体験が主流
    • 読者は著者の意図した順序で情報を得ることになり、自分のペースや関心に合わせた読み方がしにくかった
  • LLMがもたらす「本を読む」行為の変化
    • LLMを活用することで、本の内容を要約したり、関心のある部分を抽出したりできるようになった
    • 読者は自分の関心に合わせて、非線形的に本の内容を探索できるようになる。
    • claude.iconLLMを使えば、本全体を通読しなくても、自分が知りたい情報を素早く見つけ出すことができます。まるで本との対話を通じて、知識を獲得するような体験が可能になるのです。
  • ⿻數位 Pluralityは原稿がCC0ライセンスなのでいろいろな実験を書籍の著作権を気にすることなく行える
    • claude.iconFractal Readerは、本の内容を異なる詳細度で要約し、提示してくれます。まず大まかな要約を読んで、興味を持った部分についてより詳細な要約を読む、といった具合に、自分のペースで本の内容を理解していくことができるのです。
    • Scrapboxを通じて複数人が同じ本に書き込んだり議論をしたりしながら読む
      • 「読書」を個々人が孤独に「自分の中」に理解を積み上げる作業から、みんなの協力によって「自分の外」にデジタル公共財として理解支援コンテンツを作る作業に変える
    • AIアシスタントがコミュニティによって行われた活動を全部見て、質問に答えてくれる
      • 将来的にはより良い協力を支援するようになっていくだろう
  • 知識の伝達手段として従来通りの「本」という形式が最適とはいえない

まとめclaude.icon

  • LLMの発展が知的生産に大きな変化をもたらしている
  • 「エンジニアの知的生産術」の提唱する考え方は現在も価値を持ち続けている
  • ツールの進化を踏まえつつLLMを活用し、人間の創造性を発揮していくことが重要
  • 学びのあり方も変化しており、自ら学ぶべき対象を見極める能力がますます重要に
  • LLMがもたらす知的生産の変革の可能性と、それを活用するための方法論を探求し続けることが重要

(C)NISHIO Hirokazu / Converted from Markdown (ja)
Source: [GitHub] / [Scrapbox]