オープンソースソフトウェアの開発者の間で共同開発の場として利用されてきたGitHubというWebサービスをご存知でしょうか。
近年、オープンソースのソフトウェアだけでなく、企業でのソフトウェア開発や、ソフトウェア開発以外の用途でも、共同作業の場としての利用が拡大しています。
私も自作のプログラムの管理や、このブログで書いている記事の原稿の管理にGitHubを利用しています。
この記事では、GitHubの利用が今後ますますソフトウェア以外の用途でも広がり、オープンな知の共有場所になっていく可能性について考えていきます。
DeepWikiによるwikiサイト生成
生成AIを使ったソフトウェア開発ツールの多くは、人間のプログラミング作業のアシストツールです。人間がプログラムを書き、それをAIが補助する、というものです。
一方で、人間は指示を出すだけで、あとは生成AIがプログラムを作る作業を担う、というタイプのソフトウェア開発ツールもでてきています。
その先駆けとなって話題になったDevinというツールがあります。Devinを導入すると、開発チームに1人プログラマが増えたようなものになる、と言っている人もいました。まだ、人間のエンジニアが細かくサポートしないと上手く使いこなせないと言われてはいますが、そうしたデータも集めて改良されていくはずです。
開発チームには人間が1人、あとはDevinのようなAIプログラマがチーム員というようなソフトウェア開発チームが当たり前になる時代もすぐそこまできています。
そのDevinの開発元のCognition社が、DeepWikiというサービスもリリースしています。
DeepWikiは、GitHubのソフトウェア開発プロジェクト毎に、そのプロジェクトのwikiサイトを自動生成するサービスです。そのプロジェクトのすべてのプログラムや関連文書をDevinのようなAIが読み込んで解析し、説明書や設計書をすべて作成してくれるということを意味します。
Cognition社はGitHubで誰でも自由にアクセスできる公開型のソフトウェア開発プロジェクトのうちメジャーな上位5万件以上について、DeepWikiでwikiサイトを作ってしまったそうです。
公開プロジェクトですので、そうしたことをしても全く問題はありません。wikiサイトを自動生成できるとはいえ、そのために多数の生成AIを長期間フル稼働させたはずで、その費用はかなりの額になったはずです。
その費用をCognition社が負担したことで、非常に多くの公開プロジェクトが、タダで説明文や設計書を手に入れるという恩恵を受けたことになります。
このWikiサイトが各公開プロジェクトで役に立ち、品質向上や生産性向上に大きな効果があったという統計データが得られれば、ソフトウェア開発企業はDeepWikiを自社のプロジェクトに採用することになるでしょう。
Cognition社は、それが起き得ると信じて膨大な公開プロジェクトのWikiサイト生成に投資をしたはずです。そこから、Cognition社のDeepWikiに対する自信が見えます。そしてDeepWikiが採用されると、自動的にDevinも付いてくるため、AIプログラマの普及も一気に加速する可能性が高まります。
文書共有基盤としてのGitHub
GitHubは、オープンソースソフトウェア開発を行うためのプログラムの共有、共同編集、保管のための場所として人気を集め、デファクトスタンダードとなったWebサービスです。
近年は、企業向けの管理機能やセキュリティ機能が充実し、ソフトウェア開発を行う先進的な企業でも当たり前に使われるようになりました。
このため、GitHubはプログラムの保管と共有のためのWebサービスというイメージが強いのですが、実際にはプログラムとは無関係に、様々な文書や資料を共有、共同編集、保管が可能です。
このため、広く共同編集したい文書をGitHubで管理するという使い方をしている人たちも少なくありません。それはソフトウェアに関する文書もあれば、全く関係のない文書もあります。
また、ブログやホームページなども、一種のプログラムを含んでいたり、プログラムによって構造化して公開できるようにされる文書です。
このため、個人や企業が、ブログやホームページ内の文書と、それらを見やすくするためのプログラムやサイトの自動生成のためのプログラムを、GitHubの1つのプロジェクトとしてひとまとめに保管する、という使い方も珍しくありません。
そうしたブログやホームページの中身を共同編集するために、GitHubの公開プロジェクトにすることも可能です。
また、最近は生成AIをソフトウェア開発に利用するだけでなく、生成AIの機能をソフトウェアに組み込むことも多くあります。
この場合、プログラムの中に生成AIに細かく指示を与えるためのプロンプトと呼ばれる指示文が埋め込まれています。
このプロンプトも、一種の文書と言えます。
知的工場
私は、ソフトウェア開発をするエンジニアではありますが、ブログで記事も書いています。
多くの人に読んでもらいたいものの、なかなか読者の数を増やすのは難しいものです。
もちろん、話題集めのための記事を作成することや、直接様々な影響力のある人たちにコンタクトしてアドバイスをもらうなど、工夫や努力をすることも考えられます。
しかし、自分の性格や、そのための労力や気苦労を考えると、積極的な宣伝は気乗りしません。また、そのために時間を使うと、プログラムを作成したり、物事を考えたり、文書にしたりという私の活動のコアの部分に時間が割けなくなります。
そこで、私は最近、書いたブログ記事のリーチを広げるため、様々なコンテンツに展開するいわゆるマルチメディア、あるいはオムニチャネルと呼ばれる作戦を試みることにしました。
具体的には、日本語の記事を英語に翻訳して英語のブログサイトに投稿したり、記事を説明するプレゼン動画を作成してYouTubeで公開する、といったものです。
さらに、一般的なブログサービスで公開するだけでなく、自分の過去のブログ記事の一覧やカテゴリ別のインデックス化、関連する記事を関連付けた自作ブログサイトの作成も考えています。
これらを記事が増えるたびに時間をかけて作成していくとなると、本末転倒です。そこで、最初の日本語の記事を書くこと以外の作業は、すべて生成AIを使って自動化するわけです。それを、私は知的工場と呼んでいます。
このための仕組みを実現するプログラムを開発する必要があります。
現在、既に翻訳とプレゼン動画の生成、YouTubeへのアップロードはすべて自動化することができるプログラムは作成済みです。
今は、既存のブログ記事をカテゴリ分けしたり、関連付けをするための基本的なプログラムを作成しているところです。
それが完成すれば、あとは自作ブログサイトを生成してWebサーバに自動反映するプログラムを作れば、私の知的工場の初期の構想は一通り完成となります。
広義の知的工場
この知的工場の原材料になる私の書いたブログ記事の原稿も、GitHubのプロジェクトとして管理しています。今のところプライベートなプロジェクトとして外部には公開していませんが、やがて知的工場のプログラムと合わせて公開プロジェクト化することも考えています。
そして、私が今まさに開発中の、ブログ記事のカテゴリ分けや、記事同士の関連付けや、動画化しているブログ記事の解説は、その発想自体はDeepWikiと同じです。
生成AIを使って、元になる創作物を原材料にして、様々なコンテンツを生産します。それに加えて、そこにある情報や知識同士を結びつけて、いわば知識ベースを作ることもできます。
その原材料が、プログラムかブログ記事であるかの違いだけです。そして、生成AIによるDeepWikiや私の知的工場にとって、その差はほとんど意味がありません。
つまり、知的工場という言葉を私のプログラムに限らず一般的な広い意味で解釈すれば、DeepWikiも、一種の知的工場です。
そして、知的工場の生産するものは、他国語の翻訳記事、プレゼン動画、自作ブログサイトやwikiサイトに限りません。
ショート動画やツイート、漫画やアニメ、ポッドキャストや電子書籍など、考えられる限りの、ありとあらゆるメディアやフォーマットへの変換もできるでしょう。
また、そうしたメディアやフォーマットの中身も、より広範な多言語化、専門家向けや入門者向け、大人向けや子供向けといった、受け手に合わせたバラエティー化も可能です。
さらには、カスタマイズ化されたコンテンツのオンデマンド生成すら実現可能です。
知的鉱山としてのGitHub
知的工場の原材料は、基本的にはどこに置かれていても構いません。
しかし、オープンソースのプロジェクトのプログラムの共有、共同編集、保管をGitHubがデファクトスタンダード化していることと、私に限らず様々な人が文書の保管場所としてGitHubを利用していることを考えると、GitHubが知的工場の原材料の主要な供給源となる可能性が見えてきます。
つまり、GitHubは知的工場に原材料を供給する、人類共有の知的鉱山となるわけです。
ここで「人類共有」という言葉を使ったのは、オープンソースのプロジェクトが、人類共有のソフトウェア資産であるということに呼応しています。
GitHubを支えてきたオープンソースの考え方は、オープン文書という考え方にも適切にフィットするでしょう。
また、プログラムと同じように、文書ごとに著作権情報やライセンスを管理する文化も生かせるでしょう。材料となる文書から自動生成されたコンテンツには、同じライセンスを付与したり、ライセンスで規定されたルールを容易に遵守することができます。
知的工場を作成する立場から考えても、原材料となる文書がGitHubに集約されるというのは、理想的です。
それは、GitHubと知的工場を接続できるようにすれば済むという開発効率化のメリットと、DeepWikiのようにして公開されている文書に対して自作の知的工場の機能や性能を効果的に示すことが可能になる、という二つの側面を持ちます。
今後、様々な知的工場が開発されてGitHubと接続できるようになり、GitHubで文書を管理して知的工場で加工する人や企業が増えれば、知的鉱山としてのGitHubの立場は確固としたものになっていくはずです。
人類共有の公開知識ベース
この知的鉱山としてのGitHubを中心とし、知的工場によって多種多様なコンテンツと知識ベースが生産されることで、このエコシステム全体が、人類共有の公開知識ベースを作り出すことになります。
しかも、それはGitHubで公開される文書が増加するに従って、自動的に増強されていく動的でリアルタイムの知識ベースです。
この膨大な知識を含む複雑な巨大な知識ベースは、人間に役立つものの、その潜在的な価値を十分に引き出すことは困難でしょう。
しかしAIであれば、この人類共有の公開知識ベースをフル活用することができます。
公開知識の鉱脈
このようなエコシステムが実現されると、様々な公開情報が自然にGitHubに集まってきます。
それは個人のブログや企業のホームページの原稿だけに留まりません。
査読前の論文や研究アイデア、実験データやアンケート結果などの学術的な洞察やデータも集まってくるでしょう。
それは知識やアイデアやデータを人類全体のために役立てたいという人だけでなく、発見をいち早く世の中に広めて名声を得たい人も惹きつけます。
学者や研究者であっても、長く時間のかかる論文の査読過程を待たずに、AIによって妥当性や新規性、インパクトを検証され、その価値を様々なコンテンツで表現してもらい、その結果としてバズるという形で認められることに価値を感じる人も少なくないでしょう。
あるいは、そうした形で他の研究者や企業の目に留まり、共同研究や資金支援を得られるなら、実利もあります。
その他にも、AI自体の知識の還流もあるでしょう。
生成AIは膨大な知識を事前学習によって獲得していますが、その膨大な知識同士の意外なつながりや類似した構造を積極的に探索しながら学習しているわけではありません。
また、異なる知識同士をつなぎ合わせることで見えてくる新しい洞察についても同様です。
一方で、学習済みの生成AIと会話をする中で、こうした類似点やつなぎ合わせを説明すると、その価値をかなり的確に評価することはできます。
そのため、様々な知識をランダムあるいは総当たりで比較したりつなぎ合わせて生成AIにインプットすると、意外な類似性や価値のあるつなぎ合わせを見つけ出すことは可能です。
もちろん、それは膨大な組み合わせがあるため、すべてを網羅するのは非現実です。しかし、それを適切に効率化して自動化することで、既存の知識の中から有用な知識を自動発掘することも可能になります。
そうした知識の自動発掘を実現し、その発見した知識をGitHubに保管することで、このループを永遠に繰り返することもできそうです。
このように、知的鉱山には未発見の鉱脈が多数存在し、それを発掘していくことも可能になるわけです。
さいごに
このようにGitHubのようなデファクトスタンダードの人類共有のナレッジベースが出来上がっていくと、生成AIの事前学習やRAGのような知識検索に活用されることになるでしょう。
そうなると、GitHub自体が巨大な大脳のような役割を果たすことになります。そして、生成AIは大脳を共有して知識をシェアしながら知識を分散して増やしていくことになります。
そこに追加的に記録される知識の中には、単なる事実の記録や新しいデータや分類学のようなものだけではありません。他の知識の発見や新しい組み合わせを促進する触媒のような知識も追加されることがあります。
そのような触媒のような作用を持つ知識を、私は知的結晶、あるいは知識の結晶と呼んでいます。これは、例えば新しい考え方の枠組み、つまりフレームワークを含みます。
フレームワークが新たに発見、あるいは開発されて知的結晶が追加されることで、その触媒のような作用によって、それまでとは異なる知識の組み合わせや構造化が可能になり、新しい知識が増えることにつながります。
その中には、また別の知識結晶が含まれている場合があります。すると、またそれが知識を増やす作用を及ぼします。
このような知識は、科学的発見ではなく、数学的な探究や工学的な開発や発明に近いものです。このため、科学的知識のような新たな観測的事実によってではなく、純粋に思考によって増えていく知識です。
そして、知的鉱山としてのGitHubと、それを利用する無数の生成AIが、そうした知識を加速度的に増やしていくことになるでしょう。
そして人間スケールの発見速度を大幅に上回る速度で次々と発見される知識は、知識工場によって私たちが理解しやすい形で提供されます。
このようにして、純粋に思考によって探究できる知識は、急速に発掘されていくことになるでしょう。