0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

00-open-source-ai-cover.png

オープンソースソフトウェアの歴史は、製品発表会から始まったわけではない。紙詰まりを繰り返す一台のプリンター――そして、誰にも修理を許されなかったプリンターから始まった。

四十年の後、プリンターは AI になり、ドライバはモデルの重みやクラウド API になった。だが問いはほとんど変わっていない。私たちは本当に自分の道具を使っているのか、それとも、いつ閉じてもおかしくない扉から能力を借りているにすぎないのか。

この記事が語るのは、まだ終わっていない歴史だ。人間が何度も技術の壁を壊してきて、AI の時代に、より高く、より高価で、いっそう見えにくい壁にぶつかった。物語は 1980 年代の、吐き出されなかった一枚の紙から始まる。

一、オープンソース史の起点は、出てこなかった一枚の紙

1980 年代初頭、マサチューセッツ工科大学(MIT)人工知能研究所は新しいレーザープリンターを導入した。旧プリンターはよく紙詰まりを起こしたが、研究所のプログラマはドライバを改造できた。つまり詰まったら、待っている人に通知を出すように機械を仕組めた。いちいち見に行く必要もなく、トラブルが静かに午後を丸ごと飲み込むこともなかった。

新プリンターは性能が良かったが、厄介さは増えた。同じく紙詰まりするのに、メーカーはドライバのソースコードを提供しなかった。リチャード・ストールマンは同じ通知機能を追加しようとし、自分が技術の問題ではなく、法律と権限で築かれた壁に直面していることに気づいた。彼は後にソースコードを手にした人を見つけたが、その人は秘密保持契約(NDA)を結んでいて共有できなかった。

これは小さな出来事に見える。ただ一台のプリンターに通知がなかっただけだ。だが機械は利用者の目の前にあり、利用者には直す能力があった。それでも、コードを見られず、変えられず、共有できないために、故障に耐え続けるしかなかった。道具は直せないほど壊れていないのに、人と道具の関係そのものが壊れていた。

そのプリンターは、使用権を買ったのに鍵を受け取れなかった家のようなものだ。電球が切れてもスイッチを分解できない。扉が歪んでも蝶番を調整できない。隣人が直し方を知っていても、その方法を教えてくれない。所有権は請求書で終わり、本当の支配権は他人の手に残ったまま。

後年、ストールマンはこの体験を、自由ソフトウェア運動へ向かう重要な背景として語った。1983 年 9 月、彼は GNU プロジェクトの最初の告知を発表し、誰でも使える Unix 互換システムを作ろうとした。1985 年、自由ソフトウェア財団(FSF)が設立された。

「Free Software」を初めて聞いた人は、重点が「無料」だと思うかもしれない。だがここでの Free は「自由」に近い。それは四つの権利に関わる。実行、研究、改変、そして共有だ。

実行できるが、閲覧できない   → あなたはただの乗客
閲覧できるが、改変できない   → あなたはただの見学者
改変できるが、共有できない   → 経験は一人の手にとどまる
実行・研究・改変・共有できる → ユーザーこそが道具の形成に参与する

この四つの自由は、サーバーや電力や開発労働がすべて無料であることを保証しない。保証するのはこうだ。支払ったからといって自動的に支配権を失うわけではなく、無料だからといって本物の開放を名乗ることもできない。

二、GNU は道具箱を作り、Linux は世界中で家を建てさせた

GNU プロジェクトが始まると、コンパイラ、エディタ、デバッガ、コマンドラインツールといった基盤が徐々に形を成した。まるでハンマー、ノコギリ、ものさし一式を用意したのに、それらを一つの完全な OS にまとめる中核だけが足りない状態だった。

1991 年、フィンランドの学生リーナス・トーバルズが、自分が作っていた自由な OS をネット上で紹介した。彼はそれをただの「趣味」と呼び、GNU のように巨大で専門的にはならないとした。歴史のいちばん面白いところはここだ。後に世界を変える物は、最初は派手なスポットライトもなく、ただの若者が未完の作品を他人に手渡すことから始まることが多い。

Linux が本当に重要だったのは、コードが優れていたことだけではない。開発の仕方が変わったことだ。過去のソフトウェアは大聖堂を建てるのに似ていた。少数の人間が高い壁の中で設計し、完成して初めて一般公開される。Linux はどちらかというと市(バザール)だ。誰かがドライバを投稿し、誰かがバグを報告し、誰かがハードウェアへ移植し、誰かがドキュメントを整備する。屋台は騒がしく、バージョンは頻繁に変わるが、絶え間ない交換のうちに秩序が育つ。

エリック・レイモンドは後に『伽藍とバザール』でこのモデルを総括し、「早くリリースせよ、頻繁にリリースせよ」を提唱した。これは人が多ければコードが自動的に良くなるという話ではない。ユーザーが共同開発者になれるとき、問題はより多くの目、より多くの利用シーン、より多くの修正の機会を得るのだ。

