急遽テレワーク導入!の顛末記

「ChatGPTなどを組み合わせて、ニュースを元に企画書を自動作成する仕組みを作ってみた」――急遽テレワークを導入した中小企業の顛末記(138)

PC起動から企画書作成、ファイルへの保存までを全自動で!

ニュースの見出しを自動検出して、企画書を勝手に作成してくれる

 「Power Automate」や「ChatGPT」、「IFTTT」、さらにはiPhoneのオートメーション機能など、本連載では日々の作業を自動化するために、さまざまな機能を使ってきた。これらを組み合わせれば、もっと業務を効率化できるかもしれない。

……この記事を書いている時点で、東京都でまん延防止等重点措置が解除されてから382日が過ぎた。

 私が勤めている新宿にある中小企業では現在、各スタッフが可能な範囲でリモートによる業務を行っている。その中で、今回は1日1本の企画書を作成する業務を全自動化して、始業前に終わらせてみた。

【今回のハイライト】
iPhoneからPCを自動で起動
最新トレンドを勝手にリサーチし
全自動で企画書を作成&保存!

4月3日(月):まずは、就業時間前にPCを自動起動させて……

 今年も会社に新入社員が入って来たので、OJTの一環として、まずはプロジェクトの企画書を作らせようと思う。そのサンプルを用意するにあたって、複数のツールを組み合わせて、企画書を自動で作成させるアイデアを思いついた。

 このタスクは就業時間前に自動で実行させたいので、まずはPCを自動で起動させる仕組みを用意することに。BIOSのAPM(Advanced Power Management)を使ってもよいのだが、曜日を指定して実行させたいので、今回はiPhone向けのWake On LANアプリ「WolowーWake on LAN」を利用することにする。それと組み合わせて利用するのが、iPhoneのオートメーション機能だ。

 「WolowーWake on LAN」ではネットワーク経由でマジックパケットを送ることで、スリープやシャットダウンしたPCを起動させることができる。ただ、Wake On LANで起動させるPCではWindowsの設定が必要なので、詳しくは過去の記事を参照してもらいたい。

iPhoneアプリ「WolowーWake on LAN」の設定画面。上から順に設定名、操作するPCのMACアドレス、IPアドレス、グローバルIPアドレス、使用するポート番号を登録

 一方、iPhoneのオートメーション機能では、日時を指定してアプリを自動実行できるので、これを組み合わせれば“平日の始業時間前に、「WolowーWake on LAN」でマジックパケットを送る”ことが可能になるわけだ。

iPhone標準の「ショートカット」アプリを起動し、下のメニューで「オートメーション」を選択し、画面右上の「+」をタップ
「個人用オートメーションを作成」をタップ
「新規オートメーション」画面で「時刻」をタップ
PCを起動させる曜日と時間を指定して、「次へ」をタップ
「アクション」画面で「アクションを追加」をタップ
「App」を選択し、一覧から「Wolow」をタップ
「Wake up Device」をタップ
「アクション」画面に戻ったら、「Device」の部分をタップ
使用する「WolowーWake on LAN」の設定名を選択
「Device」の表示が、選択した設定名に変わったら「次へ」をタップ
「新規オートメーション」画面で、「実行の前に尋ねる」をオフにして、「完了」をタップする

 オートメーションの設定時間を変えてテストしてみたところ、無事にシャットダウンしたPCを起動させることができた。あとは、起動後に企画書を毎日自動で作成する仕組みを作っていきたい。

4月4日(火):ニュースサイトから最新トピックスを参照!

 うちの職場では「企画書100本ノック」として、新入社員に1日1本企画書を作らせていたことがあった。筆者も毎日ニュースサイトでネタを探しては、企画書を作っていたことがある。

 ということで、今回は企画書のテーマとして、ニュースサイトのアクセスランキングに上がった見出しを引用。これをもとに、「ChatGPT」に企画書を作らせてみようと思う。その際に、なるべく「ChatGPT」に伝わりやすいようにと、“ランキングに掲載された各記事の見出しがなるべく短いニュースサイト”を探すことにした。

今回は「IT Leaders」のアクセスランキングを参照することにした

 あとは、見出しを引用した上で、「ChatGPT」が想定通りに企画書を作成してくれるかも、確認しておく必要があるだろう。今回は「ChatGPT」に以下のような指示を出すことにした。

