GAS AUTOMATION SERIES

GAS連携・自動化編:エラー対応と品質調整

【自動化・実戦編:Revision 1.2】

〜 「動く」から「使い続けられる」システムへ。
エラーハンドリングの極意と、出力品質を安定させる高度な調整術 〜

1. 現実:自動化の前に立ちはだかる「3つの壁」

STEP 01

エンジニアが必ず直面する事象

GASとAIを連携させると、個別のプロンプト実行では起きなかった「システム特有の不具合」が発生します。これらを想定内に収めるのが実務の要です。

エラー分類 原因 現象
実行制限 (Quotas) GASの6分制限、1日あたりの実行数制限 スクリプトが途中で止まる
API制限 (Rate Limit) 短期間の過剰リクエスト (429 Error) AIが「今は答えられない」と言う
品質のブレ 大量処理中のハルシネーション 特定の行だけ回答がデタラメになる
Master's Insight: 「止まらないスクリプト」を作るのではなく、「止まった時にどこまで処理したか分かり、再開できるスクリプト」を作ることが運用の勝利です。

2. 解読:APIステータスコードの「意味」と「対策」

STEP 02

Gemini 3.0 API から返ってくるエラー数字の意味を理解しましょう。

429: Too Many Requests

1分間に投げられるプロンプト数が限界を超えました。リクエストの頻度を落とす必要があります。

400: Bad Request

プロンプトが空であるか、安全フィルター(セーフティ)に抵触し、AIが拒絶しています。

500: Server Error

Google側のサーバーが一時的に不安定です。数分待ってからやり直すのが正解です。

✅ LCREATOR流:安全フィルターの回避

機密性の高いビジネス文章を扱う場合、AIの安全フィルターが過敏に反応して回答が止まることがあります。API設定で `safetySettings` を緩和(BLOCK_NONE)に設定することを検討しましょう(※コンプライアンス遵守が前提)。

3. 対処:指数バックオフによる「リトライ」の実装

STEP 03

エラーが起きたら即座に諦めるのではなく、少し待ってから自動でリトライさせます。