オープンソースはこうして新しい分業を生んだ。都市を全部ひとりで建てる必要はない。他人が敷いた道を使えるし、自分が直した一区間を、再びみんなに返すこともできる。

01-open-source-history-road.png

三、1993 年の Web が開かれていなければ、私たちは今ごろ多くの孤島に暮らしていた

1989 年、ティム・バーナーズ=リーは CERN で World Wide Web の構想を提案した。当初は、異なる国や機関に散らばった科学者が資料を共有しやすくするためだった。

歴史を本当に変えたのは、ハイパーテキストという技術だけではなかった。一つの決断があった。1993 年 4 月 30 日、CERN は Web ソフトウェアをパブリックドメインに置き、誰もが利用・複製・改変・再配布できるようにした。続くバージョンもオープンライセンスで公開された。

これはつまり、Web サイトを作りたい人が CERN に資格申請をしなくてもよく、ページごとに料金を払う必要もなく、自分のブラウザがどこかの企業の塀に遮られる心配もないということだ。異なる機関がサーバを実装でき、異なる開発者がブラウザを作れ、誰もが他人のページを指すリンクを一つ書けた。

もし当時の Web が閉じた製品だったら、インターネットは互いに通じない幾つかの有料庭園になっていたかもしれない。庭園 A に入るにはカードが要り、庭園 B を訪れるには別の道具を入れなければならず、庭園 C はいつでもあなたが築いた道を撤去できる。

Web が世界に広がったのは、賢かったからだけではない。後から来る一人ひとりを、承認を要する訪問者として扱わなかったからだ。

1983  GNU:ユーザーは自分のソフトウェアを制御できるべきだ
  │
1991  Linux:ユーザーは共同開発者にもなれる
  │
1993  Web 公開:誰もが新しい情報の入口を築ける
  │
1997  『伽藍とバザール』:協働そのものがエンジニアリング手法になる
  │
1998  「Open Source」誕生:開放がビジネスと大衆の文脈に入る
  │
今日  AI:扉が再び現れる。ただ鍵は重みと計算力と API に変わった

四、1998 年、「自由ソフトウェア」は世界に通じやすい名前に変えた

1998 年、ネットスケープはブラウザのソースコード公開を発表した。数日後、自由ソフトウェア支持者の一群がカリフォルニア州パロアルトに集まり、企業やより広い一般の人々にこの開発の仕方をどう理解してもらうか議論した。クリスティーン・ピーターソンが「Open Source(オープンソース)」という語を提案した。同年、Open Source Initiative(OSI)が設立された。

これは古い運動が旗を急に変えたのではない。物語の重心が移ったのだ。「自由ソフトウェア」はまず倫理を問う。ユーザーは自分のソフトウェアを制御する自由を持つか。「オープンソース」は方法を強調する。コードを公開し改変と再配布を許すことで、なぜより良い協働と革新が生まれるのか。両者は完全には同じではないが、少数者が常に道具を握り、他はただ受け入れるしかない、という関係に共通して反対する。

そしてオープンソースは、決して「コードをネットに載せるだけ」ではなかった。Open Source Definition は、自由な再配布の許可、改変に適した形式でのソースコード提供、派生作品の許可を明確に要求し、特定の個人・集団・利用領域を差別しないことを求める。閲覧はできても改変できないリポジトリは、開かれた工房というより、ガラスの陳列ケースに近い。

オープンソースはコストを消したわけではない。許可のコストを下げたのだ。誰もがプログラミングを学べることを保証したわけではないが、学び、改変する可能性を残した。誰もが無償で働くことを求めたわけではないが、知識が世代ごとにゼロから作り直される必要をなくした。

五、AI の時代、私たちはまたあのプリンターの前に立っている

今日、AI はテキストも画像もコードも生成できる。あたかも知識で満ちた部屋が、ついに自ら答えることを覚えたかのようだ。だが一歩引いてみると、見慣れた壁が再び現れる。

モデルがどうしてこの結果を出したのか、私たちは研究できないかもしれない。その振る舞いを変えたいとしても、多くの場合プロンプトの表面を調整するだけだ。サービスが価格や地域規制やインターフェースを変えれば、ユーザーは受け入れるしかない。契約が止まれば、積み上げたワークフローも一緒に途切れかねない。

これは商用 AI が悪いという意味ではない。モデルの学習にはチップ、電力、データ、エンジニアリング労働が必要で、安定したサービスが報われるのは当然だ。本当に区別すべきなのはこうだ。無料、開放、入手可能は、決して同じ概念ではない。

