>100 Views
June 30, 25
スライド概要
AI ツールは出来的に進化し、我々の開発体験を大きく変えてきた。
私たちは IDE 上でプログラミング言語を書くよりも、プロンプトに自然言語を入力することが増えた。
もし AI がバグが一切ない期待するバイトコードを生成するのならば、必要なエコシステムはコンパイラと VM のみになる。
AI が未だ進化過程にあり、高級言語が提供するインターフェースが必要であることを考慮しても、私の最大の疑問は「プログラミング言語はコンピューターに命令を下す以上の意義はあるのだろうか?」
事実、言語は我々が知っているよりも深いものがある。
影響力高い小説の一つ『一九八四年』は言語とは何かを教えてくれる。
言語とは何か、それをこの小説で検証することは、AI 時代の今日非常に価値の高いことだ。
某教育系サービスの内製開発にソフトウェアエンジニアとして携わっています。 使用技術スタックは、バックエンドは Ruby on Rails、フロントエンドは React.js + TypeScript です。 プライベートでは Python も少し書きます。 学部生時代は英語学を専攻していたので、言語に強い興味を持っています。 LT 会のプレゼンテーションなどで使用したスライドを掲載しています。 宜しければご自由にご覧下さい。
AI 時代の高級言語の意義 -人間の思考・表現の観点から作成者: 石田 隼人 英語版はこちら 最終更新日: 2025年06月30日 1
自己紹介 • 各種アカウント • • • • • GitHub: @hayat01sh1da Speaker Deck: @hayat01sh1da Docswell: @hayat01sh1da X: @hayat01sh1da Linkedin: @hayat01sh1da • 職業: ソフトウェアエンジニア • 趣味 • • • • • 言語学 カラオケ 音楽鑑賞 映画鑑賞 猫飼育 2
免許 / 資格 • 英語 • TOEIC® Listening & Reading 915点: 2019年12月 取得 • エンジニアリング • • • • 情報セキュリティマネジメント: 2017年11月 取得 応用情報技術者: 2017年06月 取得 基本情報技術者: 2016年11月 取得 IT パスポート: 2016年04月 取得 • その他 • 珠算2級: 2002年06月 取得 • 暗算3級: 2001年02月 取得 3
スキルセット • 言語 • 日本語: 母語 • 英語: ビジネスレベル • 開発 • Ruby: 中上級(FW: Ruby on Rails) • Python: 中級 • TypeScript:中級(Library: React.js) • HTML:中級(Library: Bootstrap) • CSS:中級(Library: Bootstrap) • SQL:中級 • その他 • ドキュメンテーション: 上級 4
職歴 1. システムエンジニア @SES • レガシー Windows Server 運用・保守 • 社内アカウント管理 • 社内セキュリティ啓蒙 • 英語通訳(海外拠点とのオンライン会議・ベンダー対応・海外スタッフのアテンド) 2. ソフトウェアエンジニア @受託開発会社 • サーバーサイド開発(Ruby on Rails, RSpec) • フロントエンド開発(HTML / CSS, JavaScript) • QA(Native iOS / Android Apps) • 企業技術ブログ記事執筆 3. ソフトウェアエンジニア @チャットボットプラットフォーム開発会社 • 既存チャットボットプラットフォーム開発・運用・保守(Ruby on Rails, RSpec) • 新規チャットボットエンジン性能検証(Ruby, Ruby on Rails, RSpec, Python) 4. ソフトウェアエンジニア @メガベンチャーの教育系サービス内製開発部門 • 学事・進路支援機能開発(Ruby on Rails, RSpec, Minitest, TypeScript + React.js) • 年次高校マスタデータ更新(Ruby on Rails, RSpec) • 負債解消活動(Ruby, Python, GitHub Actions etc.) 5
国際交流活動 • 大学時代 • • • • 英語学ゼミ(マスメディア英語) 国際交流サークル兼部(2年次) 内閣府主催国際交流プログラム(2013年 - 2016年) 日本語学の授業の S 単位取得(最終年次) • 海外生活 • オーストラリアでのワーキングホリデー(2014年04月 - 2015年03月) • • • 2ヶ月間のシドニーの語学学校通学 6ヶ月間の Hamilton Island Resort での就労 1ヶ月間の NSW 州の St Ives High School での日本語教師アシスタントボランティア活動 • その他活動 • • • • • 英語での日々の日記(2014年04月 - 現在) Sunrise Toastmasters Club 参加(2017年02月 - 2018年03月) Vital Japan 参加(2018年01月 - 2019年07月、2022年10月 - 2023年02月) 英語自己学習 Ruby 関連カンファレンス参加 6
1. 本日のテーマは... 8
1. 本日のテーマは... AI が未だ進化過程にあり高級言語が提供するインターフェースが必要であ ることを考慮した上でも、私の疑問は… 「我々はこの高度 AI 時代に、何のために高級言語を扱うのだろうか?」 9
2. 本日紹介する書籍は... 10
2. 本日紹介する書籍は... 英語版 日本語版 11
3. AI 時代の高級言語 12
3. AI 時代の高級言語 AI ツールがもたらした開発体験の大きな変化 • 続く群雄割拠 • GitHub Copilot • Devin • Clause Code • Cursor • プロンプトに入力する自然言語 > 統合開発環境で書くプログラミング言語 • コスパ・タイパの観点でのトレードオフ • 学習コスト • 開発者がついていくのが大変な AI ツールの速すぎる成果物生成 13
3. AI 時代の高級言語 もし AI が直接バグが一切ないバイトコードを生成するならば、必要なエコ システムはコンパイラと VM のみになる。 「完全」AI 時代に必要な エコシステム p.29、近藤うちお、Ruby の中身の予備知識 - RubyKaigi の前に知り鯛 14
3. AI 時代の高級言語 高級言語において人間の開発者が出来て AI が出来ないことは… 命名だ! 15
4. 紹介書籍の世界観の概要 16
4. 紹介書籍の世界観の概要 • オセアニア・ユーラシア・イースタシアの3国による群雄割拠の世界 • 舞台であるオセアニアの社会では全てのものが政府に掌握されている • 社会階級によってその者がどの程度支配を受けるかが決まる • 主人公のウィンストン・スミスが所属する当外局の局員が最大の監視 対象である • 語彙: 大衆の思想・思考を統制するため • 思想 / 思考: 大衆の政治思想を統制するため • 政治思想: 英国社会主義を実現するため • その他 • プロレと呼ばれる最下級階級はほぼ放置状態 • 大衆は英国社会主義の象徴である Big Brother を敬愛する運命にある 17
4. 紹介書籍の世界観の概要 乱暴にアニメに置き換えると… 18
4. 紹介書籍の世界観の概要 SPY × FAMILY の世界観がやや近しいかも 19
5. Newspeak 20
5. Newspeak • エコシステム: Oldspeak(1984年現在の現代英語 = 標準英語)とは別物である • 普及: 進行中 • 書物では『Times』という刊行誌だけがこの言語で記事を発表した • 代替計画: 2050年には Oldspeak に取って代わる予定である • 語彙: 毎年減少・縮小 • 我々が知っている今日の現代英語とは全く真逆の進化を遂げている • 最大の狙い: 語彙の制約の進行 → 多くの概念の思考不可能 • 副産物: 労力の節約 と元来の語彙の概念への意識の喪失 • 分類: 語彙群A・語彙群B・語彙群C 21
5. Newspeak 語彙群A: 日常生活での利用 • 語彙: 数は少なく定義は厳密である • 派生語なし: 語の期限や歴史に関連のある語 • thought(名詞) / think(動詞) → think(名詞 & 動詞) • knife(名詞) / cut(動詞) → knife(名詞 & 動詞) • 接頭辞: 意味の強調または否定をする • un- + good → ungood(≒ bad) • plus- + cold → pluscold(≒ very cold) > doubleplus- + cold → doublepluscold(≒ superlatively cold) • 接尾辞: 形容詞もしくは副詞を形成する • 形容詞: speed + -ful → speedful(≒ rapid) • 副詞: speed + -wise → speedwise(≒ rapidly) 22
5. Newspeak 語彙群A: 日常生活での利用 • 略記: 意味を真逆もしくは曖昧にする • joycamp(= forced-labour camp「強制収容所」) • Minipax(= Ministry of Peace「平和省」 = Ministry of War「戦争省」) • Minitrue(= Ministry of Truth「真理省」 = Ministry manipulating historical records「歴史改竄賞」) • Miniluv(Ministry of Love「愛情省」 = Ministry forcing rebels to love Big Brother by tortures「拷問によっ て Big Bother を敬愛することを反逆者に強要する省」) • 屈折変化: 不規則変化が消失し類推が完全に機能する • 動詞: speak - spoke - spoken → speak - speaked - speaked • 形容詞: good - better - best → good - gooder - goodest • 例外: 代名詞・関係代名詞・指示代名詞・助動詞 23
5. Newspeak 語彙群B: 政治的利用 • 語彙: 複合語によって構成される • good + think → goodthink(≒ orthodoxy「正当性」) • 動詞: goodthink - goodthinked - goodthinked(≒ to think something in an orthodox way「正当な方法で物事 を考えること」) • 形容詞: goodthinkful(≒ orthodox「正当な」) • 副詞: goodthinkwise(≒ orthodoxically「正当に」) • 屈折変化: 語彙群Aよりも Oldspeak(標準英語)に近い • Minitrue > Minitruthful: -trueful は不適当 • Minipax > Minipeaceful: -paxful は不適当 • Miniluv > Minilovely: -lovfulは不適当 24
5. Newspeak 語彙群B: 政治的利用 • 意味論: Newspeak を使いこなしたり理解するためには習得が必須である • 以下の文では対応する箇所は同じ色でハイライトしてある • Oldspeak: Those whose ideas were formed before the Revolution cannot have a full emotional understanding of the principle of English Socialism. • Newspeak: Oldthinkers unbellyfeel Ingsoc. • 日本語訳: 「社会主義革命以前に形成された思想を持つ者は英国社会主義原理を琴線に触れる形で完全に理解することは出来ないのである。」 • お分かりの通り、各単語が曖昧模糊で一見して意味を理解することが出来ない • 語彙の駆逐: 単語が持つ党にとって望ましくない意味は抹消される • 例: free は be free from ~ という熟語が表すように「何かが取り除かれた状態」を表し、反政府的思想である「自由」のニュ アンスはもはや含まれない • Duckspeak: 振舞いそのものによって行為は評価されるという概念のこと 25
5. Newspeak 語彙群C: 科学・技術分野での利用 • 役割: 語彙群A と 語彙群B の補集合である • 語彙の駆逐: 単語が持つ党にとって望ましくない意味は抹消される • 文法:語彙群A と 語彙群B と同じ • 利用場面: 科学という文脈に限定的である • 皮肉: 「科学」という言葉が存在しない • 英国社会主義という言葉がそれを包括する 語彙群A 語彙群B 語彙群C 26
6. 何故『一九八四年』? 27
6. 何故『一九八四年』? 早い話が、『一九八四年』があることについて深い洞察をもたらしてくれ るからである。それは… 我々開発者がプログラムを組む時の永遠の課題である「命名」だ! 28
6. 何故『一九八四年』? ご存じのように、以下の語彙は SNS に登場し市民権を得た単語である。 以下の語彙は 語彙群A の否定の接頭辞 -un を既存の語彙に付す手法を表す。 • friend unfriend • like unlike • star unstar • flag unflag • follow unfollow 30
6. 何故『一九八四年』? 命名は AI が最も不得手であり、私たち人間の開発者が最も注意を払わなけ ればならないものであるはず。 Ruby の父まつもとゆきひろ氏(通称 Matz)は命名に厳しい人物として有名だ (『プログラマが知るべき97のこと > 107. 名前重要』参照)。 彼は命名はシステム設計を反映する鑑であると強く考えている。 本日現在、人間の開発者だけがクラス・モジュール・メソッドなどを命名 する際に設計を考慮に入れることが出来る。 * 興味深いエピソードの詳細については『Road to Ruby for A Linguistics Nerd > 3. Matz さんと の最も思い出深い議論 』を参照。 31
6. 何故『一九八四年』? ここにこの高度 AI 時代に私たち開発者が高級言語を扱う理由がある。 それは何か? それは、高級言語こそが私たち開発者がどのようにシステム構成を設計・ 認識・実装しているかを表現する唯一の方法であるからだ。 今日、多くのコードは人間によって読み書きされるので、適切な命名に よってなるべく「一目瞭然」でなければならない。 Newspeak から命名に役立つ普遍的な言語学的な原則を学ぶことが出来る。 32
6. 何故『一九八四年』? 『一九八四年』の著者ジョージ・オーウェルは、執筆中に今日私たちが目 にしている今日の情勢も予期していた可能性が高い。 • SNS 上での新型の語形成 • ポリコレと検閲 • 一部の国々で続く独裁や戦争 • その他 『一九八四年』から普遍的な学びが得られること間違いなし、今こそ読む 時だ! 33
6. 何故『一九八四年』? 『一九八四年』を読まない理由はもはやない! 感想の共有と意見交換をしましょう!! 楽しみにしています!!! 34
7. 参考書籍 35
7. 参考書籍 • Michael L. Geis, Language and Communication, Oxford, OUP, 2001 • George Orwell, Nineteen Eighty-Four, the United Kingdom, Harvill Secker, 1949 • 近藤うちお、『Ruby の中身の予備知識 - RubyKaigi の前に知り鯛』、東京、 SmartHR、2025年 • Villains Wiki • 最終アクセス日: 2025年05月28日 • Moore Spring, Analogy, University of California San Diego, California, 2013 • プログラマが知るべき97のこと • 最終アクセス日: 2025年05月28日 • 石田隼人、『現代英語を知ろう Vol.3 -英語の語彙①(複合語・派生語・借 用語)-』、東京、石田隼人、2021年 • 石田隼人、『Road to Ruby for A Linguistics Nerd』、東京、石田隼人、2025 年 36
EOD 37