function callWithRetry(prompt) { let attempts = 0; while (attempts < 3) { try { return callGemini(prompt); // 通常のAPI呼び出し } catch (e) { if (e.message.includes('429')) { attempts++; Utilities.sleep(Math.pow(2, attempts) * 1000); // 2秒, 4秒...と待機時間を増やす } else { throw e; // 他のエラーはそのまま報告 } } } }
LCREATOR View: 大量リクエスト時は `Utilities.sleep(1000)` をループ内に入れるだけでも、429エラーは激減します。

4. 診断:Logger.log と「実行ログ」の活用術

STEP 04

どこで「死んだ」かを見抜く

ブラウザの開発者ツールと同様、GASにもログ機能があります。変数の内容を逐一出力させることで、バグの原因を即座に特定できます。

Logger.log("現在" + i + "行目を処理中..."); Logger.log("送信プロンプト: " + prompt);

実行ログの確認方法

  • 1. エディタ左側の「時計アイコン(実行)」をクリック。
  • 2. 過去の実行履歴が一覧表示される。
  • 3. エラーが出た行の「ログを表示」で詳細なメッセージを確認。
TIP: `console.log()` も使えますが、GAS内では `Logger.log()` の方が古い環境でも動作が安定するため推奨されます。

5. 調整:変数 injection によるプロンプトの「動的」最適化

STEP 05

GASなら、シート上の複数の値を組み合わせて、1つの「最強のプロンプト」を動的に生成できます。

const systemPrompt = sheet.getRange("B1").getValue(); // 共通のシステムプロンプト const userName = sheet.getRange(i, 1).getValue(); // 個別のユーザー名 const history = sheet.getRange(i, 2).getValue(); // 個別の購入履歴 const finalPrompt = ` ${systemPrompt} 対象者: ${userName}様 購入データ: ${history} 上記の情報を元に、パーソナライズされたお礼文を作成せよ。 `;
Effect: これにより、1つのプログラムで数千通りの「個別の文脈を持った」高品質な回答が得られます。

6. 節約:トークン制限と「回答の欠落」への対策

STEP 06

回答が途中で切れる現象

AIには「最大出力トークン数 (maxOutputTokens)」の設定があります。これが小さいと、長文の回答が途中でブツ切りになります。

✅ 品質を高める3つの設定

  • Temperature (温度値): 0に近いほど正確(業務向き)、1に近いほど創造的(ブレスト向き)。
  • Max Output Tokens: 2,048〜4,096程度に設定すれば、長文レポートも完結。
  • System Instruction: モデルに対して「企業の代表だと思って回答せよ」という恒久的な設定(Gemini 3.0の新機能)を活用。

7. 実証:エラーを克服した「究極のAI自動CRM」

STEP 07
1. 未対応リスト走査

GASが100件の未回答メールを特定。

2. リトライ駆動生成

API制限に当たりながらも、バックオフ機能で全員分の返答案を作成。

3. 品質チェック・送信

作成された案を人間がシート上で一括レビューし、1クリックでGmail一括送信。

ROI: 担当者が1日かけて返信していた業務が、わずか15分の「チェック作業」だけに圧縮されました。

8. 高度:GASで実現する「社内資料ベース」の生成

STEP 08

Google Drive内のPDFやテキストファイルをGASで読み込み、その内容をAIに渡すことで、「社内規定に基づいた回答」をさせる簡易的なRAG(検索拡張生成)が構築可能です。

const fileId = "xxx"; // PDFのID const content = DriveApp.getFileById(fileId).getBlob().getDataAsString(); const prompt = "以下の社内規定に基づき、質問に答えよ: " + content;

データの主権を守る

Gemini 3.0 × Vertex AI なら、Drive内の重要情報をAIに渡しても、それが一般の学習データに流出することはありません。セキュアな「社内専用AI」の完成です。

9. 運用:コスト監視とプロジェクトの寿命

STEP 09

知らぬ間の「高額課金」を防ぐ

1回数円のAPIでも、数万件のループ処理を誤って無限ループさせると、思わぬ請求が届きます。

管理項目 推奨アクション
予算アラート Google Cloud コンソールで「月間3,000円」等のしきい値を設定。
トークン量監視 プロンプトの文字数を制限し、無駄な長文を省く。
実行時間の整理 GASの「6分制限」を超える場合は、時間を分けて実行する(連鎖実行)。

10. 改善:プロンプトを「進化」させるPDCAサイクル

STEP 10

一度作ったプロンプトは完成ではありません。AIの回答を定期的に監査し、微調整を行います。

PLAN (設計)

シート上の変数構成を決める

DO (自動実行)

100件のデータを一気に処理

CHECK (監査)

NGな回答が含まれていないか?

ACT (指示改善)

例外処理の文言をプロンプトに追加

LCREATOR Insight: 「AIが間違えた」時こそ、最高の改善チャンスです。その間違え方をフィードバックとして指示に加えれば、プロンプトはより強固になります。

11. 総括:信頼できるAI自動化システムの全体像

SUMMARY
  1. 堅牢な通信: try-catch とリトライロジックの完備。
  2. 動的な構成: シート上の複数の変数をプロンプトに注入。
  3. 徹底したログ: 実行履歴からいつでも原因追究が可能。
  4. 人間による監修: AIの回答を直接出力せず、一度「保留」するフロー。
  5. セキュリティ管理: ScriptProperties での鍵の隔離管理。

Complete Automation

12. 完結:AIマスターへの道、最終章

FINAL

全6編の研修を通じて、あなたはAIの「仕組み」から「コードによる支配」までを修得しました。

1-2: 仕組みと活用
リテラシーと基本操作
3-4: 戦略と統制
組織導入とガバナンス
5-6: 自動化と技術
GASによるエンジニアリング
LCREATOR Final Message: AIは人間を「置き換える」ものではなく、人間の可能性を「拡張する」外部脳です。この力を正しく使い、次の時代の競争優位を築きましょう。

技術を、すべてのひとの「翼」に。

以上で、エンジニアリングセクションの全カリキュラムは終了です。
ここから先は、あなたが実際に手を動かし、
世界を驚かせる「AI自動化」を実現する番です。

ご清聴ありがとうございました。
共に素晴らしい未来を創りましょう。

AI INTEGRATED MASTER SERIES
エルクリエイター株式会社 (LCREATOR.Inc)