問い合わせメールを1件開いて、ChatGPTに貼り付けて、返ってきた要約をスプレッドシートに戻す。次の1件を開いて、また同じことをする。
そんな作業を30件ぶん繰り返した日、「これ、自動でできないのかな」と思ったことはありませんか。
ChatGPTは確かに賢い。でも、自分の手が止まらない。この感覚は、使い方が下手だから起きているわけではありません。ChatGPTの画面そのものが、大量のデータをまとめて処理するようには作られていないからです。
次の一歩として出てくるのが「API連携」という言葉ですが、いきなり本格的なアプリを作る必要はありません。この記事では、自分の業務が自作ツールに向いているかを見極める3つの視点と、今週のうちに試せる最初の一歩を整理します。
「毎回コピペ」で疲れていないか
まず、自分の作業を思い浮かべてみてください。こんな状態になっていないでしょうか。
同じプロンプトを、少しだけ内容を変えて何度も打ち直している。「以下の問い合わせ内容を3行で要約してください」の後ろに、毎回違う本文を貼り付けている。
スプレッドシートのB列を1行ずつコピーして、ChatGPTに貼って、返ってきた結果をC列に戻している。行が50行あれば、50回同じ動作をしている。
会話が長くなると、途中でAIの出力の調子が変わってくる。最初は良かったのに、20件目あたりから微妙にフォーマットがずれる。仕方ないので新しいチャットを開いて、またプロンプトを貼り直す。
こういう状態は、AIをうまく使えていないサインというより、手作業でAIを回しているサインです。判断そのものはAIがやってくれているのに、データを運ぶ部分を自分がやっている。だから疲れます。
ChatGPTの画面は「対話」のために作られている
なぜこうなるのか。ChatGPTの画面は、人と話すために設計されているからです。
1つ質問して、1つ答えが返ってくる。次の質問をする。この往復を快適にすることに最適化されています。だから、50行のデータを一気に流し込んで、50個の結果を決まった形式で受け取る、という使い方には向いていません。
これは能力の問題ではなく、道具の役割の問題です。ハサミで木を切ろうとしても切れないのと同じで、別の道具が必要になる場面に来ただけです。
その別の道具にあたるのが、API連携です。
APIというのは、ざっくり言えば「人が画面を触らなくても、プログラムから直接AIに話しかけられる入り口」のことです。OpenAIはこの入り口を公式に提供していて、文章の生成だけでなく、外部のデータや自分で用意した処理と組み合わせる仕組みも用意されています(OpenAI API Docs)。
つまり、スプレッドシートの50行を上から順にAIに渡して、結果を隣の列に書き込む、という動きをプログラムに任せられるようになります。
ただし、ここで焦って学習を始める前に、確認しておいた方がいいことがあります。すべての業務がこの方式に向いているわけではないからです。
自作ツールに向いているかを見極める3つの視点
判断に必要なのは、次の3つだけです。
- その作業は、同じ判断の繰り返しになっているか
- どこで動かすか(Excelの延長で済むか、画面まで作りたいか)
- かかるお金に納得できるか
この3つがはっきりすれば、「自分は今すぐやるべきか、それとももう少し先か」が見えてきます。順番に見ていきます。
視点1:その作業は「同じ判断の繰り返し」か
一番大事なのはここです。API連携は「賢い処理」を作るためというより、「同じ判断を大量にこなす」ために効きます。
向いている作業の例
たとえば、こんな作業です。
- 仕分け・分類:アンケートの自由記述100件を、ポジティブ/ネガティブ/その他に振り分ける
- 定型文の量産:顧客リストの会社名と担当者名を差し込みながら、案内メールの本文を30通ぶん作る
- 長文からの要点抽出:問い合わせメールの本文から「困っていること」と「希望する対応」だけを抜き出す
- 自社ルールに沿ったチェック:社内の表記ルールに合っているかを、文章1本ずつ確認する
こうした業務は、実際にスプレッドシートとAPIを組み合わせた事例として複数の技術メディアで紹介されています(Qiita、DevelopersIO)。
共通しているのは、判断のルールが毎回同じで、変わるのは中身のデータだけという点です。プロンプトが固定できるなら、それは自動化しやすい作業です。
向いていない作業の例
逆に、こういう作業は自作ツールにしても効果が薄いです。
月に1回しかやらない作業。件数が5件しかない作業。毎回AIの答えを見ながら「今回はこういう方向で」と考え直すような、対話しながら詰めていく作業。
企画書のたたき台づくりや、資料の構成を相談する作業などは、後者に近いはずです。これはChatGPTの画面で対話した方が早い。無理にツール化する必要はありません。
自分の作業を1つ思い浮かべてみてください。プロンプトの文面が毎回ほぼ同じで、貼り付ける内容だけが変わっているなら、その作業は候補になります。
視点2:どこで動かすかで難易度が変わる
作りたいものが見えたら、次は「どこで動かすか」です。ここで難易度がかなり変わります。
プログラミング未経験の人がPythonの環境構築から始めると、AIを呼び出す前の準備で数日溶けることがあります。実際、ここで止まる人は多いです。手元の作業がExcelの延長なのか、Web上のデータを扱うのかによって選ぶべき道具は変わるので、迷う場合はPython・GAS・VBAの使い分け方を先に整理しておくと回り道が減ります。
スプレッドシート上で動かす場合
現実的なのは、Googleスプレッドシートの中で完結させる方法です。
Googleのサービスには、スプレッドシートやGmailをプログラムから操作できる仕組みがついています。Google Apps Script(GAS、ガス)と呼ばれるものです。ブラウザだけで書けて、自分のPCに何かをインストールする必要がありません。GAS自体に触れたことがない場合は、非エンジニア向けのGAS入門と学習の始め方から入ると、コードを読む土台ができます。
このGASからChatGPT APIを呼び出せば、「A列の文章を読んで、AIに投げて、結果をB列に書き込む」という処理が作れます。初心者向けの解説記事も公開されています(DevelopersIO)。
普段からスプレッドシートで仕事をしている人にとっては、ここが一番距離が近い入口です。
簡単な画面まで用意する場合
「自分だけでなく、チームの誰かにも使ってほしい」となると、入力欄とボタンがある画面が欲しくなります。
GASには、作った処理をWebページとして公開する機能があります。サーバーを借りたり、別のサービスを契約したりせずに、簡易的な画面付きツールを公開できます(DevelopersIO)。
ただ、最初からここを目指す必要はありません。まずは自分のスプレッドシートで動くものを作って、実際に業務が楽になるかを確かめる。画面を作るのはその後で十分です。
視点3:コストは「使った分だけ」で考える
「APIって高いんじゃないか」という不安も、よく聞きます。
OpenAI APIは月額固定ではなく、使った分だけ払う従量課金です。料金は、AIに送った文章の量(入力)と、AIが返してきた文章の量(出力)それぞれに対して計算されます。単位は「100万トークンあたり何ドル」という形で提示されています(OpenAI Pricing)。
トークンというのは文章を細かく区切った単位のことで、ざっくり「文字数に近いもの」と考えておけば、最初は十分です。
押さえておきたいのは2点です。
使わなければ課金されないこと。試しに数件だけ動かして「思ったのと違った」とやめても、大きな金額にはなりません。
選ぶモデルで単価が変わること。同じ処理でも、高性能なモデルを使えば単価は上がります。分類や仕分けのような単純な作業なら、軽いモデルで足りることが多いはずです。
具体的な金額はモデルや時期によって変わります。ここで数字を書いても、あなたが読む頃には変わっている可能性があるので、始める前に必ず公式のPricingページで確認してください。
なお、ChatGPTの有料プランを契約していても、APIの利用料は別に発生します。ここは勘違いしやすいところです。
動かす前に知っておきたい注意点
3つの視点をクリアして「やってみよう」となったら、先に知っておくと転ばずに済むことが2つあります。
APIキーはコードに直接書かない
APIキーは、OpenAIのダッシュボードで発行する文字列です。あなたのアカウントで課金される権利そのものなので、他人に知られると勝手に使われます。
ネット上のサンプルコードには、キーをコードの中に直接書いている例があります。真似してそのファイルを共有したり、どこかに公開したりすると、そのまま漏れます。
GASの場合は、「スクリプトプロパティ」という設定欄にキーを保存して、コードからはそこを参照する形にします。この方法は複数の技術記事で共通して勧められています(DevelopersIO、Qiita)。
やることは「設定画面にコピペして貼る」だけなので、難しくはありません。ただ、最初に知らないと素通りしてしまうポイントです。
一度に処理できる量には上限がある
もう1つ、実際に動かすとぶつかるのが実行時間の制限です。
GASには1回のスクリプト実行にかけられる時間の上限があり、実践記事では6分という数字が挙げられています(Qiita)。この値はアカウントの種類によって異なる可能性があるので、詳細はGoogleの公式ドキュメントで確認してください。
何が起きるかというと、500行を一気に処理しようとして、途中の120行目で止まる。しかもエラーメッセージを見落とすと、止まったことに気づかないまま「処理できた」と思ってしまう。
対策としては、最初から全件を回そうとせず、10行だけ試す。うまくいったら50行。そうやって刻んでいくと、どこで止まるかが見えてきます。
何から手を動かして確かめるか
ここまで読んで「自分の業務は当てはまりそうだ」と思ったら、最初の一歩は思っているより小さくて構いません。
公式のサンプルを一度動かしてみる
OpenAIの公式ドキュメントには、初めての人向けの手順(Quickstart)が用意されています。流れはシンプルで、ダッシュボードでAPIキーを発行し、環境を整えて、最小限のコードで1回呼び出す、という3ステップです(Developer quickstart)。
Pythonを使う場合は、OpenAIが公式に提供している道具一式(SDK)を入れると、通信の細かい部分を自分で書かずに済みます(SDKs and CLI)。公式GitHubには、動かして確認できるサンプルアプリも置かれています(openai-quickstart-python)。
ここでの目的は、便利なツールを作ることではありません。「自分のコードからAIに話しかけて、返事が返ってきた」という感触を得ることです。これが確認できれば、あとは中身を業務に合わせていくだけになります。
自分の業務に近い事例を探して真似る
もう1つの入口が、すでに公開されている事例をそのままなぞる方法です。
非エンジニアの人がOpenAI APIとGASで、スプレッドシート上の文章チェックを作った事例なども公開されています(DevelopersIO)。自分の業務と近いものが見つかれば、それを写経してから、プロンプトの中身と対象の列を自分用に差し替える。この順番が一番挫折しにくいです。
ゼロから設計しようとすると、何を書けばいいか分からず手が止まります。動くものを1つ手元に持ってから改造する方が、圧倒的に進みます。
なお、コードの意味が分からない部分は、ChatGPTに貼り付けて「この行が何をしているか説明して」と聞けば答えてくれます。学習の伴走役としては、そのまま使えます。
エラーが続いて自力で抜けられない、あるいは業務システムと連携するような規模まで踏み込みたい、という段階になったら、体系的に学べる場を検討してもいいかもしれません。ただ、ここで挙げた範囲であれば、独学で届く距離にあります。API活用をもう少し腰を据えて広げたい場合は、Pythonの次にAIを学ぶ学習ロードマップも参考になります。
まとめ
プロンプトを打ち直し続けて疲れていたのは、スキルが足りないからではありません。対話用の画面で、一括処理をやろうとしていたからです。道具を変える段階に来たというだけの話です。
自作ツールに進むかどうかは、3つで判断できます。その作業は同じ判断の繰り返しか。スプレッドシートの中で完結させられるか。使った分だけの課金に納得できるか。
3つとも当てはまるなら、次にやることは大きな開発ではありません。OpenAIのダッシュボードでAPIキーを1本発行して、公式のQuickstartに沿って1回だけ呼び出してみる。うまくいけば数十分で終わります。
そこで手応えがあれば、次は自分の業務の10行だけを処理するスクリプトを作ってみる。小さく試して「これは自分の仕事に効く」と確認できてから、本格的な仕組みに進めば十分です。
今週やることは、1つだけで構いません。自分の業務の中で、プロンプトの文面が毎回同じになっている作業を1つ書き出してみてください。それが、あなたの最初のツールの題材になります。


コメント