「〇〇〇〇」についての特集記事を作成するにあたり、以下の内容で企画書を作成してください。

  • 記事を掲載する媒体は「インターネット関連の最新ニュースを毎日配信するサイト」です。
  • 必要な項目は「タイトル」「コンセプト」「概要」の3つです。
  • 文字数は全体で600文字程度でお願いします。
  • 「タイトル」「コンセプト」「概要」の間は1行空けてください。
  • 「概要」の後にも1行空けてください。
  • 「概要」には「最新のトピックス」を盛り込んでください。

 この「〇〇〇〇」の部分に、アクセスランキングのトップの見出しを貼り付ければ、最新トレンドにちなんだ企画書が自動で作成されるというカラクリだ。今日のところは「〇〇〇〇」の部分を手動で埋めて、「ChatGPT」に実行させたところ、狙い通りに企画書が作成された。あとは、これを自動で実行させる仕組みを作っていきたい。

「ChatGPT」で企画書が作成されるのを確認

4月5日(水):「Power Automate」で企画書の作成を自動化

ChatGPTに自動で企画書を作成させるためのフロー。各アクションは画面左上のボックスにアクション名を入力して検索できる

 ニュースサイトと「ChatGPT」を連動させるために、今日は「Power Automate」を使って自動化のフローを作ることにした。これは、以前に経理作業の自動化などに利用したツールで、ブラウザーやExcelなどであらかじめ指示した操作を、ボタン1つで繰り返し再現できる。

 iPhoneのオートメーション機能で“PCを始業時間の30分前に自動起動”させるようにしたので、今回はその10分後にブラウザーを起動して、ChatGPTで企画書を作成。その文面をテキストファイルに保存するフローを、以下のように組んでみた。

 なお、動作確認のために同じフローを繰り返し実行していると、ブラウザー上に人間かどうかを確認するチェックボックスが表示された。普段使う分には恐らく問題ないとは思うが、たまにはChatGPTを起動して、ワレワレは人間だと認識させる必要があるかもしれない。


各アクションの詳細

まずは、ブラウザー(今回はMicrosoft Edge)を起動して、「IT Leaders」を開く。なお、このブラウザーには「Browser」という変数が、割り当てられた
「Webページからデータを抽出する」の設定画面で、ブラウザーをクリックすると、「ライブWebヘルパー」が表示される。なお、この画面には抽出した値が「DataFromWebPage」という変数で出力される旨も記載されている
「ライブWebヘルパー」ウィンドウが表示されたら、データを抽出する箇所を右クリックし、「要素の値を抽出」→「テキスト」と選択する
続いて、ブラウザーで「ChatGPT」のページを開くと、「NewBrowser」という変数が割り当てられた
ページを開くのに時間がかかる場合があるので、「Wait」のアクションで10秒間の待機を挿入
指定箇所にテキストを入力するアクションで、「ChatGPT」への指示を設定画面の「テキスト」欄に入力。先ほど「IT Leaders」から抽出した値が「DataFromWebPage」という変数になっているので、これを指示文に組み込む
さらに、「UI要素」ボックスをクリックし、「UI要素の追加」をクリック
ブラウザーをクリックすると「UI要素ピッカー」が表示されるので、ChatGPTのページでテキストの入力ボックスをマウスオーバーして、「Ctrl」+「クリック」の操作を行う
さらに、入力ボックス横の紙飛行機アイコンをクリックするアクションを、先ほどと同じように「UI要素ピッカー」を使って指定
再び「Webページからデータを抽出する」アクションを作成。今回は抽出した値が「DataFromWebPage2」という変数で出力されるようだ
「ライブWebヘルパー」が表示されたら、「ChatGPT」で実際に回答を表示させ、抽出箇所に指定する
「ChatGPT」の回答が「DataFromWebPage2」という変数で出力されるので、それをテキストファイルに書き込むアクションを作成。繰り返し入力されたときに見やすいように、次の回答との間に破線を挟んでみた
最後にブラウザーで表示している2つのタブを閉じるアクションを指定した

 このフローを実行すると、Microsoft Edgeを起動して、ニュースサイトを開き、アクセスランキングの見出しをコピーし、「ChatGPT」を開き、先ほどコピーした見出しを組み込んだ指示をもとに企画書を作成させ、それをテキストファイルにコピーし、ブラウザーを閉じるという作業が自動で行われた。

 ただ、「ChatGPT」に企画書を作成させる際に、その待ち時間が必要なので60秒の「Wait」を挟んだのだが、実際にはもっと時間がかかる場合があった。その場合には、中途半端な文面がテキストファイルにコピーされてしまうので、状況に応じて待機時間を延ばした方がいいかもしれない。

