ハッカソンでAIによる業務改善をやってみました

機械が作成したM&AクラウドとAIというワードからイメージされる絵
みなさんこんにちは。
さる4/21(金)、弊社にてハッカソンが実施され、全社をあげて生成系のAIを絡めた業務改善を実施しました。
その時の様子と、ハッカソンを通してわかったAIを取り入れることで何が変わるかについて、考察していきたいと思います。

ハッカソンのタイムテーブル

大雑把には次のようなタイムテーブルになっていました。

  • 10:00~ 開会式
  • 10:15~ AIを触ってみる1: 画像生成AIを使って美味しそうな絵を描いてみよう
  • 10:50~ AIを触ってみる2: ChatGPTを使ってAIに色々なものを依頼してみよう
  • 11:30~ AIを使った業務改善!!<< ここが実装パート >>
  • 16:30~ 成果発表
  • 17:30~ 投票、結果発表 -18:00 閉会

びっくりすることに、実際に実装する時間はタイムテーブル的には5時間しかなく、そこに昼食時間と企画を考える時間が入り、実質的に4時間弱しかありませんでした。
正直、時間通りには終わらんだろうと思ってました。
いや、終わっちゃったんですけどね。

何を作ったのか

弊社はM&Aのプラットフォームを運営しているわけですが、アドバイザー業務を行っているチームもあり、そのチームの業務改善をやてみようということになりました。
で、業務改善というと、主に次のようなパターンがあるわけです。

  • より仕事の質を高める
  • 単純作業を省く

今回は後者の単純作業を省くために何ができるかをチームで考え、実装しました。

やりたいこととその概念図

アドバイザー業務はその性質上、どのような売却案件があるかを買い手さんに社名を隠して提示することがあるのですが、その際に一定のフォーマットでその会社の事業や内容をまとめた資料を作ります。
この資料はお客様が作る場合もあるのですが、お客様が作る余裕がない場合、こちらが依頼を受けて作る形になります。
フォーマットが決まっているので、会社の情報から内容を作っていくことになるのですが、かなり地道で時間もかかる作業になります。
そこで、一定の会社情報をもとに、自動で資料を作ってしまい、チームメンバーはその資料を確認・修正する作業をすればいいという形にすれば、かなりの工数削減になるのではないかと考えました。

やりたいことのイメージ

やったこと

とりあえず、お客様の会社情報を何らかのソースから取り出し、フォーマットに従い、説明資料を作るところまでを自動化します。
もちろん時間的制約があるため、何でもかんでもというわけにはいきませんでした。
ハッカソンで作ったものの全体像を上げます。

作ったものの全体像

限られた時間での成果物となるので、自分は初めからそれなりの環境が整っているGoogle Colabolatoryを利用しました。 コードは以下のような感になっていて、書くのにほとんど時間を使いませんでした。

!pip install openai bs4 gradio

import requests, bs4
import gradio as gr 
import openai

template = """以下の内容から会社の概要を作って下さい。
フォーマットとしては、

1. やっていることの概要(200文字くらい)
2. 会社としてイケてるところ
3. 会社に合いそうな人のペルソナ

でお願いします。
記載できない項目は空白で良いです
#################

"""


openai.api_type = "azure"
openai.api_base = "https://our_resource_name.openai.azure.com/"
openai.api_version = "2023-03-15-preview"
openai.api_key = "our_api_key"

def web_processer(url):
  res = requests.get(url, headers=headers)
  res.raise_for_status()
  soup = bs4.BeautifulSoup(res.text, "lxml")
  data = '\n'.join(filter(lambda x: x.strip(), soup.text.split('\n')))

  prompt = template + data

  response = openai.ChatCompletion.create(
  messages=[{'role': 'user', 'content': prompt}],
  temperature=0.0,
  engine="our_deployed_model"
  )
  return response['choices'][0]['message']['content']

demo = gr.Interface(
    fn=web_processer,
    inputs=gr.Text(label='url'),
    outputs="text"
)

demo.launch()