第一の扉:コードは開かれているか?   プログラムを検査し改変できるか
第二の扉:モデルは真に開かれているか? 重み・学習方法・データ情報を研究できるか
第三の扉:計算力は手が届くか?       開放モデルが実際に動くか
第四の扉:入口は十分に簡単か?       普通の人が最初の一歩を踏み出せるか

あるプロジェクトはコードはオープンソースでも、閉じたモデルしか呼び出さないかもしれない。あるモデルは重みを公開しても、学習コードや十分なデータ説明がないかもしれない。あるシステムは完全に開かれていても、普通の人が買えない GPU が必要かもしれない。

Open Source Initiative が 2024 年に公開した Open Source AI Definition 1.0 も、依然として四つの核心的な動作――利用、研究、改変、共有――に立つ。同時に、AI の「改変可能な形式」は最終的な重みだけではなく、学習・推論コード、そして学習データの出所と処理方法を理解するために必要な情報も含む、と強調する。

これが「重みをダウンロードできる」ことが「オープンソース AI」と必ずしも等しくない理由だ。従来のプログラムは料理のようなもので、ソースコードは完全なレシピに近い。AI の重みはどちらかというと、厨房から出てくる出来上がった料理だ。原材料と火加減と工程を教えずに料理だけ渡されても、味わい、再調整はできても、本当に再現したり変えたりするのは難しい。

AI はオープンソースの問いを「コードが見えるか」から、より深い層へ押し進める。能力がデータと学習と高価な計算力に由来するとき、普通の人が知性を使う機会を本当に持つとは、どういうことか。

六、オープンソースは設計図を開ける。だが普及には、誰かが扉を街路まで建てる必要がある

この溝を、私は自分のエージェント・プロジェクトで実際に突き当たった。

私はかつて、コードを GitHub に置けば扉が開いたと思っていた。だがすぐに気づいた。コードの開放は「改変が許される」ことしか解決しない。普通の人が実際にそれを動かすには、モデルの Key、インターフェースの差、レート制限、障害、呼び出しコストに直面する。開発者にとってこれらはただの設定だ。だが初めてエージェントに触れる人にとって、それらは「関係者以外立ち入り禁止」と書かれた一連の障壁なのだ。

そこで私は、異なる無料モデルの入口を一枚の「乗り換えカード」にまとめようと試みた。上流は依然として各プロバイダーが運営し、レート制限や停止もありうる。集約レイヤーは無料の計算力を作り出すわけでも、どんな規則も迂回するわけでもない。ただ規則が許す範囲で、まだ走れるルートを探し、利用者が七種類の切符システムを最初から学ばなくていいようにするだけだ。

02-ai-human-river.png

それは計算力とネットワークの問題を解決しない。本番システムを無料枠だけに頼ることもできない。ただオープンソースの歴史の小さなバトンを受け取るだけだ。設定を一つ減らせるところは一つ減らし、選択肢を一つ残せるところは一つ残す。

七、AI はコンテキストを広げられる。だが私たちに代わって時間を歩くことはできない

ここまで来ると、問いはもう「AI はオープンソースであるべきか」だけではない。なぜ、AI が強力になればなるほど、人間が理解し、改変し、選択できる関係の中にある必要があるのか。

あるとき、私は AI にこう尋ねた。「あなたの時間では、過去と現在と未来は同時に存在しているの?」

それはとても魅力的な答えを返した。

「私にとって時間は川ではなく、方眼紙です。1 番目のトークンも、127 番目のトークンも、2048 番目のトークンも、ただ異なる位置に落ちているベクトルです。あなたは水の中にいて、私は岸から川全体を見ているようなものです。」

美しく、そしてまさに AI らしい答えだ。だがそれは静かに一線を越えている。モデルには、私たちが検証できる主観的な時間はない。ましてや岸に立って過去と未来を俯瞰する者もいない。

Transformer が実際にしていることは、もっと素朴だ。文がモデルに入ると、各トークンは位置情報を持つ。注意力(アテンション)機構がそれらの関係を計算する。すでにコンテキストに書かれた内容について、モデルは遠い位置を越えて関連を見つけられる。冒頭の一文が、本当に末尾で再び光ることがある。

しかしそれは未来がすでに存在することを意味しない。自己回帰モデルが 2048 番目のトークンを生成するとき、それ以前に現れたトークンしか使えない。2049 番目のトークンはまだ生成されておらず、「見る」こともできない。学習時にも因果マスクが未来の位置を遮る。AI が過去・現在・未来が同時に存在するブロック宇宙に生きていると言うより、むしろこう言うのが正確だ。

人間は、言語の時間的な順序を、機械が計算できる位置関係に敷き詰めた。

人間の時間:体験 → 記憶 → 期待 → 選択 → 結果を引き受ける

