訳者あとがき
プログラミングにおいて、コードは「自らの頭で考えて手で」実装するものでした。しかし、大規模言語モデルの時代において、我々は「言葉で命令することで」実装するようになりました。
はじめにロゴスがあった。そしてロゴスは神のもとにあった。そして神であったのだ、ロゴスは。これははじめに神のところにあった。万物がそれによって生じた。そしてそれなしには何一つ生じなかった。それにおいて生じたものは、生命であった。そして生命は人間たちの光であった。そして光は闇の中に現れる。そして闇はそれをとらえなかった。
ヨハネ福音書 1章1-5節田川建三『新約聖書 訳と註』(作品社)より
ロゴス(λόγος)は「言葉」や「理性」という意味のギリシャ語です。ソフトウェアエンジニアやプログラマにとって、大規模言語モデルとそれに基づくツール群の台頭はロゴスの力を実感する出来事ではないでしょうか。要件を添えて「この通りに実装して」とタイプしたり、エラーログを添えて「バグを調査してコードを修正して」とタイプするだけで、それらしい機能が実装されたり、バグの原因が特定されて修正されたりする様子は、まさにロゴスから生まれる瞬間を目の当たりにしているようです。ロゴス賛歌の作者や引用した福音書著者は大規模言語モデルのことなど想像もしていなかったはずですが、言葉や理性の重要性はすでに認識していたのです。田川建三も『新約聖書 訳と註 ヨハネ福音書』において「「言葉」というものは人間のいとなみの中でも特に際立って叡智のいとなみ、ほとんど不可思議な水準の事柄であって、その驚くべき現象について古代人は畏敬の念を持って接していた」(田川、P.80)と指摘しています。
さて、大規模言語モデルとそれに基づくツール群が台頭する現代において、本書のような技術書を読む意味は何でしょうか。実装したい機能を文字としてタイプすれば、ツールが自動で実装を行い、レポジトリにコミットして、プルリクエストを生成し、さらにはプルリクエストのレビューまで行います。設定次第ではプルリクエストのマージまで自動化できるでしょう。しかし、ここで重要なのは、ツールが生成するコードをどのように評価するかです。ツールの出力結果を鵜吞みにするような態度では、将来的に混沌としたコードベースに悩まされることでしょう。どのように実装すべきかの指針を示すのが、技術書の役割ではないでしょうか。大規模言語モデルが生成したコードを見て「なぜこの書き方なのか」「別の方法はないのか」と疑問を持てるかどうか。その疑問に答えるための判断基準、すなわちコードの良し悪しを測るための基準を身に付けることこそ、本書のような技術書を読む意味なのです。ツールがどれだけ進化しても、最終的な判断は人間が下すのです。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access