ハクソク

世界を動かす技術を、日本語で。

学生たちへ

概要

  • Brent A. Yorgeyによる学生へのメッセージおよび教育哲学のまとめ。
  • ソフトウェア業界やAI技術の現状への批判的な視点。
  • 倫理観・人間性・創造性を重視した教育姿勢の強調。
  • Hendrix Collegeなどで担当した過去および現在の授業一覧。
  • **AIやLLM(大規模言語モデル)**に対する立場表明。

学生へのメッセージ:未来への備えと倫理

  • 現代のソフトウェア業界が直面する混乱と倫理的問題への懸念。

    • エントリーレベルの職の減少、知的財産の軽視、コードの質より量・短期利益重視。
    • 技術の利用が人間の注意を奪い、搾取や監視、武器化へと進む現状。
    • バイアスを含むデータによる差別の固定化、資源の浪費的利用。
    • 人工知能開発の目的が「知的な奴隷」の創造に偏っている点への疑問。
  • コンピュータ科学に惹かれた原点として、アイデアの美しさ、創造の喜び、人間関係を深める道具の可能性を挙げる。

  • 学生にも同じ価値観を持ってほしいという願い。

  • 技術の「不可避性」や「既成事実化」を鵜呑みにしない姿勢の推奨。

  • 自分自身の倫理的・道徳的境界線を明確に持つことの重要性。

  • 「今だけ」として原則を妥協しない覚悟。

  • 深く考える力の涵養、集中できる環境の確保。

  • 他者が「必須」と言う技術や働き方を盲目的に受け入れない判断力。

  • クラフトマンシップの重視:コードの明確さ・美しさ、ドキュメントの充実。

  • 速さよりも丁寧さを優先する勇気。

  • 利益・生産性よりも人間関係や正義を大切にする姿勢。

  • 恐れではなく愛による動機付けを最優先とする人生観。

LLM(大規模言語モデル)・AI技術に対する立場

  • LLMやAI技術の技術的興味は認めつつも、倫理的・社会的観点から使用を拒否。
  • LLMの多くが人間労働の搾取や資源の浪費の上に成り立っている点を批判。
  • 技術的に優れていても、人間の幸福に寄与しない用途には懐疑的。
  • Generative AI vegetarian」としての自己認識。
  • Sean Bootsによるエッセイへの賛同、Anthony Moserの考えにも共感。

教育活動・担当授業一覧

  • Hendrix Collegeでの担当科目

    • MATH 240: Discrete Mathematics
    • CSCI 365: Functional Programming
    • CSCI 150: Foundations of Computer Science(ラボセクション)
  • 過去の担当科目(Hendrix College)

    • LBST 150J, LBST 101, CSCI 150, CSCI 151, MATH 240, CSCI 322, CSCI 382, CSCI 360, CSCI 365, CSCI 410など
  • Williams Collegeでの担当科目

    • CS 134, CS 354, CS 136
  • University of Pennsylvaniaでの担当科目

    • The Art of Recursion, CIS 194, CIS 500, CIS 120
  • その他の教育経験

    • Woodrow Wilson Senior High Schoolでのコンピュータサイエンス、AP Computer Science AB、プレカルキュラスの指導
    • ホームスクール生向け通信教育など

まとめ:教育者としての姿勢

  • 技術の進歩や業界動向に流されず、本質的な価値観と倫理観を学生に伝える使命感。
  • 人間性・創造性・正義を軸にした教育と人生観の提唱。
  • 学生が「自分で考え、選択し、愛に基づき行動する」ことを重視する指導方針。

Hackerたちの意見

