Skip to content

Instantly share code, notes, and snippets.

@nishio

nishio/a.txt Secret

Created June 6, 2024 03:50
Show Gist options
  • Save nishio/7a285c7026657b6cb094a0b2c00df2f9 to your computer and use it in GitHub Desktop.
Save nishio/7a285c7026657b6cb094a0b2c00df2f9 to your computer and use it in GitHub Desktop.
LLMを使いこなすエンジニアの知的生産術(講演資料)
2024-06-06 [西尾泰和]
[サイボウズ・ラボ]株式会社 主幹研究員
[一般社団法人未踏] 理事
 [未踏ジュニア]のファウンダーで、メンターもやっている
今回のきっかけ
[[https://gyazo.com/8216790a69dd76406f294ebb39948bc9]]
2018年に出版した「エンジニアの知的生産術」が出版してから5年以上も経って増刷されることの意味
[ロングセラー]化=長期的に売れ続けているということ(p.15)
書籍は出版から時間が経つと売れなくなっていく
ところが一部の書籍は売れ続ける。それは、読んだ人が他の人にすすめるから(価値の[社会的証明])
X/Twitterで時々エゴサーチして「知人が勧めてたので読んだ」的な投稿を見かける
出版してから5年以上経っても売れ続けているということの意味
5年間の[時の試練]に耐えた
この5年間で[陳腐化]しない長期的に価値がある内容が書かれている
カバーの「10年後も役立つ考え方」を半分実証した
今後も価値のある内容か?
[ChatGPT](2022)に代表されるLLMの発展
執筆時点(2017)でまったく予期できなかった
この技術変化は書籍の内容にどのような影響を与えるか?
自分以外の視点が欲しい、そこでLLMに聞いてみた(実験)
[nishio.icon]プロンプト:
>これは2018年発売の私の本「エンジニアの知的生産術」の序文と目次です。LLM技術が発展して文章の理解や生成が機械によって強力に加速している2024年現代の視点で見返してコメントしてください。
[claude.icon]Claude 3 Opus:
>2024年の視点から見ると、「エンジニアの知的生産術」の内容は、ますます重要性を増していると言えます。
>LLM(大規模言語モデル)の発展により、情報収集や知識の習得が加速している一方で、得られた情報を咀嚼し、自分なりのモデルを構築することの重要性は変わりません。本書が提唱する「[学びのサイクル]」は、現代でも有効なフレームワークだと考えられます。
[https://gyazo.com/56c35b870ce8e2e8ddcdadc2e346fd3e]
これは今まさにやっていること
 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法のメリット]
 物理的空間を占有しないし、長期的に汚れずに保管できる
 コピーペーストができる
  壊すことが不安になったらコピーしてバックアップを取ることで安心して新しい構造を試すことができる
 線を引く機能
 情報間の関係を明示的に示すために線を引く
  関係を明示したまま動かすことができる
 物理的な紙では線を引いた後でふせんの位置を動かすのが面倒なので、線を引くと動かすことを妨げてしまう
ズーム機能
無限に広いキャンバスは、物理的に用意するのは難しいが、デジタルなら簡単
重要なふせんは大きくすれば見やすい
これも紙では面倒だが、デジタルでは簡単
個人的にはKozanebaを使っているけど[KJ法勉強会@ロフトワーク]ではMiroを使った
使い慣れたものを使うのが良いと思う、MiroはKJ法に特化して作られてはいないが全体的な機能はよくできている
特に何人もが同時に一つの画面の中でKJ法をすることで、隣の人がやっていることをみられることが「[似たものと比べることで理解が進む]」効果をもたらす
(KJ法は1章使って書いたが、正直書き足りなかった。上記勉強会の資料でだいぶ加筆したので興味があれば読んでほしい)
LLMの発展(個人の知識ベースとの結合)
2022年11月 OpenAIのChatGPT登場
夏にGPT3のAPIは試していたが、ChatGPTを見るまでその威力を理解できていなかった
2023年3月
[自分のScrapboxをChatGPTにつないだ]([詳細 https://scrapbox.io/nishio/%E8%87%AA%E5%88%86%E3%81%AEScrapbox%E3%82%92ChatGPT%E3%81%AB%E3%81%A4%E3%81%AA%E3%81%84%E3%81%A0%E8%A9%B1%E5%8B%89%E5%BC%B7%E4%BC%9A])
個人の知識ベースとLLMをつなげる試み
LLMが自分のScrapboxの2万記事、書籍60冊分のコンテンツを読んで話すようになった
自分の過去の知見やアイデアを、LLMとの対話の中で活用できる
今で言うRAG([Retrieval-Augmented Generation], 検索で強化された生成)
[コモディティ]のLLMが持っていない知識を持たせることができる
他の人が持ってるのと同じLLMに同じプロンプトを入れれば、似た内容が生成される、[差別化]につながらない
個性的なデータと組み合わせることで自分好みに[パーソナライズ]できる
GPT Builderを使って、ChatGPTのカスタムGPT [NISHIO Hirokazu's Assistant](nihia)[nihia.icon] としてリリースした
このScrapboxの内容と"エンジニアの知的生産術" "コーディングを支える技術"の内容が入っている
 デジタルデータになってるから入れられる
7年間の間にScrapboxにデジタル形式で書き連ねてきたものが活用されている
書くことによって消えなくなり、蓄積し、検索可能になる
その「検索」がLLM技術で進歩した
エンジニアの知的生産術のPDFを"検索"というキーワードで検索してみよう
[https://gyazo.com/b539190d34889087ec1c8146c9917a6f]
ヒットしたところに目を通してまとめる作業をLLMは人間より何倍も速くやる
[nishio.icon]検索が知的生産に与える効果を簡潔に文章で説明して
[nihia.icon]検索が知的生産に与える効果は、情報の迅速な取得と[* 知識の効率的な整理]にあります。検索を活用することで、必要な情報を素早く見つけ出し、全体像を把握しながら詳細な理解を深めることができます。これにより、問題解決に近づく感覚を得るとともに、知的生産の質と速度を向上させることができます。
「[* 知識の効率的な整理]」という切り口は面白い
特定のキーワードが出てくる場所を集めてそれを読む
「そのキーワードが使われる文章」という「似たもの」を「比べる」ことで「理解が進む」
p.39-41
LLMの発展(コンテキストウィンドウの拡大競争)
2024年3月、AnthropicのClaude 3 Opus、コンテキストウィンドウが200Kトークン
大雑把にいうと文庫本1冊が100K程度
文庫本より文字数の多い専門書で50ページ分を入れて要約させる実験をしたが、問題なく動く
日々英語の論文を丸ごと貼り付けて日本語で解説させるなどの使い方をしている
エンジニアの知的生産術p.122
[https://gyazo.com/b8b22598fa9451ff2e37c2e6810624a8]
>速く読みすぎて理解度が足りなければもう一度読めばよいですが、遅く読みすぎて時間を浪費すると取り戻しようがないので、適切なバランスがわからなければ速い側に倒すとよいでしょう。
 Claude 3 Opusは50ページの書籍を読んで数十秒で要約を出力するので1ページ1秒以下
  日本語ネイティブの僕が日本語の本を読むのより速く速読する
  それを英語でも中国語でも実行できる
  質問をすればそれに答えてくれる=興味関心によって掘り下げていける
コンテキストウィンドウ拡大→一貫した文脈の維持
コンテキストウィンドウが大きくなると、一貫した文脈を維持しやすくなる
 たとえば特定のプロジェクトに関して何日にもわたって会話をする
 人間の記憶は時間があくと揮発してしまう、過去の会話ログを読み返すのは高コスト
 LLMが過去ログをコンテキストに持って会話してくれると「プロジェクトの記憶」を覚えてる人みたいに振る舞う
 実はこの「LLMを使いこなすエンジニアの知的生産術」はLLMにプロジェクト管理をさせる実験の一環
  「書籍を書くプロジェクト」をLLMに管理させる実験として始まった
  その途中で講演の打診がきたので、講演資料の作成に寄り道している
  実践によって、何がLLMで便利になるのか、何がまだLLMではできないのかを明らかにしていく
 「LLMを使いこなすエンジニアの知的生産術」プロジェクトは知的生産物と知的生産プロセスをScrapbox上で公開しながら進めている
[LENCHI_前書き]
[LENCHI_前書き生成過程]
[** 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の方が近い
  (もしくはコンテキストウィンドウがさらに10~100倍になり速度も10~100倍になって整理の必要がなくなるか、人間が整理を手伝わなくてもLLMが人間より上手く整理するようになる)
 収束の支援が必要
  LLMによるブレインストーミングの加速は発散的思考に有効
  一人の人が複数の視点で考えることができる
  関連: [主観か客観かではなく、一人の主観から大勢の主観へ](2023年8月, 情報処理学会誌)
一方で、収束的思考をどのようにLLMで支援するかが課題
コンテキストの広いLLMは目的や文脈をふまえた収束の手助けになる可能性がある(=要約の亜種)
KJ法的な手法とLLMの組み合わせによる収束的思考の支援もありえる
要約の発展
Claudeに英語論文を貼って「要約して」というだけで要約してくれる
GPT4でも同様、しかし出力にはだいぶ差がある
「要約」という言葉が、人間がLLMにやって欲しいことを特定するには曖昧すぎる表現で、LLMによって解釈の揺れが大きい
同じLLMでもプロンプトの書き方でだいぶ変わる
 Claudeにビデオ会議の音声文字起こしを渡して「要約して」「議事録を作って」
 論文を渡して「要約して」「この論文は何がすごい?」「Xとの違いは?」
 自分が得たい情報を出力させる「指示の言語化スキル」で効果が大きく変わる
[Fractal Reader https://www.fractal-reader.com/]
入力に対して異なる詳細度で要約を提示するサービス(友人が作った)
人間は要約対象を見る前に適切な詳細度を指定できない(詳しく読みたいかざっくりで良いかは内容によって決まる)
まずざっくりとした要約を見て、詳しく見たいところだけより詳細な要約を見ていくことで、ユーザーは必要な情報を柔軟に取得できる
このUIの設計は面白い p.20「まずは大雑把に」のアプローチを実現するツール
[ブロードリスニング]
要約技術の発展は単に本を読むことを支援するだけでなく、人々のコミュニケーションのあり方を変える
[https://gyazo.com/8aed1a6ee239c672d1e504cdb48d0e9e]
情報の複製技術が進んだことで大勢の人に聞かせる「ブロードキャスティング」が発生した、しかしこれは情報の発信者から受信者への一方通行のコミュニケーションだった
要約技術の発展によって、大勢の人の意見を聞くことがもっと容易になる、これがブロードリスニング
[Audrey Tang]と[Glen Weyl]が書いた「[⿻數位 Plurality]: 協働技術と民主主義の未来」という本に詳しいことが書いてある
[[https://gyazo.com/fc5f3f1f2b2576c033d46002cfc88b5a]]
実はこの本の Contributor & Editor でクレジットにも名前が載っている
日本語版は山形浩生さんの翻訳でサイボウズ式ブックスから出版予定
「本を読んで[理解を組み立てる]こと」を[共同化]する実験としてScrapboxで本の機械翻訳コンテンツをダシにして会話するフォーラムを作ってある
ここに書いたものは毎日Github ActionsでEmbeddingされて[カスタムGPT ⿻Plurality Assistant https://scrapbox.io/plurality-japanese/%E2%BF%BBPlurality_Assistant]のデータになる(=コミュニティ内の会話を全部読むAIアシスタント)
興味のある方はこちらからぜひご参加ください: [/plurality-japanese/初めに読んでね]
まとめ
LLMの発展が知的生産に大きな変化をもたらしている
「エンジニアの知的生産術」の提唱する考え方は現在も価値を持ち続けている
ツールの進化を踏まえつつLLMを活用し、人間の創造性を発揮していくことが重要
学びのあり方も変化しており、自ら学ぶべき対象を見極める能力がますます重要に
LLMがもたらす知的生産の変革の可能性と、それを活用するための方法論を探求し続けることが重要
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment