
こんにちは!エンジニアの藤井(touyou)です!
今回は自分のプログラミング人生の根幹になっているあるWeb文書について、今だからこその考察を加えていこうと思っています。
少し長いですがゆるい読み物としてお楽しみください。
- そもそも「ハッカーになろう」とは?
- 本編の章ごとに再解釈
- まとめ
そもそも「ハッカーになろう」とは?
まず前提としてタイトルにもある「ハッカーになろう」とは一体何のことでしょうか?
これはウェブ上にある文書(日本語版・オリジナル、オリジナルの方は古いためhttpになっています。アクセスする際はご注意ください。)で、ある程度著名なところでいくと「伽藍とバザール」などを書かれたエリック・レイモンドさんが作者です。
改訂履歴にある通り2007年に初公開され、何度か改訂されながらも密かにエンジニアのバイブルとして君臨し続けています。
自分もプログラミングを勉強し始めたのが2008~2009年で、きっかけがブラッディ・マンデイといういわゆる「ハッカー」が活躍する物語であったため、早々にこれを見つけて定期的に読み返していました。
今ブラッディ・マンデイのことを「いわゆる『ハッカー』の活躍する〜」と書いたのですが、この文書で書かれている「ハッカー」とシステムに侵入したりする「ハッカー」はまったくの別物です。
最近だと後者の中にも分類ができて、セキュリティ会社や政府に所属して働く人たちを「ホワイトハッカー」なんて呼んだりしますが、そもそも元々の「ハッカー」とは壊す人ではなく生み出す人たちのことを言います。この文書はそんな何かを生み出すハッカー的精神を身につけるのに必要なことを語っています。
この内容自体が大きく変わることはないと思うのですが、2020年を最後に改訂されていない本文書の意味・受け取り方は生成AIによって大きく変わっているかなと思いました。そこで改めてこちらの内容を振り返りながら生成AI時代版の「ハッカーになろう」がどのような受け取り方ができるのか、ということを半ば妄想していこうと思います。
本編の章ごとに再解釈
それではさっそく章ごとに分けて、再解釈をしていこうと思います。
「ハッカーって何?」について
まず序文はハッカーって何?という紹介から始まります。
先ほどはざっくりとクラッカーとの違いで説明しましたが、この文章によるとそもそものハッカー精神とは「共有文化とそれに対する貢献」そして「ものをつくること」にあると書かれています。
これに照らすと生成AIでハッカーになれる人はかなり増えたのではないかと思います。例を考えてみましょう。
- 生成AIを作っているOpenAIやGoogle...人々が何かを作り共有する文化を促進していっています。間違いなくハッカーと言えるでしょう。
- 生成AIを使ったプロダクトを作っている人たち...それが仮に生成AIの利用ハードルを下げるようなプロダクトであるなら、それはハッカー文化に貢献していると言えるかもしれません。
- 生成AI利用者...それだけではハッカーではありません。古来のエンジニアたちと同じように自分のナレッジを積極的に共有し、他の生成AI利用者もよりいいものを作っていけるような世界に貢献している人たちはハッカーと言えるでしょう。
- 驚き屋...大抵は不安を煽るだけで何も生み出していません。ハッカーであるはずがありません。
- 無関心な人たち...ハッカーは何も使っている手段に依存して定義されるわけではありません。生成AI時代以前と同じく、自分のやっていることのナレッジを積極的に共有し新しい価値を作っていくことを行なっている人はきっとハッカーでしょう。
- 弊社のメンバー...ナレッジ共有と新しい価値創造といえば弊社の得意技ですね。きっとみんなハッカーでありデザイナーでしょう。その向き先が外に向くとよりハッカーになれると思うので今後も発信を続けていきたいものです💪
例を考えてみてもやはりハッカーの敷居は下がっているようです。ただし驚き屋は絶対にハッカーではないです、間違いなく、絶対に。
「ハッカー的心構え」について
こちらは5つの項目に分かれて書かれています。
それぞれの項目がどう考えられるかを考えてみましょう。
1. この世界は解決を待つ魅力的な問題でいっぱいだ
これはおそらく今でもそうでしょう。生成AIで解決できる問題も解決できる人も増えたとは思いますがそれでも問題は山積みです。
ハッカーであるならば自分の技術を磨き、問題を解決することにゾクゾクするような喜びを感じるようでなければならない...この根幹が変わっていないのだとすればハッカーとして大事なのは、「いかに問題が楽に解けるようになったか」ではなく、「まだ解けない問題は何か?それを解決するためにはどうすればいいのか?」に目を向ける必要があるのかもしれません。
2. 同じ問題を二度解くような無駄はいやだ
ハッカー的精神を大事にするならば、うまくいったプロンプトのノウハウは公開すべきです。もちろん全てを無償にする必要はないとも原文に書かれているため、すべてを無料公開することは生成AI時代でももちろん必要ないですが、少なくともうまくいったプロンプトをファイルに落として次自分が活用できるようにする、ぐらいはやっておいて損はなさそうです。
またもっと言えばそのプロンプトが次必要ないぐらいモデルの性能が上がると理想ですね。今の生成AIの進化速度はまさにそれを実現していっているようにも思えます。
3. 退屈と単純作業は悪
これはまさにだと思います。そしてこれらを避ける敷居はグッと下がりました。
やはり自分がめんどくさいと思うことにこそAIを使う、これはハッカー精神に則った正しい思考であると感じます。
4. 自由は善
ここでいう自由は反権威的であるという意味で語られています。これは人間的な権威ということもありますが、生成AI時代で言えばもしかすると生成AI自身が権威になりうるかもしれません。
もちろん生成AIに助けてもらう、活用するのも大事ですが、それと同時に生成AIに隷属しないというのも同様に大事なのかなと思います。楽だけに逃げず、しっかり最後のアウトプットには自分の責任を持つことで「自由」を得ていきましょう。
5. 心構えは技能の代用にはならない
ここまでの心構えはもちろんのこと、技能を尊重する、ということは時代が変わっても変わらない観点だと思います。誰でも簡単に使えるようになってきた生成AIの使い方を学ぶことももちろん大事ですが、この意味でいくとそれ以上に生成AI自体の仕組みを深く理解してモデルの改良に貢献できるようになったり、生成AIではまかないきれない技術を磨くことは決して無駄なことではなく、善なのだと思います。
「基本的なハッキング技術」について
こちらも4項目で構成されているのでそれぞれ見ていきましょう。
1. プログラミングを身につけること
これは必要性がグッと下がったように見えますが、やはり依然として重要であるかなと思います。
確かにわからなくてもコードはどんどん書けるようになっているのですが、そのコードが正しいかどうか、何をやっているのかを理解するにはプログラミングを身につけていることが重要です。これはモデルの性能が上がれば上がるほどより重要性を増してきていると個人的に感じています。最近の例で言えば、Claude4のできることが圧倒的で、とんでもない作業量を任せることができるようになりましたが、その分そのアウトプットが本当に大丈夫なのかを見極める難易度はかなり跳ね上がったと感じています。(気にしない人は気にしないかもですが...)
また、最初に学ぶべき言語としておすすめされているPythonはAI業界のデファクトスタンダードであるため絶対に損はないでしょう。
学び方も大事なところは変わっていないと感じます。この文書の中ではコードの読み書きをひたすらすることこそ一番の学び方と書いています。NotebookLMで概要を理解したり、動画をAIに要約してもらったり、その他のインプット方法はどんどん簡単になっていますが、最終的にはどれだけ読んで書いたかが大事、というところは変わらないでしょう。いわば「自分AI」の学習工程ですね。これはプログラミングはもちろんプロンプトに対しても同じことが言えるかもしれません。
2. オープンソースUNIX類をどれか入手し、使いかたと動かしかたをおぼえること
この節は随分と古典的すぎるかもしれません。ですがその真髄は仕組みが明らかになっているものを触って、自分が活動する土壌の仕組みを理解しておく、ということだと思います。
その意味では生成AIを触るのであればオープンソースのモデルをみてみたり、LLMのプロンプトエンジニアリングのような本で仕組みレベルからプロンプトについて学ぶというのは一種現代の「オープンソースUNIX」なのだと思います。
3. World Wide Webを使う方法を学び、HTMLを書くこと
これも古典的すぎる話であるとは思いますが、どちらかというとプログラミング的な考え方を身につけながら共有文化に貢献しろ、というのが本質だと思います。ですのでブログをもつ・SNSを運用する・自分でWebを立ち上げる、どれもこの項目の代用となりうるでしょう。HTMLは一石二鳥という面はあるでしょうが、そこは生成AIで節約した時間でどうにかできるでしょう。
4. まともに英語ができないならば、身につけること
このハードルはグッと下がりました。AIで高品質な翻訳が簡単に生み出せるようになっていますからね。
ですがやはり英語圏の力は強いので、少なくとも読んで理解できることは大事なのかもしれません。翻訳に嘘がないか確かめられますし、翻訳されたものが意図通りかを確認することができます。
それ以上にこの話で大事なのは、共有文化を特定の国に閉じないということだと思っています。ですので、言語に関わりなく良質な文章を書き、翻訳されたとて活用できるナレッジ発信というのが大事になってくるのだと思います。
「ハッカー文化での地位」について
続いては5項目です。これらは主にハッカー社会で尊敬されるためには?という項目です。
1. オープンソース・ソフトウェアを書く
これらは生成AI時代だと有益なプロンプトを書き、それを公開するというところが当てはまるでしょう。もちろん従来のプログラムのオープンソース化も依然として価値は変わらないと思います。
競争が激化していき、なかなか無償でやることがビジネス的には微妙であることは理解しています。でもこれだけ変化の大きい社会です。ちょっとしたナレッジはすぐに陳腐化するので共有して尊敬されておく分には損がないとも言えるかもしれません。
2. フリーソフトウェアのテストやデバッグを手伝う
これは生成AIで言えば学習データの提供が一個あるかなと思います。
会社のセキュリティ上、これを有効にしておくことは難しいかもですが、たとえば学習されても支障がない情報に削ぎ落としたプロンプトを個人で持っている方のAIに流しておいて学習させておく、というのは一個できる手段かもしれません。そこまで遠回しなことをしないでも、プログラミングを学んでオープンソースLLMに貢献するというのも一個の手ですね。
3. 有益な情報を公開する
様々な項目で翻訳してきた結果、この話はもう何度となく出ていますが、やっぱり大事なんだと思います。発信していきましょう。
4. インフラが機能し続けるように手伝う
現代ではちょっと事情が違いますが、AIに課金をすることや無駄なトークンを消費しないことも一種の手伝いかもしれません。
サム・アルトマンが数十億円かかると言っている「ありがとう」は一旦置いておきましょう笑
同様にSNSなどで驚き屋を淘汰して、本当に有益な情報を得られる場所に変えていくというのも一個の貢献です。いや、本当にいろんな人にこれをやってほしい...レコメンドシステムがある以上なかなか難しいかもしれませんが...
5. ハッカー文化そのものへの貢献
自分が今やっているこの文書を広めることがまさにそうだと思っています。
「『ハッカー』と『おたく Nerd』との関係」について
おたくになる必要はない、その通りです。
多くの情報が勝手に入ってくる世界になったからこそよりその言葉は現実味を帯びているかもしれません。ですが一方で何がしかのオタク、もといギークであることはすべてが平均化・平準化されていく生成AIの世界では意外と大事かもしれません。生成AIのアウトプット自体に満足せず、オタクのようにこだわりを持っていく。そんな姿勢はむしろ価値になっていくのではないかなと思いました。
「ハッカースタイルの要点」について
ここにはいくつかの要点があげられています。正直全部に従う必要はないと文書にも書かれているものですが、有益なところはあるかもしれないのでそのままピックアップしてみましょう。
- 文章をきちんと書けるようになること。...いいハッカーはいい物書きである、は自分の中でも常に意識しています。
- SFを読むこと。...SF大会というものが現代にあるかどうかは知りませんが、SFプロトタイピングみたいな話は一個あるかもしれませんね。
- 格闘技を学ぶこと。
- 禅を学ぶこと。
- 音楽を何かしらの方法で学ぶこと。...いいですね、やりましょう。
- だじゃれや言葉遊びへの理解を深めること。
あまりにも多様で全てをやっている人はそもそも現代少ないかもしれないですが、きっと生成AI時代にはハッカーでなくとも役立ちそう、そんな印象も受けました。少なくとも最初の一歩を踏み出すハードルはどの分野においても下がっているので、ちょっといくつか選んでチャレンジする、は生成AIで節約できた時間の使い方としてはいいかもしれません。
まとめ
原文にはもう少し続く箇所もありますが、割愛させていただきます。今回はこの文書の核となる部分を改めて読み、生成AI時代に解釈するとどうなるかということを考えてみました。時代が変わってもやはりエンジニアのバイブルであり続けるにふさわしい大事なことが書かれている、と同時に、むしろ生成AI時代だからこそ、今までハッカー文化に興味がなかった人たちにも役立つ指針が書いてあるなと感じました。
昨今生成AI関連のニュースは溢れかえっており、皆が企業として勝つ・個人として有名になる、というところにフォーカスして非常に疲れる世の中になってきたなと感じています。だからこそ今回の記事を書くことは、一歩引いた視点で改めてハッカーとして、自分がこの時代にどう振る舞うべきかを考えるいい機会になりました。ぜひ皆さんも「ハッカーになろう」に書いてあることを頭の片隅にでもおいて楽しいハッカー生活を一緒にすごしていきましょう🙌
Goodpatchではデザイン好きなエンジニアの仲間を募集しています。 少しでもご興味を持たれた方は、ぜひ一度カジュアルにお話ししましょう!