こんな感じ。
私はPythonが本職ではなく、チョちょっと趣味で触るくらいですが、検索したりなんなりで、10分くらいで書き上がりました。
どちらかというと、templateのフォーマット部分をチームメンバーと弄る場面が多かったり、requestをchromiumにしたりと実験していた時間が多かったですね。
また、templateは実際に使ったやつとはちょいと違っていますが、フォーマット部分が違うくらいです。

で、これをcolabolatory上で実行すると、次のようなUIが出てきます

gradioのUI
これはgradioという、機械学習系でよく使われているライブラリを使って出力されていて、左の入力欄にURLを入れると、それを入力としてページを取得し、タグやスクリプトを取り除いた上で、テンプレートの後ろに雑にくっつけてChatGPTに問い合わせをしています。
この内容だと、例えば弊社の紹介はこんな感じになります。
問い合わせ結果

1. 株式会社M&Aクラウドは、M&Aプラットフォームを提供する会社です。テクノロジーの力を活用し、中小企業のM&Aを支援しています。売却相談やM&A資料の提供など、M&Aに関する様々なサービスを提供しています。
2. M&Aクラウドのイケてるところは、テクノロジーを活用したM&Aプラットフォームの提供にあります。中小企業のM&Aを支援することで、日本の経済発展に貢献しています。また、若手起業家を支援することで、新しいビジネスの創出にも貢献しています。
3. M&Aクラウドに合いそうな人のペルソナは、M&Aに興味を持っている人や、中小企業の経営者を支援したいと思っている人です。また、テクノロジーに興味があり、新しいビジネスモデルを創出したいと思っている人も合いそうです。

こう、なんというか、絶妙に内容が薄いようにも見えますが、これは問い合わせが単に要約を指示しているからという可能性があります。
聞き方によっては、この内容からさらにどのような発展ができるのか...なども聞くことができるかもしれません。
その辺はAIの利用方法に委ねられるかなぁって思います。

AIを利用することで何が変わるのか

それでは今回のハッカソンを通して感じ取った、AI利用によって変わることについて述べていきます。

創造的検証が圧倒的にやりやすくなる

今回、実はURLから情報を取得し、AIに食わせるところに関しては割と早く実装が終わりました。
では何に時間をかけたかというと、どのような情報が取り出せるかと言うものの検証です。
AIに頼む内容を変えることによって、取得できる情報がどのように変わるかを確かめていたのですが、これがかなり革命的に思いました。
なんといっても、メンバーから、「こんなフォーマットいける?」ってきたやつを即座に「やってみましょう!」っていって、コードに取り込むことができるわけです。
しかも、AIに指示を出すプロンプトに関しては、普通の自然言語で書かれているわけですから、我々エンジニアがある程度整備をしておけば、bizメンバーがフォーマットや聞き方を変えることでいくらでも新しい検証をすることができます。
このようなさまざまなバリエーションでの検証をすることができるというのは、 AI利用によりもたらされる大きな利点であると言えます。

プロダクトに入れやすい

私の本職がPHPerなわけですが、PHPでも使えるOpenAIクライアントがあります。

qiita.com

現在、AIを利用するためのWEB APIが存在しており、こいつを使うことでさまざまな言語で使えるわけです。
これはアイデアさえあれば、どんなプロダクトでもAIを利用する余地があるというわけです。
自然言語のAIなんて、これまでは一部の強力な資本を持った企業しか使えなかったものでしたが、特に資本も設備も持たない小さな企業であっても、手軽に使えるようになるわけです。
弊社だけでなく、多くの企業がAI利用を宣言し出すのは、このような背景があるからですね。

しかも、先に述べた検証のしやすさを利用し、ある程度プロダクトに入れられる形まで検証で揉んでから、一気にプロダクトに突っ込むなんてこともできるわけで、新しい事業検証の形が見えてきたような気さえします。

まとめ

というわけで、長々とハッカソンからAI利用にみるこれからの世界を考察しました。
やはりこういうのは触ってみないとわからないものです。
別の方が詳しく述べるので、私の方ではあまり言及してませんが、今回のハッカソンにおいては、運営が機敏に動き回り、AI利用のお膳立てをほぼ完璧な状態に仕上げてくれました。
それだけマジでAI使っていこうという心意気を感じた次第。 今回はこの辺で失礼します。