開発のパラダイムシフト:コードは「書く」から「指示する」へ
これまでのプログラミング学習において、最初のハードルは「構文を覚えること」でした。カンマ一つ、括弧一つ忘れただけで動かないプログラムに対し、多くの初学者が挫折を味わってきました。しかし、生成AIの登場により、この常識は覆されました。現代の開発者にとって必要な能力は、複雑な構文を暗記することではなく、実現したい機能を言語化し、AIに対して的確な指示(プロンプト)を与える能力です。
本章で行う「Hello World」の出力は、プログラミングの世界では伝統的な第一歩ですが、私たちはこれを「AIにコードを書かせる」という新しいアプローチで実践します。これは単なる文字の出力実験ではありません。あなたが「こうしたい」という思考をAIに伝え、AIがそれを実行可能なコード(Google Apps Script)に変換し、それをGoogleのサーバー上で実行して結果を確認するという、現代的な開発サイクルの最小単位を体験する重要な儀式です。
このプロセスを通じて、あなたはコードの書き手から、AIという優秀なエンジニアを指揮する「ディレクター」あるいは「アーキテクト」としての立ち位置へとシフトします。自身の手で一行もコードを書かずとも、意図した通りの結果を得る体験こそが、これからの業務自動化を加速させる原動力となります。
プログラミングにおける「Hello World」の儀式的意味
「Hello World」とは、画面やログに「Hello World」という文字列を表示させるだけの、最も単純なプログラムのことです。しかし、この単純な処理には、開発環境が正しく構築されているか、プログラムが正しく実行されているか、そして出力結果を開発者が確認できる状態にあるか、というシステム開発における最も基本的な導通確認の意味が込められています。
Google Apps Script(GAS)においてログを出力するということは、Googleのサーバー上であなたのスクリプトが確かに動き出し、その生存報告をあなたのブラウザに届けるということを意味します。この成功体験は、今後どれほど複雑なシステムを構築する場合でも、すべての基礎となります。もしここで躓くようであれば、より高度なスプレッドシート操作や外部API連携などは到底実現できません。だからこそ、たかが文字出力と侮ることなく、開発者としての第一歩を確実に踏みしめる必要があります。
今回は、この伝統的な儀式をAIと共に行うことで、AIが生成したコードがGoogleの環境で正しく動作することを証明します。これは、あなたとAI、そしてGoogle Apps Scriptという3つの要素が正しく接続されたことを確認するマイルストーンなのです。
AIへの指示出し「プロンプトエンジニアリング」の基礎
AIに意図したコードを書かせるためには、「プロンプト」と呼ばれる指示文の質が極めて重要です。曖昧な指示は曖昧なコードを生み、エラーや予期せぬ動作の原因となります。開発者としてAIに向き合う際は、あたかも人間の部下に業務を依頼するかのように、明確な「役割(ペルソナ)」、「命令(インストラクション)」、「文脈(コンテキスト)」、「制約条件」を与える必要があります。
例えば単に「ログを出して」と言うだけでは、どの言語で、どのような形式で出力すればよいかAIは迷ってしまいます。「あなたはGoogle Apps Scriptの専門家です」「ログには実行日時も含めてください」といった具体的な条件を加えることで、AIの出力精度は飛躍的に向上します。本講座では、こうした「構造化されたプロンプト」を用いることを標準とします。
これは、将来的に複雑な業務システムを構築する際にも必須となるスキルであり、今のうちからAIとの共通言語を確立しておくことが、後の生産性に大きく影響します。今回は単純なタスクですが、あえて丁寧なプロンプトを作成し、AIから最高品質の回答を引き出す練習を行います。
実践:ログ出力を依頼する具体的なプロンプト作成
それでは、実際にAI(GeminiやChatGPTなど)に入力するプロンプトを作成しましょう。以下のプロンプトは、開発者として必要な要素を網羅した構成になっています。これをそのままコピーして、AIのチャット画面に貼り付けて送信してください。
あなたはGoogle Apps Script(GAS)の熟練したエンジニアです。
以下の要件を満たすGASの関数を作成してください。
# 目的
GASのスクリプトエディタ上のログに、指定した文字列を出力して動作確認を行う。
# 要件
1. 関数名は `logHelloWorld` としてください。
2. 実行ログに「Hello World! これはAIと作成した最初のスクリプトです。」という文字列を出力してください。
3. 出力には `console.log` を使用してください。
4. コードには、何を行っているか説明するコメントを日本語で付与してください。
# 出力形式
コードのみを出力してください。解説は不要です。
このプロンプトでは、関数名の指定や使用するメソッド(console.log)、さらにはコメントの付与まで細かく指示しています。これにより、AIは迷うことなく、即座に実行可能なコードを生成します。AIからの回答が生成されたら、次はそのコードの中身を検証します。
AIが生成したコードの構造的理解と検証
AIが出力したコードは、概ね以下のような形になっているはずです(AIの挙動により微差はあります)。
function logHelloWorld() {
// ログにメッセージを出力する
console.log("Hello World! これはAIと作成した最初のスクリプトです。");
}
ここで開発者として注目すべきは、function というキーワードです。これは「ここから新しい処理のまとまり(関数)を定義します」という宣言です。その後の logHelloWorld は関数の名前であり、続く波括弧 { } の中に具体的な処理内容が記述されています。console.log(...) は、括弧内の内容を実行ログ(コンソール)に表示するための命令です。従来は Logger.log がよく使われていましたが、現代的なGAS開発ではJavaScript標準に近い console.log が推奨される傾向にあります。
AIが生成したコードに日本語のコメント(// で始まる行)が含まれていることも確認してください。これにより、後からコードを見返したときに処理の内容が一目でわかります。AIが出力したコードを盲目的に信じるのではなく、このように「関数定義」「処理の中身」「コメント」という構成要素を理解し、検証する姿勢を持つことが重要です。
スクリプトエディタへのコード転記と保存の作法
AIが生成したコードをコピーしたら、先ほど開いたGASのスクリプトエディタに戻ります。エディタ上にはデフォルトで function myFunction() { ... } という空の関数が記述されている場合があります。今回はAIが完全な関数を作成してくれているので、このデフォルトの記述はすべて削除して構いません。エディタが真っ白な状態になったら、AIからコピーしたコードを貼り付けます(Windowsなら Ctrl + V、Macなら Command + V)。貼り付けた後、コードが整形されているか確認しましょう。
もしインデント(字下げ)が崩れている場合は、整えたい範囲を選択して Tab キーを押すか、右クリックメニューから「ドキュメントのフォーマット」などを選択して綺麗にします。そして、最も重要なのが「保存」です。画面上部のツールバーにあるフロッピーディスクのアイコンをクリックするか、ショートカットキー(Windows: Ctrl + S, Mac: Command + S)を押してプロジェクトを保存します。ファイル名の横にあるオレンジ色の丸印などが消えれば、保存完了です。保存されていないコードは実行できないため、この「書いてすぐに保存」という動作を呼吸をするように行えるようになりましょう。
実行ボタンのアクションと関数の選択
コードの準備が整ったら、いよいよ実行です。ツールバーの上部には「▷ 実行」というボタンがありますが、その左隣にあるプルダウンメニューに注目してください。ここでは「どの関数を実行するか」を選択します。先ほど作成した関数名 logHelloWorld が選択されていることを確認してください。もし複数の関数が定義されている場合、ここで目的の関数を選び間違えると、予期せぬ処理が走ってしまいます。今回は一つしか関数がないため迷うことはありませんが、今後機能が増えていった際には重要な確認ポイントとなります。
関数を選択したら、「実行」ボタンを自信を持ってクリックしましょう。画面上部に「実行を開始しました」という通知が表示され、スクリプトがGoogleのサーバー上で動き始めます。
実行ログの確認と「完了」ステータスの意味
実行ボタンを押すと、画面下部に「実行ログ」というウィンドウが展開されます。ここには、スクリプトの動作状況がリアルタイムで表示されます。正常に動作した場合、以下のようなログが表示されるはずです。
[情報] Hello World! これはAIと作成した最初のスクリプトです。
実行完了
「実行開始」の合図から始まり、console.log で指示したメッセージが表示され、最後に「実行完了」で締めくくられます。この「実行完了」というステータスは、プログラムがエラーなく最後まで走り切ったことを示す重要なサインです。もしここにメッセージが表示されない場合は、ログのフィルタ設定などを確認するか、コードが正しく保存されているか再確認してください。
あなたがAIに指示し、AIが書き、あなたが配置したコードが、クラウド上で確かに動作し、その結果を返してきた。この一連の流れが確認できた瞬間、あなたは「Hello World」の儀式を完了し、正式にGAS開発者としての第一歩を踏み出したことになります。
エラー発生時のトラブルシューティングとAI活用
もし実行時に赤い文字でエラーメッセージが表示されたとしても、慌てる必要はありません。開発においてエラーはつきものです。よくあるエラーとしては、「SyntaxError(構文エラー)」や「ReferenceError(参照エラー)」などがあります。例えば、括弧の閉じ忘れや、全角文字と半角文字の混同などが原因です。ここでもAIの力を借りましょう。
エラーログの内容をそのままコピーし、AIに「以下のエラーが出ました。原因と修正方法を教えてください」とプロンプトに入力して送信します。するとAIは、コードのどの部分に誤りがあるかを指摘し、修正版のコードを提示してくれます。エラーを自力で解決しようと何時間も悩むのではなく、エラーメッセージという「事実」をAIに渡して解析させる。このトラブルシューティングのプロセスこそが、AI時代の効率的な開発スタイルです。エラーは失敗ではなく、AIとの対話を通じて理解を深めるチャンスだと捉えてください。
開発者としての視点:結果の検証と次への展望
「Hello World」が無事に表示されたら、最後に開発者として改めて全体を振り返りましょう。今回は単純な文字列出力でしたが、この console.log の中身を「スプレッドシートのセルの値」や「Gmailの件名」に置き換えれば、実務的なデータの確認が可能になります。
ログ出力は、プログラムの健康診断のようなものです。処理の途中で変数の値がどうなっているか、どこまで処理が進んでいるかを確認するために、この機能は今後頻繁に使用することになります。単に「動いた」で終わらせず、「なぜ動いたのか」「この命令がどこに作用したのか」を意識することが、プロフェッショナルへの道です。
AIという強力な相棒を得た今、あなたはコードを書く労力から解放され、より本質的な「どのようなロジックで業務を解決するか」という設計に注力できる環境にあります。次章からは、いよいよ実際に動くアプリケーションと連携し、権限の承認という次のステップに進んでいきます。
