第10章. 収穫
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、本書から持ち帰ってほしい主なアイデアを簡単に紹介する。
学習曲線は険しい
AIアシスト・プログラミング は、テクノロジーにおけるエキサイティングなフロンティアではあるが、熟練した開発者にとっても困難な学習曲線となる。この挑戦は、技術革新が絶え間なく行われ、常に新しい開発が現れる技術業界の進歩の速さによって増幅される。このような変化に遅れをとらないようにすることは、足早に走る新幹線に徒歩で追いつこうとするようなもので、圧倒されそうになることもある。
重要な課題のひとつは、従来のプログラミング・メソッドよりもはるかに複雑で予測不可能な、大規模な言語モデルを扱う際のニュアンスに適応することにある。従来のコーディングに慣れた開発者は、コードが予測可能な振る舞いをし、書かれた通りに正確に実行される直線的なプロセスを期待するようになっている。しかし、AIモデルの場合、予測不可能性と自律性の要素があり、困惑させられたり、爽快な気分にさせられたりする。これらのモデルは、人間のプログラマには直感的に理解できない方法でコーディング要求を処理し、応答することが多い。
このシフトは、開発者に新しい考え方を要求する。開発者は、AIモデルの予期せぬ出力を予測し、解釈することを学ばなければならないが、これまで慣れ親しんできた単純明快で論理的なプロセスからの逸脱は、最初は居心地が悪いものだ。
大きな利点がある
従来のコーディングでは、 、つまずいたときは通常、すべてを中断してStack Overflowを探し回ったり、大量のドキュメントを調べたり、Googleを検索したりしなければならなかった。しかし、AI支援プログラミング・ツールは、あなたに命綱を投げてくれる相棒のようなものだ。これらのツールは、入力中にポップアップで提案や修正をしてくれるので、ゲームに集中することができ、たくさんのタブやアプリを切り替えても迷うことはない。あなたは「流れ」に乗り、そこに留まることができる。
ツールの中には、あなたのコーディングスタイルや、変数、関数、メソッドに使っている名前付けを拾ってくれる賢いものもある。彼らはあなたのコード全体の雰囲気を把握している。そのため、彼らが提案するとき、ただ適当なアドバイスを渡しているわけではない。彼らの知恵は、あなたのプロジェクトに合わせたものなのだ。
それでは、本当の価値について話そう。ファイル操作、データ操作、API呼び出し、UI、正規表現、スターターコード、煩わしいbashコマンド、GitHub Actionsの操作などなど。プログラミングにおけるAIは、「心配しないで、私に任せて」と言わんばかりに、あなたの代わりにコードを作ってくれる。
それだけではない。AIはあなたのコードを理解する能力にも長けている。ひとつは、すべてのコードを自動的に文書化できることだ。あなたが夜中にメモや説明を書き留めようとする代わりに、AIがすべてを平易な英語でソートしてくれるのだ。これは特に、新しい人をプロジェクトに参加させたり、古いコードを見直したりするときには重要だ。AIはすべてを整理してくれる。
しかし、欠点もある
AIによるプログラミング にも厄介な点がある。まず、AIツールが吐き出すコードに関して、誰が何を所有するのかという問題がある。これらのツールは、あちこちのコードの束から学習し、その中には著作権のあるものもあるかもしれない。もしAI仲間が、すでに存在するものに少し似ているものを作り出したら、それは誰かのつま先を踏んでいることになるのだろうか?また、AIの助けを借りて何か素晴らしいものを作った場合、誰がそれを換金できるのだろうか?法律的な側面は複雑で、コンセンサスが形成されるまでには時間がかかりそうだ。 ...