
2025.02.18
「売上をスケールする」AIの使い道とは アルペンが挑む、kintone×生成AIの接客データ活用法
KARTE CraftにおけるLLM活用(全1記事)
リンクをコピー
記事をブックマーク
竹村尚彦氏:みなさん、こんばんは。本日は、「KARTE CraftにおけるLLM活用」ということで、「Craft Functions Copilot」という機能のお話をしようと思います。
あらためまして、初めまして、プレイドの竹村と申します。現在私は、パートナー企業との共同事業化とソリューション開発やAPI活用を推進するEcosystem Teamといったところで開発責任者をしているのですが、リーディングしながらけっこうコードも書いているエンジニアでもあります。
私たちは、「KARTE」というSaaSプロダクトを提供しているのですが、本日お話しする、Craft Functions Copilotという機能は、一言で言うと、このKARTEを拡張するJavaScriptのコードをLLMを使って生み出せる機能です。これは、まだ絶賛開発中の機能です。
裏側で「Microsoft Azure」を使っているのですが、本日は、Craft Functions Copilotといったものがどんな設計で作られているのか、どんなサービスを使っているのかという話ができればと思います。
KARTEはBtoBtoCのSaaSなので、「そもそも(KARTEって)何だ?」みたいな人たちもいると思います。軽くKARTEや「KARTE Craft」のお話をして、本題に移っていきたいと思います。
KARTEというプロダクトは、現在主にマーケター向けのSaaSとして提供されています。Webサイトやネイティブのアプリケーションを拡張できるSaaSで、JavaScriptのタグをWebサイトに入れたり、ネイティブアップにSDKを入れたりすることで、Webサイトやアプリケーションを利用しているユーザの行動をリアルタイムに解析して、そのリアルタイムに解析したデータをもとに、さまざまなアクションができるプロダクトになっています。
主にマーケターさん向けのプロダクトなので、基本的にノーコードでできるようになっています。
そのKARTEを拡張する機能として、KARTE Craftという機能があって、これは7月にβ版として出したばかりの機能・開発プラットフォームです。
この機能を使うと、KARTEにはない機能、例えばKARTEの特徴であるリアルタイムな解析エンジンなどを使って自由自在に拡張することができます。
これは、ユーザーからの、かゆいところに手が届ききらないことがあるんだよな、というニーズをもとに、外からでも拡張できるように作ったプロダクトになっています。
これがあるとどんなことができるかというと、一例ですが、天気情報と連携させて、ネイティブアプリケーションと組み合わせると、緯度経度を取って、天気の情報を取って、例えば雨だったらその場所にいる人に、「今雨だから、近くにこんな店がありますよ」と出せたりとか。
あと、クーポンのシステムと連携すると、クーポン在庫の払い出しのポップアップを出したりすることができるようになります。これ以外にもいろいろできることがあります。
いろいろできるのですが、結局これは開発プラットフォームなので、コードを書かないといけないです。冒頭に申し上げたとおり、KARTEは基本的にマーケターさん向けのサービスです。当然、マーケターさんだけではこんなコードを書けることは多くはないですよね。
結局今使ってもらう時は、お客さまの企業側のエンジニアや私たちのカスタマーエンジニアが対応して、コードを書いたり設計したりする感じになっています。
昨今も各企業にはそんなに開発のリソースがあるわけじゃないですよねというところで、この課題をどう解こうかといったところで、GPT-4を使えば自然言語の入力で今のCraft Functionsのコード、JavaScriptのコードが出来上がるんじゃないかと、仮説を立てました。
最近ですが、それで出来上がったのがCraft Functions Copilotです。
とりあえずは、MVP(Minimum Viable Product)を作ろうといったところで、まず作ってみたんですよね。構成はすごくシンプルで、GPT-4一本勝負みたいな感じになっています。
(スライドを示して)ここにスクリーンショットが入っています。少し小さいですが、そのMVPの画面になっていて、基本的にチャットのインターフェイスで、インプットは自然言語入力を想定して作りました。いろいろ文字を入力していくと、最終的にこの下にあるような精度もそこそこのJavaScriptのコードが出来上がるというところまではできました。
ただ、MVPなので仕方ないところもあると思いますが、想定どおりにはいかなかったです。すごく当たり前の話ですが、KARTEってAPIがいろいろあって、そのKARTEのいろいろなAPI、Craft Functionsを使うためのAPIや、Craft Functionsの機能自体をプロンプトベースで対応させようとすると、けっこうプロンプト量が膨大になっちゃうんですよね。
その結果、コード作成ボタンを押してからのレスポンスがすごく遅くなったり、複数人が使うと、エラーが返ってきたり、あと、コストが意外とかかる。GPT-4を使っているので意外と(コストが)かかるというかたちになってしまいました。
本番提供をまだしていないのですが、本番提供だともっといろいろ使われると思うので、このあたりをやはり考えないといけないよねというところで、レイテンシー、リソース上限、コストの話があるなというのが、このMVPから学んだところです。
ここで学んだことを踏まえて、再度設計を考え直しました。
今のMVPのバージョン0.0.1って、GPT-4一本勝負みたいなかたちでやっていました。やりたいことはできるんですけども、それを全部力業で解こうとしないようにするというか、たぶんエンジニアの方は無意識にやっていると思うのですが、たぶんプログラムを作るプロセスってステップがあると思うんですよね。
そのステップを適切に分割して、そのステップに沿ったUIやインプット方式で考えていければ、けっこうGPT-4を有効的に使うことができるんじゃないかなと考えました。
(スライドを示して)出来上がった画面がこちらですね。ちょっと全画面になっていないので小さいのですが、上のほうにある部分、「トリガー」「データ取得」「データ出力」「コード生成」というのが、このCraft Functionsのコードを生成するためのステップになっています。
このステップを選択すると、真ん中、私たちはメッセージエリアって呼んでいるのですが、そのメッセージエリアの内容やUIが変わっていく感じですね。
このメッセージエリアを見ていただくと、先ほどはたぶんチャットのインターフェイスで自然言語を入力させるぐらいしかなかったと思いますが、ボタンが付いていたり、「検索」という文字が見えたり、カードが見えたりと、さまざまなインプット方式を用意しました。
このUIの裏側でどんな構成、Microsoft Azureのサービスを組んでいるかというと、(スライドを示して)こんなかたちになっています。
この、1、2、3、4と書かれているのが、先ほどお伝えした上のステップですね。ポイントは、GPT-4って、実は最後のコード生成部分にしか使っていないことです。トリガー、データ取得、データ出力では、GPT-4を使わずにGPT-3.5とかVector Searchを使っていると思います。
基本的に固定値の設定を選ばせたいとかだと、DBの設定をそのまま見せたりしているのですが、ユーザーの中には、設定値をそのまま選べないというか、やりたいことは明確じゃないけどなんか質問を投げたい、検索したい、みたいな方もいるかなと想定しました。
DBに入っているコードのメタデータとかAPIのメタデータみたいなものをベクトル化して、OpenAIの「Embeddings」のAPIを使ってVector Search DBに入れています。その検索は、このVector Search DBを使ったベクトル検索で出して、候補を出してあげるかたちになっています。
そんなかたちで、このステップ1、2、3を順番にやっていくと、そのステップごとの要件が決まるような設計にしているんですよね。その要件が定まった後にステップ4に移り、ステップ4でコード生成ボタンを押すとコード生成がされるかたちになっています。
これが結局、結果的にどうなったのか。次が、最後のスライドですが、GPT-4を有効的に利用したUIに変えて、裏側の構造もそれに伴って変えたことによって、先ほどのバージョン0.0.1の時に比べて、GPT-4に流すトークン数が60パーセントぐらい減りました。
トークン数が減ったからそれは当たり前かもしれませんが、レイテンシーも劇的に改善しました。
入れるトークン数が減ってレイテンシーが改善されたので、生成されるコードの精度は、そんなに上がらないんじゃないか、逆に下がるんじゃないかと思われるかもしれませんが、逆に向上しました。
これはたぶん、GPT-4に渡すプロンプトが逆に絞られたことによって理解しやすくなった、認識しやすくなったということが仮説として考えられるかなと思います。
これは、ちょっと副次的な効果ですが、ステップを切ったり、インタラクティブなUIにしたことによって、これは社内ユーザーの声ですが、結果的にユーザー体験も向上しました。
私たちはこれを絶賛開発中で、外に出していない機能です。マーケターが使うには、直感的じゃない部分などがあるかなと思っています。
先ほどのアーキテクチャのようなかたちで、工夫するだけでこれだけ改善して、LLM周りにはたぶんもっといろいろなプロダクトだったりOSSだったりがあると思うので、それをうまく組み合わせれば、UI/UXをもっと改善できる余地がありそうだと思っています。
今日、MS(Microsoft)さんのイベントなので、今後のMSさんのプロダクトのアップデートをすごく期待していますといったところで、私の発表を締めさせていただきたいと思います。
ご清聴ありがとうございました。
関連タグ:
2025.02.13
“最近の新人は報連相をしない”という、管理職の他責思考 部下に対する「NG指示」から見る、認識のズレを防ぐコツ
2025.02.13
AIを使いこなせない人が直面する本当の課題 元マッキンゼー・赤羽雄二氏が“英語の情報”を追い続ける理由
2025.02.06
すかいらーく創業者が、社長を辞めて75歳で再起業したわけ “あえて長居させるコーヒー店”の経営に込めるこだわり
2025.02.12
マネージャーは「プレイング3割」が適切 チームの業績を上げるためのマネジメントと業務の比率
2025.02.14
報連相ができない部下に対するコミュニケーションの取り方 「部下が悪い」で終わらせない、管理職のスキル向上のポイント
2025.02.13
上司からは丸投げ、部下からはハラスメント扱い、業務は増加…プレイングマネジャーを苦しめる「6つの圧力」とは
2025.02.12
何度言っても変わらない人への指示のポイント 相手が主体的に動き出す“お願い”の仕方
2025.02.13
「みんなで決めたから」を言い訳にして仲良しクラブで終わる組織 インパクトも多様性も両立させるソース原理
2025.02.10
32歳で「すかいらーく」を創業、75歳で「高倉町珈琲」で再起業 「失敗したからすかいらーくができた」横川竟氏流の経営哲学
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
着想から2か月でローンチ!爆速で新規事業を立ち上げる方法
2025.01.21 - 2025.01.21
新人の報連相スキルはマネージメントで引きあげろ!~管理職の「他責思考」を排除~
2025.01.29 - 2025.01.29
【手放すTALK LIVE#45】人と組織のポテンシャルが継承されるソース原理 ~人と組織のポテンシャルが花開く「ソース原理」とは~
2024.12.09 - 2024.12.09
『これで採用はうまくいく』著者が語る、今こそ採用担当に届けたい「口説く」力のすべて
2024.11.29 - 2024.11.29
第20回エクゼクティブメンターイベント「今、「ひと」と組織が共創する〜働き方の未来へ」
2024.12.07 - 2024.12.07