2024.12.24
ビジネスが急速に変化する現代は「OODAサイクル」と親和性が高い 流通卸売業界を取り巻く5つの課題と打開策
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.01.09
マッキンゼーのマネージャーが「資料を作る前」に準備する すべてのアウトプットを支える論理的なフレームワーク
2025.01.15
若手がごろごろ辞める会社で「給料を5万円アップ」するも効果なし… 従業員のモチベーションを上げるために必要なことは何か
2025.01.16
社内プレゼンは時間のムダ パワポ資料のプロが重視する、「ペライチ資料」で意見を通すこと
2025.01.07
資料は3日前に完成 「伝え方」で差がつく、マッキンゼー流プレゼン準備術
2025.01.10
プレゼンで突っ込まれそうなポイントの事前準備術 マッキンゼー流、顧客や上司の「意思決定」を加速させる工夫
2025.01.14
コンサルが「理由は3つあります」と前置きする理由 マッキンゼー流、プレゼンの質を向上させる具体的Tips
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
2025.01.08
職場にいる「嫌われた上司」がたどる末路 よくあるダメな嫌われ方・良い嫌われ方の違いとは
2025.01.10
職場にいる「できる上司」と「できない上司」の違いとは 優秀な人が辞めることも…マネジメントのNGパターン
2024.06.03
「Willハラスメント」にならず、部下のやりたいことを聞き出すコツ 個人の成長と組織のパフォーマンス向上を両立するには
安野たかひろ氏・AIプロジェクト「デジタル民主主義2030」立ち上げ会見
2025.01.16 - 2025.01.16
国際コーチング連盟認定のプロフェッショナルコーチ”あべき光司”先生新刊『リーダーのためのコーチングがイチからわかる本』発売記念【オンラインイベント】
2024.12.09 - 2024.12.09
NEXT Innovation Summit 2024 in Autumn特別提供コンテンツ
2024.12.24 - 2024.12.24
プレゼンが上手くなる!5つのポイント|話し方のプロ・資料のプロが解説【カエカ 千葉様】
2024.08.31 - 2024.08.31
育て方改革第2弾!若手をつぶす等級制度、若手を育てる等級制度~等級設定のポイントから育成計画策定まで~
2024.12.18 - 2024.12.18