※本記事は、Alexander Stegall, Dustin Wurtz, Chad S. WhiteによるAI-Generated Code: Generative AI Concerns & Opportunities for Marketersを翻訳したものです。
ChatGPTやDall-Eといった、マーケターの毎日の仕事に影響を及ぼす生成AIが、急速に世の中に広がってきています。今やこの変化は、疑いようがありません。それでは、企業がこの変化に追従するには、どうすれば良いのでしょうか?
生成AIによる変化に、可能な限りスムーズに追従できるよう、長期的には楽観的な見方を持ちつつ、短期的には注意深く現実的なアプローチを取ることをおすすめします。生成AIができること・できないことを見極め、どのように機能するか、深く理解することから始めましょう。
特性を深く理解することで、AIによる間違いや顧客体験の低下を防ぎながら、ビジネスを成長させるために、生成AIを活用することができるようになるでしょう。
画像やソースコード、テキスト等、アウトプットするものによって、生成AIの課題やユースケースが異なるため、本連載では、それぞれの記事でこれらを取り扱います。
第3回のこの記事では、コーディングに焦点を当てます。

生成AIがソースコードを作り出す方法
大規模言語モデル(LLM: Large Language Model)をもとにした生成AIは、テキストを作成するのと同様に、確率計算をもとにソースコードを作成します。ChatGPTやBardが文学やニュース記事、ソーシャルメディアでの会話を学習しているのに対し、コーディングに特化した大規模言語モデル(Github Copilot等)は、数百万行に及ぶ、一般公開されたソースコードを学習しています。これにより、コーディングに特化した大規模言語モデルは、コーディングにおけるパターンを認識し、次に含めるべき要素を特定し続けることで、コードを作成することができるのです。
現在、こうした生成AIエンジンは、HTML、JavaScript、Python、TypeScript、Ruby、C++、Rust、Go、Bash等のプログラミング言語への特化だけなく、目的に応じたコードを作成する機能も備えています。
生成AIの6つの活用類型
テキストや画像を生成する場合と同様に、コーディングにおいても、マーケターにとって有用なユースケースがあります。ここでは、最も一般的な6つの活用類型を示します。
- プロジェクト全体のソースコードを作成する: プロジェクト全体の作成も可能ではありますが、マーケターにとっては、Webサイトにおけるランディングページ等、小さく複雑でないプロジェクトに適用することで、最も価値を享受できるでしょう。
- ソースコードの一部を作成する: 大規模なプロジェクトにおいては、機能ブロックごとに分割するアプローチが適しているでしょう。
- デバッグに用いる: 作成したコードが期待通りに動かない際、生成AIはデバッグやコードの修正に用いることができます。一部の大規模言語モデルやプラグインでは、コードの作成と同時にデバッグを行うことができるため、コンパイルにかかる貴重な時間を削減可能です。
- リファクタリングに用いる: 生成AIによって、作成したコードを圧縮したり、効率的で軽量なものに変換したりすることができます。
- コーディング手法に対するアドバイスを求める: 特にChatGPT等の汎用的な大規模言語モデルにおいては、コードを書くことよりも、コーディング手法についてアドバイスを求めることが有効です。デバッグについても、同様のことが言えます。
- ドキュメンテーションを作成する: ソースコードの作者(あなた自身/組織内/外部)に関わらず、ドキュメンテーションを作成しておくことで、将来のコードの変更を簡単にすることができます。
生成AIによる画像の作成において、写真の技術的な要件、アート用語、パントーン色番号等の指定によって、結果が劇的に改善するように、コーディングにおいても、詳細な要件を記述することで、正確な結果を得られるようになります。つまり、グラフィックデザイナーであることで、Midjourney(ミッドジャーニー)を最大限活用できるのと同様に、経験豊富なコーダーであることで、生成AIによるコーディングツールを最大限活用できるのです。
Bain & Companyによる、11の業界の600近くの企業を対象にした調査によれば、46%の企業が、生成AIを、コードの補完、作成、協働に用いているといいます。一方で、以下に示す、不用意なリスクを犯している企業も存在しています。
ソースコードの機密性
機密性の高いコードを、生成AIのプロンプトとして提供することは、その情報がどう扱われるか不透明なため、危険です。大規模言語モデルのトレーニングデータにはならないでしょうか?他の誰かが、提供した情報を呼び出すことは無いでしょうか?こうした懸念は、現時点でははっきりしないままです。
機密性の高いコードに関する事例として、Samsungの従業員が、機密性の高いコードを、ChatGPTで扱ったものが挙げられます。事例はこれだけではありません。Cyberhaven researchによれば、従業員の4%以上が、企業のセンシティブなデータを、大規模言語モデルで取り扱っていると言われています。
また、コーディングに特化した大規模言語モデルは、公開されたソースコードから学習されているため、企業内部のライブラリや、その他外部には公開されていないツールを含むような、機密性の高いコードを生成するのには向いていません。
それでは、機密性が低く、センシティブでないソースコードとは、どんなものを指すのでしょうか?Oracleでは、”Confidential”という言葉を用います。Confidentialなソースコードには、従業員が使用する内部向けのアプリケーションと、顧客が使用する外部向けのアプリケーション双方が含まれます。著作権で保護された”Confidential”なソースコードと、すでに公開されている”Confidential”でないソースコードが存在しています。
マーケターにとっては、WebサイトとEメールの2つが、ここで考えるべき領域になります。両者とも、勉強の意味合いでも、インスピレーションを得る意味合いでも、比較的簡単に考察が可能です。これらの2つは、生成AIによるコーディングにおいて、最も価値のあるユースケースだと考えられます。
WebサイトとEメールにおけるコーディング
当面は、以下に示す理由により、Eメールのコーディングよりも、Webサイトのコーディングが、生成AIの活用に適していると言えます。
- 生成AIの学習データという観点で、Eメールよりも、Webサイトのソースコードの方が、公開されているリポジトリが多く存在することが挙げられます。(今のところ、著作権と所有権の問題が、生成AIを提供する企業にとっての障壁にはなってはいませんが、例えば、Googleが、Gmailの受信箱にあるすべてのEメールを、生成AIの学習に利用することができるかどうかは、法的には不透明な状態です。)
- Webサイトに用いるHTMLのコーディングは、W3C(World Wide Web Consortium)によって長年にわたり標準化されている一方で、Eメールについてはそのような公式な標準は存在しません。そのため、Eメールのコーディングには、様々な種類が存在しており、安定したコードベースであるとは言えません。
- Webサイトのコーディング手法については、Eメールのそれよりも、多くの情報がインターネット上に公開されています。
上記すべてを踏まえると、 The Email Factoryが示すように、今のところ、Eメールのコーディングをすべて生成AIで行うことは、非常に難しいと言えるでしょう。当面は、ソースコードの一部の作成、デバッグ、コーディング手法へのアドバイスを求める、といった活用方法が適しています。こうした活用方法においては、Eメールのコーディングに必要な要件を、詳細に記述したプロンプトが必要になります。例えば、Microsoft Outlook Desktopに最適化されたEメール上のボタンを作成する、といったプロンプトになります。
今後数ヶ月から数年の間に、生成AIによるコーディングツールは、大量のデータによって学習され、より企業に合わせた回答ができるインターフェースになるでしょう。こうした進歩により、経験のあるコーダーは、さらに生産的になるはずです。
関連記事
- マーケター向け生成AI活用ガイド (Part 1. テキスト編)
- マーケター向け生成AI活用ガイド (Part 2. 画像編)
- マーケター向け生成AI活用ガイド (Part 3. コーディング編) ※本記事