Notioin AIにサンプルコードを提示されて驚いたこと

期間限定で無料開放されているNotion AIを使っていて、驚いたことがあったので備忘録。

出来事

Node.js のアプリケーション上で、 Chart.js を用いたグラフ表示を行っている。

いくつか要望があったが、そのうち「グラフのX軸のラベルの角度を調整したい」という お偉いさんの思い付きのどうでもいい ものを調査し、結果をNotionに書き込もうとしたときの出来事。

Notionに「 X軸のテキストの角度を調整する」と書いて、それを見出しに変更しようとしたが、この時誤ってAIに続きを書くよう依頼してしまった。すると、以下のような回答。

「X軸のテキストの角度を調整する」へのNotion AIの回答

さて、この回答自体は問題ない。 options.scales.x.ticksminRotationmaxRotation を指定することで角度を調整できることは調査済みだった。

Common tick options to all cartesian axes | Chart.js

この時驚いたのは、書いていたページ内に、「Chart.jsを使用している」ことは明記していなかったこと。

他のページを参照しているのか、ページ内の情報から推論したのか、どうやって判断したのか気になったので、追加で質問してみる。

追加質問

ありがとうございます。質問なのですが、提示されたサンプルコードはChart.jsのコードに見えます。また、実際にグラフを描画するのに使用しているライブラリはChart.jsになります。ですが、このページ内にて、Chart.jsを使用するとは明示しておりません。あなたはどのようにして、グラフ描画にChart.jsを使用していると推論したのでしょうか。推論の過程および結果を教えてください。

この質問に対しては、こんなことを回答してくる。自己評価低いなNotion AI。

申し訳ありません、前回の回答に誤りがありました。おっしゃる通り、このページにはChart.jsを利用している旨の明示がありませんでした。私の回答は、不正確であることを認めます。

その都度、「あなたは間違ってないです、Chart.jsを使ってます、どうやってそう判断したの?」みたいなことを繰り返し質問すると、3回目くらいで以下の回答。

Chart.jsを使用していると推論した理由

Chart.jsを使用していることは、 scales オプションを指定していることから推測されます。Chart.js公式ドキュメントにおいて、 scales オプションはChart.jsで使用されるオプションの一つであり、その記述があるためです。また、Chart.jsは比較的よく使われているグラフ作成ツールであることも、推論の根拠となります。

確かに、この質問をしたページには、それまでの調査結果のコードを張り付けていたので、以下のようなJSONを複数記述していた。

options: {
  scales: {
    ...
  }
}

感想

options.scales といったコード片と、グラフという情報からChart.jsと推論したのはすごい、感心してしまった。

ページ内の情報を元に回答してくれるのも大きい。テキストを書きなぐっておいて、それに関した情報収集やブレインストーミング、文章校正が可能なのは、ChatGPTのような対話型にはない強みだと思う。

また、Notion AIに限らずだが、プログラミングをする場合の技術選定にAIチャットは使えそう。AIの学習データが収集された時点と、公開までに時差があるため、最新技術などを使うのには向かないが、例えばChatGPTの2021年9月までの情報でも、開発に用いるライブラリやフレームワークアーキテクチャの提案をさせるのには十分だろう。逆に、AIチャットが知らない・答えられない程度のライブラリ等は使いづらくなるなとも感じた。

会社の予算的に、無料開放終わったらNotion AI契約しないと思うので、使えるうちに遊んでおこうっと。

余談

NotionAI自体ってどう実装されているか気になったので聞いてみたところ、以下のような回答。

  • Notionの独自実装、GPTとかは使っていない
  • 開発には膨大な時間と技術が必要だったと思われるが、詳細な情報は公式からの発表がないため、自身も把握していない
  • クラウドサービスなど外部のサービスを使っているかもわからない

GPTを使っていないと、外部のサービスを使っているかわからないが矛盾しているような。

自身のオリジンを知らないAI、漫画や映画のキャラクターっぽい。

参考

Notion AIについてのインタビュー。

www.businessinsider.jp

検索は苦手と言っているが、 Chart.js の例を見ると十分得意だと思う。ワークスペース全体の情報をAIが参照できるようにする予定もある模様。

現状では実行したページ以外の情報も参照していない。そのため、Notion内での「探索」やページをまたいでの要約生成などもできない。

ただしこの点について、Notionは今後「ワークスペース全体」を参照できるように拡張する計画がある。

ワークスペース全体を参照し、このクオリティで回答してもらえるのであれば、ナレッジベースとして圧倒的な強みになりそう。

Notionに限らず、たとえばAlgoliaあたりがAIチャットボットを提供したりしないかな。

2023/3/13 追記

LangChainJSのチャットに使われているMendable.aiが、ドキュメントを基にしたAIチャットボットっぽい。

www.mendable.ai

オープンソースプロジェクトであれば、現状は無料で使えるみたい。