見出し画像

すべて会話でやり取り出来る世界を作るには #FunctionCalling から #CodeInterpreter まで #PartyOnSlack #ChatGPT

前回はこんな話しを書きました

Function Callingを使った実装についてはここにも書いたのですが、面白い面と実装的に難しい面があります。(LLM Meetup Tokyo面白かったですよ。)

それでもやり続けないとならないなと言うことで色々やってみているというのが今です。

どんなことをやってるの?

Function callingがなにかを一言でいうと、ChatGPTのプラグインのような機能をChatGPTのAPIを使って実装することが出来るというものです。
目下提供中のSlackアプリ「Party on Slack」は、ChatGPTのAPIキーを登録することで各種機能を使うことが出来るというものなのですが、ここにもいろんな機能を付け加えて行こうじゃないかということで開発を進めています。

何が出来るようになってきたの??

以下羅列します
・Salesforceから商談情報を取得する事ができる
・Asanaに予定を聞いたり、予定を登録することが出来る
・SlackのSearch APIを使って必要な情報を取得することが出来る
みたいなことを自然言語でやってのける事が出来るようになっています

どんな世界が実現できるの??

例えば、今日の予定教えて?と話しかければGoogleカレンダーから予定が取得されたり(これはSlackのGoogleカレンダーアプリが優秀なので実装していません)、今週が締め切りのタスクを教えて?といえばAsanaからタスクを取得してきてくれたりみたいなことが現時点では出来ています。
あなたにとって必要なことは言えばやってくれる、そんな状態に出来るようになる、それがFunction Callingを使った世界観です。

どんなことをやったら便利なの?

正味な話、Googleカレンダーなんかは問いかけるより、オフィシャルアプリを見たほうが早いと思います。ただ、それは自分で見る場合です。
Slack上で利用する場合の特徴は、他の人と情報を共有することが出来るという点です。これを考えるのが良いのではないかというのが私の視点です。
例えばスケジュール調整しようかなと思ったときには、チャンネル上で人を選んで期間を選ぶだけで、空いてる時間を返すという機能を提供しているのですが、結局それを共有してスレッド内で最終決定するというやり取りが発生します。
どんなに便利な機能を作っても、最終的には人間が見て確認したりということが発生してしまう。そういうものですよね。
なので、Slack上でChatGPTを使うのであれば、簡単に整理された情報を引き出すことが出来るといった使い方が良いのではないか、そんな風に思っています。

誰かに聞くというアクションがよくある人には便利

人間は情報を整理するのに非常に時間を要します
これとこれを組み合わせてこうするというのを柔軟に処理する発想力がある分、その情報処理に時間がかかってしまうみたいな所がある訳です
例えば
「明日のxx時からの会議の参加者にむけて、{ドキュメントのURL}についての要約文をメールで送りたい」
ということを実行する場合、まずはドキュメントを開き、要約して、それからGoogleカレンダーの参加者のメールアドレスを抽出してメールを作成して送るといった作業が必要になります。(実際はGoogleカレンダーの説明文の中に書いて通知を送るという形になりそうですが)
ちょっとした手間ですよね。
複数のツールにまたがった情報の処理を行うということが簡単にできるようになると良いのになと思っています。

現状のAPIだとまだつらい

Function CallingでBaby AGIのようなエージェントを実装するというのは、今のところ結構大変かもしれません。ただし、先日発表されたCodeInterpreterのような機能がAPIにも実装されれば話が変わってきます。これはゲームチェンジャーだなと、触った誰もが思うのではないでしょうか。

↑はCode Interpreterを使った実験のリンクですが、ファイルを元にほんのちょっとやりたいことを伝えることで、勝手に思考が進んでいきます。
その道の人であれば、もっとこうしたい、ああしたいという指示も出せるでしょう。ファイルを元にどんな分析をすればよいかを自分で考え、プログラムを生成し実装して結果まで出します。
これはめちゃくちゃ強い機能といえます。
これがAPIに来ると何が出来るでしょうか。例えばGoogleの認証コードを渡すことでGoogleAPIを叩くようなコマンドを打つことが出来るようになります。
上述したように、特定の予定の参加者のメールアドレスを抽出してきてGmailのAPIを使ってデータを送るみたいなことだってプログラムを作って実行できるようになる可能性があります。
こんなことをやりたいと思ったときに、それを実現するための実行プログラムをリアルタイムで書き、それを使って実行してしまうわけです。しかもものすごいスピードで。
これは面白いですよ。Function Callingなんて目じゃない。

Function Calling関連の実装をしながら思うんです。これってすぐに要らなくなっちゃう技術だよなって。今後の進化が楽しみですよねほんと。

まとめ

とはいえ、Function Callingは面白いぞ。API開発者ならこれ使って効率の良いプログラムを組むことが出来ると思うのでどんどんチャレンジして欲しい。
Function Callingなんて、色んな人が共有すればいいじゃんと思っているのに意外とそんなサイトが見つかっていません。誰か見つけたら教えてください。
Slackアプリも使ってみてね!無料で使えます! https://lne.st/gpt


noteにはこれまでの経験を綴っていこうかと思います。サポートによって思い出すモチベーションが上がるかもしれない。いや、上がるはずです。