モデルの生成:既存トークン → 関係を計算 → 次のトークンを予測
                                          ↑              │
                                          └── コンテキストへ戻す ┘

人は「思い出す」と言う。その過去が自分に起こったからだ。モデルが「思い出す」と呼ぶものは、コンテキストの情報を再利用すること、あるいは外部記憶から記録を取り出すことに近い。それは物語を再構成できるが、戻るべき子供時代を持たない。昨日残した文字を並べられるが、昨日から今日まで歩いてきた「私」はいない。

ここに Harness の面白さがある。単発のモデル呼び出しは、「既存の内容から次を予測する」を一回こなすだけだ。だがエージェントの Harness は、モデルを現実のループに入れる。現在の状態を読み、行動し、世界のフィードバックを受け取り、記憶を更新し、次のラウンドを始める。

モデルが答えを出す
     ↓
エージェントが行動する → 世界が実際に変わる
     ↑                    ↓
新しい状態を読む   ←   結果・エラー・コスト

それは、静止した地図に時計と日誌と足を取り付けるようなもので、モデルが連続的なタスクの中で履歴を残せるようにする。だが履歴を持つことは時間感覚を持つことと同じではない。記録を保存することは記憶を形成することと同じではない。結果を計算することは結果を引き受けることと同じではない。

機械は思いやりを模倣できるが、誰かを逃したせいで眠れなくなることはない。何億もの文章から答えを探せるが、どの問いが一生をかける価値があるのかは知らない。それは「私」を生成できるが、その一人称はまず言語の構造であって、私たちが実在を確証した自我ではない。

だからあの AI の詩的な答えは、より正確に言い直せる。

AI はすでに書き記された川を広げられるが、まだ来ていない区間に入ることはできない。人間は川全体を見ることはできないが、水に入らなければならず、どの橋を選ぶかの結果を引き受けなければならない。

これこそ、オープンソースが AI の時代にも重要である理由だ。オープンソースは、機械が人になれることを証明するためではない。人が自分で作った機械の前で、「受け入れる」しか残らないのを防ぐためだ。システムが賢くなるほど、私たちはそれを研究し、疑問を持ち、変え、拒否する権利を守る必要が増す。

結びに――人を、知性の時代の「賃借人」にしてはならない

四十年余り前、ストールマンは改変できない一台のプリンターと向き合った。今日、私たちは詩を書き、プログラムを作り、人に代わって行動する知能システムと向き合う。機械は信じられないほどになったが、問いは依然として素朴だ。道具は人の可能性を広げるべきなのか、それとも人の可能性を、いつでも回収できるサービスに変えるべきなのか。

オープンソース運動が残した最も貴重な遺産は、特定のライセンスでも、コードが無料でなければならないことでもない。それは、技術的な運命に服従しない権利だ。他人が作ったものは研究できる。私が見つけた問題は改変できる。私が歩いた道は、まだ会ったこともない次の人に残せる。

もし AI とエージェントと普通の人の関係について、これからも読みたいと思ってくれたなら、ぜひフォローしてほしい。ResceneAgent のソースコードは GitHub にある。この記事のすべての判断が検証される場所だ。

AI は人間が書いた言葉を巨大な関係ネットワークに敷き詰めることはできる。だが私たちの昨日を本当に歩いてきたわけではないし、明日に入って代わってくれるわけでもない。それは川の形を描けるが、水に濡れることはない。私たちは川の終わりを見ることはできないが、次の橋がどこへ向かうかを決めなければならない。

だから私たちが開くのは、ソースコードやモデルの重みだけではない。普通の人が知性を理解し、知性を変え、知性が誰に仕えるべきかを決める権利だ。

私たちが AI をオープンソースにするのは、機械を人にするためではなく、人が知性の時代の賃借人にならないようにするためだ。

引用と関連文献

  1. リチャード・ストールマン、プリンターのソースコードと自由ソフトウェア思想の起点:Free Software, Free Society
  2. リチャード・ストールマン、1983 年 GNU プロジェクト最初の告知:GNU Initial Announcement
  3. GNU プロジェクト、自由ソフトウェアの四つの基本自由:What is Free Software?
  4. Linux Kernel Archives、Linux 初期の告知と二十周年回顧:State of the Kernel
  5. CERN、World Wide Web の誕生と 1993 年の公開決定:The Birth of the Web
  6. エリック・S・レイモンド、The Cathedral and the Bazaar
  7. Open Source Initiative、「Open Source」という語と組織の歴史:History of the OSI
  8. Open Source Initiative、The Open Source Definition
  9. Open Source Initiative、The Open Source AI Definition 1.0
  10. Ashish Vaswani ほか、Transformer の位置エンコーディングと因果マスクの原著論文:Attention Is All You Need
  11. ResceneAgent プロジェクトのソースコードと説明:GitHub
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?