「深く考える力を育てよう。自分のために、気が散らない空間と時間を作るために何でもやるべきだよ。これって、他の人が重要だとか避けられないって言う技術や働き方を断ることも含まれるかも。今、これを達成するのにすごく苦労してる。今の時代、みんなが注意を奪おうとしてるのは知ってるけど、実際にそれに立ち向かおうとしないと、その程度がどれほどか分からないよ。」
「自分の道徳的・倫理的な境界をあらかじめ意図的に決めておこう。『今だけ』原則を妥協するなんて嘘に妥協しちゃダメだよ。私のイギリスの機械工学の学士課程では、エンジニアリングの倫理に関する必修科目があって、それがずっと頭の片隅に残ってる。確か、ある週にボパールの大惨事をケーススタディとして取り上げたと思うけど、もう16年前だから確信はないな。イギリスでは、コンピュータサイエンスの学科で倫理のモジュールをあまり見たことがない。一般的に必要だと思うんだけど。編集:だから、これはイギリス特有のことかな xD でも、アメリカの皆さんも倫理のモジュールを楽しんでたって聞いて嬉しいよ。」
「アメリカのABET認定のCSコース(ほぼすべてのCSコースかな?)は、コンピュータサイエンスの倫理に関する単位が必須だよ。たくさんのケーススタディをやったのを覚えてる、テラク25も含めて。でも、私たちのコースは倫理や哲学の一般的な基礎もたくさん含まれていて、それがすごく楽しかった。」
「8年前にアメリカでコンピュータ工学の学部にいた時、倫理の授業は必修だったけど、確かCSのカリキュラムにはなかったんだよね。似たようなキャリアに進むのに。記憶が間違ってるかもしれないけど。編集:今はあるみたいだから、私が間違って覚えてたか、追加されたのかも。編集2:倫理の授業は楽しかったな、よくある例をいくつかやったし、基本的な契約交渉みたいなことも。だけど、その時はこれらの問題が現実だとは思ってなかった。影響力のある仕事をするなんて信じられなかったから。仕事を始めてからは変わったけど。」
教えるときにこれらの記事を参考にしてるよ。「私たちは学生に、業界が望まないことを教えるべきだ」、Kevin Ryan、https://dl.acm.org/doi/pdf/10.1145/3377814.3381719 「あなたのソフトウェアが誰かを殺さないと確信していますか?」、Nancy Leveson、https://dspace.mit.edu/handle/1721.1/136281.2
参考までに:私のアメリカのプログラム(バンダービルト、アメリカ南部の裕福な私立大学)では、必修の倫理の授業がありました。確か全てのエンジニアに義務付けられていて、エンジニアの教授が教えていました。結構良い経験でしたよ!時々、厳密な専門倫理よりも一般的な技術倫理に気を取られることもありましたが、それもまた楽しくてタイムリーなトピックです。
90年代は完璧ではなかったけど、オープンソースソフトウェアの台頭で、もっと理想主義的に感じました。人々は倫理についてもう少し考えていました。自分のコンピュータで人々を力づけるための究極の潮流のように感じましたが、その潮流は数年前から引いています。クラウドコンピューティングの影響も少しありますが、今はLLMの影響がもっと大きいです。そして、最近のSVの人たちが付き合っている会社は、ちょっと気持ち悪いですね。
ああ、倫理学って、悪い人を良い人に変える魔法の弾丸みたいなもんだよね。
他の人も言ってるけど、私のコンピュータサイエンスの学位にも必修の倫理の授業があったよ。でも、みんなが注意を払わない一回の倫理の授業で学生の心が変わるなんて、ちょっとおかしいよね。theracについてどれだけ議論しても、誰かが本当にpalantirやraytheonで働くべきか疑問に思うことはないと思う。
自分はほぼ独学でソフトウェア開発をしてた1人のソフトウェアビジネスから、アメリカで看護師として働くようになったんだけど、その変化の大きな動機は、本当に世界を良くする仕事に時間を使いたかったからなんだ。テクノロジーには素晴らしい可能性があるけど、実際の業界は、僕の目には非常に歪んだインセンティブがあって、看護や医療にあるような強い道徳的基盤がないと思う。看護師は広く自分たちを患者の擁護者だと考えていて、自分の声を持てない人々の声になっている。想像できると思うけど、この文化は現代の医療の利益追求とは合ってないけど、それでも看護師たちは善戦してる。仕事に影響があるリアルな戦いが、毎日職場で繰り広げられてるのを見るよ。通常はプロフェッショナルに行われるけど、これは本当に仕事がかかってる戦いなんだ。理想的な世界では、ソフトウェア業界も同じ美徳を育んでいたと思う。ソフトウェアは悪影響を及ぼす能力があるし、悪い医療と同じくらい(あるいはそれ以上に)危険だよね。でも、テクノロジー業界のおかげで、私たちは記録的なスピードでディストピア的な未来に向かって突き進んでいるように見えるし、現代の平等主義的な社会はその移行を乗り越えられないだろうね。
私のコンピュータ工学の学位には「倫理」の授業があったんだけど(実際には「エンジニアリングコミュニケーション」の授業だったけど、卒業のための倫理要件を満たすと考えられてた)。その授業は、メモの書き方や、履歴書の作り方、リクルーターに何を言うべきかを教える内容だった。雇われるために作るものの影響については一言も触れられなかった。防衛請負業者がエンジニアリングビルの1階を占拠してリクルートフェアを開いたとき、行くように勧められた。エンジニアリングの倫理について私が聞いたのは、応用数論(暗号学)の授業で、以前EFFで働いていた教授が教えてくれたときだけだった。彼は話がそれて、ミサイルで目標を打つ方法のような問題が、エンジニアとして私たちを魅了し、引きつけるかもしれないけど、死の道具を作ることに気を取られないようにしようと言っていた。その授業は選択科目で、倫理について一言も聞かずに学位を取得することも十分可能だった。私が学業経験を軽蔑して振り返る理由はいくつもあるけど、これが特に印象に残ってる。
「私はLLMを、どんな形でも、どんな目的でも使わないし、使うつもりもない。LLMは技術的には面白いけど、人間の労働を大規模に搾取して、限られた資源を無駄に使うシステムには参加したくない。多くの人が興奮しているアプリケーションに対して、実際に良いとは思わないし。LLMが技術的にタスクに優れている場合でも、そのタスクに使うことが人間の幸福にプラスになるとは限らない。自分を表現するのに良い方法は、生成AIのベジタリアンって感じかな。詳しい説明やたくさんのリンクは、上のショーン・ブーツのエッセイにあるから、ほぼ100%同意してるよ。」
> 人間の労働を大規模に搾取し、限られた資源を浪費する。こういう誇張表現をネットで繰り返すアンチは、全然建設的じゃないと思う。著者がインターネットにアクセスしているデバイスの製造には、MLモデルの訓練よりもずっと多くの資源が使われていて、もっと多くの人間の労働が搾取されてるって確信してるよ。
いつか、こういう立場の人たちが受け入れられるようなLLMが訓練されることを期待してるよ(この立場は尊重するし、私自身はベジタリアンじゃないけど、食べ物のベジタリアンは尊重してる)。例えば、著作権が切れたデータだけで訓練されたモデルを追跡してるけど、一般的に使えるものはまだ見たことがない。ウェブからのスクレイピングや、非ベジタリアンモデルによって生成された例で微調整されたものは除いてね。Andrej Karpathyは、今や80ドル未満でGPT-2クラスのモデルを訓練できるから、環境コストがLLMベジタリアンにとって受け入れられるレベルに下がるかもしれないね。なぜ私が気にするかって?この投稿がいい例だよ。もしあなたがコンピュータサイエンスの教授なら、原則を犯さずにこの魅力的なモデルのクラスで遊んでほしい。アップデート:あ、ベジタリアンモデルの話が出たけど、HNのホームページで「Talkie」を見たよ。前に著作権が切れたモデル「Mr Chatterbox」を探ったことがあるけど、合成会話ペアの影響で少し壊れてたんだ。Talkieも完全に純粋ではないけどね。「最後に、我々は再度の監督付き微調整を行い、Claude Opus 4.6とTalkieの間の拒否サンプルされたマルチターン合成チャットで、会話能力の持続的な粗さを滑らかにするために。」
* 本物のプログラマーはアセンブリを書く、FORTRANじゃない * 本物のプログラマーはメモリを管理する、これは技術だ * 本物のプログラマーはドラッグ&ドロップしない * 本物のプログラマーはインテリセンスを使わない * 本物のプログラマーはスタックオーバーフローを必要としない * 本物のプログラマーはタブ補完をしない * 本物のプログラマーはコパイロットを必要としない * 本物のプログラマーはLLMsを使わない <- 君はここにいる
「エンジニアとして会社で一日も働いたことがない学者が業界にアドバイスするのって、なんか違和感があるよね。『自分の技術に深く関心を持とう。コードを明確でエレガントになるまでリファクタリングしよう。他の人が読めるように良いドキュメントを書こう。特に、みんなが速く行けって言ってる時に、ゆっくり進む勇気を持とう。』この『手抜きを避ける』って部分を除けば、このアドバイスは数年後に失業へのまっすぐな道に見える。『自分の技術』ってのは、コードを書くことや磨くことを指してるけど、これはますます時代遅れになって、高度なシステム設計に取って代わられてる気がする。誰があなたの丁寧に作ったドキュメントを読むの?笑 代わりに雇われるエージェント?森で木が倒れたら…」
あなたの業界からの視点は、実は近視眼的かもしれないよ。みんなそれぞれバイアスを持ってるからね。
それが気持ち悪いってのには完全に同意するよ。著者はLinkedInによると、学術界でしか働いたことがないみたいだね。でも、これが失業につながる道だとは思わない。私たちの職場はすごく速く進んでるけど、速さはそれぞれのポイントと相性がいいと思う。ただ、すべての状況ではないけどね。AWSの優れたエンジニア、Marc Brookerは、業界にとってもっと役立つアドバイスをくれるよ。彼は業界でほぼ30年の経験があるからね。
あなたが感じているフラストレーションは、教授たちが自分の価値観に基づいて選択できるのに、一般の人はそうできないということだと思います。もちろん、これは大まかな話ですが。現代社会では、私たちが生き残るためにやらなければならないことが、どんな気持ちであれ関係ないのは本当に残念です。これが多くの苦しみの根源だと思います。
それに関しては、クラフトのポイントが気になります。去年、私は過去5年間を合わせたよりも多くの役立つソフトウェアを出荷しました。その理由は、コードをアーティファクトとして扱うのをやめて、製品をアーティファクトとして扱うようにしたからです。クラフトのレベルが一段上がったんです。 > 明確でエレガントになるまで 新卒の子たちがコードを何週間もリファクタリングしている間に、何かを出荷して反復する新卒の子たちに追い越されるでしょう。今はフィードバックループが早いですからね。
誰が読むかは関係ないです。重要なのは、自分でコードを書いたりリファクタリングしたりする経験が足りないと、「高レベルのシステムデザイン」をうまく学べないということです。料理のシェフになりたいのに、食材の準備をしたことがないのと同じです。エレガントなコードを書くことには確かに役立つ面があります。他の人が読むからではなく、エンジニアリングのトレードオフや抽象化について学ぶためです。
多くの学者が業界について良いアドバイスをする立場にないという意見には共感します。なぜなら、彼らの多くは業界で働いたことがなかったり、インターンシップを通じての限られた経験しかなかったりするからです。さらに、学問の価値観は時に業界とは異なります。学問は、少なくともその純粋な形では、知識を進めて広めることが目的ですが、業界は製品やサービスを提供して顧客にサービスを提供することが目的です。そう言いつつ、私は業界で9年間働いた後、自分が本質的には学者であることに気づきました。ただし、エージェンティックコーディングが盛り上がる直前に辞めました。「速く動いて物を壊す」ことや、すべてのことよりも出荷や「利益」を優先することに疲れたんです。そう言いつつ、私の意見では、エージェンティックコーディングは、出荷がクラフトマンシップよりも重要であるという長年のトレンドをさらに強調するだけです。LLMがなくても、ソフトウェアエンジニアリングには「やっちゃえ!」という態度が長い間ありました。公平に言えば、市場の影響はソフトウェアビジネスにおいて非常に重要です。品質は完全に使えないソフトウェアを避ける限りで重要ですが、多くのソフトウェア会社は慎重に作られたソフトウェアを構築せずに成功しています。完璧主義で知られるAppleでさえ、完璧なソフトウェアを作っているわけではありません。学問にも自分の問題(出版か滅亡、教育に多大な投資が必要な他の職業に比べて低い給料、政治など)があるけれど、プログラミングのクラフトに集中するための余裕をもっと与えているように見えます(出版か滅亡は別として)。
君はまさに彼の言いたいことを言ってるね。コードを技術として実践して、どうやってやるか、どれだけ上手くやるか、そしてそれが最終的に何に使われるかを気にすることは、君が指摘した通り、利益や雇用にはつながらない。だから、私たちの働き方に何か問題があるのかもね。
> 森の中で木が倒れたら… これはOPを公開するために使われたコンテンツ管理システムのダジャレだといいな。forester[0]っていうもので、OCamlで書かれていて、TeXのような.treeファイルをセマンティックXMLにパースして、ブラウザのXSLTを使ってHTMLをレンダリングするんだ。ページのソースを見れば、どんな感じか分かるよ。数十年前の理想的なウェブの約束を思い出させるね。もう長いこと失われてるけど。すごく的を射てる。 [0] https://www.forester-notes.org/index/index.xml
彼は業界にアドバイスをしているわけじゃなくて、プログラマーやコンピュータサイエンティストを目指す人たちにアドバイスをしてるんだ。彼は業界の経験はないけど、高品質なソフトウェアや研究をたくさん生み出してきたよ。
著者は投稿の冒頭であなたの懸念を述べていた。彼は、業界が求めていることは自分が信じていることの正反対だと言ってから投稿を始めた。彼の言っていることには大体同意する。私たちは自分たちの道徳的かつ技術的なレッドラインを明確に定義すべきだ。決して越えないライン、毎日試されることになるから。
「『深く考える力を育てよう。自分のために、気が散らない空間と時間を作るために何でもやるべきだ。』運動や読書を再開すると、生活がもっと整うのを感じる。これらは、定期的にやり始めるまで時間が足りないと思ってたけど、実際にはやることで他のことをするための時間が増えるって気づくんだよね。」
それがどうしてこうなるのか、本当に不思議です。マラソンのトレーニングプログラムを始めることで、日常のエネルギーが劇的に増えるとは思ってもみませんでした。でも、こうなっちゃいましたね。
「ヨージー教授はこれまで素晴らしい仕事をしてきたし、私のお気に入りの論文の一つを書いたんだ。こうやって声を上げるのは素晴らしいよね。少し前に母校でAnthropicのエンジニアの話を聞いたけど、そのセッションから受けた印象は、『もしAnthropicが良い方だとしたら、私たちは本当に厳しい時代を迎えることになる』ってことだった。」
「私はLLMを、どんな形でも、どんな目的でも使わないし、使うつもりもない。」この人の学問的な自己陶酔はすごいね。
興味がある人のために、これは著者が別の投稿で言及してるよ。http://ozark.hendrix.edu/~yorgey/forest/009L/index.xml
その意見には賛成だよ。個人的にはLLMに対してはOKだと思ってるけど(適切な注意を払えばね)。特に学生にとっては重要だと思う。LLMに頼りすぎると、自分を傷つけることになるから。小さい子供が計算機を使わずに手で計算するのと同じように、学生も手動でやってスキルを磨くべきだよ。おもちゃのウェブサイトやゲーム、OS、エミュレーター、プログラミング言語を作ってみて。仕様書を読んで、自分で実装してみよう。機能を急いで出さなきゃいけない環境じゃないんだから、探求してみて!
> 「技術が使われるのは、気を散らせたり、搾取したり、監視したり、殺したりするためだ。」最初の汎用プログラム可能なコンピュータは1945年にアメリカ陸軍の砲撃表を計算するために設計され、すぐに核兵器の設計にも使われた。コンピュータやすべての技術は、常に武器として使われてきたし、これからもそうだろう(直接的にも間接的にも)。
その人に対して失礼なつもりはないけど、これは学問のバブルの中で生きてきた人が書いたように感じる。人や異なる利害を持つ団体、そして時間が決定に与える影響を考えたことがないんじゃないかな。多くのアーティストは、自分の主観的な興味に基づいてアートを完璧にするためにもっと時間をかけたいと思うでしょう。でも、もしそれを優先して、顧客が何を求めているかを理解しなければ、破産することになります。趣味を通じて自分の興味を育ててください。それがお金を生む能力と一致するなら、あなたはラッキーな少数派です。大多数はそうはいきません。