DIVX テックブログ

catch-img

AIツールを利用してプログラムを簡単に作成し、日常業務を効率化する方法


目次[非表示]

  1. 1.AIを活用する利点
  2. 2.AIを利用したプログラムの作成方法
  3. 3.実際の事例紹介
    1. 3.1.外部APIを利用して特定のデータのスクレイピングを行う方法
  4. 4.まとめ
  5. 5.お悩みご相談ください


こんにちは、株式会社divxでエンジニアをしている西辺です。

本稿ではChatGPTなどのAIツールを利用してプログラムを簡単に作成し、日常業務を効率化する方法について説明します。エンジニア業務には、コードを書く以外にもデータ収集やテストデータの作成、業務報告書の作成など、多くの時間が必要です。これらの業務に対してAIを活用し、プログラムを作成することで効率化を図った実績を基にお話しします。

AIを活用する利点

インタラクティブな生成AIが登場する以前は、プログラムを作成するには高い技術が求められ、敷居が高かったかもしれません。しかし、生成AIの登場により、適切なプロンプトを用意して命令を行えば、誰でもプログラムを組むことが容易になりました。

例えば、Google Sheetsを利用した定型作業を自動化するためにGAS(Google Apps Script)を組む場合、通常は参考記事の確認や公式ドキュメントを基に実装を行う必要があります。しかし、参考記事がない場合や工数の都合で断念することもあるでしょう。そこでAIを利用することで、自分が効率化したい作業の参考記事がなくても簡単にプログラムを作成できるようになります。

AIを利用したプログラムの作成方法

AIを利用するメリットを前項でお伝えさせていただいたので、本項では実際にプログラムの作成手順をお伝えできればと思います。

1. 作業効率化したい内容を明確にする。
    
    具体化して要件を整理することで、手戻りを減らし、結果として時短につながります。例えば、外部APIを使って特定のデータをスクレイピングする場合、「〇〇というサイトの2023年1月-5月に開催され、参加者が50人以上のイベントを出力するスクリプトを組んで」という曖昧な命令よりも、以下のように具体的な要件を整理しましょう。
    

  • 対象となるサイトの具体的なAPIの使い方は?
  •         - 実際にAPIのリファレンスを読み込ませる
  • 出力対象のカラムの範囲は?
    • リファレンスをもとに抽出したいカラムを選択する
  • 返却されるデータ形式は?

    
2. 適切なプロンプトを用意してChatGPT等の生成AIにプログラム生成を依頼する。
    
    プロンプト作成において重要な要素は「役割を明確化する」「具体的な情報を与える」です。以下に2つのテンプレートを紹介します
    
    [テンプレート1]

〇〇というサイトの2023年1月-5月に開催され、参加者が50人以上のイベントを出力するスクリプトを組んでください。


    
    [テンプレート2]

    #命令書:
    あなたはシニアエンジニアです。
    以下の制約条件をもとにスクレイピングを行うバッシュスクリプトを組んでください。
    
    #制約条件:
    ・#{対象のドキュメント}を参照してスクリプトの構築をお願いします。
    ・202301〜202305に開催されたイベントで参加者が50人以上のイベントを抽出するコマンドの作成をお願いします。
    ・データ形式はjson
    ・出力はファイルに保存せず標準出力にお願いします。
    ・出力対象のデータはevent_id, title, limit, acceptedの4点です
    
    #対象のドキュメント
    ドキュメントのパスを記載
    
    #補足情報
    必要なツールは全てインストール済みです
    スクリプトの利用方法の説明もおねがいします。


    
    テンプレート1では曖昧な部分が多く手戻りが多くなりますが、テンプレート2では具体的な要件を整理し、明確な役割を与えることで効果的にAIを利用できます。
    
3. 2で生成されたプログラムの調整を行う。
    
    生成されたプログラムが想定通りに動作しない場合もあります。その際はエラー内容を元に再度AIに質問し、プログラムの調整を行いましょう。手順1で要件を詳細に整理することで、手順3に費やす時間を短くできます。
    

実際の事例紹介

今まではAIを使って実際にプログラムを組んでもらう手順について説明をしてきました。

ここでは実際にAIを利用して組んでもらったプログラムの実際の事例を一つ紹介できればと思います。

外部APIを利用して特定のデータのスクレイピングを行う方法

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

スクレイピングを行う際は、対象のWebサイトの利用規約を確認し、規約を遵守することを推奨します。利用規約に違反する行為は法的な問題を引き起こす可能性がありますので、十分に注意してください。

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

[課題]

とあるイベント集客サイトにおいて2023年1月-5月に開催されたイベントの中で、参加者が50人以上のデータを抽出したいが、GUI上で詳細な検索ができないため、手作業で確認する必要がありました。

[AIを利用して作成してもらったプログラム]

#!/bin/bash

# 特定の期間におけるイベント情報を取得
for ym in {202301..202305}; do
    echo "Fetching events for month: $ym"
    curl -s "対象のAPIのURL" | \
    jq '.events[] | select(.accepted >= 50) | {event_id, title, limit, accepted}'
done

こちらは前項「AIを利用したプログラムの作成方法」に記載のテンプレート2を利用して作成。


[プログラムを作成した成果]

手作業で実際に確認していた場合202301などのピリオド毎に約30分~1時間ほどの時間を要していました。作成したプログラムを利用すると実行して完了までが約10-15秒ほどで済み大分時間の効率化になりました。


まとめ

本稿ではAIを利用してプログラムを作成し、作業を効率化する方法について説明しました。プログラムは本来、時間がかかる作業を効率化するためのツールです。生成AIの登場により、エンジニアでなくともプログラムを組むことが容易になり、挑戦の敷居が下がりました。

近年では、画像を読み込んで質問することも可能になり、ExcelやGoogleの各種ツールの作業効率化(VBAやGASなど)もより簡単になっています。本稿が少しでも興味を引き、業務効率化の一助となれば幸いです。

お悩みご相談ください

  ご相談フォーム | 株式会社divx(ディブエックス) DIVXのご相談フォームページです。 株式会社divx(ディブエックス)



お気軽にご相談ください


ご不明な点はお気軽に
お問い合わせください

サービス資料や
お役立ち資料はこちら

DIVXブログ

テックブログ タグ一覧

人気記事ランキング

GoTopイメージ