フローを実行すると、自動でブラウザーが起動して企画書が作成され…
指定のテキストファイルに、ChatGPTからの回答が自動で入力された

 なお、実際のフローでは特にテキストエディタを起動することなく、企画書の文面がファイルに登録されるので、最終的に画面上には「Power Automate」のフロー画面だけが表示された状態になる。このため、自動化した後はこの画面を閉じてから、朝の作業を始めることになりそうだ。

4月6日(木):「Power Automate」を指定の日時に自動で実行させる

フリーソフト「PadFlowRun」を公開しているよしお氏のサイト

 企画書の作成を自動化できたので、最後にこの作業を日時を指定して自動で実行させることにした。これには、フリーソフトの「PadFlowRun」が利用できる。

 これは、「Power Automate」のフロー一覧を表示して、指定のフローを自動で実行させるというツール。これを、Windows標準の「タスクスケジューラ」を使って、指定の日時に実行させれば、毎朝指定の時間に自動で企画書が作成されるようになる。

ツールバーの検索ボックスから「タスクスケジューラ」を起動
ウィンドウが表示されたら、「操作」欄にある「基本タスクの作成」をクリック
「名前」欄に作成するタスクの名前を入力し、「次へ」をクリック
タスクを実行するサイクルを指定して、「次へ」をクリック。今回は「毎週」を選択した
タスクを開始する時間と、実行する曜日を指定して、「次へ」をクリック
「プログラムの開始」が選択された状態で、「次へ」をクリック
「プログラム/スクリプト」の「参照」をクリックして、「PadFlowRun」のEXEファイルを指定。「引数の追加」欄に、「Power Automate」で実行するフローの名前を入力し、「次へ」をクリック
最後に「完了」をクリックすると、ウィザードは終了
新しいタスクが作成された

 ちなみに、筆者の環境では当初、新たなタスクを作成すると最後にアカウント情報の入力画面が表示され、ログイン中のアカウントを選ぶと「指定したアカウント名が有効ではありません」とのメッセージが表示された。初期表示されたアカウントのパスワードを入力することで、この画面はパスできたのだが……、このままでは登録したタスクが実行されない。

 そこで、タスクのプロパティ画面で「名前の確認」を実行したところ、アカウント情報の入力画面が表示されなくなり、無事にタスクが実行されるようになった。どうやら、数日前にアカウントの種類をローカルからMSアカウントに切り替えたため、利用しているMSアカウントがタスクスケジューラで認識されていなかったらしい。

 また、このタスクを実行するには、「Power Automate」が起動している必要がある。アプリの設定画面に自動起動の項目があるので、ここをオンにしておくと良いだろう。

なぜか、タスクの作成時にアカウント情報の入力画面が表示され、ログイン中のアカウントを指定しても、「指定したアカウント名が有効ではありません」と表示される
一覧からタスクをダブルクリックしてプロパティを開き、「ユーザーまたはグループの変更」をクリック
「選択するオブジェクト名を~」ボックスに、利用しているアカウント名を入力し、「名前の確認」をクリック。入力したアカウント名の表示が変わったら、「OK」ボタンをクリックすると、アカウント情報の入力画面が表示されなくなった
タスクを自動実行するには、「Power Automate」を常駐させる必要がある

 一連の操作を行うことで、翌日の朝からPCの起動と企画書の作成が自動で行われるようになった。あとはこれを手直しすれば、OJTの資料を作成する時間を短縮できるだろう。

とある中小企業に勤める会社員、飛田氏による体当たりレポート「急遽テレワークを導入した中小企業の顛末記」。バックナンバーもぜひお楽しみください。

飛田九十九